RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    MKDD Tint Issue RPI5

    Scheduled Pinned Locked Moved Help and Support
    lr-dolphinmkdddoubledashvulkandrivers
    175 Posts 11 Posters 56.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.
    • G
      gvx64 @gvx64
      last edited by gvx64

      @gvx64 Hello, I just wanted to provide another update. I was able to find a solution that at least works for my needs in playing Metroid Prime and Mario Golf. I could use your help with testing on the Pi5 and with the games that I do not own (RE4, Mario Kart). I have forked a build of dolphin on Github and pushed the necessary modifications (build instructions below). The solution that I came up with was to modify an old version of dolphin-5.0-4544 (June 2017) that allows me to run these impacted games without rendering problems on Bookworm using the Vulkan video backend (GLES 3.1 does not work properly on Bookworm in this build). What I am doing is running this modified, legacy version of dolphin in parallel with a current build on my Pi4, where I am using this older build as a separate emulator in emulationstation for the games that don't run properly on the current build of dolphin.

      Instructions for Building from Source

      cd /home/pi
      sudo git clone https://github.com/gvx64/dolphin-rpi
      cd ./dolphin-rpi
      sudo git submodule update --init --recursive
      

      Edit CMakeLists.txt options if needed. I turned off/on the following flags in the CMake file by default (you may want pulseaudio turned on for your machine):

      • USE_UPNP turned off
      • ENABLE_PULSEAUDIO turned off
      • ENABLE_ANALYTICS turned off
      • ENCODE_FRAMEDUMPS turned off
      • ENABLE_QT2 turned on
      sudo nano ./CMakeLists.txt
      

      If you haven't already done so, you may want to add the following packages:

      sudo apt-get install libevdev-dev libgtk2.0-dev libopenal-dev qtbase5-private-dev
      

      Also, make sure that Vulkan is installed on your Pi if you haven't already done so before proceeding further.

      Now lets configure:

      mkdir Build
      cd ./Build
      sudo cmake .. -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11
      

      (note that you may need to sudo apt-get install gcc-11 and g++-11 if you don't have them installed by default on Bookworm)

      Finally build (this will take a while):

      sudo make -j4
      

      (note that if you encounter errors you should rebuild with -j1 as the error messages are sometimes a lot more descriptive when building with single core for some reason)

      EDIT: Optional step although possibly not recommended. This will put config/settings files in potentially inconvenient locations. I personally skip this step and just create my own config directory and specify its location with the "-u" option in the emulators.cfg file.

      sudo make install
      

      Anyways, assuming that there are no errors (please let me know if there are), this should get you three dolphin binaries in the ../Build/Binaries folder. You can add them to your /opt/retropie/configs/gc/emulators.cfg list the way that I have done. Note that I have set up both entries that can launch games from es as well as entries that are intended for settings configuration and that will only take you to the gui screen. As discussed below in posts 80-84, if you would like to enable hotkeys, please setup your hotkeys using the hotkey-configure option below and note that in order for hotkeys to work you will need to launch your games using the dolphin-5.0-4544 core (the nogui core does not support hotkeys):

      dolphin-5.0-4544-nogui = "XINIT-WM: /home/pi/dolphin-rpi/Build/Binaries/dolphin-emu-nogui -e %ROM% -u /home/pi/DolphinConfig5.0/"
      dolphin-5.0-4544 = "XINIT-WM: /home/pi/dolphin-rpi/Build/Binaries/dolphin-emu -e %ROM% -u /home/pi/DolphinConfig5.0/"
      dolphin-5.0-4544-configure = "XINIT-WM: /home/pi/dolphin-rpi/Build/Binaries/dolphin-emu -u /home/pi/DolphinConfig5.0/"
      dolphin-5.0-4544-configure-hotkeys = "XINIT-WM: /home/pi/dolphin-rpi/Build/Binaries/dolphin-emu-qt2 -u /home/pi/DolphinConfig5.0/"
      

      Note that I specified a separate configuration directory using the -u option. You can make a copy out of the files ../Data/Sys/ directory and Note that when playing games it is essential to only use the Vulkan backend for this build.

      Background:
      Anyways, I have provided some optional technical details below for general knowledge.

      The problem in resolving this issue in Bookworm is two-fold:

      1. Current builds of dolphin have the above-discussed rendering problem in Bookworm (Mario Golf - invisible characters, Metroid Prime - invisible map screen, Mario Kart - screen tint, Resident Evil 4 - screen tint ). This is due to the removal of alpha pass support in dolphin. In fact, all dolphin builds after 5.0-1653 (Jan 2017) have the alpha pass feature removed where the code falls back on a shader implementation (either dual source blending or GL_EXT_shader_framebuffer_fetch) that is not supported on the Pi4 or Pi5. I tried my best to patch a workaround for Pi users into a recent version of dolphin but it is simply beyond my abilities. Maybe somebody with experience in shader programming can take a crack at it, but it may not be a simple solution (honestly, given that it has been an open issue for almost a year, the dolphin devs probably would have already implemented it by now if it was simple).
      2. The next obvious option is to fallback on an older build of dolphin (e.g. 5.0-1651) that still has the alpha pass feature. This solution actually works really well if you are using Buster or Bullseye but for some extremely weird reason that I cannot understand, GLES 3.1 support in dolphin on Bookworm is severely impeded on all legacy builds prior to 5.0-9638 (when the GL backend got largely harmonized with Vulkan). Before 5.0-9638 when running GLES on Bookworm, I found that the gameplay chugs down to around 1-3 fps. That said, Vulkan works great on Bookworm on builds even prior to 5.0-9638 but this leads to yet another problem: Vulkan was first introduced in 5.0-748 which is only a few months before alpha pass was removed. At the time of 5.0-1651, Vulkan support on Dolphin was still in its infancy and is really not a usable video backend.

      Anyways, after a ton of trial and error, I decided to take a commit around 5.0-4544 and then patched the alpha pass feature from 5.0-1651 back into the code. I also rolled-forward the build with the changes detailed in 5.0-13671 which resolves many of the compiler errors that are experienced when building an old version of dolphin on gcc-11. I specifically chose 5.0-4544 because it was a balance between giving the Vulkan backend sufficient time to mature while not being so far past the time that alpha pass was removed that back-patching becomes difficult (by the time of 5.0-6000 there were enormous changes made to the video-backend code that makes reintroducing alpha pass beyond my abilities).

      Anyways, using this modified version of 5.0-4544 I can now play Metroid Prime and Mario Golf using the Vulkan backend and they both run quite well on the Pi4 with no rendering problems (GLES is a still a broken mess for reasons I discussed above, but I don't really need it to play these games so it is OK). Resident Evil 4 and Mario Kart are not a part of my library and so I cannot test these two. I also do no own a Pi5 (only Pi4's) and so I cannot confirm that my solution will resolve the problem for these users but I suspect that it should work. If somebody would like to help me with the testing of my proposed solution, I would be appreciative.

      sugarfreeS retropieuser555R 2 Replies Last reply Reply Quote 2
      • sugarfreeS
        sugarfree @gvx64
        last edited by

        @gvx64

        Thank you very much for working on this!

        I'm trying to test it with RPi5 but I'm getting the following error:

        pi@retropie:~/dolphin-rpi/Build $ sudo cmake .. -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11
        
        CMake Warning (dev) at CMakeLists.txt:10 (set):
          implicitly converting 'string' to 'STRING' type.
        This warning is for project developers.  Use -Wno-dev to suppress it.
        
        -- The C compiler identification is GNU 11.3.0
        -- The CXX compiler identification is unknown
        -- Detecting C compiler ABI info
        -- Detecting C compiler ABI info - done
        -- Check for working C compiler: /usr/bin/gcc-11 - skipped
        -- Detecting C compile features
        -- Detecting C compile features - done
        CMake Error at CMakeLists.txt:12 (project):
          The CMAKE_CXX_COMPILER:
        
            g++-11
        
          is not a full path and was not found in the PATH.
        
          Tell CMake where to find the compiler by setting either the environment
          variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
          to the compiler, or to the compiler name if it is in the PATH.
        
        
        -- Configuring incomplete, errors occurred!
        See also "/home/pi/dolphin-rpi/Build/CMakeFiles/CMakeOutput.log".
        See also "/home/pi/dolphin-rpi/Build/CMakeFiles/CMakeError.log".
        

        Logs:

        CMakeError.log

        Checking whether the CXX compiler is IAR using "" did not match "IAR .+ Compiler":
        Checking whether the CXX compiler is IAR using "" did not match "IAR .+ Compiler":
        

        CMakeOutput.log

        The system is: Linux - 6.6.31+rpt-rpi-v8 - aarch64
        Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
        Compiler: /usr/bin/gcc-11 
        Build flags: 
        Id flags:  
        
        The output was:
        0
        
        
        Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
        
        The C compiler identification is GNU, found in "/home/pi/dolphin-rpi/Build/CMakeFiles/3.25.1/CompilerIdC/a.out"
        
        Detecting C compiler ABI info compiled with the following output:
        Change Dir: /home/pi/dolphin-rpi/Build/CMakeFiles/CMakeScratch/TryCompile-NPiKc3
        
        Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_f591b/fast && /usr/bin/gmake  -f CMakeFiles/cmTC_f591b.dir/build.make CMakeFiles/cmTC_f591b.dir/build
        gmake[1]: Entering directory '/home/pi/dolphin-rpi/Build/CMakeFiles/CMakeScratch/TryCompile-NPiKc3'
        Building C object CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o
        /usr/bin/gcc-11   -v -o CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c
        Using built-in specs.
        COLLECT_GCC=/usr/bin/gcc-11
        Target: aarch64-linux-gnu
        Configured with: ../src/configure -v --with-pkgversion='Debian 11.3.0-12' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=4
        Thread model: posix
        Supported LTO compression algorithms: zlib zstd
        gcc version 11.3.0 (Debian 11.3.0-12) 
        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_f591b.dir/'
         /usr/lib/gcc/aarch64-linux-gnu/11/cc1 -quiet -v -imultiarch aarch64-linux-gnu /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_f591b.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -o /tmp/cc3AMJLu.s
        GNU C17 (Debian 11.3.0-12) version 11.3.0 (aarch64-linux-gnu)
        	compiled by GNU C version 11.3.0, GMP version 6.2.1, MPFR version 4.2.0, MPC version 1.3.1, isl version isl-0.25-GMP
        
        GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
        ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu"
        ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed"
        ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include"
        #include "..." search starts here:
        #include <...> search starts here:
         /usr/lib/gcc/aarch64-linux-gnu/11/include
         /usr/local/include
         /usr/include/aarch64-linux-gnu
         /usr/include
        End of search list.
        GNU C17 (Debian 11.3.0-12) version 11.3.0 (aarch64-linux-gnu)
        	compiled by GNU C version 11.3.0, GMP version 6.2.1, MPFR version 4.2.0, MPC version 1.3.1, isl version isl-0.25-GMP
        
        GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
        Compiler executable checksum: c16ccff3ddefe9400f9028332bb150c8
        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_f591b.dir/'
         as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o /tmp/cc3AMJLu.s
        GNU assembler version 2.40 (aarch64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40
        COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/
        LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/
        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.'
        Linking C executable cmTC_f591b
        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f591b.dir/link.txt --verbose=1
        /usr/bin/gcc-11  -v CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o -o cmTC_f591b 
        Using built-in specs.
        COLLECT_GCC=/usr/bin/gcc-11
        COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper
        Target: aarch64-linux-gnu
        Configured with: ../src/configure -v --with-pkgversion='Debian 11.3.0-12' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=4
        Thread model: posix
        Supported LTO compression algorithms: zlib zstd
        gcc version 11.3.0 (Debian 11.3.0-12) 
        COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/
        LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/
        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f591b' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_f591b.'
         /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccukJ06n.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -o cmTC_f591b /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o
        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f591b' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_f591b.'
        gmake[1]: Leaving directory '/home/pi/dolphin-rpi/Build/CMakeFiles/CMakeScratch/TryCompile-NPiKc3'
        
        
        
        Parsed C implicit include dir info from above output: rv=done
          found start of include info
          found start of implicit include info
            add: [/usr/lib/gcc/aarch64-linux-gnu/11/include]
            add: [/usr/local/include]
            add: [/usr/include/aarch64-linux-gnu]
            add: [/usr/include]
          end of search list found
          collapse include dir [/usr/lib/gcc/aarch64-linux-gnu/11/include] ==> [/usr/lib/gcc/aarch64-linux-gnu/11/include]
          collapse include dir [/usr/local/include] ==> [/usr/local/include]
          collapse include dir [/usr/include/aarch64-linux-gnu] ==> [/usr/include/aarch64-linux-gnu]
          collapse include dir [/usr/include] ==> [/usr/include]
          implicit include dirs: [/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include]
        
        
        Parsed C implicit link information from above output:
          link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
          ignore line: [Change Dir: /home/pi/dolphin-rpi/Build/CMakeFiles/CMakeScratch/TryCompile-NPiKc3]
          ignore line: []
          ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_f591b/fast && /usr/bin/gmake  -f CMakeFiles/cmTC_f591b.dir/build.make CMakeFiles/cmTC_f591b.dir/build]
          ignore line: [gmake[1]: Entering directory '/home/pi/dolphin-rpi/Build/CMakeFiles/CMakeScratch/TryCompile-NPiKc3']
          ignore line: [Building C object CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o]
          ignore line: [/usr/bin/gcc-11   -v -o CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c]
          ignore line: [Using built-in specs.]
          ignore line: [COLLECT_GCC=/usr/bin/gcc-11]
          ignore line: [Target: aarch64-linux-gnu]
          ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 11.3.0-12' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=4]
          ignore line: [Thread model: posix]
          ignore line: [Supported LTO compression algorithms: zlib zstd]
          ignore line: [gcc version 11.3.0 (Debian 11.3.0-12) ]
          ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_f591b.dir/']
          ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/cc1 -quiet -v -imultiarch aarch64-linux-gnu /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_f591b.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -o /tmp/cc3AMJLu.s]
          ignore line: [GNU C17 (Debian 11.3.0-12) version 11.3.0 (aarch64-linux-gnu)]
          ignore line: [	compiled by GNU C version 11.3.0  GMP version 6.2.1  MPFR version 4.2.0  MPC version 1.3.1  isl version isl-0.25-GMP]
          ignore line: []
          ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
          ignore line: [ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu"]
          ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed"]
          ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include"]
          ignore line: [#include "..." search starts here:]
          ignore line: [#include <...> search starts here:]
          ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/include]
          ignore line: [ /usr/local/include]
          ignore line: [ /usr/include/aarch64-linux-gnu]
          ignore line: [ /usr/include]
          ignore line: [End of search list.]
          ignore line: [GNU C17 (Debian 11.3.0-12) version 11.3.0 (aarch64-linux-gnu)]
          ignore line: [	compiled by GNU C version 11.3.0  GMP version 6.2.1  MPFR version 4.2.0  MPC version 1.3.1  isl version isl-0.25-GMP]
          ignore line: []
          ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
          ignore line: [Compiler executable checksum: c16ccff3ddefe9400f9028332bb150c8]
          ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_f591b.dir/']
          ignore line: [ as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o /tmp/cc3AMJLu.s]
          ignore line: [GNU assembler version 2.40 (aarch64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40]
          ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/]
          ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/]
          ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.']
          ignore line: [Linking C executable cmTC_f591b]
          ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f591b.dir/link.txt --verbose=1]
          ignore line: [/usr/bin/gcc-11  -v CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o -o cmTC_f591b ]
          ignore line: [Using built-in specs.]
          ignore line: [COLLECT_GCC=/usr/bin/gcc-11]
          ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper]
          ignore line: [Target: aarch64-linux-gnu]
          ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 11.3.0-12' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=4]
          ignore line: [Thread model: posix]
          ignore line: [Supported LTO compression algorithms: zlib zstd]
          ignore line: [gcc version 11.3.0 (Debian 11.3.0-12) ]
          ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/]
          ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/]
          ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f591b' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_f591b.']
          link line: [ /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccukJ06n.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -o cmTC_f591b /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o]
            arg [/usr/lib/gcc/aarch64-linux-gnu/11/collect2] ==> ignore
            arg [-plugin] ==> ignore
            arg [/usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so] ==> ignore
            arg [-plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper] ==> ignore
            arg [-plugin-opt=-fresolution=/tmp/ccukJ06n.res] ==> ignore
            arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
            arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
            arg [-plugin-opt=-pass-through=-lc] ==> ignore
            arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
            arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
            arg [--build-id] ==> ignore
            arg [--eh-frame-hdr] ==> ignore
            arg [--hash-style=gnu] ==> ignore
            arg [--as-needed] ==> ignore
            arg [-dynamic-linker] ==> ignore
            arg [/lib/ld-linux-aarch64.so.1] ==> ignore
            arg [-X] ==> ignore
            arg [-EL] ==> ignore
            arg [-maarch64linux] ==> ignore
            arg [--fix-cortex-a53-843419] ==> ignore
            arg [-pie] ==> ignore
            arg [-o] ==> ignore
            arg [cmTC_f591b] ==> ignore
            arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o]
            arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o]
            arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o]
            arg [-L/usr/lib/gcc/aarch64-linux-gnu/11] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11]
            arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu]
            arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib]
            arg [-L/lib/aarch64-linux-gnu] ==> dir [/lib/aarch64-linux-gnu]
            arg [-L/lib/../lib] ==> dir [/lib/../lib]
            arg [-L/usr/lib/aarch64-linux-gnu] ==> dir [/usr/lib/aarch64-linux-gnu]
            arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
            arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..]
            arg [CMakeFiles/cmTC_f591b.dir/CMakeCCompilerABI.c.o] ==> ignore
            arg [-lgcc] ==> lib [gcc]
            arg [--push-state] ==> ignore
            arg [--as-needed] ==> ignore
            arg [-lgcc_s] ==> lib [gcc_s]
            arg [--pop-state] ==> ignore
            arg [-lc] ==> lib [c]
            arg [-lgcc] ==> lib [gcc]
            arg [--push-state] ==> ignore
            arg [--as-needed] ==> ignore
            arg [-lgcc_s] ==> lib [gcc_s]
            arg [--pop-state] ==> ignore
            arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o]
            arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o]
          collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> [/usr/lib/aarch64-linux-gnu/Scrt1.o]
          collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> [/usr/lib/aarch64-linux-gnu/crti.o]
          collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> [/usr/lib/aarch64-linux-gnu/crtn.o]
          collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11] ==> [/usr/lib/gcc/aarch64-linux-gnu/11]
          collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu]
          collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> [/usr/lib]
          collapse library dir [/lib/aarch64-linux-gnu] ==> [/lib/aarch64-linux-gnu]
          collapse library dir [/lib/../lib] ==> [/lib]
          collapse library dir [/usr/lib/aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu]
          collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
          collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> [/usr/lib]
          implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
          implicit objs: [/usr/lib/aarch64-linux-gnu/Scrt1.o;/usr/lib/aarch64-linux-gnu/crti.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o;/usr/lib/aarch64-linux-gnu/crtn.o]
          implicit dirs: [/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib]
          implicit fwks: []
        
        G 1 Reply Last reply Reply Quote 0
        • G
          gvx64 @sugarfree
          last edited by gvx64

          @sugarfree Thanks for helping me with the testing. Does this error occur when you run cmake? It looks like you might not have gcc-11 installed on your Pi. Did you try:

          sudo apt-get install gcc-11 g++-11
          

          On the Pi4, Bookworm has gcc-12 installed by default but gcc-11 is available in the apt-get repository and is easily installed. I am hoping that it is the same on the Pi5.

          sugarfreeS 1 Reply Last reply Reply Quote 0
          • sugarfreeS
            sugarfree @gvx64
            last edited by

            @gvx64 Yes, i have installed this packages, thanks.

            G 1 Reply Last reply Reply Quote 0
            • G
              gvx64 @sugarfree
              last edited by

              @sugarfree Don't forget about g++-11 too (sorry, I added it in an edit just a moment ago).

              sugarfreeS 1 Reply Last reply Reply Quote 1
              • sugarfreeS
                sugarfree @gvx64
                last edited by sugarfree

                @gvx64 Yes, this is what was missing.

                Update: Building completed successfully.

                roslofR 1 Reply Last reply Reply Quote 0
                • roslofR
                  roslof @sugarfree
                  last edited by roslof

                  @sugarfree said in MKDD Tint Issue RPI5:

                  @gvx64 Yes, this is what was missing.

                  Compiled fine for my Pi 5 without error.

                  Running the binary yielded this error dialog:

                  Dolphin-emu Error
                  Failed to load image from file "/usr/local/share/dolphin-emu/sys/Resources/dolphin_logo@2x.png".
                  

                  So I did two (2) things:

                  1. Created a symlink in /user/local/share with sudo ln -s ~/dolphin-rpi/Data dolphin-emu
                  2. Renamed the Sys folder in ~/dolphin-rpi/Data to sys (note lowercase "s")

                  That seems to have worked for now.

                  5.0 doesn't support .rvm GC files, so I'm looking for the alternative formats (elf, dol, gcm, iso, tgc, wbfs, ciso, gcz, wad or dff) and will report back.

                  roslofR 1 Reply Last reply Reply Quote 1
                  • roslofR
                    roslof @roslof
                    last edited by roslof

                    @roslof said in MKDD Tint Issue RPI5:

                    5.0 doesn't support .rvm GC files, so I'm looking for the alternative formats (elf, dol, gcm, iso, tgc, wbfs, ciso, gcz, wad or dff) and will report back.

                    @gvx64 Okay, found a Mario Kart Double Dash iso that worked. Had to switch to Vulkan in the Dolphin GUI and it ran. Poorly. Below framerate in all cases, but rendered fine in 1P / 2P modes.

                    gc_mkdd_photo1.jpg

                    But the 4-player camera mode rendered dark and unplayable.

                    But no blue tint, so there's that. :)

                    G 1 Reply Last reply Reply Quote 1
                    • sugarfreeS
                      sugarfree
                      last edited by sugarfree

                      I have built the binaries, but I can't figure out how to launch them. I'm sure I'm missing something. GameCube ROMs don't appear in EmulationStation. Do I need to install Dolphin emulator from the experimental packages?

                      i have manually create the
                      configs/gc/emulators.cfg file :

                      olphin-5.0-4544-nogui = "XINIT-WM: /home/pi/dolphin-emu-5.0-4544/dolphin-emu/Build/Binaries/dolphin-emu-nogui -e %ROM% -u /home/pi/DolphinConfig5.0/"
                      
                      1 Reply Last reply Reply Quote 0
                      • G
                        gvx64 @roslof
                        last edited by gvx64

                        @roslof It is disappointing to hear that it is running below 100% with Vulkan on a Pi5. What kind of FPS are you getting? Have you tried lowering the CPU override value below 100% to get a higher FPS? Also, this old version of dolphin still has the disable External Framebuffer option available which is useful in some games for getting higher performance (and it resolves a major bug in Baten Kaitos without having to turn off dual core support that cannot be done in current builds of dolphin). Maybe a dumb question but did you make sure that Vulkan is using V3D and not that llvmpipe software renderer mode? I am able to get fairly playable experiences in Metroid Prime and Mario Golf on my overclocked Pi4 with this build using Vulkan (albeit with CPU override factors down around 0.6) and so I was expecting better results than this on the Pi5.

                        @sugarfree I recommend first compiling a current build of standalone dolphin using your RetroPie Setup menu to launch the install script. This will create the emulators.cfg file and associated directories for you. Then you just need to add the additional line that I included above for this old version of dolphin. This build of dolphin is very old, you will for sure want to have a current build as a default emulator on your Pi for playing games that do not have rendering issues due to this alpha pass problem.

                        @roslof Thanks, that's a good solution. Typical procedure is to run "sudo make install" as a final step after building but this copies configuration/settings files to a bunch of inconvenient locations (root directory, /usr/local/share directory, etc). Doing that might resolve this error, but after building hundreds of legacy versions of dolphin on my Pi I generally don't do this step. Alternatively, you can use the no-gui binary and then non-significant error messages like these will only get printed in the terminal but will not impact gameplay. I prefer the no-gui build as I find it runs slightly faster (~5%) which matters a lot on the Pi4.

                        roslofR 1 Reply Last reply Reply Quote 1
                        • roslofR
                          roslof @gvx64
                          last edited by

                          @gvx64 said in MKDD Tint Issue RPI5:

                          @roslof It is disappointing to hear that it is running below 100% with Vulkan on a Pi5. What kind of FPS are you getting? Have you tried lowering the CPU override value below 100% to get a higher FPS? Also, this old version of dolphin still has the disable External Framebuffer option available which is useful in some games for getting higher performance (and it resolves a major bug in Baten Kaitos without having to turn off dual core support that cannot be done in current builds of dolphin). Maybe a dumb question but did you make sure that Vulkan is using V3D and not that llvmpipe software renderer mode? I am able to get fairly playable experiences in Metroid Prime and Mario Golf on my overclocked Pi4 with this build using Vulkan (albeit with CPU override factors down around 0.6) and so I was expecting better results than this on the Pi5.

                          Thanks for the questions and support!

                          TLDR; Mario Double Dash! yielded much better results after starting from scratch (clean/reinstall). Single Player is at or around 60FPS with dips. Multiplayer is sluggish (2P) and unplayable (4P).

                          So I went ahead and cleaned everything up and started from scratch. Seems that my configs were out of sorts on the first run.. I created another emulator entry for initial testing so I could use hotkey functions and go back and forth between game and GUI:

                          dolphin-5.0          = "XINIT-WMC: /home/pi/dolphin-rpi/Build/Binaries/dolphin-emu       -e %ROM% -u /home/pi/DolphinConfig5.0/"
                          

                          I found it nice using 'WMC' along with setting an exit hotkey chord and running with the "fullscreen" display option checked. I could then view the game perfectly (no frame) and still exit to the GUI

                          On this run, using Mario Double Dash!: running a Pi 5 stock speeds (no overclocking anything)* running Vulkan w/V3D 7.1.7, default rendering options for now.

                          • FPS typically at 60 with dips no lower than 54FPS
                          • 2 Player Split Screen is under framerate a bit most of the time (better with no-gui as you called out)
                          • 4 Player Split Screen is unplayable (speed and bad render)

                          Will play around with settings and maybe overclocking to see how far 2P mode can be pushed, but 4P is a loss.

                          1 Reply Last reply Reply Quote 2
                          • sugarfreeS
                            sugarfree
                            last edited by sugarfree

                            Great news! I hope to be able to run Resident Evil 4 correctly and to summarize gvx64 work into a scriptmodule.

                            retropieuser555R G 2 Replies Last reply Reply Quote 2
                            • retropieuser555R
                              retropieuser555 @sugarfree
                              last edited by

                              @sugarfree nice, have you got your script or uploading a PR up to RetroPie Setup or Extras?

                              Pi 5 4GB

                              Retroflag GPI with raspberry pi zero 2 w/ wifi

                              Retroachievements:- lovelessrapture

                              sugarfreeS 1 Reply Last reply Reply Quote 0
                              • sugarfreeS
                                sugarfree @retropieuser555
                                last edited by

                                @retropieuser555 "I haven't tried it yet, but if I find a way to do it, I will post it in the retropie-extra repo of course.

                                sugarfreeS 1 Reply Last reply Reply Quote 0
                                • G
                                  gvx64 @sugarfree
                                  last edited by gvx64

                                  @sugarfree Yes, thank you for doing that. You should be able to modify the existing dolphin.sh experimental script module fairly easily to create a new build script for this old version by adapting the build steps that I provided above (note that I edited the build instruction post yesterday to correct some of the errors and omissions in my original instructions). One thing to make sure of is that Bookworm users know to only use the Vulkan backend with this build (That said, GLES should work fine for Pi4 users with Bullseye and Buster 64-Bit).

                                  @roslof Thank you for the feedback and the detailed information on the performance of MKDD. It's too bad about the 4p mode but I am happy to hear that at least 1p is playable with 2p possibly being playable with setting optimization.

                                  Has anybody tested Resident Evil 4 yet? I am curious to know if this game is playable on the Pi5 using this build.

                                  roslofR 1 Reply Last reply Reply Quote 0
                                  • roslofR
                                    roslof @gvx64
                                    last edited by

                                    @gvx64 said in MKDD Tint Issue RPI5:

                                    Has anybody tested Resident Evil 4 yet? I am curious to know if this game is playable on the Pi5 using this build.

                                    I'll start looking into it now.

                                    roslofR 1 Reply Last reply Reply Quote 1
                                    • roslofR
                                      roslof @roslof
                                      last edited by roslof

                                      @roslof said in MKDD Tint Issue RPI5:

                                      @gvx64 said in MKDD Tint Issue RPI5:

                                      Has anybody tested Resident Evil 4 yet? I am curious to know if this game is playable on the Pi5 using this build.

                                      I'll start looking into it now.

                                      Journey so far with Resident Evil 4, again stock Pi 5 and no alterations to the dolphin 5.0 settings:

                                      GETTING STARTED

                                      • Again, can't use .RVZs, so this was tested with an .ISO build.
                                      • Running dolphin-emu (not the no-gui version, so things will only get better)
                                      • Started a New Game

                                      INTRO

                                      • Everything smooth up until when the game switches from pre-rendered videos to in-game cinematics. Frequent pauses and pops every time the camera changes position, and in some scenes with fog/lighting effects (car headlights with road dust as an example)
                                      • Communication tool between Leon and Hunnigan renders well throughout the game

                                      GAMEPLAY

                                      • By design, FPS is locked to 30FPS.
                                        *General gameplay typically within 28-30FPS, with periodic dips below. Overall seems very playable, especially in closed-in areas
                                      • Cut-scene moments and forced camera swaps during battle sequences often slow down or freeze for a moment

                                      Overall, very playable if you don't mind occasional pops and hiccups, especially with cut-scenes. Game seems to render fine with a few flickery things that appear here and there, but nothing too distracting, Not being able to use compressed .RVZs is unfortunate -- especially for this game which is a monster uncompressed as two (2) disc ISOs. I believe CSOs are supported, so might try to create some of those.

                                      G 2 Replies Last reply Reply Quote 2
                                      • G
                                        gvx64 @roslof
                                        last edited by gvx64

                                        @roslof Thanks again for your help here with testing. It's much appreciated.

                                        It looks like .RVZ support got added in dolphin-emu-5.0-12188:

                                        https://dolphin-emu.org/download/dev/99822518994d62def4e336f6746d6a2e2d108fb2/

                                        I will spend a little time and see how doable it might be to backpatch the changes of 5.0-12188 into 5.0-4544. I can't promise anything as 7,000 commits is a lot revisions where major structural changes to the code may have occurred in that time that could make a back-patch very difficult. If this were the video backend or JIT cores I would say there is no way I could roll-forward the code that far. But we might get lucky if the IO core is a more sparsely maintained section of the code and that there aren't too many changes. I will give it a try and I will let you know if I make any progress implementing rvz support into this old version of dolphin.

                                        1 Reply Last reply Reply Quote 1
                                        • sugarfreeS
                                          sugarfree @sugarfree
                                          last edited by

                                          @sugarfree said in MKDD Tint Issue RPI5:

                                          I haven't tried it yet, but if I find a way to do it, I will post it in the retropie-extra repo of course.

                                          Sorry guys, I couldn't get a script working for this emulator.

                                          1 Reply Last reply Reply Quote 0
                                          • G
                                            gvx64 @roslof
                                            last edited by gvx64

                                            @roslof I just wanted to let you know that I have pushed a new master that has .rvz support as per the changes in 5.0-12188 (build instructions same as above). This build should now be able to open and play .rvz files. I converted a few of my iso's to rvz's (Baten Kaitos Eternal Wings and Mario Golf) and there doesn't appear to be any noticeable loss in performance between the iso and rvz formats of these games. That being said, please let me know if you have different experiences running rvz files.

                                            @sugarfree Can you please give this install script a try. You should just have to make a file called "dolphin-rpi.sh" in /home/pi/RetroPie-Setup/scriptmodules/emulators and then paste the contents below into it. This isn't the prettiest implementation but make install was giving me all kinds of headaches and so I ended up just using the script to manually copy files into the proper location.

                                            #!/usr/bin/env bash
                                            
                                            # This file is part of The RetroPie Project
                                            #
                                            # The RetroPie Project is the legal property of its developers, whose names are
                                            # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source.
                                            #
                                            # See the LICENSE.md file at the top-level directory of this distribution and
                                            # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md
                                            #
                                            
                                            rp_module_id="dolphin-rpi"
                                            rp_module_desc="Gamecube/Wii Dolphin Modified from 5.0-4544 for Pi Users"
                                            rp_module_help="ROM Extensions: .elf .dol .gcm .iso .rvz .wbfs .ciso .gcz .wad .dff\n\nCopy your Gamecube roms to $romdir/gc and Wii roms to $romdir/wii"
                                            rp_module_licence="GPL2 https://github.com/gvx64/dolphin-rpi/blob/master/license.txt"
                                            rp_module_repo="git https://github.com/gvx64/dolphin-rpi.git master"
                                            rp_module_section="exp"
                                            rp_module_flags="aarch64 vulkan"
                                            
                                            function depends_dolphin-rpi() {
                                                local depends=(cmake gcc-11 g++-11 pkg-config libasound2-dev libopenal-dev libevdev-dev libgtk2.0-dev qtbase5-private-dev)
                                            
                                                isPlatform "kms" && depends+=(xorg matchbox-window-manager)
                                            
                                                getDepends "${depends[@]}"
                                            }
                                            
                                            function sources_dolphin-rpi() {
                                                gitPullOrClone
                                            }
                                            
                                            function build_dolphin-rpi() {
                                                mkdir build
                                                cd build
                                                # use the bundled 'speexdsp' libs, distro versions before 1.2.1 trigger a 'cmake' error
                                                cmake .. -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DBUNDLE_SPEEX=ON -DENABLE_AUTOUPDATE=OFF -DENABLE_ANALYTICS=OFF  -DUSE_DISCORD_PRESENCE=O>    make clean
                                                make
                                                md_ret_require="$md_build/build/Binaries/dolphin-emu"
                                            }
                                            
                                            function install_dolphin-rpi() {
                                                #copy binaries to /opt/retropie/emulators/dolphin-rpi
                                                cd build/Binaries/
                                                mkdir /opt/retropie/emulators/dolphin-rpi/
                                                mkdir /opt/retropie/emulators/dolphin-rpi/bin/
                                                mv dolphin-emu /opt/retropie/emulators/dolphin-rpi/bin/
                                                mv dolphin-emu-nogui /opt/retropie/emulators/dolphin-rpi/bin/
                                                #use /home/pi/DolphinConfig5.0/ as the configuration/settings/save file directory
                                                cd ..
                                                mkdir /home/pi/DolphinConfig5.0/
                                                mkdir /home/pi/DolphinConfig5.0/Config/
                                                mv ../Data/Sys/GameSettings/ /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/GC/ /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/Wii/ /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/Maps/ /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/Resources/ /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/Shaders/ /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/Themes/ /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/codehandler.bin /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/totaldb.dsy /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/wiitdb-de.txt /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/wiitdb-en.txt /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/wiitdb-es.txt /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/wiitdb-fr.txt /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/wiitdb-it.txt /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/wiitdb-ja.txt /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/wiitdb-ko.txt /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/wiitdb-nl.txt /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/wiitdb-pt.txt /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/wiitdb-ru.txt /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/wiitdb-zh_CN.txt /home/pi/DolphinConfig5.0/
                                                mv ../Data/Sys/wiitdb-zh_TW.txt /home/pi/DolphinConfig5.0/
                                            }
                                            
                                            function remove_dolphin-rpi() {
                                                rm -r /home/pi/DolphinConfig5.0/GameSettings/
                                                rm -r /home/pi/DolphinConfig5.0/Maps/
                                                rm -r /home/pi/DolphinConfig5.0/Resources/
                                                rm -r /home/pi/DolphinConfig5.0/Shaders/
                                                rm -r /home/pi/DolphinConfig5.0/Themes/
                                                rm -r /home/pi/DolphinConfig5.0/Config/
                                                rm /home/pi/DolphinConfig5.0/codehandler.bin
                                                rm /home/pi/DolphinConfig5.0/totaldb.dsy
                                                rm /home/pi/DolphinConfig5.0/wiitdb-de.txt
                                                rm /home/pi/DolphinConfig5.0/wiitdb-en.txt
                                                rm /home/pi/DolphinConfig5.0/wiitdb-es.txt
                                                rm /home/pi/DolphinConfig5.0/wiitdb-fr.txt
                                                rm /home/pi/DolphinConfig5.0/wiitdb-it.txt
                                                rm /home/pi/DolphinConfig5.0/wiitdb-ja.txt
                                                rm /home/pi/DolphinConfig5.0/wiitdb-ko.txt
                                                rm /home/pi/DolphinConfig5.0/wiitdb-nl.txt
                                                rm /home/pi/DolphinConfig5.0/wiitdb-pt.txt
                                                rm /home/pi/DolphinConfig5.0/wiitdb-ru.txt
                                                rm /home/pi/DolphinConfig5.0/wiitdb-zh_CN.txt
                                                rm /home/pi/DolphinConfig5.0/wiitdb-zh_TW.txt
                                            #   Do not delete GC or Wii save file directories upon emulator uninstall
                                            #    rm -r /home/pi/DolphinConfig5.0/GC/
                                            #    rm -r /home/pi/DolphinConfig5.0/Wii/
                                            #    rm -r /home/pi/DolphinConfig5.0/
                                            }
                                            
                                            function configure_dolphin-rpi() {
                                                mkRomDir "gc"
                                                mkRomDir "wii"
                                            
                                                local launch_prefix
                                                isPlatform "kms" && launch_prefix="XINIT-WM:"
                                            
                                                addEmulator 0 "$md_id" "gc" "$launch_prefix$md_inst/bin/dolphin-emu-nogui -e %ROM% -u /home/pi/DolphinConfig5.0/"
                                                addEmulator 1 "$md_id-gui" "gc" "$launch_prefix$md_inst/bin/dolphin-emu -b -e %ROM% -u /home/pi/DolphinConfig5.0/"
                                                addEmulator 2 "$md_id-configure" "gc" "$launch_prefix$md_inst/bin/dolphin-emu -u /home/pi/DolphinConfig5.0/"
                                                addEmulator 3 "$md_id-configure-hotkeys" "gc" "$launch_prefix$md_inst/bin/dolphin-emu-qt2 -u /home/pi/DolphinConfig5.0/"
                                                addEmulator 0 "$md_id" "wii" "$launch_prefix$md_inst/bin/dolphin-emu-nogui -e %ROM% -u /home/pi/DolphinConfig5.0/"
                                                addEmulator 1 "$md_id-gui" "wii" "$launch_prefix$md_inst/bin/dolphin-emu -b -e %ROM% -u /home/pi/DolphinConfig5.0/"
                                                addEmulator 2 "$md_id-configure" "wii" "$launch_prefix$md_inst/bin/dolphin-emu -u /home/pi/DolphinConfig5.0/"
                                                addEmulator 3 "$md_id-configure-hotkeys" "wii" "$launch_prefix$md_inst/bin/dolphin-emu-qt2 -u /home/pi/DolphinConfig5.0/"
                                            
                                                addSystem "gc"
                                                addSystem "wii"
                                            
                                                [[ "$md_mode" == "remove" ]] && return
                                            
                                                # preset options used for Raspberry Pi 4 (Bookworm) - modify for your build as desired
                                               cat >"$home/DolphinConfig5.0/Config/Dolphin.ini" <<_EOF_
                                            [Core]
                                            OverclockEnable = False
                                            EnableCheats = False
                                            GFXBackend = Vulkan
                                            CPUCore = 4
                                            Fastmem = True
                                            CPUThread = True
                                            SyncOnSkipIdle = True
                                            FPRF = False
                                            AccurateNaNs = False
                                            AudioLatency = 20
                                            AutoDiscChange = True
                                            [Display]
                                            FullscreenDisplayRes = Auto
                                            Fullscreen = True
                                            RenderToMain = True
                                            KeepWindowOnTop = True
                                            [Interface]
                                            ConfirmStop = False
                                            [General]
                                            ISOPath0 = "$home/RetroPie/roms/gc"
                                            ISOPath1 = "$home/RetroPie/roms/wii"
                                            ISOPaths = 2
                                            WiiSDCardPath = /home/pi/DolphinConfig5.0/Wii/sd.raw
                                            _EOF_
                                            
                                               chown -R $user:$user "$home/DolphinConfig5.0/Config"
                                            }
                                            
                                            
                                            roslofR TPRT 3 Replies Last reply Reply Quote 2
                                            • 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.