RetroPie / RetroPie-Setup

Shell script to set up a Raspberry Pi/Odroid/PC with RetroArch emulator and various cores
Other
10.04k stars 1.38k forks source link

Don't set dispmanx flag on arm64 systems #3857

Closed sworisbreathing closed 7 months ago

sworisbreathing commented 8 months ago

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

joolswills commented 8 months ago

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

sworisbreathing commented 8 months ago

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

cmitu commented 8 months ago

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 ?

sworisbreathing commented 8 months ago

@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
cmitu commented 8 months ago

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.

sworisbreathing commented 8 months ago

oops... my bad.

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

cmitu commented 8 months ago

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

sworisbreathing commented 8 months ago

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