Xbox 360 support kernel extensions for Mac OS X as part of OSX360. This is an early attempt at running Mac OS X on the Xbox 360. There will be functions that do not work, and the system may lock up unexpectedly.
The Xbox 360 is a PowerPC-based "Xenon" console released in 2005. The Xenon processor is unique to the console, being a three core Cell-based design without AltiVec and instead having VMX128. VMX128 is not completely compatible with AltiVec, and Cell is different in behavior from the G5 used in various Mac models. Currently the processor is spoofed to appear as a G3 to prevent AltiVec usage, and any software requiring AltiVec or a G5 will not run at this time. Some 32-bit software that runs unmodified on a G5 may not function on this platform.
Xenon does not support some of the hardware features present in the G5, i.e. the register that controls dcbz behavior. While most of XNU will use the proper dcbz128 instruction, some portions do not and some userspace libraries such as CoreGraphics do not. The platform expert as part of this driver project will attempt to patch those to be invalid and trigger XNU's built-in instruction emulator. See this page for more background.
AltiVec is not supported on Xenon in favor of VMX128 which drops some AltiVec instructions. In theory these could be trapped/emulated to enable AltiVec software to run, but this has yet to be explored.
- An Xbox 360 that is modded either by hardware or with BadUpdate. OpenBIOS will be launched from a USB stick using XeLL. Non-4GB NAND consoles will need to have the USB configured as system storage if using ABadAvatar. Refer to this page for more information.
- The latest release of OpenBIOS Xbox 360 fork.
- The latest release of the drivers mkext from the Releases tab.
- Mac OS X Tiger 10.4.6 DVD (the CD version may also work, but is currently untested)
- A USB installer can also work, but will require partitioning that is currently not documented here.
- Certain DVD drives require a tray cycle before working. So far this needs to be done on the DL10N, but others may be affected.
- Hard drive to install Mac OS X to. This will be destructive, do not use a stock Xbox 360 hard drive.
- Any drive should work, but there are some issues with some WD drives and OpenBIOS currently.
- A USB drive can also work, but is not documented currently and will require some additional work to start from OpenBIOS.
Configure the USB for BadUpdate / ABadAvatar if needed. Place openbios-xbox360.elf and Xbox360.mkext from this repo's releases onto the root of the drive. Configure kboot.conf for XeLL as desired, an example configuration can be found here.
Start XeLL and launch OpenBIOS. OpenBIOS should drop into the shell.
- To startup from the installation DVD, run
boot cd:,\\:tbxi. - To startup from the hard drive, run
boot hd:,\\:tbxi. - To startup from the USB stick (if configured as an installer), run
boot ud:X,\\:tbxiwhereXis the installer partition. - To boot in verbose, run
setenv boot-args -vprior to booting Mac OS X. - To boot in single user, run
setenv boot-args -sprior to booting Mac OS X.
Mac OS X may require modifications to IOAudioFamily and IONetworkingFamily for audio and ethernet to work. You'll need to edit both to ensure they are loaded at bootup.
sudo vi /System/Library/Extensions/IOAudioFamily.kext/Contents/Info.plist
sudo vi /System/Library/Extensions/IONetworkingFamily.kext/Contents/Info.plist
For both files, type i to enter insert mode and append the following after the last key, but before the closing plist:
<key>OSBundleRequired</key>
<string>Root</string>
Save and quit with :wq.
After both edits are made, run sudo touch /System/Library/Extensions to force a kext cache rebuild and reboot. The next bootup may take several minutes as the system will boot without a kext cache. Once booted, audio and networking should be fully functional.
| Version | Supported |
|---|---|
| 10.0 Cheetah | No, released prior to 64-bit support |
| 10.1 Puma | No, released prior to 64-bit support |
| 10.2 Jaguar | Partial, only boots to single user mode. The G5 version of 10.2.7 must be used. |
| 10.3 Panther | Partial, only boots to single user mode. |
| 10.4 Tiger | Mostly functional, freezes may occur either during boot or sometime after. |
| 10.5 Leopard | No, requires AltiVec |
| 10.6 Snow Leopard (beta/unofficial PowerPC builds) | No, requires AltiVec |
| Hardware | Supported |
|---|---|
| Interrupt controller | Yes |
| PCI root bridge | Yes |
| USB 1.1 (OHCI) controllers | Yes |
| USB 2.0 (EHCI) controllers | Yes |
| WiFi via USB | No |
| Audio interface (rear A/V) | Yes, not all media may work |
| Xenos graphics interface | Basic framebuffer only, no resolution changes |
| System management controller (SMC) | Yes, shutdown/restart, CD drive, RTC read |
| Ethernet controller | Partially, receiving packets may stop working |
| SATA DVD-ROM | Yes, some drives require a tray cycle |
| SATA Hard Drive | Yes, some drives may not function |
- XenonAudo: Audio support
- XenonCoreGraphics: Core graphics support
- XenonEthernet: Ethernet support
- XenonPCI: PCI host bridge support
- XenonPlatform: Platform expert and interrupt controller support
- XenonSATA: SATA controller and DVD drive support
- XenonSMC: SMC support