Vita3K

Vita3K is licensed under the GPLv2 license. This is largely dictated by external dependencies, most notably Unicorn.

General items (needed for all installations and systems!)

System Firmware can be found at Sony’s official website. Please go to https://www.playstation.com/en-us/support/hardware/psvita/system-software/ or search for the appropriate page for your region.

  • This file will be called PSVUPDAT.PUP.

Font Firmware can be fetched directly from Sony’s servers by using the following shortened link (https://bit.ly/2P2rb0r) or this direct link.

  • This file will be called PSP2UPDAT.PUP.

Windows

  1. Verify that your device meets our minimum requirements.
  2. Get the latest release named windows-latest.zip from our GitHub Releases page and place it somewhere you’ll remember.
  3. Locate your windows-latest.zip, right click, and press Extract all... to extract the zip file. Optionally, you can rename the windows-latest folder to Vita3K or something else.
  4. Open the windows-latest folder, and launch Vita3k.exe
  5. Go through initial setup. When you are asked to install the firmware files, please install BOTH, using either the buttons in the emulator OR the links at the top of this page.
  6. Vita3K is now ready to use!

Linux (Ubuntu, Debian, Fedora, and other non-Arch systems)

  1. Verify that your device meets our minimum requirements.
  2. Get the latest release named ubuntu-latest.zip from our GitHub Releases page and place it somewhere you’ll remember. Despite being named ubuntu-latest, this release should work on most, if not all Linux distributions.
  3. Locate your ubuntu-latest.zip and extract it. This can be done through the cli (mkdir ubuntu-latest; unzip ubuntu-latest.zip -d ubuntu-latest; rm ubuntu-latest.zip), though most file managers provide the ability to extract through a right click menu. Optionally, you can rename the ubuntu-latest folder to Vita3K or something else.
  4. Open the ubuntu-latest folder, and launch the Vita3K executable.
    • You may be required to add the executable permission to the executable. This can be done through the cli (chmod +x Vita3K), though most file managers provide the ability to mark a file as executable through Right Click -> Properties -> Permissions.
  5. Go through initial setup. When you are asked to install the firmware files, please install BOTH, using either the buttons in the emulator OR the links at the top of this page.
  6. Vita3K is now ready to use!

Linux (AppImage)

  1. Verify that your device meets our minimum requirements.
  2. Get the latest AppImage release (Vita3K-x86_64.AppImage) from our GitHub Releases page and place it somewhere you’ll remember.
  • With the AppImage build, updates will be handled with AppImageUpdate. You can grab their release from their GitHub Releases page.
    • You’ll likely want AppImageUpdate-x86_64.AppImage.
  • Using AppImageUpdate is as simple as launching it and selecting your Vita3K AppImage.
    • There may be a warning about signature validation. As of writing, we do not sign the AppImage release.
  1. Launch the AppImage.
    • You may be required to add the executable permission to the executable. This can be done through the cli (chmod +x Vita3K-x86_64.AppImage), though most file managers provide the ability to mark a file as executable through Right Click -> Properties -> Permissions.
  2. Go through initial setup. When you are asked to install the firmware files, please install BOTH, using either the buttons in the emulator OR the links at the top of this page.
  3. Vita3K is now ready to use!

Linux (Arch/AUR)

  1. Verify that your device meets our minimum requirements.
  2. Choose either vita3k-git or vita3k-bin to install from the AUR.
    • If you choose the -git version, Vita3K will be cloned and built on your system, and updates will be available from your AUR helper, which will check the git for updates.
    • If you choose the -bin version, then the binary release will be downloaded and installed to your system, and updates will be available from within the application or via the updater script (/opt/vita3k/update-vita3k.sh)
  3. Install the appropriate version using your AUR helper. This will often be one of the following:
    • yay: yay -S vita3k-git or yay -S vita3k-bin
    • paru: paru -S vita3k-git or paru -S vita3k-bin
  4. Run vita3k in your terminal.
  5. Go through initial setup. When you are asked to install the firmware files, please install BOTH, using either the buttons in the emulator OR the links at the top of this page.
  6. Vita3K is now ready to use!

MacOS

  1. Verify that your device meets our minimum requirements.
  2. TODO: all of this

Android

  1. Verify that your device meets our minimum requirements.
  2. Download the latest Android release from our Android GitHub Releases page.
  3. Locate the appropriate .apk file you have just downloaded, and install it using your file manager of choice.
  4. Launch Vita3K.
  5. Go through initial setup. When you are asked to install the firmware files, please install BOTH, using either the buttons in the emulator OR the links at the top of this page.
  6. Vita3K is now ready to use!

Installing Games

VITAMIN DUMPS ARE COMMERCIAL GAMES IN .VPK FORMAT. THEY ARE NOT, AND WILL NEVER BE SUPPORTED. .VPK SHOULD BE ONLY FOR HOMEBREW.

Q: What can I do about this?

A: Re-dump your game with a different tool. If you did not dump your game (or downloaded them from online), then you are engaging in digital piracyYou will NOT receive help from the Vita3K team for pirated games.

Installation Instructions

Open the emulator and select File, then the appropriate file format that your game is in.

  • NoNpDrm dumps are often in .zip format. These dumps contain the license in their files. By default, the contents are encrypted.
  • Decrypted dumps are often in .zip format. These dumps do not contain a license, and are decrypted already. These dumps often come from FAGDec or psvpfstools decryption.
  • TODO: more info about licenses and encrypting/decrypting?
  • .pkg games are encrypted, and are packages downloaded directly from Sony’s servers.
    • .pkg games REQUIRE a license (work.bin/.rif) or zRIF string. You can acquire the license from your physical PS Vita using the NoNpDrm plugin
      • A zRIF string is a base64 representation of the original license file. You can convert between them if you do so desire using this site.
    • If you acquire a license for a game that you do not own, this is Piracy. Do not ask us where to get licenses. You will not receive support from us.
  • IF YOU ACQUIRE A LICENSE FOR A GAME YOU DO NOT OWN, THIS IS PIRACY. DO NOT ASK US WHERE TO GET LICENSES. YOU WILL NOT RECEIVE SUPPORT FROM US.

IF YOU ACQUIRE A LICENSE FOR A GAME YOU DO NOT OWN, THIS IS PIRACY. DO NOT ASK US WHERE TO GET LICENSES. YOU WILL NOT RECEIVE SUPPORT FROM US.

Dumping Instructions

TODO: create dumping guide (Don’t use MaiDump or Vitamin!)


Texture Import/Export (PC only for now!)

Texture Import/Export allows textures to be exported and imported on the fly using Vita3K. This allows texture packs to be created for games running under Vita3K.

If you are just interested in using texture import/export and don’t care about details, see Using Texture Import or Using Texture Export

If you are interested in using HD texture packs, see Using HD Texture Packs


General Information

Under Vita3K, each processed texture is issued a unique hash. This hash is based on the the exact content of the first mip of the first face of the texture. Some information is also added (texture formatswizzle, dimensions and if it is gamma corrected) in order to calculate this hash. This hash is a 64-bit hash. When a texture is exported, the resulting filename is the hexadecimal representation of the hash for the texture as calculated by Vita3K.

For texture importing, when Vita3K attempts to load a texture, it first calculates the hash of the texture, and then proceeds to check if a texture with a filename matching the original hash exists within the import folder. If a file is found with a name matching the original hash, then Vita3K will instead load that texture.

Texture Import/Export is renderer-agnostic, meaning you can use it in both OpenGL and Vulkan.

TL;DR: Textures exported from texture import under the GPU tab do NOT have their original filename. Thus, when replacing textures, filenames matching Vita3K’s unique hashing system must be used.

Texture locations

Inside Vita3K, click File in the top left and then Open Textures Path. If for some reason this doesn’t work or takes you to the incorrect place, default locations are listed below.

Windows: Locate the folder with Vita3K.exe. There will be a folder titled textures.

MacOS: TODO

Linux$HOME/.local/share/Vita3K/textures/ by default if your distro supports XDG_DATA_DIRS. Else, it will be placed next to the Vita3K executable as a folder titled textures.

For all systems, exported textures will be in textures/export/TITLEID/ where TITLEID is the appropriate Title ID for your game.

For all systems, imported textures will be in textures/import/TITLEID/ where TITLEID is the appropriate Title ID for your game.

  • This is where you would place texture packs.

Using Texture Export

Texture Import/Export is disabled by default. To ENABLE texture import or export, open Vita3K and go to Configuration -> Settings -> GPU and scroll down. You can then tick the box to enable either import or export. If export is enabled, Vita3K will dump the textures as they are loaded/requested by the game. Thus, to dump a texture, you must see it in-game.

Here, you can also choose the format for your textures.

  • PNG will dump the rendered textures in .png format. This format is supported by most image viewers and devices, and is easily editable. However, it has a few drawbacks. .png may lose texture quality because of compression and conversion to 8-bit per component format. This format also does not support mipmaps and cubemaps.
  • DDS (DirectDraw Surface) contains the raw texture in .dds format. This kind of texture will NOT have compression applied. Additionally, DDS supports mipmaps and cubemaps. The main drawback of .dds is that it is not widely supported, but some image editors like GIMP are able to view and edit it.
    • It is worth noting that if the raw .dds texture was compressed, it will still be compressed in the dump.

For all systems, exported/dumped textures will be in textures/export/TITLEID/ where TITLEID is the appropriate Title ID for your game.

TL;DR: to export, tick the “Export Textures” box in Configuration -> Settings -> GPU. Exported textures will appear in the location referred to here, inside a folder corresponding to the Title ID of your game. The names of the textures are not the names inside the game files, but a custom name that Vita3K uses for textures internally.

Using Texture Import

Texture Import/Export is disabled by default. To ENABLE texture import or export, open Vita3K and go to Configuration -> Settings -> GPU and scroll down. You can then tick the box to enable either import or export. Vita3K will load textures in the import folder as they are loaded/requested by the game.

  • To import textures, first locate the appropriate textures folder for your platform.
    • Inside the textures folder, if an import folder does not exist, create it.
    • Inside the import folder, if a folder corresponding to your game’s Title ID does not exist, create it.
  • Add appropriately named textures to the corresponding Title ID folder.
    • The names of the textures should match up with Vita3K’s internal names for them, and not the names provided by the game files. As of writing, the only way to get these names is to export textures first and find what textures correspond to what filename.

Using HD Texture Packs

This tutorial assumes you have already installed your game.

  1. Locate the appropriate textures folder for your platform.
    • Inside the textures folder, if an import folder does not exist, create it.
  2. Extract your HD Texture pack.
    • More often than not, texture packs will end up in a folder with the Title ID for the game it is meant for. If this is not the case, create a folder with the appropriate Title ID inside the import folder.
  3. Move the folder with the Title ID to the import folder. Your files should look like this.
  4. Open Vita3K, go to Configuration -> Settings -> GPU and scroll down to tick the “Import Textures” box.
  5. Launch your game. The HD Textures should now be applied!

To disable HD Textures, untick the “Import Textures” box.

What are the system requirements I need to run it?

The requirements for running Vita3K are still not fully known and may change a lot during its current development stage. The absolute minimum requirements for running the program are:

PC

  • CPU: CPU with the AVX instruction set
  • GPU: An OpenGL 4.4 capable graphics
  • RAM: Minimum of 4GB RAM
  • OS: Windows 8/10/11, macOS and Linux (Must be a 64-bits OS)

Android

  • CPU: An AArch64 CPU
  • GPU: Vulkan 1.0 support
  • OS: Android 7+
See the Quickstart for more information.

What is Vita3K and where can I get it?

Vita3K is an open-source experimental Sony PlayStation Vita emulator for Windows, macOS, Linux and Android written in C++. It is currently capable of booting and playing commercial games. Please check the Compatibility List. The source code for Vita3K is hosted here on GitHub. You may grab the latest compiled revisions in Home Page.

Does Vita3K support commercial games?

Some. Please see Compatibility List. The emulator is in an early stage of development and a lot of features required to run many commercial games haven’t been implemented yet. Currently, many games made with GameMaker Engine work flawlessly. More games will be supported when the hardware/firmware emulation is accurate enough to run them. It all depends on the amount of developers working on this project, their skills, and free time, etc. Ignore any estimates and guesses you find out there.

How to get games?

For homebrew, get them via VitaDB. For commercial games, dump them with NoNpDrm. If the game is known to not work with NoNpDrm, you can optionally replace the executable with a FAGDec dump. Vitamin dumps are not supported.

How to run games?

First you have to install them. When you do, you only need to run the emulator and it will display a Game Select Screen.

How to install games?

Windows:
Right click on a .vpk, go to Properties and click “Change…” to associate Vita3K.exe with .vpk files. Double-clicking them should work after that. Alternatively, drag and drop games to Vita3K.exe.

Windows/Linux/macOS/Android:
Games can be installed via the emulator directly through the File > Install .pkg or File > Install .zip .vpk.
Alternatively, supply them as a command-line argument to the executable or install them manually by unzipping the .vpk to Vita3K’s home directory (see below).

Where are games installed?

They are installed in the Vita3K home directory, in /ux0/app/. Defaults are:
Windows: C:/Users/"username"/AppData/Roaming/Vita3K/Vita3k
Linux: ~/.local/share/Vita3K/Vita3K
Android: Android/data/org.vita3k.emulator/files

You can change it by editing config.yml‘s “pref-path” entry.

What is vitamin dump and how does it differ from a regular dump?

Vitamin is (or rather was) a software for dumping PS Vita games from the cartridge or from the internal storage. They generally have the .vpk extension. Vitamin dumps aren’t allowed/don’t work, because the data inside isn’t properly ripped. According to the developers of Vitamin, the software shouldn’t be used because it contains bugs that can sometimes corrupt game data or corrupt your save file. The Recommended dumping way is to use NoNpDrm or FAGDec with VitaShell. See the QuickStart guide.

Why can’t I play Vita3K?

See the Quickstart for more information. If you are using Dynarmic for CPU Backend, changing to Unicorn may work (in exchange for extremely slow speeds). If the Quick Start Guide and here do not solve your problem, please ask in the #help channel on the Discord Server. Be sure to report your OS, Vita3K version, and PC configuration when you do so.

What input devices can I use with Vita3K?

We currently support keyboard / mouse inputs and SDL2-compliant devices can be used. DualShock4 and DualSense are usually recommended. The rear touchpad is realized with right click.

Can I play multiplayer games online with real consoles or other Vita3K users?

Playing commercial games online with real PlayStation Vita systems would require the user to connect to PlayStation Network which isn’t very feasible due to obvious technical and legal limitations. That said, networking is partly implemented and you can play some homebrew multiplayer games like vitaQuake just fine.

Where to download firmwares?

Go to Help -> Welcome ->Download Firmware. This will decrypt the modules only. If you also need all firmware files, like fonts, go to Help -> Welcome ->Download Firmware Font Package.

How to play Vita3K on Steam Deck?

Using Vita3K on Steam Deck:

0. Switch to desktop mode (hold power button until you get options menu, select Switch to Desktop)
1. Open Konsole
2. run mkdir Vita3K && cd Vita3K && wget https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip (Link)
3. run unzip ubuntu-latest.zip
4. run chmod +x Vita3K && ./Vita3K

This should run Vita3K in desktop mode. (Suggested since running it in “game mode” often times compresses the aspect ratio to a tiny square in the middle of your screen)

How is progress?

See Blog or our social media accounts. For more cutting-edge progress, see our GitHub page (Pull Requests) and Discord Server in the #development channel.

Why do you work on game X instead of game Y?

Vita3K is a completely hobby-driven project. Developers do what they want to do, when they want to do it. Reports of problems are welcome.

I’d like to create a patch, contribute, or possibly become a developer. Where do I start?

That’s awesome, contributions are welcome! Check the Coding Style Guidelines, and Developer Information. Most dev discussion happens on Discord, so be sure to hit us up on our Discord Server in the #development channel. Find something you want to implement or improve (such as broken games, bugs, missing features, Roadmap goals, etc.), work on it, test your changes and send a Pull Requests. Also you can contribute by participating in testing. Please visit the compatibility repository and submit your test results.

There is some issue/feedback/comment that I want to report.

Good, you can do it through the GitHub Issue Tracker Please follow this guidelines before sending anything:
  • Check if your system matches all the system minimum requirements.
  • Check if the issue is meaningful for the team (e.g. “Uncharted: Golden Abyss doesn’t work” is obvious and therefore useless).
  • Search older issues/forum threads to see if your issue was already submitted.
  • Use understandable English. It doesn’t need to be perfect, but clear enough to understand your message.
  • While reporting issues, don’t forget to include details about your system (OS, CPU, GPU, etc.), as well as the Vita3K.log file.
  • Please do not post individual game issues. Please post them in the compatibility repository. There are currently so many games with problems that it is difficult to accept them all.

RxHarun
Logo