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