Skip to content
Bubbleshum edited this page May 22, 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

The short version (full table on the Compatibility List):

  • Playable on this fork: 3D Brick Breaker, Asphalt 5, Assassin's Creed: Altaïr's Chronicles, Bejeweled Live +, Brain Challenge, Bug Village, Final Fantasy, Fruit Ninja, Hydro Thunder GO, Plants vs Zombies, Sonic 4 Episode 1, Tentacles, Uno, Zuma's Revenge.
  • Partial: Castlevania Puzzle.
  • Broken: Minesweeper [SL], Penguins Can't Fly, Acedia: Indie Horror, Asphalt Pogonya, Dig It, Mirror's Edge.
  • Untested on this fork (worked on legacy WPR): see the legacy table on the compatibility page.

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