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