-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Run Windows Phone 7/8 games on modern Windows and Android.
WPR re-hosts Windows Phone XNA (and, increasingly, Silverlight) titles on
modern .NET. It takes an unmodified .xap package, IL-rewrites the game's
assemblies at install time to redirect WP / Silverlight / XNA API calls at
in-tree shims, then runs the game on FNA (XNA reimplementation) or an
Avalonia-based Silverlight runtime.
This wiki is the .NET 8 + Avalonia 11.3.9 fork: https://github.com/Bubbleshum/WPR.
Warning
Alpha software. main is not guaranteed to build cleanly at any given
checkpoint; active development happens on per-feature branches. Expect
games to crash, render incorrectly, or refuse to boot. See the
Compatibility List for the current status of each
title.
.xap / XNA folder
│
▼ LibraryScanner discovers packages
▼ ApplicationInstaller unpacks to %LocalAppData%\WPR\Apps\<ProductId>
▼ ApplicationPatcher Cecil-rewrites every .dll; keeps .dll.original
▼ XnaAchievementSeeder populates SQLite achievements DB
│
▼ (user clicks Run)
▼ XnaLauncher → ApplicationLaunch.Start XNA via FNA
▼ SilverlightLauncher.LaunchAsync Silverlight XAPs
See the Architecture page for the project layout, shim boundaries, and the reinstall-vs-rebuild rule (patcher changes only take effect after the affected game is reinstalled).
| Platform | Status | Notes |
|---|---|---|
| Windows 10/11 | Active development | Primary target — net8.0-windows10.0.17763.0
|
| Android | Experimental | Builds, but currently shows a white screen on launch on this fork |
| Linux | Untested | FNA / SDL2 / FFmpeg backend nominally supports it; no active testing |
| macOS | Not planned | — |
WPR ships its FNA / SDL2 / FAudio / FFmpeg dependencies next to the
executable (FNA3D.dll, SDL2.dll, FAudio.dll, FNWP72.dll, ffmpeg.exe).
No system Vulkan / DirectX setup is required.
| Page | What it covers |
|---|---|
| Architecture | How install / patch / launch / shims fit together |
| Building WPR | Compile from source in Rider or via CLI |
| Windows Setup | Run WPR on Windows; import a game |
| Android Setup | Android build path (experimental) |
| Controls | Touch, mouse-as-touch, keyboard accelerometer |
| Compatibility List | Per-game status |
| Update History | Running changelog of fixes / features / compat changes |
| Troubleshooting | Common failure modes; where to find per-game logs |
| FAQ | Project scope, legal, "is this an emulator?" |
| Contributing | Dev guide; coding conventions; shim file layout |
WPR tracks every Xbox LIVE–enabled Windows Phone title — 283 games — and rates each on this fork. So far 45 are tested; the rest are the to-do baseline:
- 35 ✅ Playable — e.g. Angry Birds, Asphalt 5, Assassin's Creed: Altaïr's Chronicles, Castlevania Puzzle, Final Fantasy, Fruit Ninja, Kinectimals, Mirror's Edge, Plants vs Zombies, RISK, Sonic 4 Episode I, Tentacles, The Sims Medieval.
-
5
⚠️ Partial — Fable: Coin Golf, Need For Speed Undercover, Star Wars: Battle for Hoth, Storm in a Teacup, The Sims 3. -
5 ❌ Broken — Minesweeper
[SL], Final Fantasy III, Penguins Can't Fly, Acedia: Indie Horror, Asphalt Pogonya. - 238 ❔ Untested — seeded from the canonical game list, not yet verified on this fork.
The full per-title table is on the Compatibility List — an interactive web edition that's searchable / sortable / filterable.
- Read Building WPR and clone the repo.
- Open
Src/WPR.slnin Rider (or VS 2022 17.8+). - Build & run
WPR.UI.Desktop. - Click Add in the WPR UI and point at a
.xapyou legally own. - Wait for install (the IL rewrite + achievement seed run once at this point), then hit Run.
If a game shows a black screen or crashes, the per-game log at
%LocalAppData%\WPR\Apps\<ProductId>\wpr_game_debug.log is usually the
fastest diagnosis — see Troubleshooting.
Bug reports, compatibility reports, and patches all welcome. See Contributing for the dev workflow and conventions (particularly the shim file-layout rule and the reinstall-vs-rebuild gotcha).
WPR does not include or distribute any commercial Windows Phone games.
Users are responsible for legally owning any .xap they import. WPR is an
independent preservation project and is not affiliated with Microsoft,
Xbox, or Windows Phone.