explaingit

maftymanicemu/dukex

Analysis updated 2026-06-24

52CAudience · developerComplexity · 5/5Setup · hard

TLDR

Experimental iOS port of the xemu Xbox emulator with a SwiftUI library and Vulkan rendering via MoltenVK, sideloaded through AltStore or SideStore.

Mindmap

mindmap
  root((DukeX))
    Inputs
      Xbox BIOS
      MCPX ROM
      XISO images
      MFi controller
    Outputs
      Rendered game frames
      FPS HUD
    Use Cases
      iOS game preservation
      Sideloaded emulation
      Controller play
    Tech Stack
      C
      Swift
      QEMU
      xemu
      MoltenVK
      Metal
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Sideload an Xbox emulator on iPhone or iPad with user-supplied BIOS and games

USE CASE 2

Play XISO disc images with MFi controllers on iOS in portrait or landscape

USE CASE 3

Study how xemu Vulkan code is bridged to Metal through MoltenVK

USE CASE 4

Use as a base for porting other QEMU-based emulators to iOS

What is it built with?

CSwiftQEMUVulkanMetal

How does it compare?

maftymanicemu/dukexdantiicu/wine-nxchillymasterio/puttyalt
Stars524859
LanguageCCC
Setup difficultyhardhardeasy
Complexity5/55/52/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Needs user-supplied Xbox BIOS plus JIT enabling via StikDebug on iOS 26 or write-or-execute on 18.x.

In plain English

DukeX is an experimental iPhone and iPad app that emulates the original Xbox game console. Emulation means running a software copy of one computer's hardware on a different computer, so games written for the original Xbox can run on an iOS device. The project does not write its own emulator from scratch. It builds on xemu, an existing open-source Xbox emulator, and wraps the xemu engine in a native Swift interface designed for the iPhone screen. The README is firm that DukeX does not ship with any Xbox system files, game images, or signing certificates. Users must supply their own legally obtained BIOS, MCPX ROM, hard disk image, and XISO game disc images. The project frames itself as a preservation tool and explicitly says it is not designed for use with pirated content. Graphics use xemu's Vulkan renderer routed through MoltenVK, a layer that translates Vulkan calls into Apple's Metal API, and then presented through a native Metal layer on screen. The app supports portrait and landscape modes, includes a SwiftUI library with cover art and several sort options, accepts MFi-style controllers through Apple's GameController APIs, and exposes user-accessible folders for BIOS files, ROMs, covers, game configs, and shader caches through the standard iOS file sharing interface. There is a built-in FPS and system statistics HUD for testing. A key constraint is JIT, just-in-time compilation, which the emulator needs for performance. On iOS 18.x the app uses a write-or-execute reprotection flow after JIT is enabled. On iOS 26 or later it requires a separate tool called StikDebug with a Universal.js script assigned to the DukeX bundle ID. The target is iPhoneOS arm64 with iOS 18.0 or later, and builds are distributed through GitHub Releases and AltStore or SideStore sources for sideloading rather than through the App Store. The repository keeps the QEMU and xemu source tree at the root because the upstream build expects that layout, with iOS-specific code under ios/, store metadata under altsource/, and docs under docs/ios-port/. DukeX is not affiliated with Microsoft, Xbox, or the xemu project.

Copy-paste prompts

Prompt 1
Walk me through the DukeX repo layout and explain why QEMU and xemu sit at the root
Prompt 2
Set up StikDebug with the Universal.js script for DukeX on iOS 26 step by step
Prompt 3
Show me the Swift code that bridges xemu Vulkan output through MoltenVK to a Metal layer
Prompt 4
Add a new sort option to the DukeX SwiftUI library view, like sort by last played
Prompt 5
Build DukeX from source for an iPhone 15 with iOS 18 and sideload it via AltStore

Frequently asked questions

What is dukex?

Experimental iOS port of the xemu Xbox emulator with a SwiftUI library and Vulkan rendering via MoltenVK, sideloaded through AltStore or SideStore.

What language is dukex written in?

Mainly C. The stack also includes C, Swift, QEMU.

How hard is dukex to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is dukex for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.