VitaDock Plus (+)
VitaDock+ is a Linux distribution for Raspberry Pi used to create a PlayStation Vita docking station for video output to a TV.
Features
Hardware accelerated across all supported hardware
Low input latency and accurate colors
Lanczos upscaling to desired output resolution
Display power control across all models
Menu to switch between 960x544 @ 30FPS, 864x488 @ 60FPS, and Plugin Controlled modes
VitaDock+ themed with fancy splash screen and notifications for visual feedback when changing settings
Works on most Raspberry Pi models with a single image
Fits on 4GB SD cards
Nintendo Switch RCM injection
Cool experimental features (see below)
Tested Models
Model | Status | Details |
---|---|---|
Raspberry Pi Zero 2 W Rev 1.0 | Excellent | |
Raspberry Pi 4 Model B Rev 1.1 (4GB) | Excellent | |
Raspberry Pi 4 Model B Rev 1.2 (2GB) | Excellent | |
Raspberry Pi 4 Model B Rev 1.1 (2GB) | Excellent | |
Raspberry Pi 3 Model B Plus Rev 1.3 | Excellent | |
Raspberry Pi 3 Model B Rev 1.2 | Excellent | |
Raspberry Pi 2 Model B Rev 1.1 | Good | |
Raspberry Pi Zero W Rev 1.1 | Works | Latency makes games unplayable. See performance tips section below. |
To help me verify models please report to me how it is working for you and your exact model. You can get the exact model by opening a terminal with the run menu by running x-terminal-emulator
then entering cat /sys/firmware/devicetree/base/model
.
Requirements
- A hacked Vita: https://vita.hacks.guide/
- Latest official vita-udcd-uvc installed on your Vita: https://github.com/xerpi/vita-udcd-uvc
- A Raspberry Pi with power cable, display cable, and 4GB+ SD/MicroSD card (see tested models above): Associate Link
- Computer with an SD card slot or a USB SD card reader (often included in Raspberry Pi starter kits)
- USB mouse to change settings or connect Bluetooth audio
Installation
- Download the latest release of VitaDock+: https://github.com/SilentNightx/VitaDockPlus/releases/
- Download and install Raspberry Pi Imager for your operating system: https://www.raspberrypi.org/downloads/
- Plug in the SD card to your computer and run the Raspberry Pi Imager.
- When asked to choose OS select the option to use a custom image and select the VitaDock Plus VX.img you downloaded.
- Choose the SD card to write it to (make sure to select the right one).
- Click Write. Once it is done it will tell you to remove the SD card.
- Plug the SD card into your Pi and power it on. Depending on your Pi model it might take awhile to load as it automatically configures the image for you on first boot. If the Pi doesn't boot see the troubleshooting section below.
Any time you see the VitaDock+ desktop you can plug your Vita in through USB to get video output.
Updating
Check back here for updates and rewrite the image when there is one. Data stored on the dock will be overwritten but this isn't really a distribution you're meant to store data on in the first place.
Recommended Plugins
MiniVitaTV by TheOfficialFloW: https://github.com/TheOfficialFloW/MiniVitaTV
Allows the PS Vita to run like a PS TV, enabling DualShock 4 controllers to be connected and makes games load their PS TV control schemes.
PSV-VSH-Menu by joel16: https://github.com/SilentNightx/PSV-VSH-Menu/releases/tag/3.50
Allows you to set processor states for games, overlay FPS counter, and more. Checking the FPS of a game can be helpful when using VitaDock+ so you can decide what mode you want to use (HD @ 30 or SD @ 60).
Physical Power Button Feature
Connect a physical power button to Pin 5 (GPIO 3/SCL) and Pin 6 (GND).
Nintendo Switch RCM Injection Feature
Name your payload payload.bin
and place in /boot/nx/. When the Pi detects a Switch in RCM mode over USB it will automatically inject the payload within 3 seconds.
Cases
https://www.thingiverse.com/thing:3942821
https://www.thingiverse.com/thing:3502645
https://www.thingiverse.com/thing:4609317
https://www.tinkercad.com/things/b0GQwqVYNPP
Performance Tips
Overclocking and disabling Bluetooth on low powered Pis can also help. Good starting overclock values:
Model | arm_freq | core_freq | gpu_freq | sdram_freq | over_voltage | Cooling Required |
---|---|---|---|---|---|---|
Raspberry Pi 1 Model A & B | 1000 | 450 | 6 | |||
Raspberry Pi A+ / B+ / Compute Module | 1100 | 450 | 450 | 6 | Yes | |
Raspberry Pi Zero / Zero W | 1100 | 450 | 6 | |||
Raspberry Pi 2 v1.1 | 1000 | 500 | 2 | |||
Raspberry Pi 2 V1.2 | 1300 | 500 | 4 | |||
Raspberry Pi 3 & Compute Module 3 | 1300 | 500 | 4 | |||
Raspberry Pi 3 A+ / B+ / Compute Module 3+ | 1500 | 4 | ||||
Raspberry Pi 4 | 2100 | 750 | 6 |
Data from: https://www.tomshardware.com/how-to/overclock-any-raspberry-pi
I do not take responsibility for anyone damaging their hardware with overclocking.
Troubleshooting
Boot failure:
- Wait awhile. Some Pis can take up to 10 minutes to boot on the first boot.
- Try again by forcing the power off.
- Make sure you are using a good power supply.
- Try unplugging the HDMI cable and plugging it back in.
- If your Pi has two HDMI ports try the other one.
- Reimage the SD with the recommended imaging software.
- If you're running a newer model Pi it's possible it's a revision VitaDock+ doesn't support yet. Join our Discord server and let us know.
Vita connection issues:
- Reboot the dock and the Vita and try again. Check the USB cable, it can make a difference.
- Make sure you have the latest official vita-udcd-uvc.
- Make sure your Pi has a good enough power supply.
- If you use a lot of plugins disable plugins you don't need to see if it increases your connection success rate.
- There is a correlation between long Vita boot time and vita-udcd-uvc connection success rate. If you have a lot of storage on your Vita it can take a long time to boot. If you are using StorageMgr for your storage consider switching to to yamt-vita or yamt-vita-lite to decrease boot times and increase connection success rate.
- If using an overclocking plugin on the Vita try setting it to 444 in the LiveArea to see if it helps connection issues.
Screen flicker:
- Try setting your dock output resolution to the native resolution of your display.
- Try a different display. Some TVs have issues displaying Linux at any resolution other than native which is what I discovered on my TCL Roku living room TV.
Screen tearing:
- Sometimes this happens if you have the Vita plugged in when you boot the Pi. Simply unplug it and plug it back in.
Before asking for help try both images.
For Advanced Users
Username is pi
Password is raspberry
Do not connect VitaDock+ to the internet without changing this.
Use the run menu to access standard programs:
pcmanfm
to open file manager
x-terminal-emulator
to open terminal emulator
menulibre
to open menu editor
If you want to install more programs first expand the filesystem with raspi-config
to fill the rest of your SD card.
Experimental Features
The features below are still in testing and may not work properly. Support will not be provided for them.
Nintendo Switch Video Output With SysDVR
This feature allows you to connect a Switch that has SysDVR running in USB mode to get a video output. You need SysDVR 5.3 specifically installed on your Switch and you must be in a game that supports SysDVR when you connect. Doesn't work on Pi 1 or Pi Zero 1. See https://github.com/exelix11/SysDVR for more information.
Sharpscale Mode
This feature allows you to display native 720p from a Vita using the Sharpscale plugin. You'll need Sharpscale installed on your Vita along with a 1280Γ720 resolution patch plugin for a game and you need Unlock Framebuffer Size turned on in the Sharpscale config. See https://forum.devchroma.nl/index.php?topic=112.0 for more information.
Credits
Original VitaDock Team: Bu (m0tie), ZoidBerg, his wife Si (icon and video), David-OX, Crash, and myself.
Special thanks to Xerpi (vita-udcd-uvc), TheOfficialFloW (various Vita exploits), Team Molecule (HENkaku), Relative (rpi-nx-rcm), and exelix11 (SysDVR).