RetroPie-Setup icon indicating copy to clipboard operation
RetroPie-Setup copied to clipboard

Don't set dispmanx flag on arm64 systems

Open sworisbreathing opened this issue 2 years ago • 8 comments

omxplayer does not have a build available for aarch64 platform. So when building emulationstation from source on arm64 systems we need to skip this dependency, otherwise the dependency installation fails and we can't install emulationstation

sworisbreathing avatar Jan 29 '24 12:01 sworisbreathing

Please can you give more details of your set up / os as I wouldn't have thought the dispmanx flag would be set.

joolswills avatar Jan 29 '24 13:01 joolswills

I'm on a Raspberry Pi 3B using 64-bit Raspberry Pi OS Lite Buster

sworisbreathing avatar Jan 29 '24 13:01 sworisbreathing

There is no 'Raspi OS Lite Buster' with 64bit support, the first Raspi OS with 64bit support was RaspiOS Bullseye in Feb 2022. As @joolswills said, dispmanx flag should not be set for 64bit systems, since this API (dismpanx) is not available at all for this architecture.

How did you get a Buster 64bit system ? Which image did you use for installation ?

cmitu avatar Jan 29 '24 16:01 cmitu

@cmitu I seem to have found one

uname -a
Linux retropie 5.10.103-v8+ #1529 SMP PREEMPT Tue Mar 8 12:26:46 GMT 2022 aarch64 GNU/Linux

ls -A /sys/bus/platform/drivers/vc4_firmware_kms/*.firmwarekms
driver  driver_override  modalias  of_node  power  subsystem  uevent

$ ls -alh /sys/bus/platform/drivers/vc4_firmware_kms
total 0
drwxr-xr-x  2 root root    0 Jan 30 01:19 .
drwxr-xr-x 75 root root    0 Jan 30 01:19 ..
lrwxrwxrwx  1 root root    0 Jan 30 07:55 3f600000.firmwarekms -> ../../../../devices/platform/soc/3f600000.firmwarekms
--w-------  1 root root 4.0K Jan 30 07:56 bind
lrwxrwxrwx  1 root root    0 Jan 30 07:56 module -> ../../../../module/vc4
--w-------  1 root root 4.0K Jan 30 01:19 uevent
--w-------  1 root root 4.0K Jan 30 07:56 unbind


ls -alh /sys/bus/platform/drivers/vc4_firmware_kms/3f600000.firmwarekms/
total 0
drwxr-xr-x  3 root root    0 Jan 30 01:19 .
drwxr-xr-x 24 root root    0 Feb 14  2019 ..
lrwxrwxrwx  1 root root    0 Jan 30 07:55 driver -> ../../../../bus/platform/drivers/vc4_firmware_kms
-rw-r--r--  1 root root 4.0K Jan 30 07:55 driver_override
-r--r--r--  1 root root 4.0K Jan 30 07:55 modalias
lrwxrwxrwx  1 root root    0 Jan 30 07:55 of_node -> ../../../../firmware/devicetree/base/soc/firmwarekms@7e600000
drwxr-xr-x  2 root root    0 Jan 30 07:55 power
lrwxrwxrwx  1 root root    0 Jan 30 01:19 subsystem -> ../../../../bus/platform
-rw-r--r--  1 root root 4.0K Jan 30 01:19 uevent

sworisbreathing avatar Jan 29 '24 20:01 sworisbreathing

That's the beta version which was trialed by the RPI folks. The first supported version was based on Bullseye and doesn't use the firmware-kms overlay.

Technically it's possible to enable fkms on 64 bit even with Bookworm, but it's not going to be supported by the RP folks and I don't think we need to. Even so, the correct patch would be to disable dispmanx for 64bit in system.sh and not patch individually each module that makes use of dispmanx.

cmitu avatar Jan 29 '24 21:01 cmitu

oops... my bad.

I've updated the MR to skip setting the dispmanx flag on arm64 systems, and removed the offending commit

sworisbreathing avatar Jan 29 '24 22:01 sworisbreathing

@sworisbreathing thanks for the changes - they look fine. MR needs also to be re-titled, though.

cmitu avatar Jan 30 '24 03:01 cmitu

Thanks for the feedback. I've updated the title.

sworisbreathing avatar Jan 30 '24 04:01 sworisbreathing