Closed vanfanel closed 2 years ago
@orbea Should your PR not have fixed these issues? Might want to see if you can figure out a solution based on @vanfanel's feedback.
Add --disable-opengl_core
as the glcore driver requires GLES3 which you have not enabled (but glcore is forced on by default instead of support being autodetected)... I guess that's technically a bug on our end.
@bparker06 : Yes, I have just added the --disable-opengl_core
configure option and it seems to build again. Thanks. I will leave this open because it seems to be a configuration bug anyway.
@twinaphex I fixed some of the issues, but I think it still needs work. Regardless I might of fixed enough for this issue.
@vanfanel Can you test the current master and see if its any better?
@orbea : I am going away from the computer for work. Will try tomorrow :)
--disable-opengl_core
fixed it for some platforms like allwinner or imx6, but it still fails on RPi.
@kivutar Please share more information like your configure arguments and your full configure and make output. I can't be expected to fix it for hardware I don't have without some help understanding why its failing. :)
@orbea : Just tested as you asked me to do. Current master builds fine without "--disable-opengl_core" on KMS/DRM + MESA GLES (standard GNU/Linux X-less graphics stack). I am on a Raspberry Pi, but it uses the VC4 open source graphics stack, so it is "standard". Many Pi users are still using the old, laggy, closed and propietary BMC graphics stack (that is the difference between @kivutar setup and mine, and that is why you have fixed it for me but not for him) -Standard GNU/Linux graphics stack: MESA GLES implementation on KMS/DRM. -Propietary stack: some closed GLES implementation on a propietary context (DispmanX) or an outdated and buggy context (like MALI on FBDev... eeeeww!). You have fixed the first case (and I wish the second would not even exist).
@kivutar : Lakka is great, but the Pi version should be moved to VC4. Keep away from the propietary BCM stuff: VC4 has a frame less of lag using the same max_swapchain value.
@vanfanel Would you mind checking if your build works without --enable-opengl
as well? From my understanding of reading the configure scripts using both --enable-opengl
and --enable-opengles
will just give you GLESv2.
Also I suspect lot of those configure arguments don't do much, for example it shouldn't find wayland unless you have it installed.
@orbea : Of course! I tried without --enable-opengl
and current master builds fine, too.
Building without --enable-opengles
, however, fails. I suppose it is expected because then, gl1 support is enabled.
Does it build without --enable-opengles
, but with --disable-opengl1
? The problem is that there is no check for HAVE_OPENGL1
and it defaults to on unless HAVE_OPENGLES
or HAVE_OPENGLES3
are enabled which I added recently after v1.7.7
. Ideally I think it should build correctly without any configure arguments for you, but that may take some doing. :)
I have an idea for HAVE_OPENGL1
, I'll hopefully be able to share a patch in a bit if you are willing to try it.
@vanfanel Would you mind trying this patch? I think this should improve the OpenGLES build, but I noticed now that HAVE_OPENGLES
and HAVE_OPENGLES3
are disabled by default so you will need --enable-opengles
. I'll have to look at how to improve that.
https://github.com/orbea/RetroArch/commit/271aef55a4dd3402c9730c43d23234f079e1cfe5.patch
@orbea
1) Current GIT master DOES build without --enable-opengles
and with --disable-opengl1
, but the resulting RA executable does not have GLES support, so there is no video.
2) With that patch a gainst current GIT master, RA builds and runs fine on GLES, but yes, I have to pass --enable-opengles
Thanks, that is a step in the right direction. I think having it automatically check for gles2 when opengl is disabled should work, but that will take more work to do correctly.
If you don't mind can you try to make your configure arguments more minimal and report back where it breaks? With that patch I hope it would build with GLES support using just --enable-gles
.
@orbea: On what version do you want me to do that? Current GIT master or patched current GIT master?
Try with this patch.
https://patch-diff.githubusercontent.com/raw/libretro/RetroArch/pull/8776.patch
Or wait until PR https://github.com/libretro/RetroArch/pull/8776 is merged, master might work too?
@orbea
With that latest patch applied on current GIT master, RA builds to a working version with only the --enable-opengles
configure option :) Nothing else regarding GL/GLES/EGL is needed.
Great! Good to hear that. The next step will be to allow checking for gles automatically if desktop gl is not found, this I still need to consider how to best accomplish.
@vanfanel This issue should be closed.
@gouchi sorry! Closing now
Hi there,
My current RA enviroment is GNU/Linux on ARM, using GLES2 on KMS/DRM. It has been like this for years now, but I can not build the latest release, v1.7.7. My configuration line has been like this for a long while:
CFLAGS="-O3 -march=armv8-a+crc -mtune=cortex-a53 -flto" CXXFLAGS="-O3 -march=armv8-a+crc -mtune=cortex-a53 -flto" LDFLAGS="-flto" ./configure --disable-ibxm --disable-vg --disable-x11 --disable-wayland --disable-sdl2 --disable-al --disable-cheevos --disable-ffmpeg --disable-networking --disable-libretrodb --enable-udev --disable-sdl --disable-pulse --disable-oss --disable-freetype --disable-7zip --disable-imageviewer --disable-rjpeg --disable-rbmp --disable-rtga --enable-opengl --enable-opengles --enable-egl --disable-flac --disable-qt --disable-materialui --disable-xmb --enable-rgui --disable-ozone --disable-easteregg
The configure script does NOT give any error regarding GLESv2, KMS/DRM libs, etc:
However, compilation fails because it is missing some GL defines:
So, any idea on what is going on?