Skip to content
Bubbleshum edited this page Jun 27, 2026 · 5 revisions

WPR — Windows Phone Runner

WPR Banner

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.


What WPR does

.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).


Supported platforms

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.


Documentation

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

Game compatibility at a glance

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.


Getting started

  1. Read Building WPR and clone the repo.
  2. Open Src/WPR.sln in Rider (or VS 2022 17.8+).
  3. Build & run WPR.UI.Desktop.
  4. Click Add in the WPR UI and point at a .xap you legally own.
  5. 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.


Contributing

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).


Legal

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.


External links

Clone this wiki locally