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

    Running Xbox original games on Retropie (PC only)

    Scheduled Pinned Locked Moved General Discussion and Gaming
    original xboxxbox emulationxbox
    49 Posts 4 Posters 5.8k 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.
    • ExarKunIvE
      ExarKunIv @Unknown
      last edited by

      @Unknown i will hunt down the bios and a game and see what i can see

      RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
      RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
      Maintainer of RetroPie-Extra .

      UnknownU 1 Reply Last reply Reply Quote 1
      • UnknownU
        Unknown @ExarKunIv
        last edited by

        @ExarKunIv
        Sounds like a plan

        You can't beat the classics(unless you copy them).

        ExarKunIvE 1 Reply Last reply Reply Quote 0
        • ExarKunIvE
          ExarKunIv @Unknown
          last edited by

          @Unknown script is now fixed, but it will not run on the Pi5, the Pi5 does not have OpenGL4.0 and that is a requirment.

          not sure if there is a way to force it to run on a lower version or something different.

          here is the new script for you to mess with.

          #!/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="xemu"
          rp_module_desc="Xbox Emulator"
          rp_module_help="ROM Extensions: .iso .xiso \n\nCopy your xbox games to $romdir/xbox"
          rp_module_licence="https://github.com/xemu-project/xemu/blob/master/LICENSE"
          rp_module_repo="git https://github.com/xemu-project/xemu.git"
          rp_module_section="exp"
           
          function depends_xemu() {
              local depends=( build-essential libsdl2-dev libepoxy-dev libpixman-1-dev libgtk-3-dev libssl-dev libsamplerate0-dev libpcap-dev ninja-build python3-yaml libslirp-dev)
              getDepends "${depends[@]}"
          }
          function sources_xemu() {
              gitPullOrClone
          }
          function build_xemu() {
               cd xemu
              ./build.sh
              md_ret_require="$md_build/dist/xemu"
           
          }
          function install_xemu() {
              md_ret_files=(        
                  'dist/xemu'
          	'dist/LICENSE.txt'
              )
          }
           
          function configure_xemu() {
              mkRomDir "xbox"
          
              local launch_prefix
              isPlatform "kms" && launch_prefix="XINIT-WM:"
          
              # Create the xbox BIOs directory if it doesn't exist
              if [ ! -d "$biosdir/xbox" ]; then
                  mkdir -p "$biosdir/xbox"
              fi
              chown -R $user:$user "$biosdir/xbox"
              # Create a symbolic link for BIOS
              if [ ! -L "/opt/retropie/emulators/xemu/xbox" ]; then
                  ln -s "$biosdir/xbox" "/opt/retropie/emulators/xemu"
              fi
             
             if [[ "$md_mode" == "install" ]]; then
                 mkUserDir "$md_conf_root/xbox"
                 mkUserDir "$md_conf_root/xbox/$md_id"
                 moveConfigFile "$home/.$md_id" "$md_conf_root/xbox/$md_id"
              fi
              addEmulator 1 "$md_id" "xbox" "$launch_prefix$md_inst/xemu -r 3 -i %ROM%"
              addSystem "xbox" "Xbox" ".iso"
          
          }
          

          RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
          RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
          Maintainer of RetroPie-Extra .

          UnknownU 2 Replies Last reply Reply Quote 1
          • UnknownU
            Unknown @ExarKunIv
            last edited by

            @ExarKunIv
            Getting ready to test as we speak. Out of curiosity, what prevented it from working previously?

            You can't beat the classics(unless you copy them).

            ExarKunIvE 1 Reply Last reply Reply Quote 0
            • UnknownU
              Unknown @ExarKunIv
              last edited by

              @ExarKunIv
              It starts and the emulator seems to load but then it geneates this error.

              Parameters: 
              Executing: /opt/retropie/emulators/xemu/xemu -r 3 -i "/home/retropie/RetroPie/roms/xbox/ATV Quad Power Racing 2.iso"
              xemu_version: 0.7.132
              xemu_branch: master
              xemu_commit: 8707d2aa2626063cb67b5ea20382584a0848dce7
              xemu_date: Mon Sep  9 11:44:52 PM UTC 2024
              xemu_settings_get_base_path: base path: /home/retropie/.local/share/xemu/xemu/
              xemu_settings_get_path: config path: /home/retropie/.local/share/xemu/xemu/xemu.toml
              MESA: error: ZINK: failed to choose pdev
              glx: failed to create drisw screen
              CPU: Intel(R) Core(TM) i5-10600K CPU @ 4.10GHz
              OS_Version: Ubuntu 24.04.1 LTS
              GL_VENDOR: Mesa
              GL_RENDERER: llvmpipe (LLVM 17.0.6, 128 bits)
              GL_VERSION: 4.5 (Core Profile) Mesa 24.0.9-0ubuntu0.1
              GL_SHADING_LANGUAGE_VERSION: 4.50
              xemu: -r: invalid option
              Created QEMU launch parameters: /opt/retropie/emulators/xemu/xemu -machine xbox,kernel-irqchip=off,avpack=hdtv -device smbus-storage,file=/home/retropie/.local/share/xemu/xemu/eeprom.bin -m 64 -drive index=1,media=cdrom,file= -display xemu -device usb-hub,port=1,ports=4 -r 3 -i /home/retropie/RetroPie/roms/xbox/ATV Quad Power Racing 2.iso 
              

              However we are a lot further along than we were before.

              You can't beat the classics(unless you copy them).

              1 Reply Last reply Reply Quote 0
              • ExarKunIvE
                ExarKunIv @Unknown
                last edited by

                @Unknown said in Running Xbox original games on Retropie (PC only):

                what prevented it from working previously?

                We had it trying to run Xbox not xemu. So it was trying to start a folder. Lol

                I have xinit in there since I was testing it on my pi. And that's what we need.

                Since it's for PC. That part can be removed.

                As for the error. I don't know. That's something I can't help with since I don't run Retropie on PC. Sorry

                RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                Maintainer of RetroPie-Extra .

                1 Reply Last reply Reply Quote 0
                • UnknownU
                  Unknown
                  last edited by

                  Ladies and Gentlemen we have SUCESSSSSSSS!!!!!!!!
                  The game booted. I didn't have time to test it further but it actually started the emulator. here is the updated script.

                  #!/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="xemu"
                  rp_module_desc="Xbox Emulator"
                  rp_module_help="ROM Extensions: .iso .xiso \n\nCopy your xbox games to $romdir/xbox"
                  rp_module_licence="https://github.com/xemu-project/xemu/blob/master/LICENSE"
                  rp_module_repo="git https://github.com/xemu-project/xemu.git"
                  rp_module_section="exp"
                   
                  function depends_xemu() {
                      local depends=( build-essential libsdl2-dev libepoxy-dev libpixman-1-dev libgtk-3-dev libssl-dev libsamplerate0-dev libpcap-dev ninja-build python3-yaml libslirp-dev)
                      getDepends "${depends[@]}"
                  }
                  function sources_xemu() {
                      gitPullOrClone
                  }
                  function build_xemu() {
                       cd xemu
                      ./build.sh
                      md_ret_require="$md_build/dist/xemu"
                   
                  }
                  function install_xemu() {
                      md_ret_files=(        
                          'dist/xemu'
                  	'dist/LICENSE.txt'
                      )
                  }
                   
                  function configure_xemu() {
                      mkRomDir "xbox"
                   
                      local launch_prefix
                      isPlatform "kms" && launch_prefix="XINIT-WM:"
                   
                      # Create the xbox BIOs directory if it doesn't exist
                      if [ ! -d "$biosdir/xbox" ]; then
                          mkdir -p "$biosdir/xbox"
                      fi
                      chown -R $user:$user "$biosdir/xbox"
                      # Create a symbolic link for BIOS
                      if [ ! -L "/opt/retropie/emulators/xemu/xbox" ]; then
                          ln -s "$biosdir/xbox" "/opt/retropie/emulators/xemu"
                      fi
                     
                     if [[ "$md_mode" == "install" ]]; then
                         mkUserDir "$md_conf_root/xbox"
                         mkUserDir "$md_conf_root/xbox/$md_id"
                         moveConfigFile "$home/.$md_id" "$md_conf_root/xbox/$md_id"
                      fi
                      addEmulator 1 "$md_id" "xbox" "$launch_prefix$md_inst/xemu  %ROM%"
                      addSystem "xbox" "Xbox" ".iso"
                   
                  }
                  

                  here is the proof
                  IMG_4750.JPEG

                  You can't beat the classics(unless you copy them).

                  ExarKunIvE 1 Reply Last reply Reply Quote 0
                  • ExarKunIvE
                    ExarKunIv @Unknown
                    last edited by

                    @Unknown nice. Glad you figured it out

                    RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                    RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                    Maintainer of RetroPie-Extra .

                    UnknownU 1 Reply Last reply Reply Quote 1
                    • UnknownU
                      Unknown @ExarKunIv
                      last edited by

                      @ExarKunIv thanks for the help. I don’t know if I could have done it without you. I have a little more testing to do before I submit a pull request. I also need to get the controls configured.

                      You can't beat the classics(unless you copy them).

                      ExarKunIvE 1 Reply Last reply Reply Quote 1
                      • ExarKunIvE
                        ExarKunIv @Unknown
                        last edited by

                        @Unknown glad I could help out

                        RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                        RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                        Maintainer of RetroPie-Extra .

                        UnknownU 1 Reply Last reply Reply Quote 0
                        • UnknownU
                          Unknown @ExarKunIv
                          last edited by

                          @ExarKunIv
                          If you have any pointers on configuring the controls. Please let me know

                          You can't beat the classics(unless you copy them).

                          ExarKunIvE 1 Reply Last reply Reply Quote 0
                          • ExarKunIvE
                            ExarKunIv @Unknown
                            last edited by

                            @Unknown the only thing I have used is Xboxdrv

                            https://retropie.org.uk/docs/Universal-Controller-Calibration-%26-Mapping-Using-xboxdrv/

                            That's what I use on my PIs for custom controls.
                            If you are on PC then I think something that maps controls should work

                            RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                            RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                            Maintainer of RetroPie-Extra .

                            1 Reply Last reply Reply Quote 0
                            • UnknownU
                              Unknown
                              last edited by

                              update: after doing a little configuration the game doesn't boot. I think I messed something up in the settings. Probably selecting the wrong bios or something.

                              Parameters: 
                              Executing: /opt/retropie/emulators/xemu/xemu  "/home/retropie/RetroPie/roms/xbox/ATV Quad Power Racing 2.iso"
                              xemu_version: 0.7.132
                              xemu_branch: master
                              xemu_commit: 8707d2aa2626063cb67b5ea20382584a0848dce7
                              xemu_date: Sat Sep 21 02:14:45 PM UTC 2024
                              xemu_settings_get_base_path: base path: /home/retropie/.local/share/xemu/xemu/
                              xemu_settings_get_path: config path: /home/retropie/.local/share/xemu/xemu/xemu.toml
                              MESA: error: ZINK: failed to choose pdev
                              glx: failed to create drisw screen
                              CPU: Intel(R) Core(TM) i5-10600K CPU @ 4.10GHz
                              OS_Version: Ubuntu 24.04.1 LTS
                              GL_VENDOR: Mesa
                              GL_RENDERER: llvmpipe (LLVM 17.0.6, 128 bits)
                              GL_VERSION: 4.5 (Core Profile) Mesa 24.0.9-0ubuntu0.1
                              GL_SHADING_LANGUAGE_VERSION: 4.50
                              xemu: /home/retropie/RetroPie/roms/xbox/ATV Quad Power Racing 2.iso: drive with bus=0, unit=0 (index=0) exists
                              Created QEMU launch parameters: /opt/retropie/emulators/xemu/xemu -machine xbox,bootrom=/home/retropie/RetroPie/BIOS/xbox/mcpx_1.0.bin,kernel-irqchip=off,avpack=hdtv -device smbus-storage,file=/home/retropie/.local/share/xemu/xemu/eeprom.bin -bios /home/retropie/RetroPie/BIOS/xbox/system.bin -m 64 -drive index=0,media=disk,file=/home/retropie/RetroPie/BIOS/xbox/xbox_hdd.qcow2,locked=on -drive index=1,media=cdrom,file= -display xemu -device usb-hub,port=1,ports=4 /home/retropie/RetroPie/roms/xbox/ATV Quad Power Racing 2.iso 
                              

                              I will keep testing. If anyone knows what I did wrong please share your input.

                              You can't beat the classics(unless you copy them).

                              1 Reply Last reply Reply Quote 0
                              • F fadingrose referenced this topic on
                              • 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.