Skip to content

Releases

📢 Version v0.1.2 (alpha) - a Native renderer for State of Decay

Choose a tag to compare

@udarmolota udarmolota released this 12 Nov 15:03

ℹ XDroid360 doesn't include any game. You add your own copy: the Xbox 360 disc image of Dragon Age: Origins (.iso, or a .zip with it), or State of Decay's folder from a console's storage as a .zip. The phone builds the game from it.

☕ XDroid360 stays free, but coffee doesn't. If you'd like to support it: Ko-fi 🎮

🆕 What's new

Native renderer for State of Decay

✅ State of Decay now runs on the native renderer by default, like Dragon Age: Origins since 0.1.1. On a Galaxy S25 Ultra, with the frame cap off, it reaches 115–127 fps where Xenia's emulation gave about 39, with shadows and HDR lighting.
✅ The phone builds its shaders too: when you add the game and on every Update game, from the game's own files. Nothing from the game is downloaded or shipped with the app.
✅ You can switch back: the game's Settings → Renderer → Xenia brings back the emulation.

Updating a game

✅ Coming from 0.1.1: Use Update game (⋮ on the game's card) on each game once. State of Decay gets its new profile and builds its shader library for the native renderer; the game files, saves and settings stay.

Settings

✅ Frame rate, in its own card: 30, 60 or no limit for Dragon Age: Origins; 30 or 60 for State of Decay. The game's own Graphics tab and the card show the same value.
✅ Texture quality follows the renderer until you pick one: Low on Native, as before on Xenia.

Launcher

✅ New bottom bar: Home, Import, Export, Controls and Projects.
✅ Import / Export saves the on-screen gamepad layout to a file and loads it back, for each game separately: keep your layout across reinstalls, or share it.
✅ Controls opens the on-screen gamepad editor; Projects lists our other launchers.

Known issues

⚠ The State of Decay native renderer is new and tested on a Galaxy S25 Ultra only. If something looks wrong, switch back to Xenia in the game's Settings, turn on Diagnostics and send a report.
⚠ The screen can stay black after returning to the game from another app. Restart the game if it happens.
⚠ Text input (a character's name) is Latin letters only.

Licence

The native renderer is a port of nfsmw-android's renderer (GPL-3.0). Thanks to its authors and everyone in its credit chain: nfsmw-nx (StevensND), NFSMW-Recompiled (madelrandel-blip), NFSMW-Recompiled-Mobile (victorgbd) and nfsmw-android (codepdbh). It also builds on the ReXGlue SDK (BSD-3), hedge-dev's XenosRecomp (MIT) and Microsoft's DirectXShaderCompiler (NCSA). Because of the renderer, the APK as a whole is distributed under GPL-3.0; the source is in this repository at this release's tag.

⚠ Reminder
XDroid360 is only a launcher. You need your own copy of the game: its Xbox 360 disc image, or its folder from a console.

TG: t.me/udarmolota
Dev Reddit: UdarMolotaDev

📢 Version v0.1.1 (alpha) - a Native renderer for Dragon Age: Origins

Choose a tag to compare

@udarmolota udarmolota released this 10 Nov 19:02

ℹ XDroid360 doesn't include any game. You add your own copy: the Xbox 360 disc image of Dragon Age: Origins (.iso, or a .zip with it), or State of Decay's folder from a console's storage as a .zip. The phone builds the game from it.

☕ XDroid360 stays free, but coffee doesn't. If you'd like to support it: Ko-fi 🎮

🆕 What's new

Native renderer for Dragon Age: Origins

✅ Dragon Age: Origins now runs on a new native renderer by default. It draws the game's frames directly with Vulkan instead of emulating the Xbox 360's graphics chip, and it is much faster: on a Galaxy S25 Ultra, at the same spot with the frame cap off, it reaches 110–190 fps where the emulation gave 42–55. With the usual 60 fps cap the phone stays only warm.
✅ The phone builds the shaders itself. The renderer needs the game's shaders translated for Vulkan: the launcher does it on your phone when you add the game and on every Update game (about 10–15 seconds on an S25). Nothing from the game is downloaded or shipped with the app.
✅ You can switch back: the game's Settings → Renderer → Xenia brings back the emulation. If the shader library is missing, the game falls back to Xenia by itself.
✅ State of Decay keeps Xenia's emulation for now.

Updating a game

✅ Update game (⋮ on the game's card) rebuilds the game for a new version of the launcher, without adding it again: the game files, saves and settings stay. Usually about a minute.
✅ Coming from 0.1.0? Use Update game on the Dragon Age card once: the first time takes 5–10 minutes (the game's code is compiled again, the game files aren't copied), and it builds the shader library for the native renderer.

Settings

✅ Game language: English, Italiano, Español, or the phone's language, in its own card.
✅ Renderer: Xenia or Native, in its own card (Dragon Age: Origins).
✅ Vulkan driver: clearer choices (Automatic, Built-in Turnip, System driver, Custom driver), with what each one does; the driver file button shows only for a custom driver.
✅ Info panel (was "In-game display") and Texture quality (was "Textures").

Performance and heat

✅ The screen's refresh follows the game's frame cap: a game capped at 30 fps runs the screen at 60 Hz instead of 120 Hz, for less heat and an even picture.
✅ Phones without an Adreno 8xx: Dragon Age: Origins starts at 30 fps with depth of field off, the lighter settings for weaker GPUs. Your own choices in the game's Graphics tab stay.

Bug reports

✅ Diagnostics (the game's Settings → Advanced): writes the GPU's measurements into the game's log, and tells whether your GPU has what the native renderer needs. Turn it on, play the part that misbehaves, then Report a bug.
✅ Errors from the emulator now reach the game's log too, so reports show what went wrong.

Known issues

⚠ Tested on Snapdragon (Adreno) only, on a Galaxy S25 Ultra. The native renderer hasn't been tried on Mali or other GPUs yet: a report with Diagnostics on is very welcome.
⚠ The native renderer is new. If something looks wrong, switch back to Xenia in the game's Settings, and send a report.
⚠ Minimizing the game doesn't pause it: it keeps using the processor in the background. Close the game if you leave it for a while.
⚠ Space: Dragon Age: Origins needs about 8 GB, plus about 8 GB more while a .zip is unpacked; State of Decay about 3 GB, plus about 2 GB more.
⚠ Text input (a character's name) is Latin letters only.

UPD: now confirmed on Mali too, even on a budget Helio G99 phone.

Licence

The native renderer is a port of nfsmw-android's renderer (GPL-3.0). Thanks to its authors and everyone in its credit chain: nfsmw-nx (StevensND), NFSMW-Recompiled (madelrandel-blip), NFSMW-Recompiled-Mobile (victorgbd) and nfsmw-android (codepdbh). It also builds on the ReXGlue SDK (BSD-3), hedge-dev's XenosRecomp (MIT) and Microsoft's DirectXShaderCompiler (NCSA). Because of the renderer, the APK as a whole is distributed under GPL-3.0; the source is in this repository at this release's tag.

⚠ Reminder
XDroid360 is only a launcher. You need your own copy of the game: its Xbox 360 disc image, or its folder from a console.

TG: t.me/udarmolota
Dev Reddit: UdarMolotaDev

📢 Version v0.1.0 (alpha) - Dragon Age: Origins and State of Decay, built on your phone

Choose a tag to compare

@udarmolota udarmolota released this 05 Nov 21:18

ℹ XDroid360 doesn't include any game. You add your own copy: the Xbox 360 disc image of Dragon Age: Origins (.iso, or a .zip with it), or State of Decay's folder from a console's storage as a .zip. The phone builds the game from it.

☕ XDroid360 stays free, but coffee (and rent) doesn't. If you'd like to support it: Ko-fi 🎮

🆕 What's new

This is the first release of XDroid360: a launcher that runs Xbox 360 games on Android natively. The games' code runs natively on the phone's own processor; the console's graphics chip is emulated on Vulkan.

Games

✅ Dragon Age: Origins: the English/Italian/Spanish edition, or disc 1 of the Ultimate Edition. 50–60 fps in the first camp on a cool phone; set the game's own frame cap to 30 for long sessions.
✅ State of Decay: with the Breakdown and Lifeline DLC and Title Update 6. 30 fps by default.

Installing a game

✅ Built on your phone: tap +, choose the game and pick its file. Installing includes the static recompilation of the game's code for the phone: 5–15 minutes, plus copying the game files. You can leave the launcher meanwhile: the notification shows the progress and can cancel it.
✅ Pick up where it stopped: a build that was interrupted or cancelled continues from the last finished step.
✅ Checked before it starts: the launcher tells you which game it is, whether your edition is supported, and how much space it needs.

Controls

✅ On-screen controls with an editor: move the buttons and sticks; every installed game keeps its own layout.
✅ Gamepads: Bluetooth and USB.
✅ Vibration on the on-screen buttons, if you like it.

Other

✅ Vulkan drivers: Turnip for Adreno 8xx is built in; each game can also use the phone's own driver, or any driver you install (a .so, or an Adreno Tools .zip).
✅ In-game display: off, only FPS, or a full bar with GPU and CPU load, memory, power, temperature and an FPS graph.
✅ Saves: export and import.
✅ Report a bug from the side menu: choose the game, pick your mail app, write a few words, and send. The logs are attached for you.
✅ The app is signed with my own key. Download XDroid360 only from this GitHub page.

Known issues

⚠ Tested on Snapdragon flagships. It is tested on a Galaxy S25 Ultra. Other phones may work, but nobody has tried them yet; a report from Report a bug is very welcome.
⚠ Space: Dragon Age: Origins needs about 8 GB, plus about 8 GB more while a .zip is unpacked; State of Decay about 3 GB, plus about 2 GB more.
⚠ Heat: at 60 fps the phone slows the GPU down after some minutes. The 30 fps cap, or a cooler, helps.
⚠ Dragon Age: Origins: no DLC or title update yet. State of Decay's DLC get installed, but playing them hasn't been checked yet.
⚠ Text input (a character's name) is Latin letters only.

⚠ Reminder
XDroid360 is only a launcher. You need your own copy of the game: its Xbox 360 disc image, or its folder from a console.

Have a question, or want to know what's next? GitHub Issues.