I have a Raspberry Pi 3B running openSUSE-release-20180910 (Tumbleweed). I ran GLMark2 with dtoverlay=vc4-kms-v3d in extraconfig.txt, with dtoverlay=vc4-fkms-v3d, and with no GPU overlay. In each instance I got an overall score of 12. Compare to my laptop (Intel HD Graphics 5000, nothing special) which gets an overall score of 1747, and the individual tests mostly score about 100x what the RPi does. I don't expect the RPi to run that fast, but I'm concluding that I have no GPU acceleration at all.
/var/log/Xorg.0.log confirms (with dtoverlay=vc4-fkms-v3d):
Initializing extension GLX
AIGLX: Screen 0 is not DRI2 capable
IGLX: Loaded and initialized swrast
GLX: Initialized DRISWRAST GL provider for screen 0
Can someone please give me a clue as to the magic incantation to turn on GPU acceleration? Particularly, if there's a missing library, its name and the package providing it (and which distro) would be very helpful.
Possibly useful information:
Kernel command line:
BOOT_IMAGE=/boot/Image-4.18.8-1-default
root=UUID=edf0b932-eb7e-4c54-91be-fd7861e59783
loglevel=3 splash=silent plymouth.enable=0
swiotlb=512 cma=300M
console=ttyS1,115200n8 console=tty resume=/dev/mmcblk0p3
/boot/efi/config.txt (with comments removed and annotations added):
kernel=u-boot.bin #OpenSuSE hacked U-Boot to do EFI and load Grub
gpu_mem=32
force_turbo=0
initial_turbo=30
over_voltage=0
enable_uart=1
avoid_warnings=1
dtoverlay=upstream
dtoverlay=upstream-mmc
dtoverlay=upstream-aux-interrupt
[pi1]
arm_freq=840
core_freq=375
sdram_freq=400
[pi3]
dtoverlay=rpi3-hdmi
[all]
include ubootconfig.txt #Its content: arm_control=0x200
include extraconfig.txt
#Its content:
dtparam=audio=on
dtoverlay=vc4-fkms-v3d # or vc4-kms-v3d or nothing
Relevant looking modules in /proc/modules -- I can post the whole thing
if I've missed something.
vc4
drm_kms_helper
drm
vchiq
(and various sound drivers)
Relevant-looking userspace libraries and their packages:
/usr/lib64/libEGL_mesa.so.0.0.0 Mesa-libEGL1-18.1.7-208.1.aarch64
/usr/lib64/libEGL.so.1.1.0 libglvnd-1.1.0-1.1.aarch64
/usr/lib64/libGLdispatch.so.0.0.0 libglvnd-1.1.0-1.1.aarch64
/usr/lib64/libGLESv1_CM.so.1.2.0 libglvnd-1.1.0-1.1.aarch64
/usr/lib64/libGLESv2.so.2.1.0 libglvnd-1.1.0-1.1.aarch64
/usr/lib64/libGL.so.1.7.0 libglvnd-1.1.0-1.1.aarch64
/usr/lib64/libGLU.so.1.3.1 libGLU1-9.0.0-13.6.aarch64
/usr/lib64/libGLX_mesa.so.0.0.0 Mesa-libGL1-18.1.7-208.1.aarch64
/usr/lib64/libGLX.so.0.0.0 libglvnd-1.1.0-1.1.aarch64
/usr/lib64/libOpenGL.so.0.0.0 libglvnd-1.1.0-1.1.aarch64
libglvnd is a "Vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors on a per-screen basis, as described by Andy Ritger's OpenGL ABI proposal."
The X-Server is /usr/bin/X -> Xorg from xorg-x11-server-1.20.1-1.1.aarch64 . /etc/X11/xorg.conf is absent, and /etc/X11/xorg.conf.d contains no jimc hacks and nothing else that seems relevant.