Dolphin, the GameCube and Wii emulator - Forums

Full Version: Dolphin on the pi 4?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
you should just be pulling master and working with that. Wouldn't be surprised if it just works with how many improvements has gone into GLES functionality since then.

Does the 64 bit videocore driver support buffer_storage? That's a pretty important extension we need for reasonable performance. Dolphin will run without it, but performance will be miserable.
Ahh, thanks for the heads-up. Looking at https://packages.debian.org/source/buster/dolphin-emu points to https://salsa.debian.org/games-team/dolphin-emu which indeed has source that's three years old.

It's old, yet new enough that the 32-bit ARM JIT has already been removed hence still running with the 64-bit kernel here. Canonical's bzr branch lp:~dolphin-emu/dolphin-emu/stable actually still has the armhf JIT (and in fact doesn't even compile for arm64), so by comparison that one must be super-old.

Using apt-get source dolphin-emu:arm64 from Buster: the two problems I had to address first were 1) Need to prioritize MODE_OPENGLES[2,3] over MODE_OPENGL, and 2) It isn't possible to get GLES via GLX, so had to configure -DUSE_EGL=ON

From the errors that follow my next realization is that Mesa is reporting GLES 2.0 and ES GLSL 1.0 in my Debian arm64 chroot, probably because I need Mesa 19.1 libraries for GLES 3.0 support. I'll consider building Mesa from source, or using a distro with the appropriate 64-bit Mesa 19.1 libraries such as Gentoo.

Will test out master again at some point although I'll have to deal with the Mesa driver issue first and foremost. The Debian snapshot from three years ago also seems tempting to focus on because given its age it appears not to depend on GLES 3.1.
So I'm about 20 steps closer than I was. I have a 64 bit OS installed to my pi (Gentoo) and I've built from source per instructions to the last user. However, I'm still running into opengl issues. Null gives me audio but no video. I've attached a screenshot when I run the game I get an empty box with audio and a report of full speed. Attempts to use opengl report an error that I'm not on 3.0 (screenshot shows I am on Opengl es 3.0) and null gives the error I showed

[Image: pY4hXdn.png]
null not giving video is correct, yes.

null means nothing.
bomblord Wrote:Attempts to use opengl report an error that I'm not on 3.0 (screenshot shows I am on Opengl es 3.0)

OpenGL 3.0 ≠ OpenGL ES 3.0. They are not even close.

So I asked the expert, and he said that Dolphin always prefers OpenGL over OpenGL ES because it is assumed that OpenGL will always be better. Well, that's not the case in the Raspberry Pi 4! So when Dolphin detects OpenGL support, it switches to it, then fails because the Pi 4 doesn't support OpenGL 3.0. So um, yea. There isn't much you can do about that, unless you happen to be a graphics programmer?

To be fair, this is the first time since OpenGL ES support that there has been a device where OpenGL is worse than OpenGL ES. It was a pretty good assumption! Well, now that the exception has occurred, hopefully someone will set up some way to deal with this situation.
(08-21-2019, 07:03 PM)MayImilae Wrote: [ -> ]OpenGL 3.0 ≠ OpenGL ES 3.0. They are not even close.

So I asked the expert, and he said that Dolphin always prefers OpenGL over OpenGL ES because it is assumed that OpenGL will always be better. Well, that's not the case in the Raspberry Pi 4! So when Dolphin detects OpenGL support, it switches to it, then fails because the Pi 4 doesn't support OpenGL 3.0. So um, yea. There isn't much you can do about that, unless you happen to be a graphics programmer?

To be fair, this is the first time since OpenGL ES support that there has been a device where OpenGL is worse than OpenGL ES. It was a pretty good assumption! Well, now that the exception has occurred, hopefully someone will set up some way to deal with this situation.

There any way to force or trick it? If not I'll wait and see if someone gets bored or curious enough to set that up.

Helios Wrote:null not giving video is correct, yes.

null means nothing.

Thank you, that makes sense now.
I don't think theres a way to force it from the user.

This will need a PR to fix. Dunno if anybody's working on this. The Pi 4 isn't really an interesting device to run Dolphin on.
Does setting:

[Settings]
PreferGLES = true

in GFX.ini help?

I added that *ages* ago testing a similar platform (one that supports both GL|ES and "desktop" GL, but wanted to run the ES version), but not tested in about as long
(08-22-2019, 07:41 AM)JonnyH Wrote: [ -> ]Does setting:

[Settings]
PreferGLES = true

in GFX.ini help?

Yes. bomblord, have you seen the Dolphin thread on the Pi forums?

https://www.raspberrypi.org/forums/viewtopic.php?f=78&t=248950

I laid out step-by-step instructions, but mainly the key is setting PreferGLES.
(08-22-2019, 08:23 AM)jdonald Wrote: [ -> ]Yes. bomblord, have you seen the Dolphin thread on the Pi forums?

https://www.raspberrypi.org/forums/viewtopic.php?f=78&t=248950

I laid out step-by-step instructions, but mainly the key is setting PreferGLES.

And there's a title screen. Sadly once in game everything glitches out though.
[Image: gFV96F6.png]
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21