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 here is a working script. i was able to build and install it.
      test it please as i dont have a bios or game files yet

      #!/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"
          # 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" "$md_inst/xbox -r 3 -i %ROM%"
          addSystem "xbox"
      
      }
      

      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
        I will as soon as I can. I’m pretty busy at the moment.

        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 said in Running Xbox original games on Retropie (PC only):

          I’m pretty busy at the moment.

          not much different here. looking at your script and figuring out what was going was easier since you did a good job making it and i just got done working on another script. so i was in that mine set :D

          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 1
          • UnknownU
            Unknown
            last edited by

            I was able to get successful install. However the game did not work. This is my runcaommand log:

            Parameters: 
            Executing: /opt/retropie/emulators/xemu/xbox -r 3 -i "/home/retropie/RetroPie/roms/xbox/ATV Quad Power Racing 2.iso"
            /opt/retropie/supplementary/runcommand/runcommand.sh: line 1322: /opt/retropie/emulators/xemu/xbox: Is a directory
            

            My guess is that either the emualtor can't find the BIOS or we are using the wrong command to start it.

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