OpenMW on the Raspberry Pi Zero

For new and upcoming OpenMW branches and ports; move fast and break things!
RobbiBlechdose
Posts: 15
Joined: 01 Mar 2017, 10:02

OpenMW on the Raspberry Pi Zero

Post by RobbiBlechdose »

Hello everyone,

first of all, I'd like to say Thank you! to the devs of this engine, it's truly awesome.
Just one thing that's been bugging me for a while: Would it be possible to run OpenMW on the Pi Zero which does NOT have the experimental OpenGL driver (just GLES)?
Any help / ideas would be appreciated as I'd like to have OpenMW on my handheld Pi Zero!

Thanks in advance
User avatar
psi29a
Posts: 5355
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: OpenMW on the Raspberry Pi Zero

Post by psi29a »

No, you'll need at least 1GiB of RAM and the VC4 (OpenGL 2.1) module/driver. The CPU is not fast/capable enough to do swrast. GLES will not work.

RPi B+, RPi2 of RPi3 will work.
RobbiBlechdose
Posts: 15
Joined: 01 Mar 2017, 10:02

Re: OpenMW on the Raspberry Pi Zero

Post by RobbiBlechdose »

Thanks,
but the Pi Zero is a faster version (overclocked) of the B+, and both only have 512 Megs of RAM.
So if it works on the B+, shouldn't it do so on the Zero too?
And just out of curiosity: What would prevent OpenMW from using GLES? I understand there was (is?) an android port which used GLES.
User avatar
psi29a
Posts: 5355
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: OpenMW on the Raspberry Pi Zero

Post by psi29a »

B+ is on the edge, but you'll run out of vram quick and won't get very far. Last time I tested was 2 years ago. RPi2 and onwards just works better.

OpenMW uses OSG in a fixed-function pipeline way that is not GLES compatible. If you do a search in the forums, you'll see enough threads about it. ;)

Android uses a GLES wrapper around OpenMW/OSG to translate some (not all) OpenGL calls to their GLES equivalent.

Give it a try if you want. :)
RobbiBlechdose
Posts: 15
Joined: 01 Mar 2017, 10:02

Re: OpenMW on the Raspberry Pi Zero

Post by RobbiBlechdose »

That's very helpful, thank you.
Would you mind pointing me to a guide to set up OpenMW on the B+ (which I can adapt for the Zero then)?
All I've found so far was related to the Pi2 and not that helpful.
User avatar
psi29a
Posts: 5355
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: OpenMW on the Raspberry Pi Zero

Post by psi29a »

It is the same for every Raspberry Pi, nothing special building OpenMW for x86 Debian/Ubuntu than for armhf Debian/Ubuntu or RPi (which is armhf). OSG-3.4 is another story. ;)

Just download the necessary development headers, and build openmw yourself.

Or you can use the PPA: https://launchpad.net/~openmw/+archive/ubuntu/openmw

I've enabled armhf builds for everything, so things should 'just work' by adding the ppa, updating with apt and apt install openmw openmw-launcher
RobbiBlechdose
Posts: 15
Joined: 01 Mar 2017, 10:02

Re: OpenMW on the Raspberry Pi Zero

Post by RobbiBlechdose »

Thanks,
I'll give that a try soon(-ish).
Altough I think the VRAM and also performance might be less of a problem for my Zero since it's only got a 320x240 screen (it's a handheld) and it might be able to handle that at acceptable performance.
User avatar
psi29a
Posts: 5355
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: OpenMW on the Raspberry Pi Zero

Post by psi29a »

The problem is the amount of textures that have to be loaded at once putting pressure on the shared memory used. 512 MiB is shared with the GPU, so the CPU is loading in land/NIFs/other bits while the GPU is loading in geometries and textures. It is quite possible that while switching from one cell to the next you'll end up hitting swap and/or having the OOM killer come along.

Another thing, you'll need to verify that you are running the VC4 driver. Last I checked, it was only loadable on RPi2 and the RPi3.

Just setting expectations. I hope it works for you! :)
RobbiBlechdose
Posts: 15
Joined: 01 Mar 2017, 10:02

Re: OpenMW on the Raspberry Pi Zero

Post by RobbiBlechdose »

psi29a wrote:The problem is the amount of textures that have to be loaded at once putting pressure on the shared memory used. 512 MiB is shared with the GPU, so the CPU is loading in land/NIFs/other bits while the GPU is loading in geometries and textures. It is quite possible that while switching from one cell to the next you'll end up hitting swap and/or having the OOM killer come along.

Another thing, you'll need to verify that you are running the VC4 driver. Last I checked, it was only loadable on RPi2 and the RPi3.

Just setting expectations. I hope it works for you! :)
Ah. Dangit. Maybe I'll find a way to downscale the textures, who knows. And putting view distance at minimum should help a bit. The real problem is going to be the VC4 driver. There is indeed no driver for the Zero. :(
Well, I'll report back after I made a backup of my Zero's SD card.
RobbiBlechdose
Posts: 15
Joined: 01 Mar 2017, 10:02

Re: OpenMW on the Raspberry Pi Zero

Post by RobbiBlechdose »

(I hope it's alright to resurrect this topic)
Okay, I've found a few tutorials that detail how to get the VC4 driver running on the zero.
But before I attempt that, does anyone know if there's a way to shrink all or at least the most important of OpenMWs controls to 12 keys (+ combinations)? I'm specifically worried about the mouse (I have a D-Pad that is mapped to the arrow keys, can I use that instead of the mouse, if not, could someone add it?).
Post Reply