XEMU v0.8.130 is released. xemu is an open-source, cross-platform application that emulates the hardware of the original Xbox game console, allowing users to play their Xbox games on Windows, macOS, and Linux systems. This project is focused on making significant forward progress in terms of features, performance, stability, and user experience in Xbox emulation. This project is an active fork of the XQEMU project, which is based on the very popular and highly actively maintained QEMU full system emulator project.
XEMU Changelog:
* f
* ci: Split up build workflow
* scripts/sign-macos-release.sh: Add for macOS release signing
* xemu.entitlements: Add for macOS release signing
* Info.plist: Drop com.apple.security.cs.allow-jit key
* ci: Label macOS release artifacts 'unsigned'
* meson: Add test-xbox alias target to limit test build
* ci: Enable ccache for all steps in Linux build jobs
* ui: Fix use-after-free when new controller mapping is added
* ui: Replace xemu_open_web_browser with SDL_OpenURL
* nv2a: Handle cubemap textures passed to 2D projective samplers
* ui: Add display filter configuration
* ui: Fix rumble setting migration overwriting controller rumble with default
* build: Add libusb support to builds
* ui: Add controller/keyboard input mapping configuration
* ui: Support fullscreen toggle via F11
* ci: bump docker/setup-buildx-action from 3.11.1 to 3.12.0
* ui: Remove legacy macOS-specific shortcut handling
* nv2a/gl: Check GL_LINK_STATUS when loading cached shaders
* ci: bump astral-sh/setup-uv from 7.1.5 to 7.1.6
* ci: bump actions/download-artifact from 6.0.0 to 7.0.0
* ci: bump actions/upload-artifact from 5.0.0 to 6.0.0
* ci: bump actions/cache from 4.3.0 to 5.0.1
* meson: Bump glslang to 16.1.0
* ci: bump softprops/action-gh-release from 2.4.2 to 2.5.0
* ci: bump actions/checkout from 6.0.0 to 6.0.1
* ci: bump astral-sh/setup-uv from 7.1.4 to 7.1.5
* ci: bump actions/setup-python from 6.0.0 to 6.1.0
* ci: bump docker/metadata-action from 5.9.0 to 5.10.0
* nv2a/vk: Add preferred physical device to config
* nv2a: Improve handling of SET_POINT_SIZE
* xemu.desktop: Add Keywords
* xemu.metainfo.xml: Run xmllint auto-formatter
* xemu.metainfo.xml: Caption remaining screenshots
* xemu.metainfo.xml: Add screenshot caption
* ci: bump actions/checkout from 5.0.0 to 6.0.0
* ci: bump astral-sh/setup-uv from 7.1.2 to 7.1.4
* nv2a: Handle 2D textures given to 3D texture modes
* nv2a: Prevent GL assert on END without BEGIN
* nv2a: Enforce point params min/max size
* ci: bump docker/metadata-action from 5.8.0 to 5.9.0
* ci: bump softprops/action-gh-release from 2.4.1 to 2.4.2
* nv2a/gl: Prevent depth surface being used as display source
* nv2a: More accurate handling of exceptional fog values in VSH
* ci: bump actions/download-artifact from 5.0.0 to 6.0.0
* ci: bump astral-sh/setup-uv from 7.1.1 to 7.1.2
* ci: bump actions/upload-artifact from 4.6.2 to 5.0.0
* nv2a/gl: Move GPU property check context creation to main thread
* nv2a: Emit separate triangles and line segment from geometry shader
* nv2a/glsl: Delete deprecated FIXME comment about about vertex order
* nv2a/vk: Apply the Nvidia geometry shader bug work around with Vulkan too
* nv2a/gl: Work around an Nvidia geometry shader compiler bug
* nv2a: Vertex reordering for flat shading in geometry shader
* nv2a: Fix polygon line mode and implement flat shading provoking vertex
* nv2a: Depth buffer precision improvements and polygon offset slope factor
* nv2a: Fix vertex ordering of triangle strips in polygon line mode
* ci: bump astral-sh/setup-uv from 7.1.0 to 7.1.1
* ui: Add xiso files to loader menu
* ui: Add games directory to popup-menu
* meson: Bump SPIRV-Reflect to vulkan-sdk-1.4.328.1
* ci: bump softprops/action-gh-release from 2.3.4 to 2.4.1
* ci: bump astral-sh/setup-uv from 6.8.0 to 7.1.0
* .clang-tidy: Add basic .clang-tidy for identifier naming
* ci: bump softprops/action-gh-release from 2.3.3 to 2.3.4
* ci: bump docker/login-action from 3.5.0 to 3.6.0
* ci: bump astral-sh/setup-uv from 6.7.0 to 6.8.0
* ci: bump actions/cache from 4.2.4 to 4.3.0
* meson: Bump glslang to 16.0.0
* nv2a: Handle anisotropic filter setting
* .github: Fix nesting of template field IDs
* .github: Add IDs to issue template fields
* nv2a: Implement texture LOD bias
* configure: bump Meson to 1.9.0 for use with Rust
* nv2a: Fix fixed point NV_PVIDEO_POINT_IN handling
* nv2a: Improve some assert messages
* nv2a: Fix handling of PVIDEO color key red channel
* nv2a: Ignore alpha when processing PVIDEO color keying
* ci: bump astral-sh/setup-uv from 6.6.1 to 6.7.0
* nv2a/vk: Set addressModeW only for 3D textures
* ci: bump softprops/action-gh-release from 2.3.2 to 2.3.3
* ci: bump astral-sh/setup-uv from 6.6.0 to 6.6.1
* ci: bump actions/setup-python from 5.6.0 to 6.0.0
* ci: bump astral-sh/setup-uv from 6.5.0 to 6.6.0
* nv2a: Fix edge cases leading to GL debug group stack overflows
* ci: bump astral-sh/setup-uv from 6.4.3 to 6.5.0
* ci: bump actions/checkout from 4.2.2 to 5.0.0
* ci: bump actions/cache from 4.2.3 to 4.2.4
* ci: bump actions/download-artifact from 4.3.0 to 5.0.0
* ci: bump docker/login-action from 3.4.0 to 3.5.0
* ci: bump docker/metadata-action from 5.7.0 to 5.8.0
* apu: Bail from audio sink callback on app exit
* ci: bump astral-sh/setup-uv from 6.4.1 to 6.4.3
* meson: Bump SPIRV-Reflect to vulkan-sdk-1.4.321.0
* ci: bump astral-sh/setup-uv from 6.3.1 to 6.4.1
* nv2a/gl: Allocate only needed size for inline arrays
* ui: Initialize preferred xemu NVIDIA application profile
* nvapi: Add library to create NVIDIA driver application profiles
* scripts/gen-license.py: Run black formatter
* scripts/gen-license.py: Add license path parameter
* ci: Build on Ubuntu 22.04 for broader glibc compat
* util/mstring: Use GString
* nv2a: Const-ify some function parameters
* nv2a: Const-ify LRU callback key parameters
* n2va/vk: Drop some useless includes
* nv2a/vk: Update some copyrights
* nv2a/vk: Initialize ShaderBinding in shader_cache_entry_init
* nv2a: Move numeric locale setup to main
* nv2a/vk: Group module info and locs in ShaderBinding
* nv2a/vk: Cache shader modules
* nv2a/gl: Cache shader modules
* ui: Add labels to emulated/input device combos
* nv2a: Split nv2a_pgraph_surface_cpu_access trace into read/write
* nv2a: Fix CPU surface access callback race and use-after-free
* ci: bump astral-sh/setup-uv from 6.3.0 to 6.3.1
* meson: Bump glslang to 15.4.0
* nv2a/glsl: Define inlineValue uniform only when necessary
* nv2a/glsl: Fix duplicate inlineValue uniform declaration
* nv2a/glsl: Fix push constant range
* nv2a/glsl: Remove some more redundant comments
* nv2a/gl: Validate shader program after texture samplers are set
* nv2a/glsl: Simplify some mstring uses in pgraph_glsl_gen_vsh
* nv2a/glsl: Simplify some mstring uses in pgraph_glsl_gen_geom
* nv2a/glsl: Add glsl_ prefix to public functions
* nv2a/glsl: Factor out geometry state to GeomState
* nv2a: Rename update_shader_{constant_locations -> uniform_locs}
* nv2a/vk: Fix DGROUP_BEGIN order nit
* nv2a/gl: Add format attr to gl_debug_*
* nv2a/gl: Fix DGROUP_BEGIN in pgraph_gl_bind_shaders
* nv2a/glsl: Clean up some includes
* nv2a/glsl: Move clipRange value calc to helper func
* nv2a/glsl: Unify dirty shader state check
* nv2a/glsl: Move append_skinning_code up
* nv2a/glsl: Clean up some whitespace
* nv2a/glsl: Simplify pgraph_gen_vsh_prog_glsl mstring use
* nv2a: Move some VSH definitions to vsh_regs.h
* nv2a/glsl: Remove some redundant comments
* nv2a: Move PSH definitions to psh_regs.h
* nv2a: Add _regs suffix to vsh.h and psh.h
* nv2a/glsl: Be consistent in name of state parameter
* nv2a/glsl: Let pgraph_gen_vsh_glsl take a pointer to PshState
* nv2a/glsl: Clean up some includes
* nv2a/glsl/vsh-prog.h: Include mstring.h
* nv2a/glsl/vsh-prog.h: Drop 'Based on' claim
* nv2a: Move {Vsh,Psh}State generation into glsl subdir
* nv2a/glsl: Let pgraph_gen_geom_glsl take VshState and GlslOptions
* nv2a/glsl: Invert fog gen blocks for readability
* nv2a: Drop some unnecessary comments
* nv2a: Simplify shader uniform declaration and update
* nv2a: Update various copyright headers
* nv2a: Structure shader uniform locs
* nv2a/gl: Move program validation to generate_shaders
* nv2a/vk: Clean up layout binding ids
* nv2a: Separate VshState and PshState generation
* nv2a: Extract GLSL generation options from {Vsh,Psh}State
* nv2a: Extract VshState from ShaderState
* nv2a: Unset some FF ShaderState if unnecessary
* nv2a: Remove colorkey_mask from PshState
* nv2a: Clamp fog factor to valid float range
* ci: Remove all subproject .gitignores for PPA upload
* nv2a/vk: Only include palette in texture key when necessary
* ci: bump docker/setup-buildx-action from 3.10.0 to 3.11.1
* ci: bump astral-sh/setup-uv from 6.1.0 to 6.3.0
* nv2a/vk: Require fillModeNonSolid feature
* nv2a/vk: Enable wideLines feature before use
* nv2a/vk: Set line width state dynamically
* nv2a/vk: Scale line width by surface scale
* nv2a: Handle PGRAPH color keying
* nvnet: Drop unnecessary switch
* nvnet: Return MII status on MMIO reads
* apu/vp: Make number of voice workers dynamic
* nvnet: Reduce auto-negotiation duration to 250ms
* nvnet: Assert MMIO writes are 32b aligned
* nvnet: Drop useless assert
* nvnet: Define auto-negotiation duration constant
* nvnet: Fixup some trace formatting
* nvnet: Add trace for packet send
* nvnet: Drop more useless dprintfs
* nvnet: Add traces for tx/rx dma
* nvnet: Use load_ring_desc in dump_ring_descriptors
* nvnet: Add trace for descriptor stores
* nvnet: Add trace for irq updates
* nvnet: Add trace for tx/rx blockers
* nvnet: Move ring descriptor load/store out to function
* nvnet: Drop useless dprintf
* nvnet: Move dma idle status update out to function
* nvnet: Move tx descriptor pointer updates out
* nvnet: Check for rx buffer availability in can_receive
* nvnet: Clean up tx/rx prechecks
* nvnet: Idle before interrupt in dma_packet_from_guest
* nvnet: Drop return value from dma_packet_from_guest
* nvnet: Check for dma disable before tx/rx
* nvnet: Fix mmio write unconditional passthru
* nvnet: Set idle bit on reset
* nvnet: Don't expect higher bits clear in test for tx kick bit
* nvnet: Fix bit clear nit in mdio_read
* nvnet: Rename net_nvnet_info -> nvnet_client_info
* nvnet: Check for link-up in nvnet_can_receive
* nvnet: Simplify some function names, register access
* nvnet: Factor interrupt assertion out to common function
* nvnet: Add some traces for link status and AN
* vl: Bring up xemu network later, and down if disabled
* ui/xemu-net.c: Handle missing slirp state
* ui/xemu-net.c: Move slirp port forward clearing into function
* nvnet: Handle link status changes
* nvnet: Drop unnecessary call to reset_descriptor_ring_pointers
* nvnet: Move tx_dma_buf_offset field up
* nvnet: Migrate ring index tracking to device registers
* nvnet: Simplify length adjustment in nvnet_dma_packet_from_guest
* nvnet: Drop post-tx descriptor length increase
* nvnet: Drop some useless debug prints
* nvnet: Rename RingDesc::packet_buffer -> buffer_addr
* nvnet: Migrate ring size tracking to registers
* nvnet: Shrink some debug printfs
* nvnet: Convert descriptor fields to host byte order and back
* nvnet: Simplify nvnet_dma_packet_to_guest
* nvnet: Clean up idle bit management
* nvnet: Remove more useless comments
* nvnet: Fix phy_{addr,reg} sizes in nvnet_mdio_{read,write}
* nvnet: Simplify nvnet_mmio_write
* nvnet: Move nvnet_dump_ring_descriptors down
* nvnet: Fix register stringification
* nvnet: Move NetClientInfo handlers up
* nvnet: Fix spacing in NvNetState
* nvnet: Fix nvnet_phy_reg_* trace addr/value size
* nvnet: Copyright update
* nvnet: Rename mii reg traces to nvnet_phy_reg_{read,write}
* nvnet: Run clang-format
* nvnet: Make phy registers 16b
* nvnet: Factor out phy register read/write from mdio
* nvnet: Rename mdio addr/data registers
* nvnet: Migrate ring size shifts to GET_MASK macro
* nvnet: Format the register list
* nvnet: Drop more useless comments
* nvnet: Simplify register stringification
* nvnet: Use QEMU_PACKED macro
* nvnet: Drop dead code
* nvnet: Simplify debug macro
* nvnet: Eliminate redundant declarations
* nvnet: Use OBJECT_DECLARE_SIMPLE_TYPE
* nvnet: Drop custom packet hexdump
* nvnet: Use is_broadcast_ether_addr
* nvnet: Drop some useless comments
* nvnet: Move NVNET_DEVICE macro up
* nvnet: Reorganize for more prototype elimination
* nvnet: Drop some useless protos
* nvnet: Clean up mii read and write handling
* nvnet: Fix mii inuse/write bits
* nvnet: Drop unnecessary comment
* nvnet: Use hw/net/mii.h
* ui: Add .xiso to load disc file filter
* ci: bump softprops/action-gh-release from 2.2.2 to 2.3.2
* vl: Always pass dvd_path to the driver and handle errors
* nvnet: Move to hw/xbox/mcpx/nvnet
* mcpx: Move APU components to hw/xbox/mcpx/apu
* mcpx: Cleanup monitor
* mcpx: Rename {dsp->gp_ep}.c,h for clarity
* mcpx: Minor cleanup
* mcpx: Move SGE handles to VP struct
* mcpx: Move DSP state structs to dsp.h
* mcpx: Reorder functions, drop some protos
* mcpx: Move VP state struct to vp.h
* mcpx: Move VP files into vp/
* mcpx: Split some VP structs out to vp.h
* mcpx: Drop some redundant protos
* mcpx: Add inline keyword to float conversion helpers
* mcpx: Move DSP functions to dsp.c
* mcpx: Move VP functions to vp.c
* mcpx: Move debug functions to debug.c
* mcpx: Move some definitions to apu_int.h
* nv2a: Ignore unsupported depth funcs to match HW
* mcpx: Process voices concurrently
* ci: bump docker/build-push-action from 6.17.0 to 6.18.0
* mcpx: Support 3D voice HRTF filtering
* mcpx: Define a constant for 3D voice count
* xbox: Move xbox machine property creation to class init handler
* ci: bump astral-sh/setup-uv from 6.0.1 to 6.1.0
* nv2a: Prevent NaN in specular power factor calculation
* nv2a/gl: y-flipped rendering to framebuffer object
* nv2a: Use trunc in vertex rounding instead of floor
* nv2a: implement screen coordinate rounding to 4 bit fractional precision
* ui: Add "allow vibration" input setting
* meson: Bump VulkanMemoryAllocator to v3.3.0
* ci: bump docker/build-push-action from 6.16.0 to 6.17.0
* nv2a/vsh: Replace NaN with 1.0 for Bx, Dx, Fog outputs and MUL zero-check
* ui: Toggle fullscreen on mouse double click
* nv2a: Allow multiframe RenderDoc captures with nv2a traces
* meson: Bump SPIRV-Reflect to vulkan-sdk-1.4.313.0
* ci: bump astral-sh/setup-uv from 6.0.0 to 6.0.1
* nv2a: Move point params to uniforms
* nv2a/psh: Fix 2D texture addressing in DOT_STR_3D mode
* ci: bump docker/build-push-action from 6.15.0 to 6.16.0
* ci: bump actions/setup-python from 5.5.0 to 5.6.0
* ci: bump actions/download-artifact from 4.2.1 to 4.3.0
* ci: Use XEMU_ROBOT_TOKEN for PR creation to trigger build workflow
* meson: Bump SPIRV-Reflect to vulkan-sdk-1.4.309.0
* meson: Bump glslang to 15.3.0
* meson: Bump tomlplusplus to v3.4.0
* meson: Add tag regex for subproject wrap auto-updater
* meson: Bump volk to 1.4.304
* meson: Bump VulkanMemoryAllocator to v3.2.1
* ci: Auto-update subproject wraps periodically
Download: XEMU v0.8.130
Source: Here
2026-01-03
Tags:
Console,
Official_Build,
XBox,
XEMU

NewsLetter
Bookmark
Submit News
Email Us

Random Related Topic
0 Comments
Post a Comment
Can't post a comment? Try This!