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

    Xbox original emulation (PC script)

    Scheduled Pinned Locked Moved Ideas and Development
    original xboxxboxog xbox
    13 Posts 3 Posters 1.2k 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 @fadingrose
      last edited by

      @fadingrose if youll like i can add it to RetroPie-Extra. so that way its somewhere else and it makes it a little easier to install it in the correct location to be ran

      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 .

      F 1 Reply Last reply Reply Quote 0
      • F
        fadingrose @ExarKunIv
        last edited by fadingrose

        @ExarKunIv That would be great and hopefully it will eventually become a part of Retropie as pc is more than capable of running the emulator fine just like PS2. Hopefully it gets plenty of testing to improve integration.

        1 Reply Last reply Reply Quote 1
        • F
          fadingrose
          last edited by fadingrose

          Dropped a few more screen shots and updated some information. just need a lot more testing by anyone who runs Retropie on a pc. Next few things i am looking to do.

          1 - See if i can get the emulator to automatically look in the bios folder created on first run so it can just pick up the bios, hard drive image etc if it's already been added by the user before they run it so that will skip needing to configure the bios

          2 - It uses OpenGL as default but you can select Vulcan if you have a newer graphics card for better performance so maybe a way it can check and use Vulcan instead if you have the graphics capable of it?

          3 - Added some information about Sega Chihiro games running in Xemu to the guide above and screenshots

          1 Reply Last reply Reply Quote 1
          • F
            fadingrose
            last edited by

            Currently working on the arguments to better integrate with retropie but the following link will be of help if anyone understands QEMU and has better knowledge.

            https://xemu.app/docs/cli/

            1 Reply Last reply Reply Quote 1
            • F
              fadingrose
              last edited by

              Some news

              There is a version for arm processors and i currently have a script created below for the raspberry pi OS to install it on a raspberry Pi 4 (other pi's not tested). It downloads all the necessary dependencies and compiles the emulator from github but towards the end it fails partially downloaded and compiled so the script is non working at the moment.

              At the moment i am trying to get it running on the raspberry pi os on a Pi4 so i can test it and actually make sure it runs and can compile, test a game and so on before a Retropie script is created for it like the PC one.

              Of course the Pi is certainly going to be a little slow when running games and will struggle but just like the Atari Jaguar, Dreamcast and other such emulators but eventually the newer pi's better power will fix this or improve like the Pi 5 so maybe this will be for developers and testers and maybe even a game or two will run fine if it ain't got much going on.

              #!/bin/bash
              
              # Exit immediately on any error
              set -e
              
              echo "==> Updating system packages..."
              sudo apt update && sudo apt upgrade -y
              
              echo "==> Installing build dependencies..."
              sudo apt install -y \
                  build-essential \
                  cmake \
                  git \
                  libsdl2-dev \
                  libglib2.0-dev \
                  libvulkan-dev \
                  libepoxy-dev \
                  libpng-dev \
                  libzstd-dev \
                  libcurl4-openssl-dev \
                  libreadline-dev \
                  ninja-build \
                  python3 \
                  python3-pip \
                  pkg-config \
                  python3-mako \
                  libavcodec-dev \
                  libavformat-dev \
                  libswscale-dev \
                  libopusfile-dev \
                  libxcb1-dev \
                  libxcb-icccm4-dev \
                  libxcb-image0-dev \
                  libxcb-keysyms1-dev \
                  libxcb-randr0-dev \
                  libxcb-render-util0-dev \
                  libxcb-xinerama0-dev \
                  libxcb-xinput-dev \
                  libxcb-xfixes0-dev \
                  libxcb-shape0-dev \
                  libgtk-3-dev \
                  libpcap-dev \
                  meson
              
              echo "==> Installing required Python packages..."
              pip3 install --break-system-packages pyyaml
              
              echo "==> Cloning Xemu repository..."
              git clone --recurse-submodules https://github.com/xemu-project/xemu.git
              cd xemu
              
              echo "==> Starting build process..."
              ./build.sh
              
              echo
              echo "✅ Build complete! You can now run xemu with:"
              echo "    ./build/xemu"
              
              

              Currently trying to get it to compile but it throws up one errpr after another and everytime i fix the error it throws another, i feel i'm close though but i'll get there eventually and then can get to testing.

              1 Reply Last reply Reply Quote 0
              • F
                fadingrose
                last edited by

                We have some news and sadly we hit a hurdle, when running it i got the following.

                Unable to create OpenGL context. This usually means the graphics device on this system does not support OpenGL 4.0
                

                It seems OpenGL 4.0 which is what Xemu needs to run isn't supported on a Pi4 unless i am totally missing something so it won't run.

                Here is the script that compiles, builds and installs Xemu on the Rasperry Pi OS successfully though so may work on a Raspberry pi 5 if someone wants to test it and if it does then a script could be created for Retropie for testing.

                I don't have a Pi5 to test.

                #!/bin/bash
                
                # Exit immediately on any error
                set -e
                
                # Update and install dependencies
                echo "==> Updating system packages..."
                sudo apt update && sudo apt upgrade -y
                
                echo "==> Installing build dependencies..."
                sudo apt install -y \
                    build-essential \
                    cmake \
                    git \
                    libsdl2-dev \
                    libglib2.0-dev \
                    libvulkan-dev \
                    libepoxy-dev \
                    libpng-dev \
                    libzstd-dev \
                    mesa-utils \
                    libcurl4-openssl-dev \
                    libreadline-dev \
                    ninja-build \
                    python3 \
                    python3-pip \
                    pkg-config \
                    python3-mako \
                    libavcodec-dev \
                    libavformat-dev \
                    libswscale-dev \
                    libopusfile-dev \
                    libxcb1-dev \
                    libxcb-icccm4-dev \
                    libxcb-image0-dev \
                    libxcb-keysyms1-dev \
                    libxcb-randr0-dev \
                    libxcb-render-util0-dev \
                    libxcb-xinerama0-dev \
                    libxcb-xinput-dev \
                    libxcb-xfixes0-dev \
                    libxcb-shape0-dev \
                    libgtk-3-dev \
                    libpcap-dev \
                    libslirp-dev \
                    meson
                
                echo "==> Installing required Python modules..."
                python3 -m pip install --break-system-packages --upgrade pip
                python3 -m pip install --break-system-packages pyyaml
                
                # Clone Xemu if not already cloned
                if [ ! -d xemu ]; then
                    echo "==> Cloning Xemu repository..."
                    git clone --recurse-submodules https://github.com/xemu-project/xemu.git
                else
                    echo "==> xemu folder already exists, skipping clone..."
                fi
                
                cd xemu
                
                echo "==> Starting build process..."
                ./build.sh
                
                echo
                echo "✅ Build complete!"
                echo "➡️  You can now run xemu with:"
                echo "    ./build/xemu"
                
                

                After finishing though you have to navigate to /dist/xemu under the folder you compiled it in and run ./dist/xemu but then it throws the OpenGL error so can't further test unless there is a work around.

                I also installed Vulkan drivers and tried XEMU_RENDERER=vulkan ./dist/xemu and it throws up the OpenGL error box stated earlier so a brick wall has been hit.

                It works on a modern pc with Retropie though with the original script so there is that. Need to continue to focus on the PC script for now when i get back to it.

                1 Reply Last reply Reply Quote 0
                • F
                  fadingrose
                  last edited by

                  Snapshots

                  Ok so Xemu uses snapshots for game saves, when your in a game you press start, navigate down to snapshots on the menu and you can load or save a snapshot which is ideal for Retropie users but it would be better if it could be integrated with Retropie's save/load system for emulators so you wouldn't have to press start and open the snapshot menu to save.

                  Here is a link to the snapshots feature

                  https://xemu.app/docs/snapshots/

                  I don't know anything about the load/save feature of Retropie so it's beyond the scope of my knowledge until i spend some time learning but maybe it could be integrated or hooked into it in some way?

                  If anyone is super knowledgeable and would like to tackle it go ahead but i'll get some learning done and hope to figure it out.

                  mituM 1 Reply Last reply Reply Quote 0
                  • mituM
                    mitu Global Moderator @fadingrose
                    last edited by

                    @fadingrose said in Xbox original emulation (PC script):

                    [...]

                    I don't know anything about the load/save feature of Retropie so it's beyond the scope of my knowledge until i spend some time learning but maybe it could be integrated or hooked into it in some way?

                    There's no such thing - each emulator is responsible for saving/loading their own saves or states.

                    F 1 Reply Last reply Reply Quote 0
                    • F
                      fadingrose @mitu
                      last edited by

                      @mitu Oh ok i thought retropie did my bad unless i am thinking of Retroarch but thanks for the clarification. Users can stick with the menu snapshot then.

                      1 Reply Last reply Reply Quote 0
                      • F
                        fadingrose
                        last edited by

                        Updated the guide a little

                        Snapshots (game saves) are saved to the xbox hard drive image so just backup your hard drive image if you want to save your games and you access and manage them via settings menu.

                        1 Reply Last reply Reply Quote 1
                        • 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.