Running Xbox original games on Retropie (PC only)
-
Update. I have attempted to add a build section to the script but I am unable to catch any errors when I run it. So I have clone my virtual machine and I will be installing Xemu outside of RetroPie in order to get a better understanding of how it installs. I will keep you posted.
-
Ok. This is my current install 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="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() { make clean make md_ret_require="$md_build/xemu" } } function install_xemu() { #cd xemu ./build.sh } 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 "$home/opt/retropie/emulators/xemu/xbox" ]; then ln -s "$biosdir/xbox" "$home/opt/retropie/emulators/xemu/xbox" 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" }
The system is now producing an error log.
Log started at: Mon Aug 19 03:21:37 PM EDT 2024 RetroPie-Setup version: 4.8.8 (94b131a) System: x86_64 (x86_64) - Ubuntu 24.04 LTS - Linux retropie-VirtualBox 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux = = = = = = = = = = = = = = = = = = = = = Installing dependencies for 'xemu' : Xbox Emulator = = = = = = = = = = = = = = = = = = = = = /home/retropie/RetroPie-Setup/tmp/build/xemu /home/retropie/RetroPie-Setup = = = = = = = = = = = = = = = = = = = = = Getting sources for 'xemu' : Xbox Emulator = = = = = = = = = = = = = = = = = = = = = /home/retropie/RetroPie-Setup = = = = = = = = = = = = = = = = = = = = = Building 'xemu' : Xbox Emulator = = = = = = = = = = = = = = = = = = = = = make: *** No rule to make target 'clean'. Stop. make: *** No targets specified and no makefile found. Stop. Could not successfully build xemu - Xbox Emulator (/home/retropie/RetroPie-Setup/tmp/build/xemu/xemu not found). Log ended at: Mon Aug 19 03:21:37 PM EDT 2024 Total running time: 0 hours, 0 mins, 0 secs
You must forgive me because I am quite new to this. Can anyone provide assistance?
-
Update. I made a change to script where it uses the exact command to clone XEMU instead of the "gitpullorclone" command and the system actually started building.
Here is the install 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="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 git clone --recurse-submodules https://github.com/xemu-project/xemu.git } function build_xemu() { #mkdir xemu cd xemu #ls ./build.sh #make clean #make } } function install_xemu() { #cd xemu #./build.sh echo install } 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 "$home/opt/retropie/emulators/xemu/xbox" ]; then ln -s "$biosdir/xbox" "$home/opt/retropie/emulators/xemu/xbox" 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" }
here is a shortened version of the log.
Log started at: Fri Sep 6 01:31:13 PM EDT 2024 RetroPie-Setup version: 4.8.8 (82bbd5b) System: x86_64 (x86_64) - Ubuntu 24.04.1 LTS - Linux retropie-VirtualBox 6.8.0-41-generic #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 2 20:41:06 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux = = = = = = = = = = = = = = = = = = = = = Installing dependencies for 'xemu' : Xbox Emulator = = = = = = = = = = = = = = = = = = = = = /home/retropie/RetroPie-Setup/tmp/build/xemu /home/retropie/RetroPie-Setup = = = = = = = = = = = = = = = = = = = = = Getting sources for 'xemu' : Xbox Emulator = = = = = = = = = = = = = = = = = = = = = Cloning into 'xemu'... Updating files: 67% (6484/9588) Updating files: 100% (9588/9588) Updating files: 100% (9588/9588), done. Submodule 'dtc' (https://gitlab.com/qemu-project/dtc.git) registered for path 'dtc' Submodule 'genconfig' (https://github.com/mborgerson/genconfig.git) registered for path 'genconfig' Submodule 'hw/xbox/nv2a/thirdparty/nv2a_vsh_cpu' (https://github.com/abaire/nv2a_vsh_cpu.git) registered for path 'hw/xbox/nv2a/thirdparty/nv2a_vsh_cpu' Submodule 'meson' (https://gitlab.com/qemu-project/meson.git) registered for path 'meson' Submodule 'roms/QemuMacDrivers' (https://gitlab.com/qemu-project/QemuMacDrivers.git) registered for path 'roms/QemuMacDrivers' Submodule 'roms/SLOF' (https://gitlab.com/qemu-project/SLOF.git) registered for path 'roms/SLOF' Submodule 'roms/edk2' (https://gitlab.com/qemu-project/edk2.git) registered for path 'roms/edk2' Submodule 'roms/ipxe' (https://gitlab.com/qemu-project/ipxe.git) registered for path 'roms/ipxe' Submodule 'roms/openbios' (https://gitlab.com/qemu-project/openbios.git) registered for path 'roms/openbios' Submodule 'roms/opensbi' (https://gitlab.com/qemu-project/opensbi.git) registered for path 'roms/opensbi' Submodule 'roms/qboot' (https://gitlab.com/qemu-project/qboot.git) registered for path 'roms/qboot' Submodule 'roms/qemu-palcode' (https://gitlab.com/qemu-project/qemu-palcode.git) registered for path 'roms/qemu-palcode' Submodule 'roms/seabios' (https://gitlab.com/qemu-project/seabios.git/) registered for path 'roms/seabios' Submodule 'roms/seabios-hppa' (https://gitlab.com/qemu-project/seabios-hppa.git) registered for path 'roms/seabios-hppa' Submodule 'roms/sgabios' (https://gitlab.com/qemu-project/sgabios.git) registered for path 'roms/sgabios' Submodule 'roms/skiboot' (https://gitlab.com/qemu-project/skiboot.git) registered for path 'roms/skiboot' Submodule 'roms/u-boot' (https://gitlab.com/qemu-project/u-boot.git) registered for path 'roms/u-boot' Submodule 'roms/u-boot-sam460ex' (https://gitlab.com/qemu-project/u-boot-sam460ex.git) registered for path 'roms/u-boot-sam460ex' Submodule 'roms/vbootrom' (https://gitlab.com/qemu-project/vbootrom.git) registered for path 'roms/vbootrom' Submodule 'subprojects/libvfio-user' (https://gitlab.com/qemu-project/libvfio-user.git) registered for path 'subprojects/libvfio-user' Submodule 'tests/fp/berkeley-softfloat-3' (https://gitlab.com/qemu-project/berkeley-softfloat-3.git) registered for path 'tests/fp/berkeley-softfloat-3' Submodule 'tests/fp/berkeley-testfloat-3' (https://gitlab.com/qemu-project/berkeley-testfloat-3.git) registered for path 'tests/fp/berkeley-testfloat-3' Submodule 'tests/lcitool/libvirt-ci' (https://gitlab.com/libvirt/libvirt-ci.git) registered for path 'tests/lcitool/libvirt-ci' Submodule 'tomlplusplus' (https://github.com/marzer/tomlplusplus) registered for path 'tomlplusplus' Submodule 'ui/keycodemapdb' (https://gitlab.com/qemu-project/keycodemapdb.git) registered for path 'ui/keycodemapdb' Submodule 'ui/thirdparty/httplib' (https://github.com/yhirose/cpp-httplib) registered for path 'ui/thirdparty/httplib' Submodule 'ui/thirdparty/imgui' (https://github.com/xemu-project/imgui.git) registered for path 'ui/thirdparty/imgui' Submodule 'ui/thirdparty/implot' (https://github.com/epezent/implot.git) registered for path 'ui/thirdparty/implot' Submodule 'hw/xbox/nv2a/xxHash' (https://github.com/Cyan4973/xxHash.git) registered for path 'util/xxHash' Cloning into '/home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/dtc'... Cloning into '/home/retropie/RetroPie-Setup/tmp/build/xemu/ffdc1a2' Submodule path 'ui/thirdparty/imgui': checked out 'fceff3210b9ecfa8fc66710a00f4cabc2447460f' Submodule path 'ui/thirdparty/implot': checked out 'cc5e1daa5c7f2335a9460ae79c829011dc5cef2d' Submodule path 'util/xxHash': checked out '72e69d33c7521b122cfa3262ae4d0dc60a514439' /home/retropie/RetroPie-Setup /home/retropie/RetroPie-Setup/tmp/build/xemu /home/retropie/RetroPie-Setup = = = = = = = = = = = = = = = = = = = = = Building 'xemu' : Xbox Emulator = = = = = = = = = = = = = = = = = = = = = Compiling for Linux... + /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/configure '--extra-cflags=-DXBOX=1 -Wno-error=redundant-decls -march=native -O2' --extra-ldflags= --target-list=i386-softmmu --enable-lto --disable-werror Using './build' as the directory for build output DEPRECATION: "pkgconfig" entry is deprecated and should be replaced by "pkg-config" The Meson build system Version: 1.3.2 Source dir: /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu Build dir: /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/build Build type: native build DEPRECATION: Option renderdoc already exists. Project name: qemu Project version: 7.2.4 C compiler for the host machine: cc -m64 -mcx16 (gcc 13.2.0 "cc (Ubuntu 13.2.0-23ubuntu4) 13.2.0") C linker for the host machine: cc -m64 -mcx16 ld.bfd 2.42 Host machine cpu family: x86_64 Host machine cpu: x86_64 Program scripts/symlink-install-tree.py found: YES (/usr/bin/python3 /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/symlink-install-tree.py) Program sh found: YES (/usr/bin/sh) Program python3 found: YES (/usr/bin/python3) Program bzip2 found: YES (/usr/bin/bzip2) Program iasl found: NO Compiler for C supports link arguments -Wl,-z,relro: YES Compiler for C supports link arguments -Wl,-z,now: YES C++ compiler for the host machine: c++ -m64 -mcx16 (gcc 13.2.0 "c++ (Ubuntu 13.2.0-23ubuntu4) 13.2.0") C++ linker for the host machine: c++ -m64 -mcx16 ld.bfd 2.42 Compiler for C++ supports link arguments -Wl,--warn-common: YES Program cgcc skipped: feature sparse disabled Program scripts/xemu-version.sh found: YES (/home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/xemu-version.sh) Library m found: YES Run-time dependency threads found: YES Library util found: YES Dependency gio-2.0 skipped: feature gio disabled Found pkg-config: YES (/usr/bin/pkg-config) 1.8.1 Run-time dependency pixman-1 found: YES 0.42.2 Run-time dependency zlib found: YES 1.3 Library aio skipped: feature linux_aio disabled Dependency liburing skipped: feature linux_io_uring disabled Dependency libnfs skipped: feature libnfs disabled Dependency appleframeworks (modules: Cocoa, CoreVideo) skipped: feature cocoa disabled Dependency appleframeworks (modules: vmnet) skipped: feature vmnet disabled Dependency libseccomp skipped: feature seccomp disabled Library cap-ng skipped: feature cap_ng disabled Dependency xkbcommon skipped: feature xkbcommon disabled Run-time dependency slirp found: YES 4.7.0 Library vdeplug skipped: feature vde disabled Dependency libpulse skipped: feature pa disabled Dependency alsa skipped: feature alsa disabled Dependency jack skipped: feature jack disabled Dependency sndio skipped: feature sndio disabled Dependency spice-protocol skipped: feature spice_protocol disabled Dependency spice-server skipped: feature spice disabled Library rt found: YES Dependency libiscsi skipped: feature libiscsi disabled Dependency libzstd skipped: feature zstd disabled Dependency virglrenderer skipped: feature virglrenderer disabled Dependency blkio skipped: feature blkio disabled Dependency libcurl skipped: feature curl disabled Dependency libudev skipped: feature libudev disabled Library brlapi skipped: feature brlapi disabled Run-time dependency sdl2 found: YES 2.30.0 Dependency SDL2_image skipped: feature sdl_image disabled Library rados skipped: feature rbd disabled Library rbd skipped: feature rbd disabled Dependency glusterfs-api skipped: feature glusterfs disabled Dependency libssh skipped: feature libssh disabled Library bz2 skipped: feature bzip2 disabled Library lzfse skipped: feature lzfse disabled Has header "dsound.h" : NO Dependency appleframeworks (modules: CoreAudio) skipped: feature coreaudio disabled Run-time dependency gbm found: YES 24.0.9-0ubuntu0.1 Run-time dependency openssl found: YES 3.0.13 Run-time dependency libpcap found: YES 1.10.4 Run-time dependency samplerate found: YES 0.2.2 Dependency libgcrypt skipped: feature gcrypt disabled Dependency nettle skipped: feature nettle disabled Run-time dependency gmp found: NO (tried pkgconfig) Run-time dependency gtk+-3.0 found: YES 3.24.41 Run-time dependency gtk+-x11-3.0 found: YES 3.24.41 Dependency vte-2.91 skipped: feature vte disabled Run-time dependency x11 found: YES 1.8.7 Library pam skipped: feature auth_pam disabled Library snappy skipped: feature snappy disabled Library lzo2 skipped: feature lzo disabled Library numa skipped: feature numa disabled Library ibumad skipped: feature rdma disabled Library rdmacm skipped: feature rdma disabled Library ibverbs skipped: feature rdma disabled Dependency libcacard skipped: feature smartcard disabled Dependency u2f-emu skipped: feature u2f disabled Dependency canokey-qemu skipped: feature canokey disabled Dependency libusbredirparser-0.5 skipped: feature usb_redir disabled Dependency libusb-1.0 skipped: feature libusb disabled Dependency libpmem skipped: feature libpmem disabled Dependency libdaxctl skipped: feature libdaxctl disabled Run-time dependency libkeyutils found: NO (tried pkgconfig) Checking for function "gettid" : YES Dependency libselinux skipped: feature selinux disabled Dependency fuse3 skipped: feature fuse disabled Dependency libbpf skipped: feature bpf disabled Has header "sys/epoll.h" : YES Has header "linux/magic.h" : YES Has header "valgrind/valgrind.h" : NO Has header "linux/btrfs.h" : YES Has header "libdrm/drm.h" : YES Has header "pty.h" : YES Has header "sys/disk.h" : NO Has header "sys/ioccom.h" : NO Has header "sys/kcov.h" : NO Checking for function "close_range" : YES Checking for function "accept4" : YES Checking for function "clock_adjtime" : YES Checking for function "dup3" : YES Checking for function "fallocate" : YES Checking for function "posix_fallocate" : YES Checking for function "posix_memalign" : YES Checking for function "_aligned_malloc" : NO Checking for function "valloc" : YES Checking for function "memalign" : YES Checking for function "ppoll" : YES Checking for function "preadv" : YES Checking for function "pthread_fchdir_np" : NO Checking for function "sendfile" : YES Checking for function "setns" : YES Checking for function "unshare" : YES Checking for function "syncfs" : YES Checking for function "sync_file_range" : YES Checking for function "timerfd_create" : YES Checking for function "copy_file_range" : YES Checking for function "getifaddrs" : YES Checking for function "openpty" with dependency -lutil: YES Checking for function "strchrnul" : YES Checking for function "system" : YES Header "byteswap.h" has symbol "bswap_32" : YES Header "sys/epoll.h" has symbol "epoll_create1" : YES Header "linux/falloc.h" has symbol "FALLOC_FL_PUNCH_HOLE" : YES Header "linux/falloc.h" has symbol "FALLOC_FL_KEEP_SIZE" : YES Header "linux/falloc.h" has symbol "FALLOC_FL_ZERO_RANGE" : YES Has header "linux/fiemap.h" : YES Header "linux/fs.h" has symbol "FS_IOC_FIEMAP" : YES Checking for function "getrandom" : YES Header "sys/random.h" has symbol "GRND_NONBLOCK" : YES Header "sys/inotify.h" has symbol "inotify_init" : YES Header "sys/inotify.h" has symbol "inotify_init1" : YES Header "machine/bswap.h" has symbol "bswap32" : NO Header "sys/prctl.h" has symbol "PR_SET_TIMERSLACK" : YES Header "linux/rtnetlink.h" has symbol "IFLA_PROTO_DOWN" : YES Header "sys/sysmacros.h" has symbol "makedev" : YES Header "getopt.h" has symbol "optreset" : NO Header "netinet/in.h" has symbol "IPPROTO_MPTCP" : YES Header "sys/mount.h" has symbol "FSCONFIG_SET_FLAG" : YES Checking whether type "struct sigevent" has member "sigev_notify_thread_id" : NO Checking whether type "struct stat" has member "st_atim" : YES Checking for type "struct iovec" : YES Checking for type "struct utmpx" : YES Header "linux/vm_sockets.h" has symbol "AF_VSOCK" : YES Program scripts/minikconf.py found: YES (/usr/bin/python3 /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/minikconf.py) Configuring i386-softmmu-config-target.h using configuration Configuring i386-softmmu-config-devices.mak with command Reading depfile: /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/build/meson-private/i386-softmmu-config-devices.mak.d Configuring i386-softmmu-config-devices.h using configuration Program scripts/make-config-poison.sh found: YES (/home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/make-config-poison.sh) Dependency capstone skipped: feature capstone disabled Library fdt found: NO Configuring config-host.h using configuration Program scripts/hxtool found: YES (/home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/hxtool) Program scripts/shaderinclude.py found: YES (/usr/bin/python3 /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/shaderinclude.py) Program scripts/qapi-gen.py found: YES (/usr/bin/python3 /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/qapi-gen.py) Program scripts/pack-file.py found: YES (/home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/pack-file.py) Program scripts/qemu-version.sh found: YES (/home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/qemu-version.sh) Program scripts/decodetree.py found: YES (/usr/bin/python3 /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/decodetree.py) Program ../scripts/modules/module_block.py found: YES (/usr/bin/python3 /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/block/../scripts/modules/module_block.py) Program ../scripts/block-coroutine-wrapper.py found: YES (/usr/bin/python3 /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/block/../scripts/block-coroutine-wrapper.py) Program scripts/modinfo-collect.py found: YES (/home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/modinfo-collect.py) Program scripts/modinfo-generate.py found: YES (/home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/modinfo-generate.py) Program nm found: YES Program scripts/undefsym.py found: YES (/usr/bin/python3 /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/undefsym.py) Program scripts/feature_to_c.sh found: YES (/bin/sh /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/feature_to_c.sh) Configuring 50-edk2-i386-secure.json using configuration Configuring 50-edk2-x86_64-secure.json using configuration Configuring 60-edk2-aarch64.json using configuration Configuring 60-edk2-arm.json using configuration Configuring 60-edk2-i386.json using configuration Configuring 60-edk2-x86_64.json using configuration Program qemu-keymap found: NO Program sphinx-build-3 sphinx-build skipped: feature docs disabled Program diff found: YES (/usr/bin/diff) Program dbus-daemon found: YES (/usr/bin/dbus-daemon) Found CMake: /usr/bin/cmake (3.28.3) Run-time dependency gvnc-1.0 found: NO (tried pkgconfig and cmake) Program initrd-stress.sh found: YES (/home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/tests/migration/initrd-stress.sh) Program xgettext skipped: feature gettext disabled Build targets in project: 505 qemu 7.2.4 Directories Install prefix : /usr/local BIOS directory : share/qemu firmware path : share/qemu-firmware binary directory : /usr/local/bin library directory : /usr/local/lib/x86_64-linux-gnu module directory : lib/x86_64-linux-gnu/qemu libexec directory : /usr/local/libexec include directory : /usr/local/include config directory : /usr/local/etc local state directory : /var/local Manual directory : /usr/local/share/man Doc directory : /usr/local/share/doc Build directory : /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/build Source path : /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu GIT submodules : ui/keycodemapdb ui/thirdparty/imgui ui/thirdparty/implot ui/thirdparty/httplib util/xxHash tomlplusplus genconfig hw/xbox/nv2a/thirdparty/nv2a_vsh_cpu tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc Host binaries git : git make : make python : /usr/bin/python3 (version: 3.12) sphinx-build : NO gdb : /usr/bin/gdb iasl : NO genisoimage : smbd : NO Configurable features Documentation : NO system-mode emulation : YES user-mode emulation : NO block layer : YES Install blobs : YES module support : NO fuzzing support : NO Audio drivers : Trace backends : log D-Bus display : NO QOM debugging : NO vhost-kernel support : NO vhost-net support : NO vhost-user support : NO vhost-user-crypto support : NO vhost-user-blk server support: NO vhost-vdpa support : NO build guest agent : NO Compilation host CPU : x86_64 host endianness : little C compiler : cc -m64 -mcx16 Host C compiler : cc -m64 -mcx16 C++ compiler : c++ -m64 -mcx16 CFLAGS : -march=native -O2 -DXBOX=1 -Wno-error=redundant-decls -march=native -O2 -O3 -g CXXFLAGS : -march=native -O2 -DXBOX=1 -Wno-error=redundant-decls -march=native -O2 -O3 -g LDFLAGS : -march=native -O2 -DXBOX=1 -Wno-error=redundant-decls -march=native -O2 QEMU_CFLAGS : -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong QEMU_CXXFLAGS : -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wundef -Wwrite-strings -fno-strict-aliasing -fno-common -fwrapv -Wtype-limits -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body -Wendif-labels -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong QEMU_OBJCFLAGS : QEMU_LDFLAGS : -fstack-protector-strong -Wl,-z,relro -Wl,-z,now -Wl,--warn-common profiler : NO link-time optimization (LTO) : YES PIE : YES static build : NO malloc trim support : NO membarrier : NO debug stack usage : NO mutex debugging : NO memory allocator : system avx2 optimization : NO avx512f optimization : NO gprof enabled : NO gcov : NO thread sanitizer : NO CFI support : NO strip binaries : NO sparse : NO mingw32 support : NO Targets and accelerators KVM support : NO HAX support : NO HVF support : NO WHPX support : NO NVMM support : NO Xen support : NO TCG support : YES TCG backend : native (x86_64) TCG plugins : NO TCG debug enabled : NO target list : i386-softmmu default devices : YES out of process emulation : NO vfio-user server : NO Block layer support coroutine backend : ucontext coroutine pool : YES Block whitelist (rw) : Block whitelist (ro) : Use block whitelist in tools : NO VirtFS support : NO build virtiofs daemon : NO Live block migration : NO replication support : NO bochs support : NO cloop support : NO dmg support : NO qcow v1 support : NO vdi support : NO vvfat support : NO qed support : NO parallels support : NO FUSE exports : NO VDUSE block exports : NO Crypto TLS priority : NORMAL GNUTLS support : NO libgcrypt : NO nettle : NO AF_ALG support : NO rng-none : NO Linux keyring : NO Dependencies SDL support : YES SDL image support : NO GTK support : YES pixman : YES 0.42.2 VTE support : NO slirp support : YES 4.7.0 libtasn1 : NO PAM : NO iconv support : NO curses support : NO virgl support : NO blkio support : NO curl support : NO Multipath support : NO PNG support : NO VNC support : NO OSS support : NO sndio support : NO ALSA support : NO PulseAudio support : NO JACK support : NO brlapi support : NO vde support : NO netmap support : NO l2tpv3 support : NO Linux AIO support : NO Linux io_uring support : NO ATTR/XATTR support : NO RDMA support : NO PVRDMA support : NO fdt support : internal libcap-ng support : NO bpf support : NO spice protocol support : NO rbd support : NO smartcard support : NO U2F support : NO libusb : NO usb net redir : NO OpenGL support (epoxy) : YES GBM : YES 24.0.9-0ubuntu0.1 libiscsi support : NO libnfs support : NO seccomp support : NO GlusterFS support : NO TPM support : NO libssh support : NO lzo support : NO snappy support : NO bzip2 support : NO lzfse support : NO zstd support : NO NUMA host support : NO capstone : NO libpmem support : NO libdaxctl support : NO libudev : NO FUSE lseek : NO selinux : NO vtune : NO User defined options Native files : config-meson.cross auto_features : disabled prefix : /usr/local b_lto : true vfio_user_server : disabled Found ninja-1.11.1 at /usr/bin/ninja Running postconf script '/usr/bin/python3 /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/scripts/symlink-install-tree.py' + make -j4 qemu-system-i386 + tee build.log changing dir to build for make "qemu-system-i386"... make[1]: Entering directory '/home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/build' GIT ui/keycodemapdb ui/thirdparty/imgui ui/thirdparty/implot ui/thirdparty/httplib util/xxHash tomlplusplus genconfig hw/xbox/nv2a/thirdparty/nv2a_vsh_cpu tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc /usr/bin/ninja build.ninja && touch build.ninja.stamp ninja: no work to do. /usr/bin/meson introspect --targets --tests --benchmarks | /usr/bin/python3 -B scripts/mtest2make.py > Makefile.mtest GIT ui/keycodemapdb ui/thirdparty/imgui ui/thirdparty/implot ui/thirdparty/httplib util/xxHash tomlplusplus genconfig hw/xbox/nv2a/thirdparty/nv2a_vsh_cpu tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc [1/1528] Generating config-poison.h with a custom command (wrapped by meson to capture output) [2/1528] Compiling C object libfdt.a.p/dtc_libfdt_fdt.c.o net_announce.c.o [1528/1528] Linking target qemu-system-i386 make[1]: Leaving directory '/home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/build' real 3m10.419s user 6m43.735s sys 2m50.717s + package_linux + rm -rf dist + mkdir -p dist + cp build/qemu-system-i386 dist/xemu + test -e /home/retropie/RetroPie-Setup/tmp/build/xemu/xemu/XEMU_LICENSE + python3 ./scripts/gen-license.py /home/retropie/RetroPie-Setup Log ended at: Fri Sep 6 01:39:16 PM EDT 2024 Total running time: 0 hours, 8 mins, 3 secs
dispite the sucessful build the emulator is not installed, but it is progress. I will continue to look into this. If anyone has any input please share.
-
@Unknown im taking a look at this
already fixed the source issue. and ill see what else i can figure out.
good job so far -
@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
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.