Skip to content

CitraVR (Beta) Prerelease v0.6.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@amwatson amwatson released this 19 Jul 00:02

This is a HUGE update I am testing for a v0.6.0 release.

As a result, there may be issues, but I'd like to get them ironed out, so please report if so.

What's Changed

Azahar core upgrade

CitraVR now incorporates the Azahar emulator core up to 2126 RC2. This brings in a lot of upstream improvements, including:

  • Improved CPU, GPU, networking, renderer accuracy.
  • Reduced shader stutter, including Vulkan disk shader caching and improved parallel shader and pipeline compilation.
  • Improved GPU timing emulation and fixes for timing-sensitive games.
  • Better OpenGL and Vulkan rendering compatibility.
  • Improved Download Play, online-module, and system-applet support.
  • Artic Base support for running games and accessing data from a real 3DS over the local network.
  • System-file setup through the Artic Setup Tool.
  • Support for compressed .zcia, .zcci, .z3dsx, and .zcxi files.
  • Android multiplayer rooms, including private rooms, chat, and public-room browsing when an unofficial web API is configured.
  • Controller auto-mapping, turbo controls, combo-button support, and improved gamepad configuration.
  • Improved application management, including uninstalling updates or DLC, opening application-related folders, and deleting per-game shader caches.

UI & Input

  • Added an in-VR emulator settings menu to the Settings tab of the ribbon.
    • A subset of settings can now be adjusted without leaving VR.
  • Added a “Swap B and Y buttons” option for gamepads and Touch controllers.

Performance

  • Vulkan is now the default renderer, with asynchronous shader compilation enabled by default to reduce shader-related stalls.
  • Improved shader and pipeline-cache handling so cached work is preserved more reliably between sessions.
  • Improved performance and frame pacing
  • Expanded the VR statistics panel

Bug Fixes

  • Fixed VR immersive modes.
  • Fixed a Vulkan crash caused by attempting to create a secondary render window without a valid surface.
  • Fixed returning to the menu sometimes launching the same game multiple times.

Misc.

  • Added CitraVR update checking with stable and prerelease update channels.
  • Playtest builds can now be installed alongside the regular release and are clearly labeled “CitraVR (Playtest).”

Notes

  • Previously, CitraVR selected OpenGLES by default. This version selects Vulkan + async shader compilation by default. This setting should result in better first-time performance for many popular games, but may introduce graphics artifacts in others.
    • If you encounter an incompatibility with the defaults, let us know on he [issues page].(https://github.com/amwatson/CitraVR/issues) or on the CitraVR Discord.
    • If Vulkan causes a game-specific regression, try switching the Graphics API to OpenGL ES.
  • Encrypted games are no longer supported by the Azahar core. CitraVR still recognizes the .3ds extension but the game itself must be decrypted.
  • Asynchronous shader compilation can briefly display incomplete or incorrect graphics while a new shader finishes compiling. It can be disabled in Graphics settings if necessary.
  • Public multiplayer-room browsing requires an unofficial web API URL. Azahar does not provide an official public-room service.

Test Coverage Limitations (feedback wanted)

Since I'm looking for feedback, please note any issues you encounter on the issues page or on the CitraVR Discord.

  • All testing has been on Quest 3: no testing has been performed yet on Quest 2 or Quest Pro.
  • No exhaustive testing of new Azahar features, including
    • Support for compressed .zcia, .zcci, .z3dsx, and .zcxi files.
    • System-file setup through the Artic Setup Tool.
    • Multiplayer.

Thanks to the Azahar project and its contributors for their dedicated work to improve upon Citra.

Thanks to @qwtel for the original AzaharXR repo and for their help supporting the CitraVR Discord. AzaharXR has some great new features I hope to pull into a future release!