Running Xbox original games on Retropie (PC only)
-
@ExarKunIv said in Running Xbox original games on Retropie (PC only):
good job so far
Thank you -
@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" }
-
@ExarKunIv
I will as soon as I can. I’m pretty busy at the moment. -
@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
-
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.
-
@Unknown i will hunt down the bios and a game and see what i can see
-
@ExarKunIv
Sounds like a plan -
@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" }
-
@ExarKunIv
Getting ready to test as we speak. Out of curiosity, what prevented it from working previously? -
@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.
-
@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
-
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
-
@Unknown nice. Glad you figured it out
-
@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.
-
@Unknown glad I could help out
-
@ExarKunIv
If you have any pointers on configuring the controls. Please let me know -
@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 -
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.
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.