• Stars
    star
    468
  • Rank 93,396 (Top 2 %)
  • Language
    C
  • Created about 6 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PSVita UDCD USB Video Class plugin

PSVita UDCD USB Video Class plugin

What's this?

This is a kernel plugin that lets you stream your PSVita screen to your computer via USB.

How does it work?

The plugin uses the SceUdcd module of the PSVita OS to setup the necessary USB descriptors to simulate and behave as an USB Video Class device (like a webcam or an USB video capture card).

The hardware color space converter of the PSVita's SoC is used to perform the conversion to the destination pixel format; then the USB controller directly performs a DMA transfer from the physical address of the resulting converted framebuffer, and therefore, saving CPU usage and power consumption.

Supported formats and resolutions

  • 960x544 @ 30 FPS and (less than) 60 FPS
  • 896x504 @ 30 FPS and (almost) 60 FPS
  • 864x488 @ 30 FPS and 60 FPS
  • 480x272 @ 30 FPS and 60 FPS
  • 1280x720 @ 30 FPS

Download and installation

Download:

Compilation

Installation:

  1. Copy udcd_uvc.skprx to your PSVita
  2. Add udcd_uvc.skprx to taiHEN's config (ur0:/tai/config.txt or ux0:/tai/config.txt):
*KERNEL
ur0:tai/udcd_uvc.skprx
  1. Reboot your PSVita.

Troubleshooting

If the video looks glitched, try to change the video player configuration to use the NV12 format or switch to another player (like PotPlayer or OBS). If the colors look wrong, set color range to full and color space to BT.601 (Rec. 601).

If you use Windows 10 you might have to change the Camera access permissions on the Privacy Settings.

On Linux I recommend using mplayer (mplayer tv:// -tv driver=v4l2:device=/dev/videoX:width=960:height=544).

Audio noise fix:

  • Disable USB power supply (Settings > System)

Note: Remember that if anything goes wrong (like PSVita not booting) you can always press L at boot to skip plugin loading.

Note 2: No, it doesn't stream audio. For that use a 3.5mm jack to jack adapter (a ferrite bead might help reduce the electromagnetic noise).

More Repositories

1

vita2hos

[WIP] PlayStation Vita to Horizon OS (Nintendo Switch OS) translation layer
C
1,101
star
2

ds4vita

Use a DS4 on your PSVita
C
175
star
3

fakemote

A Wii cIOS module that fakes Wiimotes from the input of USB game controllers
C
171
star
4

vita-linux-loader

Linux Loader for the PlayStation Vita
C
143
star
5

libvita2d

Simple and Fast (using the GPU) 2D library for the PSVita
C
136
star
6

vitastick

PSVita as a USB game controller
C
122
star
7

linux_vita

Linux kernel source tree (PlayStation Vita port)
C
88
star
8

GhidraVitaLoader

VitaLoader script for Ghidra
Java
81
star
9

sf2dlib

Simple and Fast 2D library for the Nintendo 3DS (using ctrulib)
C
77
star
10

psp-uvc-usb-video-class

PSP - UVC - USB Video Class
C
63
star
11

ds3vita

C
61
star
12

vita-libbaremetal

PSVita bare-metal payload library and sample
C
55
star
13

gxmfun

PSVita's 3D Graphics API (GXM) fun
C
53
star
14

libds4ps2

C
43
star
15

libftpvita

FTP Server for the PSVita
C
42
star
16

firm_linux_loader

Development has been moved to: https://github.com/linux-3ds/firm_linux_loader
C
41
star
17

viimote

C
41
star
18

play-switch

Play! - PlayStation2 Emulator (Nintendo Switch port)
C++
40
star
19

libds3ps2

C
36
star
20

SDL-3DS

SDL 3DS port
C
35
star
21

realboy-vita

Complete, Fast, Accurate, Game Boy/CGB/SGB Emulator (for the PSVita).
C
32
star
22

vita-baremetal-linux-loader

PSVita bare-metal Linux Loader
C
31
star
23

sftdlib

Simple and Fast Text Drawing library for the Nintendo 3DS
C
30
star
24

3DS-Linux-Loader

3DS Linux loader [DEPRECATED]
C
28
star
25

sfillib

Simple and Fast Image Loading library for the Nintendo 3DS (using sf2dlib and ctrulib)
C
26
star
26

tiny5

RISC-V Processor Implementation (RV32IM, TileLink-UL)
SystemVerilog
22
star
27

vitahelloworld

PSVita homebrew sample
C
21
star
28

desmume-vita

DeSmuME is a Nintendo DS emulator
C++
21
star
29

libsicksaxis

SickSaxis is a C library that lets you connect a Sixaxis or a DualShock3 to the Wii and read its data. It also lets you turn on and off the controller LEDs, enable or disable the rumble and get and set the controllers' bluetooth MAC address.
C
20
star
30

FTPS4

FTP server for PS4
C
19
star
31

vita-baremetal-loader

PSVita bare-metal payload loader
C
18
star
32

VITA-8

CHIP-8 emulator for the PSVita
C
17
star
33

arm9linuxfw

Nintendo 3DS: Linux <-> ARM9
C
14
star
34

vita_portlibs

Portlibs for the PSVita
Makefile
12
star
35

a9lh_linux_loader

arm9loaderhax Linux Loader for the Nintendo 3DS
C
11
star
36

3ds-arm9-linux

C
10
star
37

ds4pair_wii

DS4 pair tool
C
10
star
38

nunchuk2pi

Connect Wii nunchuk to the Raspberry Pi (Linux)
C
7
star
39

CHIP-3DS

CHIP-8 emulator for the Nintendo3DS
C
7
star
40

ds4wiibt-test

C
6
star
41

ya2d

Yet Another 2D library (for PSP)
C
5
star
42

PEC-OS

Operating System for the SISA Architecture
C
5
star
43

mload-mod

d2x-cios's mload mod with mload.txt support to load modules from SD at IOS startup
C
4
star
44

ds4wii_gyro_test

C
4
star
45

WiiCraft

Voxel game.
C++
3
star
46

ultra96v2_mipi_csi_imx219

Avnet Ultra96-V2 video pipeline for camera module with SONY IMX219 sensor using MIPI Adapter Mezzanine
Tcl
3
star
47

sixpair_wii

sixpair tool for the Wii
C
3
star
48

sisa-emu

SISA Architecture Emulator
C
3
star
49

vitareadelf

C
3
star
50

PS2InfoGB_rev6c_dsmod

C
2
star
51

xerpi

2
star
52

pspload

pspload - send executables to the PSP over the network
C
2
star
53

pspnetcat

C
2
star
54

miniomp

OpenMP runtime
C
2
star
55

NeHe-SFML2.0

NeHe tutorials with SFML 2.0
C++
2
star
56

ya2d_ps3

YA2D library for PS3
C
2
star
57

nidsparser

C++
1
star
58

FatFs-vita

FatFs with PSVita Memory Card support
C
1
star
59

ftpsp

FTP server for the PSP
C
1
star
60

PEC-SISA

SISA Architecture implementation
VHDL
1
star
61

Lua4PS3

Lua4PS3 - LuaPlayer for PS3
C
1
star
62

vita-libs-gen

vita-libs-gen (PoC)
C
1
star
63

intraFont-G-3DS

C
1
star
64

libds3wiibt

C
1
star
65

libds4wiibt

C
1
star
66

deko3d

C++
1
star
67

vita-elf-create

vita-elf-create (PoC)
C
1
star
68

play-switch-dependencies

C
1
star
69

circt_test

C++
1
star
70

play-switch-codegen

C++
1
star
71

Halide_test_circt

C++
1
star
72

Kamera

SFML and OpenGL tests
C++
1
star
73

play-switch-framework

C++
1
star
74

nunchuk-i2c-input-driver

Linux kernel driver to use Nintendo Wii's Wiimote Nunchuk as a joystick
C
1
star