Libegl in closed source GPU driver

Hi, I am currently trying to get the GPU working based on a default Yocto system. But I wonder how to obtain the libegl. It seems to be present on the Debian SDK Image, but not in the 1.17 binary firmware delivery; even though EGL headers are available in the staging part of the archive.
Is it simply forgotten to be added to the export or is there another way to obtain it?
Cheers,
Andreas

libegl is generated by mesa3d, you need add mesa library when compiling in Yocoto system

Thank you for the fast reply!
Just to be on the safe side: Should this be possible with a vanilla Mesa release (eg. 22.2) or are patches required. I see quite big Mesa patches added in the vision five buildroot, which I did not yet looked at in detail.

Got it, I had to go with the Mesa fork as used in the official buildroot with the PVR patches applied .
If anybody is interested, here is the link to the respective wip branch/draft PR for the meta-riscv Yocto layer: Provide support for VisionFive2 by cordlandwehr · Pull Request #382 · riscv/meta-riscv · GitHub
My current state is that I can boot a fully functional KDE Plasma Mobile shell as well as running Qt/KDE application. Nice observation BTW, the UI is smoother than on a Raspberry Pi4.

7 Likes

@cordlandwehr - i was trying to build my own version of that ancient mesa with the dozen of pvr patches based on your pr from Provide support for VisionFive2 by cordlandwehr · Pull Request #382 · riscv/meta-riscv · GitHub on debian, but for some reason i did not get it working when trying to use a regular debian sid xorg server - did you do anything special besides the mesa build related steps described in that pr to get it working? did you run kde plasma in xorg or on wayland?

looking at the starfive debian images it looks like they are also hacking the xorg server somehow for which i did not find any patches or sources and also they have some libGLESv1 & 2 shared libs in /usr/local for which i did not find any sources neither (as far as i understand they are not from the mesa build as there they are disabled) - i guess they are some kind of stubs to redirect the gles calls into the pvr blob maybe? i kind of remember something similar from how chromeos was dealing with the pvr blobs in the mt8173 chromebooks and how postmarketos hacked together mesa support for them on the n9000 i think.

i got a self built mesa working with the starfive hacked xorg server, but as soon as i try to connect it to a regular xorg server glamor will not initialize properly anymore (i get things like “(EE) modeset(0): glGetString() returned NULL, your GL is broken” in that case)

any insights of how all this is supposed to work together or pointers to patches and other files would be very welcome. my goal is to get the gpu/mesa related stuff somehow setup in a reproducable way without having to use the starfive xorg and mesa binaries as well … bad enough that the pvr lib blobs are required for now

a lot of thanks in advance and best wishes - hexdump

4 Likes

i have created a seperate thread to collect all the internal gpu related information in one place - so maybe lets followup there: Getting the builtin img gpu working from scratch

3 Likes