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.3k 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.
    • F
      fadingrose @mitu
      last edited by

      @mitu Thanks will get that updated

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