Raspberry Pi OS Bookworm Released
-
@sseehra Are you running RetroPie while running 64bit Bookworm desktop?
I'm trying to accomplish it where when my pi5 boots:
- My primary monitor is the bookworm 64bit desktop environment.
- My secondary monitor is RetroPie (or EmulationStation) to play games.
Any ideas how to make this happen?
-
Hello everyone. I've been reading forums and Reddit, and many people write that they install RetroPie manually on the new version of Raspberry Pi OS Bookworm without any major issues, even on 64-bit systems.
I decided to update my GP430 console, and now I've been trying to install RetroPie on my Chinese console based on Raspberry Pi 3 CM Lite for the second day.
I followed the standard instructions, installing on a clean image Raspberry Pi OS Lite (Bookworm) 64-bit.Here's what happens when attempting to install EmulationStation:
= = = = = = = = = = = = = = = = = = = = = Installing dependencies for 'emulationstation' : EmulationStation - Frontend used by RetroPie for launching emulators = = = = = = = = = = = = = = = = = = = = = Did not find needed dependencies: libfreeimage-dev libfreetype-dev libcurl4-openssl-dev cmake libvlc-dev libvlccore-dev vlc rapidjson-dev omxplayer. Trying to install them now. Reading package lists... Building dependency tree... Reading state information... Package omxplayer is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'omxplayer' has no installation candidate Could not install package(s): libfreeimage-dev libfreetype-dev libcurl4-openssl-dev cmake libvlc-dev libvlccore-dev vlc rapidjson-dev omxplayer.
So I changed this in the code:
[[ "$__os_debian_ver" -gt 8 ]] && depends+=(rapidjson-dev) isPlatform "x11" && depends+=(gnome-terminal mesa-utils) if isPlatform "dispmanx" && ! isPlatform "osmc"; then depends+=(omxplayer) fi getDepends "${depends[@]}" }
to this:
[[ "$__os_debian_ver" -gt 8 ]] && depends+=(rapidjson-dev) isPlatform "x11" && depends+=(gnome-terminal mesa-utils) getDepends "${depends[@]}" }
But this did not solve the problem, this is how the installation ends:
CMakeFiles/emulationstation.dir/src/views/gamelist/GridGameListView.cpp.o CMakeFiles/emulationstation.dir/src/views/gamelist/VideoGameListView.cpp.o CMakeFiles/emulationstation.dir/src/views/SystemView.cpp.o CMakeFiles/emulationstation.dir/src/views/ViewController.cpp.o CMakeFiles/emulationstation.dir/src/views/UIModeController.cpp.o -o ../emulationstation -L/opt/vc/lib -Wl,-rpath,/opt/vc/lib: -lfreetype -lfreeimage -Wl,-Bstatic -lSDL2main -Wl,-Bdynamic -lSDL2 -lcurl -L/usr/lib/aarch64-linux-gnu -lvlc ../libpugixml.a ../libnanosvg.a -lasound /opt/vc/lib/libbrcmGLESv2.so -lbcm_host ../libes-core.a -lfreetype -lfreeimage -Wl,-Bstatic -lSDL2main -Wl,-Bdynamic -lSDL2 -lcurl -L/usr/lib/aarch64-linux-gnu -lvlc ../libpugixml.a ../libnanosvg.a -lasound /opt/vc/lib/libbrcmGLESv2.so -lbcm_host /usr/bin/ld: /opt/vc/lib/libbrcmGLESv2.so: error adding symbols: file in wrong format collect2: error: ld returned 1 exit status make[2]: *** [es-app/CMakeFiles/emulationstation.dir/build.make:788: emulationstation] Error 1 make[2]: Leaving directory '/home/danil/RetroPie-Setup/tmp/build/emulationstation' make[1]: *** [CMakeFiles/Makefile2:248: es-app/CMakeFiles/emulationstation.dir/all] Error 2 make[1]: Leaving directory '/home/danil/RetroPie-Setup/tmp/build/emulationstation' make: *** [Makefile:156: all] Error 2 Removing additional swap Could not successfully build emulationstation - EmulationStation - Frontend used by RetroPie for launching emulators (/home/danil/RetroPie-Setup/tmp/build/emulationstation/emulationstation not found). /home/danil/RetroPie-Setup Log ended at: Thu Feb 8 10:40:41 AM CET 2024 Total running time: 0 hours, 20 mins, 58 secs
Trying to simply install "omxiv" naturally does not work, this is already clear:
/usr/bin/ld: omx_render.o:/home/danil/RetroPie-Setup/tmp/build/omxiv/omx_render.h:71: multiple definition of `OMX_RENDER_TRANSITION'; omxiv.o:/home/danil/RetroPie-Setup/tmp/build/omxiv/omx_render.h:71: first defined here /usr/bin/ld: skipping incompatible /opt/vc/lib//libopenmaxil.so when searching for -lopenmaxil /usr/bin/ld: cannot find -lopenmaxil: No such file or directory /usr/bin/ld: skipping incompatible /opt/vc/lib//libopenmaxil.so when searching for -lopenmaxil /usr/bin/ld: skipping incompatible /opt/vc/lib//libbcm_host.so when searching for -lbcm_host /usr/bin/ld: skipping incompatible /opt/vc/lib//libvcos.so when searching for -lvcos collect2: error: ld returned 1 exit status make: *** [Makefile:14: omxiv.bin] Error 1 Could not successfully build omxiv - OpenMAX image viewer for the Raspberry Pi (omxiv.bin not found). /home/danil/RetroPie-Setup Log ended at: Thu Feb 8 11:02:07 AM CET 2024 Total running time: 0 hours, 0 mins, 35 secs
Here's how the RetroArch installation attempt ended:
/usr/bin/ld: skipping incompatible /opt/vc/lib/libvcos.so when searching for -lvcos /usr/bin/ld: skipping incompatible /opt/vc/lib/libvcos.so when searching for -lvcos /usr/bin/ld: skipping incompatible /opt/vc/lib/libvcos.so when searching for -lvcos /usr/bin/ld: skipping incompatible /opt/vc/lib/libvchiq_arm.so when searching for -lvchiq_arm /usr/bin/ld: skipping incompatible /opt/vc/lib/libvchiq_arm.so when searching for -lvchiq_arm /usr/bin/ld: skipping incompatible /opt/vc/lib/libvchiq_arm.so when searching for -lvchiq_arm /usr/bin/ld: skipping incompatible /opt/vc/lib/libbrcmOpenVG.so when searching for -lbrcmOpenVG /usr/bin/ld: skipping incompatible /opt/vc/lib/libbrcmOpenVG.so when searching for -lbrcmOpenVG /usr/bin/ld: skipping incompatible /opt/vc/lib/libbrcmOpenVG.so when searching for -lbrcmOpenVG /usr/bin/ld: cannot find -lbrcmOpenVG: No such file or directory /usr/bin/ld: skipping incompatible /opt/vc/lib/libbrcmOpenVG.so when searching for -lbrcmOpenVG /usr/bin/ld: skipping incompatible /opt/vc/lib/libbrcmOpenVG.so when searching for -lbrcmOpenVG /usr/bin/ld: skipping incompatible /opt/vc/lib/libbrcmOpenVG.so when searching for -lbrcmOpenVG /usr/bin/ld: skipping incompatible /opt/vc/lib/libbcm_host.so when searching for -lbcm_host /usr/bin/ld: skipping incompatible /opt/vc/lib/libbcm_host.so when searching for -lbcm_host /usr/bin/ld: skipping incompatible /opt/vc/lib/libbcm_host.so when searching for -lbcm_host /usr/bin/ld: skipping incompatible /opt/vc/lib/libvcos.so when searching for -lvcos /usr/bin/ld: skipping incompatible /opt/vc/lib/libvcos.so when searching for -lvcos /usr/bin/ld: skipping incompatible /opt/vc/lib/libvcos.so when searching for -lvcos /usr/bin/ld: skipping incompatible /opt/vc/lib/libvchiq_arm.so when searching for -lvchiq_arm /usr/bin/ld: skipping incompatible /opt/vc/lib/libvchiq_arm.so when searching for -lvchiq_arm /usr/bin/ld: skipping incompatible /opt/vc/lib/libvchiq_arm.so when searching for -lvchiq_arm collect2: error: ld returned 1 exit status make: *** [Makefile:204: retroarch] Error 1 Could not successfully build retroarch - RetroArch - frontend to the libretro emulator cores - required by all lr-* emulators (/home/danil/RetroPie-Setup/tmp/build/retroarch/retroarch not found). /home/danil/RetroPie-Setup Log ended at: Thu Feb 8 09:07:13 PM CET 2024 Total running time: 0 hours, 56 mins, 6 secs
I have these settings in config.txt:
# Uncomment some or all of these to enable the optional hardware interfaces #dtparam=i2c_arm=on #dtparam=i2s=on #dtparam=spi=on # Enable audio (loads snd_bcm2835) (!!!!! The sound is output somehow differently in this Chinese crap !!!!!) dtparam=audio=off # Additional overlays and parameters are documented # /boot/firmware/overlays/README # Automatically load overlays for detected cameras #camera_auto_detect=1 # Automatically load overlays for detected DSI displays #display_auto_detect=1 # Automatically load initramfs files, if found #auto_initramfs=1 # Enable DRM VC4 V3D driver (!!!!! LCD and display rotation 90 degrees does not work when used "fkms", just "kms" not work at all!!!!!) #dtoverlay=vc4-fkms-v3d #max_framebuffers=2 # Don't have the firmware create an initial video= setting in cmdline.txt. # Use the kernel's default instead. #disable_fw_kms_setup=1 # Disable compensation for displays with overscan disable_overscan=1 # Run as fast as firmware / board allows arm_boost=1 #USB current for console GP430 max_usb_current=1 #DPI for GP430 console display dtoverlay=dpi24 overscan_left=0 overscan_right=0 overscan_top=0 overscan_bottom=0 framebuffer_width=800 framebuffer_height=480 enable_dpi_lcd=1 display_default_lcd=1 dpi_group=2 dpi_mode=87 dpi_output_format=0x050227 dpi_timings=480 0 13 3 32 800 0 40 48 88 0 0 0 60 0 32000000 6 extra_transpose_buffer=2 #Rotate 90 degrees for GP430 display display_rotate=1 #display_lcd_rotate=1 extra_transpose_buffer=2 gpu_mem=256 [cm4] otg_mode=1 [all]
Here is the console output for the commands "lsb_release -a", "uname -a", "dpkg -L libraspberrypi0", "cat /etc/apt/sources.list":
lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm sudo uname -a Linux raspberrypi-games 6.1.74-v8+ #1725 SMP PREEMPT Mon Jan 22 13:35:32 GMT 2024 aarch64 GNU/Linux dpkg -L libraspberrypi0 /. /lib /lib/udev /lib/udev/rules.d /lib/udev/rules.d/10-local-rpi.rules /usr /usr/lib /usr/lib/aarch64-linux-gnu /usr/lib/aarch64-linux-gnu/libbcm_host.so.0 /usr/lib/aarch64-linux-gnu/libdebug_sym.so.0 /usr/lib/aarch64-linux-gnu/libdtovl.so.0 /usr/lib/aarch64-linux-gnu/libvchiq_arm.so.0 /usr/lib/aarch64-linux-gnu/libvcos.so.0 /usr/share /usr/share/doc /usr/share/doc/libraspberrypi0 /usr/share/doc/libraspberrypi0/README.md /usr/share/doc/libraspberrypi0/changelog.Debian.gz cat /etc/apt/sources.list deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware deb http://deb.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
I also tried to do Basic Install on x32
This was a big mistake, I waited 5 hours to finally get information about what could not be installed...
And now it seems to me that the problem is me, I’m just stupid and can’t simply install RetroPie, which everyone else can...= = = = = = = = = = = = = = = = = = = = = Building 'retroarch' : RetroArch - frontend to the libretro emulator cores - required by all lr-* emulators = = = = = = = = = = = = = = = = = = = = = Checking existence of -lmbedtls -lmbedx509 -lmbedcrypto ... no Notice: HID is disabled, libusb support will also be disabled. Checking existence of -ldinput8 ... no Checking existence of -ld3d9 ... no Checking existence of -ldsound ... no Checking existence of -ld3dx8 ... no Checking existence of -ld3dx9 ... no Checking presence of header file GL/gl.h ... yes Checking existence of -lGL ... yes Checking function cgCreateContext in -lCg -lCgGL ... no Error: EGL is disabled and forced to build with OpenGLES support. rm -rf obj-unix rm -f retroarch rm -f *.d config.mk is outdated or non-existing. Run ./configure again. Makefile:10: config.mk: No such file or directory make: *** [Makefile:196: config.mk] Error 1 Could not successfully build retroarch - RetroArch - frontend to the libretro emulator cores - required by all lr-* emulators (/home/danil/RetroPie-Setup/tmp/build/retroarch/retroarch not found). /home/danil/RetroPie-Setup Update is available - updating ... = = = = = = = = = = = = = = = = = = = = = Installing dependencies for 'emulationstation' : EmulationStation - Frontend used by RetroPie for launching emulators = = = = = = = = = = = = = = = = = = = = = Did not find needed dependencies: libfreeimage-dev libfreetype-dev libcurl4-openssl-dev cmake libvlc-dev libvlccore-dev vlc rapidjson-dev omxplayer. Trying to install them now. Reading package lists... Building dependency tree... Reading state information... Package omxplayer is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'omxplayer' has no installation candidate Could not install package(s): libfreeimage-dev libfreetype-dev libcurl4-openssl-dev cmake libvlc-dev libvlccore-dev vlc rapidjson-dev omxplayer. Update is available - updating ... .................................. /usr/include/SDL2/SDL_config.h:429: warning: "SDL_VIDEO_OPENGL" redefined 429 | #define SDL_VIDEO_OPENGL 1 | <command-line>: note: this is the location of the previous definition CC _obj/RenderBase_neon.o LD mupen64plus-video-rice.so /usr/bin/ld: cannot find -lbrcmEGL: No such file or directory /usr/bin/ld: cannot find -lbrcmGLESv2: No such file or directory collect2: error: ld returned 1 exit status make: *** [Makefile:469: mupen64plus-video-rice.so] Error 1 make: Leaving directory '/home/danil/RetroPie-Setup/tmp/build/mupen64plus/mupen64plus-video-gles2rice/projects/unix' current revision "3b43a13" last build revision .................................. [100%] Linking CXX shared library plugin/Release/mupen64plus-video-GLideN64.so [100%] Built target mupen64plus-video-GLideN64 /home/danil/RetroPie-Setup/tmp/build/mupen64plus /home/danil/RetroPie-Setup Removing additional swap Could not successfully build mupen64plus - N64 emulator MUPEN64Plus (mupen64plus-core/projects/unix/libmupen64plus.so.2.0.0 not found). .................................. = = = = = = = = = = = = = = = = = = = = = Building 'lr-mupen64plus' : N64 emu - Mupen64Plus + GLideN64 for libretro = = = = = = = = = = = = = = = = = = = = = Removing additional swap Adding 125 MB of additional swap Setting up swapspace version 1, size = 125 MiB (131067904 bytes) no label, UUID=fc32c9aa-35c2-4cba-ab7e-6ff49a0c9a4b find -name "*.o" -type f -delete find -name "*.d" -type f -delete rm -f mupen64plus_libretro.so g++ -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -O2 -fvisibility-inlines-hidden -std=c++11 -O2 -DNDEBUG -fsigned-char -ffast-math -fno-strict-aliasing -fomit-frame-pointer -fvisibility=hidden -DGIT_VERSION=\"" 3d195fc"\" -DOS_LINUX -DHAVE_NEON -D__ARM_NEON__ -D__NEON_OPT -ftree-vectorize -mvectorize-with-neon-quad -ftree-vectorizer-verbose=2 -funsafe-math-optimizations -fno-finite-math-only -D__LIBRETRO__ -DUSE_FILE32API -DM64P_PLUGIN_API -DM64P_CORE_PROTOTYPES -D_ENDUSER_RELEASE -DSINC_LOWER_QUALITY -DTXFILTER_LIB -D__VEC4_OPT -DMUPENPLUSAPI -I/opt/vc/include -I/opt/vc/include/interface/vcos -I/opt/vc/include/interface/vcos/pthreads -I./custom -I./custom/mupen64plus-core -I./custom/android/include -I./custom/GLideN64 -I./GLideN64/src -I./GLideN64/src/osal -I./mupen64plus-core/src -I./mupen64plus-core/src/api -I./custom/mupen64plus-core/plugin/audio_libretro -I./libretro-common/include -I./libretro -I./GLideN64/src/inc -I./xxHash -I./libretro-deps/libpng -fPIC -DVC -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DGLES2 -DUSE_DEPTH_RENDERBUFFER -DNEW_DYNAREC=3 -DDYNAREC -c GLideN64/src/FBOTextureFormats.cpp -o GLideN64/src/FBOTextureFormats.o g++ -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -O2 -fvisibility-inlines-hidden -std=c++11 -O2 -DNDEBUG -fsigned-char -ffast-math -fno-strict-aliasing -fomit-frame-pointer -fvisibility=hidden -DGIT_VERSION=\"" 3d195fc"\" -DOS_LINUX -DHAVE_NEON -D__ARM_NEON__ -D__NEON_OPT -ftree-vectorize -mvectorize-with-neon-quad -ftree-vectorizer-verbose=2 -funsafe-math-optimizations -fno-finite-math-only -D__LIBRETRO__ -DUSE_FILE32API -DM64P_PLUGIN_API -DM64P_CORE_PROTOTYPES -D_ENDUSER_RELEASE -DSINC_LOWER_QUALITY -DTXFILTER_LIB -D__VEC4_OPT -DMUPENPLUSAPI -I/opt/vc/include -I/opt/vc/include/interface/vcos -I/opt/vc/include/interface/vcos/pthreads -I./custom -I./custom/mupen64plus-core -I./custom/android/include -I./custom/GLideN64 -I./GLideN64/src -I./GLideN64/src/osal -I./mupen64plus-core/src -I./mupen64plus-core/src/api -I./custom/mupen64plus-core/plugin/audio_libretro -I./libretro-common/include -I./libretro -I./GLideN64/src/inc -I./xxHash -I./libretro-deps/libpng -fPIC -DVC -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DGLES2 -DUSE_DEPTH_RENDERBUFFER -DNEW_DYNAREC=3 -DDYNAREC -c GLideN64/src/FrameBuffer.cpp -o GLideN64/src/FrameBuffer.o GLideN64/src/FrameBuffer.cpp: In member function ‘void FrameBufferList::saveBuffer(u32, u16, u16, u16, u16, bool)’: GLideN64/src/FrameBuffer.cpp:630:25: error: ‘glDiscardFramebufferEXT’ was not declared in this scope; did you mean ‘glBindFramebuffer’? 630 | glDiscardFramebufferEXT(GL_FRAMEBUFFER, 1, discards); | ^~~~~~~~~~~~~~~~~~~~~~~ | glBindFramebuffer GLideN64/src/FrameBuffer.cpp: In member function ‘void FrameBufferList::attachDepthBuffer()’: GLideN64/src/FrameBuffer.cpp:762:9: error: ‘glDiscardFramebufferEXT’ was not declared in this scope; did you mean ‘glBindFramebuffer’? 762 | glDiscardFramebufferEXT(GL_FRAMEBUFFER, 1, discards); | ^~~~~~~~~~~~~~~~~~~~~~~ | glBindFramebuffer GLideN64/src/FrameBuffer.cpp: In member function ‘void FrameBufferList::renderBuffer(u32)’: GLideN64/src/FrameBuffer.cpp:996:17: error: ‘glDiscardFramebufferEXT’ was not declared in this scope; did you mean ‘glBindFramebuffer’? 996 | glDiscardFramebufferEXT(GL_FRAMEBUFFER, 1, discards); | ^~~~~~~~~~~~~~~~~~~~~~~ | glBindFramebuffer make: *** [Makefile:434: GLideN64/src/FrameBuffer.o] Error 1 Removing additional swap Could not successfully build lr-mupen64plus - N64 emu - Mupen64Plus + GLideN64 for libretro (/home/danil/RetroPie-Setup/tmp/build/lr-mupen64plus/mupen64plus_libretro.so not found). = = = = = = = = = = = = = = = = = = = = = Building 'lr-vecx' : Vectrex emulator - vecx port for libretro = = = = = = = = = = = = = = = = = = = = = rm -f vecx_libretro.so ./e6809.o ./e8910.o ./libretro.o ./vecx.o ./libretro-common/glsym/rglgen.o ./libretro-common/glsym/glsym_gl.o cc -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -O2 -DGIT_VERSION=\"" a401c26"\" -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/vmcs_host/linux -O2 -DNDEBUG -DHAVE_OPENGLES -DHAVE_OPENGLES2 -D__LIBRETRO__ -DHAVE_STRINGS_H -DHAVE_STDINT_H -DHAVE_INTTYPES_H -DINLINE=inline -DHAS_GPU -DHAVE_OPENGLES2 -Wall -W -Wno-unused-parameter -Wno-sign-compare -Wno-uninitialized -fPIC -DFRONTEND_SUPPORTS_RGB565 -I. -I./libretro-common/include -I./libretro-common/include -c -oe6809.o e6809.c cc -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -O2 -DGIT_VERSION=\"" a401c26"\" -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/vmcs_host/linux -O2 -DNDEBUG -DHAVE_OPENGLES -DHAVE_OPENGLES2 -D__LIBRETRO__ -DHAVE_STRINGS_H -DHAVE_STDINT_H -DHAVE_INTTYPES_H -DINLINE=inline -DHAS_GPU -DHAVE_OPENGLES2 -Wall -W -Wno-unused-parameter -Wno-sign-compare -Wno-uninitialized -fPIC -DFRONTEND_SUPPORTS_RGB565 -I. -I./libretro-common/include -I./libretro-common/include -c -oe8910.o e8910.c e8910.c: In function ‘e8910_callback’: e8910.c:511:50: warning: comparison is always false due to limited range of data type [-Wtype-limits] 511 | if (PSG.CountEnv < 0) | ^ cc -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -O2 -DGIT_VERSION=\"" a401c26"\" -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/vmcs_host/linux -O2 -DNDEBUG -DHAVE_OPENGLES -DHAVE_OPENGLES2 -D__LIBRETRO__ -DHAVE_STRINGS_H -DHAVE_STDINT_H -DHAVE_INTTYPES_H -DINLINE=inline -DHAS_GPU -DHAVE_OPENGLES2 -Wall -W -Wno-unused-parameter -Wno-sign-compare -Wno-uninitialized -fPIC -DFRONTEND_SUPPORTS_RGB565 -I. -I./libretro-common/include -I./libretro-common/include -c -olibretro.o libretro.c cc -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -O2 -DGIT_VERSION=\"" a401c26"\" -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/vmcs_host/linux -O2 -DNDEBUG -DHAVE_OPENGLES -DHAVE_OPENGLES2 -D__LIBRETRO__ -DHAVE_STRINGS_H -DHAVE_STDINT_H -DHAVE_INTTYPES_H -DINLINE=inline -DHAS_GPU -DHAVE_OPENGLES2 -Wall -W -Wno-unused-parameter -Wno-sign-compare -Wno-uninitialized -fPIC -DFRONTEND_SUPPORTS_RGB565 -I. -I./libretro-common/include -I./libretro-common/include -c -ovecx.o vecx.c cc -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -O2 -DGIT_VERSION=\"" a401c26"\" -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/vmcs_host/linux -O2 -DNDEBUG -DHAVE_OPENGLES -DHAVE_OPENGLES2 -D__LIBRETRO__ -DHAVE_STRINGS_H -DHAVE_STDINT_H -DHAVE_INTTYPES_H -DINLINE=inline -DHAS_GPU -DHAVE_OPENGLES2 -Wall -W -Wno-unused-parameter -Wno-sign-compare -Wno-uninitialized -fPIC -DFRONTEND_SUPPORTS_RGB565 -I. -I./libretro-common/include -I./libretro-common/include -c -olibretro-common/glsym/rglgen.o libretro-common/glsym/rglgen.c cc -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -O2 -DGIT_VERSION=\"" a401c26"\" -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/vmcs_host/linux -O2 -DNDEBUG -DHAVE_OPENGLES -DHAVE_OPENGLES2 -D__LIBRETRO__ -DHAVE_STRINGS_H -DHAVE_STDINT_H -DHAVE_INTTYPES_H -DINLINE=inline -DHAS_GPU -DHAVE_OPENGLES2 -Wall -W -Wno-unused-parameter -Wno-sign-compare -Wno-uninitialized -fPIC -DFRONTEND_SUPPORTS_RGB565 -I. -I./libretro-common/include -I./libretro-common/include -c -olibretro-common/glsym/glsym_es2.o libretro-common/glsym/glsym_es2.c cc -ovecx_libretro.so -fPIC -shared -Wl,--version-script=link.T -Wl,--no-undefined ./e6809.o ./e8910.o ./libretro.o ./vecx.o ./libretro-common/glsym/rglgen.o ./libretro-common/glsym/glsym_es2.o -lm -L/opt/vc/lib -lbrcmGLESv2 -lbcm_host -lpthread /usr/bin/ld: cannot find -lbrcmGLESv2: No such file or directory collect2: error: ld returned 1 exit status make: *** [Makefile.libretro:800: vecx_libretro.so] Error 1 Could not successfully build lr-vecx - Vectrex emulator - vecx port for libretro (/home/danil/RetroPie-Setup/tmp/build/lr-vecx/vecx_libretro.so not found). = = = = = = = = = = = = = = = = = = = = = Building 'retroarch' : RetroArch - frontend to the libretro emulator cores - required by all lr-* emulators = = = = = = = = = = = = = = = = = = = = = Checking operating system ... Linux Checking for suitable working C compiler ... /usr/bin/gcc works Checking for suitable working C++ compiler ... /usr/bin/g++ works Checking for pkg-config ... /usr/bin/pkgconf Checking for availability of switch -std=gnu99 in /usr/bin/gcc ... yes Checking for availability of switch -std=c++11 in /usr/bin/g++ ... yes Checking for availability of switch -Wno-unused-result in /usr/bin/gcc ... yes Checking for availability of switch -Wno-unused-variable in /usr/bin/gcc ... yes Checking function sd_get_machine_names in -lsystemd ... no Checking presence of package bcm_host ... 1 Checking presence of header file EGL/eglext.h ... yes Checking presence of package brcmegl ... no Checking existence of -lbrcmEGL ... no Checking function ass_library_init in -lfribidi -lass ... no Checking function pthread_create in -lpthread ... yes Checking function pthread_key_create in -lpthread ... yes Checking presence of package check >= 0.15 ... no Checking presence of header file scsi/sg.h ... yes Checking function dlopen in -ldl ... yes Checking function socket in -lc ... yes Checking function getaddrinfo in -lc ... yes Checking function fcntl in -lc ... yes Checking function getopt_long in -lc ... yes Checking presence of package alsa ... 1.2.8 Checking presence of package libsixel >= 1.6.0 ... no Checking presence of predefined macro AUDIO_SETINFO in sys/audioio.h ... no Checking presence of package rsound >= 1.1 ... no Checking presence of package libroar >= 1.0.12 ... no Checking presence of package sdl2 >= 2.0.0 ... 2.26.3 Checking presence of package flac ... no Checking existence of -lmbedtls -lmbedx509 -lmbedcrypto ... no Notice: HID is disabled, libusb support will also be disabled. Checking existence of -ldinput8 ... no Checking existence of -ld3d9 ... no Checking existence of -ldsound ... no Checking existence of -ld3dx8 ... no Checking existence of -ld3dx9 ... no Checking presence of header file GL/gl.h ... yes Checking existence of -lGL ... yes Checking function cgCreateContext in -lCg -lCgGL ... no Error: EGL is disabled and forced to build with OpenGLES support. rm -rf obj-unix rm -f retroarch rm -f *.d config.mk is outdated or non-existing. Run ./configure again. Makefile:10: config.mk: No such file or directory make: *** [Makefile:196: config.mk] Error 1 Could not successfully build retroarch - RetroArch - frontend to the libretro emulator cores - required by all lr-* emulators (/home/danil/RetroPie-Setup/tmp/build/retroarch/retroarch not found). /home/danil/RetroPie-Setup Update is available - updating ... = = = = = = = = = = = = = = = = = = = = = Installing dependencies for 'emulationstation' : EmulationStation - Frontend used by RetroPie for launching emulators = = = = = = = = = = = = = = = = = = = = = Did not find needed dependencies: libfreeimage-dev libfreetype-dev libcurl4-openssl-dev cmake libvlc-dev libvlccore-dev vlc rapidjson-dev omxplayer. Trying to install them now. Reading package lists... Building dependency tree... Reading state information... Package omxplayer is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'omxplayer' has no installation candidate Could not install package(s): libfreeimage-dev libfreetype-dev libcurl4-openssl-dev cmake libvlc-dev libvlccore-dev vlc rapidjson-dev omxplayer. Update is available - updating ... = = = = = = = = = = = = = = = = = = = = = Installing dependencies for 'splashscreen' : Configure Splashscreen = = = = = = = = = = = = = = = = = = = = = Did not find needed dependencies: insserv omxplayer. Trying to install them now. Reading package lists... Building dependency tree... Reading state information... Package omxplayer is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'omxplayer' has no installation candidate Could not install package(s): insserv omxplayer. Log ended at: Thu Feb 8 07:55:42 PM CET 2024 Total running time: 4 hours, 52 mins, 54 secs
I'm too tired, but next week I still want to try installing with "dtoverlay=vc4-fkms-v3d", I'll figure out how to rotate the screen using fbcon=rotate:1, I hope this will also rotate emulstation and RetroArch...
Although if you install Retropie from a ready-made image, which is based on an old version of the system, everything works without DRM VC4 V3D driver...If anyone knows how to solve the problem, it would be very great.
-
@Div1nus said in Raspberry Pi OS Bookworm Released:
[...]
Although if you install Retropie from a ready-made image, which is based on an old version of the system, everything works without DRM VC4 V3D driver...It does on Buster, not so much in the subsequent RaspiOS releases, which is exactly your problem. You've modified
config.txt
and removed the KMS overlay, but that results in an unsupported configuration/platform for Bookworm, since the legacy BRCM GPU drivers are not available anymore. -
@mitu said in Raspberry Pi OS Bookworm Released:
You've modified config.txt and removed the KMS overlay, but that results in an unsupported configuration/platform for Bookworm
If I use fake KMS instead of KMS, then in theory everything should work?
Just KMS doesn't allow my LCD screen to work.
And if it doesn't work out to compile with FKMS, is it possible to compile and install everything with KMS, and then switch to FKMS?
In any case, now I know exactly what the problem is. Thank you, I will try both ways and write about the result. -
@Div1nus said in Raspberry Pi OS Bookworm Released:
Just KMS doesn't allow my LCD screen to work.
Are you sure ? KMS is the only supported way forward. FKMS doesn't offer you anything extra over KMS since - as said before - any old GPU libraries are no longer present in the OS.
-
@mitu Yes, I don't know why, but if "dtoverlay=vc4-kms-v3d" is enabled, nothing is displayed on the screen, only the backlight is on. Even though it seems all the necessary DPI parameters are specified. The screen only starts working if I comment out #dtoverlay=vc4-kms-v3d or if I use dtoverlay=vc4-fkms-v3d, but I need a 90-degree rotation, otherwise, the screen works vertically, and with fkms, the parameters display_rotate=1 and display_lcd_rotate=1 don't result in the screen rotating. However, I will try to experiment, because I just transferred the screen settings from the config.txt that came with the console purchase. And KMS was also commented out there... Maybe this is some kind of specific problem with the Chinese screen...
-
@Div1nus Take a look at this RPF topic - https://forums.raspberrypi.com/viewtopic.php?t=329872 - to see how you can configure such panel using the KMS overlays.
-
@mitu OMG! Thank you very much! Now I have a full KMS!
It was a little tricky, but I was able to convert my old parameters:
framebuffer_width=800 framebuffer_height=480 enable_dpi_lcd=1 display_default_lcd=1 dpi_group=2 dpi_mode=87 dpi_output_format=0x050227 dpi_timings=480 0 13 3 32 800 0 40 48 88 0 0 0 60 0 32000000 6 display_rotate=1 display_lcd_rotate=1 extra_transpose_buffer=2
In new:
dtoverlay=vc4-kms-v3d dtoverlay=vc4-kms-dpi-generic,rotate=90,hactive=480,hfp=13,hsync=3,hbp=32 dtparam=vactive=800,vfp=40,vsync=48,vbp=88 dtparam=clock-frequency=32000000,bgr888 max_framebuffers=2
If anyone has the same GP430 console or DPI display with:
dpi_output_format=0x050227
dpi_timings=480 0 13 3 32 800 0 40 48 88 0 0 0 60 0 32000000 6You can safely use the new parameters for kms, just replace the old parameters, they are no longer needed, with new ones, which are even more compact.
If you have a problem with colors and you don’t know how to correctly convert “dpi_output_format”, I haven’t really figured it out, just use the selection method.
Here is the list: rgb565, rgb565-padhi, bgr666, bgr666-padhi, rgb666-padhi, bgr888, rgb888.
These seem to be all the available options.If your display doesn't require 90 degree rotation, remove "rotate=90".
And swap width and height, 480 and 800 in my example, if you have a vertical, not horizontal screen.
Documentation on the parameters is also available here: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html
If anyone needs it, search in the page using the keyword "vc4-kms-dpi-generic".UPD:
After updating the kernel via rpi_update, rotation=90 stopped working no matter where I set it, so I went back to adding the parameter "fbcon=rotate:1" to the end of cmdline.txt.
In the emulationstation autostart .sh: --screenrotate 1 --screensize 800 480 #auto
In the retroarch.cfg add video_allow_rotate = "true" and video_rotation = "1". -
@Div1nus said in Raspberry Pi OS Bookworm Released:
After updating the kernel via rpi_update, rotation=90 stopped working no matter where I set it, so I went back to adding the parameter "fbcon=rotate:1" to the end of cmdline.txt
Don't use
rpi-update
unless you want to test things - it shouldn't be used for normal updates. Normal kernel updates are automatically performed if you're upgrading viaapt
(apt update && apt full-upgrade
). -
@mitu You're right, it's just my habit, I always want to update everything to the latest version, no matter what it is. And this time it created another problem, you need to rotate cmd, ES and retroarch separately.
And doesn't this mean that the "rotation=" parameter may disappear in new versions?
-
You're right, it's just my habit, I always want to update everything to the latest version ...
rpi-update
is NOT an update toolAnd doesn't this mean that the "rotation=" parameter may disappear in new versions?
Wait until the next stable kernel version comes along and check to see if the parameter is still not working. If that's the case, check the documentation for the overlay you're using - it could have been renamed. If the parameter is valid, but not working, then open a topic in the Raspberry Pi forums and provide the configuration you're trying and it's not working.
-
-
Hi. I've just installed core packages on arm64 version of Pi OS. All went good but for some reason the script downgraded SDL2 package and put it on hold:
libsdl2-2.0-0: Installed: 2.26.3+1rpi Candidate: 2.26.5+dfsg-1 Version table: 2.26.5+dfsg-1 500 500 http://deb.debian.org/debian bookworm/main arm64 Packages *** 2.26.3+1rpi 100 100 /var/lib/dpkg/status
Is the version in bookworm not suitable for use in retropie? I noticed that it's linked a bit differently:
Version: 2.26.5+dfsg-1 Depends: libasound2 (>= 1.0.27), libc6 (>= 2.34), libdecor-0-0 (>= 0.1.0), libdrm2 (>= 2.4.47), libgbm1 (>= 8.1~0), libpulse0 (>= 0.99.1), libsamplerate0 (>= 0.1.7), libwayland-client0 (>= 1.20.0), libwayland-cursor0 (>= 1.18), libwayland-egl1 (>= 1.18), libx11-6 (>= 2:1.2.99.901), libxcursor1 (>> 1.1.2), libxext6, libxfixes3 (>= 1:5.0), libxi6 (>= 2:1.6.99.1), libxkbcommon0 (>= 0.5.0), libxrandr2 (>= 2:1.2.99.3), libxss1 Version: 2.26.3+1rpi Depends: libc6 (>= 2.34), libudev1, libdbus-1-3
-
@rhino said in Raspberry Pi OS Bookworm Released:
Is the version in bookworm not suitable for use in retropie? I noticed that it's linked a bit differently:
On a Pi (and a few other SBC platforms) RetroPie has always compiled its own version of SDL and set the package(s) on hold to prevent overwriting.
-
@mitu Ok that is fine but I wanted to know what's the reason for it and whether it's still valid.
-
@rhino said in Raspberry Pi OS Bookworm Released:
.. what's the reason for it and whether it's still valid.
The reason is we have a few SDL patches specific to RetroPie which we maintain, so we have a separate SDL package. And yes, it's still valid. We update the version of our patches along with SDL, so at some point it's not going to be an isssue when the SDL version will be bumped in our package.
-
@mitu This is very interesting can you please elaborate what exactly is being patched in retropie version? The version number is not a problem but the fact that it's linked so differently (possibly patches themselves) is likely to cause problems with system software. E.g. mpv and VLC are no longer capable to play movies in the console with the replaced lib. Is there a solution to this?
-
@rhino said in Raspberry Pi OS Bookworm Released:
E.g. mpv and VLC are no longer capable to play movies in the console with the replaced lib. Is there a solution to this?
I don't think that's an issue caused by SDL. You can find the patches included in RetroPie's SDL in the Github repository here.
-
@mitu Ups sorry turns out it was just me messing up my system. Both players continue to work without problems.
You can find the patches included in RetroPie's SDL in the Github repository here.
Ok so just a handful of commits at the top?
https://github.com/RetroPie/SDL/compare/adf31f6ec0be0f9ba562889398f71172c7941023...retropie-2.26.3
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.