RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Raspberry Pi OS Bookworm Released

    Scheduled Pinned Locked Moved General Discussion and Gaming
    bookworm
    86 Posts 11 Posters 28.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • RapidEdwin08R
      RapidEdwin08 @windg
      last edited by

      @windg said in Raspberry Pi OS Bookworm Released:

      I used this setting in the last few days, with the kernel fix, and so far the system hasn't frozen again. If anyone wants to try it be careful, as mitu warns, it breaks the gamepads drivers.

      Same here on x2 RPi 4's, No Issues since applying Kernel mentioned above.

      I did not have to touch anything in regards to my generic xbox360 style joypad/receiver on either Pi.
      Both of them worked out of the box before even installing xpad driver (or Kernel Fix) from RetroPie-Setup to begin with.
      Ran lsusb -t and both appear to be using Driver=xpad at the moment.

      Raspberry Pi B, Pi B+, Pi2 B, Pi3 B, Pi3 B+, Pi Zero W, Pi4 (4GB/8GB), Pi5 (8GB/16GB), Pi Zero 2 W, GPi V1, minisforum GK50 / RetroPie 4.8.x

      1 Reply Last reply Reply Quote 1
      • windgW
        windg
        last edited by

        My gamepads (Logitech F310 and 710) are working too, but if i try to reinstall xpad driver it's failing.

        My English isn't at a good level.

        1 Reply Last reply Reply Quote 0
        • mituM
          mitu Global Moderator @windg
          last edited by

          @windg said in Raspberry Pi OS Bookworm Released:

          @mitu This merge will add and the headers? Thanks!

          Yes.

          1 Reply Last reply Reply Quote 1
          • windgW
            windg
            last edited by windg

            I have build the cores For Bookworm Lite 64 bit in Pi5, can i transfer them in Pi4 with Bullseye or Bookworm Lite 64 bit? Do we know if the next stable image for Pi4 will use Bullseye or Bookworm? Thanks!

            Edit: I transfer scummvm and it's working.

            My English isn't at a good level.

            1 Reply Last reply Reply Quote 0
            • RapidEdwin08R
              RapidEdwin08 @mitu
              last edited by

              @mitu said in Raspberry Pi OS Bookworm Released:

              @windg well, if you feel adventurous, you can try to install the latest rpi-update kernel from the linked issue and see if it fixes it. But, if you have any drivers installed for one of your gamepads, they'll likely break since there's no corresponding headers installed.

              Can you please provide or point me in the right direction to obtain the Kernel Hash# to Revert to Stock Kernel for Bookworm?

              sudo rpi-update raspiOS-stock-hash-#

              sudo rpi-update pulls/5684 definitely resolved the dlist memory issue on pi4.
              But I think we're still waiting on 0fficial Kernel with dlistFix + headers...

              Raspberry Pi B, Pi B+, Pi2 B, Pi3 B, Pi3 B+, Pi Zero W, Pi4 (4GB/8GB), Pi5 (8GB/16GB), Pi Zero 2 W, GPi V1, minisforum GK50 / RetroPie 4.8.x

              mituM 1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator @RapidEdwin08
                last edited by

                @RapidEdwin08 said in Raspberry Pi OS Bookworm Released:

                Can you please provide or point me in the right direction to obtain the Kernel Hash# to Revert to Stock Kernel for Bookworm?

                https://www.raspberrypi.com/documentation/computers/os.html#how-to-get-back-to-safety

                1 Reply Last reply Reply Quote 1
                • S
                  sseehra
                  last edited by

                  Hello everyone,
                  I am currently having issues compiling mupenplus64 for retropie on Bookworm 32 bit full version. I have installed the libvulkan-dev package as recommended, and later used PiKISS to install the full vulkan package. Despite this, I am unable to compile the core. I have attached the log file as a google drive link. If anyone could assist me with this, I would greatly appreciate it.

                  Link: https://drive.google.com/file/d/1R5R8G55qsZVK04XgnqZUZoHM1JDhY8YU/view?usp=sharing

                  mituM windgW 2 Replies Last reply Reply Quote 0
                  • mituM
                    mitu Global Moderator @sseehra
                    last edited by

                    @sseehra said in Raspberry Pi OS Bookworm Released:

                    I am currently having issues compiling mupenplus64 for retropie on Bookworm 32 bit full version

                    On a 32bit system, RaspiOS will boot with the 64bit kernel and, because of it, Mupen64plus build scripts are assuming you're running a 64bit system. The build errors appear because of that.

                    Instruct the bootloader to not load the 64bit kernel and the build will work.

                    1 Reply Last reply Reply Quote 0
                    • windgW
                      windg @sseehra
                      last edited by windg

                      @sseehra Add to the /boot/config.txt file this : arm_64bit=0 . It's what mitu suggest you.

                      You can access boot partition from a windows machine due to be fat32 or from SSH .

                      My English isn't at a good level.

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        sseehra @windg
                        last edited by

                        @windg Thank you for the response. I ended up installing the 64 bit of bookworm, since I needed this version of the software for other purposes.

                        1 Reply Last reply Reply Quote 0
                        • S
                          sseehra
                          last edited by

                          Hello again everyone,
                          I managed to compile RetroPie successfully on 64bit Bookworm, but I am getting the VolumeControl::init() - failed to find mixer elements!

                          I am not sure how to remedy this for this current OS, and would appreciate any assistance if possible. I am currently configured to use HDMI audio, and would like if I could switch between HDMI and audio jack while using retropie

                          RapidEdwin08R S 2 Replies Last reply Reply Quote 0
                          • RapidEdwin08R
                            RapidEdwin08 @sseehra
                            last edited by

                            @sseehra Try Default+Master for sound settings in Emulationstation.
                            For swapping audio output use the Audio Settings from RetroPie Setup to change HDMI/Headphone.

                            Raspberry Pi B, Pi B+, Pi2 B, Pi3 B, Pi3 B+, Pi Zero W, Pi4 (4GB/8GB), Pi5 (8GB/16GB), Pi Zero 2 W, GPi V1, minisforum GK50 / RetroPie 4.8.x

                            1 Reply Last reply Reply Quote 0
                            • S
                              Sluggo @sseehra
                              last edited by Sluggo

                              @sseehra Are you running RetroPie while running 64bit Bookworm desktop?

                              I'm trying to accomplish it where when my pi5 boots:

                              1. My primary monitor is the bookworm 64bit desktop environment.
                              2. My secondary monitor is RetroPie (or EmulationStation) to play games.

                              Any ideas how to make this happen?

                              1 Reply Last reply Reply Quote 0
                              • D
                                Div1nus
                                last edited by

                                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.

                                mituM 1 Reply Last reply Reply Quote 0
                                • mituM
                                  mitu Global Moderator @Div1nus
                                  last edited by

                                  @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.

                                  D 1 Reply Last reply Reply Quote 0
                                  • D
                                    Div1nus @mitu
                                    last edited by

                                    @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.

                                    mituM 1 Reply Last reply Reply Quote 0
                                    • mituM
                                      mitu Global Moderator @Div1nus
                                      last edited by

                                      @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.

                                      D 1 Reply Last reply Reply Quote 0
                                      • D
                                        Div1nus @mitu
                                        last edited by

                                        @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...

                                        mituM 1 Reply Last reply Reply Quote 0
                                        • mituM
                                          mitu Global Moderator @Div1nus
                                          last edited by

                                          @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.

                                          D 1 Reply Last reply Reply Quote 1
                                          • D
                                            Div1nus @mitu
                                            last edited by Div1nus

                                            @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 6

                                            You 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".

                                            mituM 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.