Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 06:41, 22 June 2026 by Hyatt (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
vitaImmich
General
AuthorSadsArches
TypeOther Apps
Version1.0
LicenseN/A
Last Updated2026/06/18
Links
Download
Website
Source

vitaImmich is a native Immich client for the Sony PlayStation Vita (POC). Browse, search and map your whole photo & video library over Wi‑Fi, play videos on the Vita's hardware decoder, and back up the camera roll, all on a 12‑year‑old handheld.

Features

  • Timeline - the entire library shown as a justified, date-grouped grid (newest first), styled after the Immich web app.
  • Smart search - free-text CLIP search entered from the Vita's keyboard.
  • Places map - geotagged photos clustered on a world map; pan/zoom with the sticks and open any cluster as its own gallery.
  • Full-screen viewer - pinch/stick zoom and pan, swipe between photos, and hardware-accelerated H.264 video playback.
  • Camera-roll backup - scans the Vita's photos and videos, dedupes against the server, and uploads on request.
  • Server overview - storage usage, server/app versions, and per-device backup status.
  • Touch and buttons - the whole UI can be driven with the front touchscreen or the d-pad/sticks.

Installation

Requirements

  • A PS Vita running HENkaku/h-encore with VitaShell.
  • A reasonably recent Immich server reachable over the Vita's Wi-Fi.
  • An Immich API key (web UI > Account Settings > API Keys), or an email/password.

Instructions

Download the .vpk from Releases and install it with VitaShell.

Launch it once; it creates ux0:data/vitaimmich/config.txt.

Edit that file (VitaShell's FTP via SELECT makes this easy):

server=http://192.168.1.100:2283
apikey=your-immich-api-key

Behind a reverse proxy without NAT loopback, the domain can be pinned to the LAN IP so the Host header / TLS SNI stay on the domain but the connection goes straight to the server:

server=https://immich.example.com
apikey=your-immich-api-key
serverip=192.168.1.100

Relaunch.

Additional config.txt tunables for backup: syncdir=<folder> (repeatable) and syncmaxmb=<MB> (size cap; files over 512 MB are skipped by default, 0 disables).

Camera-roll backup

On startup the app mounts the Photos app's storage (photo0: / ux0:picture) plus ux0:video/CAMERA, scans for .jpg/.jpeg/.png/.mp4, and merges those files into the same date‑sorted timeline as your server library. A badge in each cell's corner shows status:

  • Blue‑grey dot - cloud only
  • Orange up‑arrow - local only
  • Blinking - queued / uploading
  • Green check - backed up (on both; shown once, as the server asset)
  • Red dot - failed

A background thread SHA‑1‑hashes each local file and asks the server which already exist (bulk-upload-check). Uploads never start on their own - open the sync overview (SELECT) and press X to queue every local‑only file. Tunables in config.txtsyncdir=<folder> (repeatable) and syncmaxmb=<MB> (size cap; files over 512 MB are skipped by default, 0 disables).

Limitations

  • TLS verification is disabled (no CA bundle ships) - prefer plain HTTP on a trusted LAN, or treat HTTPS as unverified.
  • Videos download in full to the memory card before playing (deleted after). Playback is the Vita's hardware decoder via SceAvPlayer, so only MP4 (H.264/AAC) plays - Immich's transcoded video/playback stream is used.
  • Backup is one‑way (Vita > server); deviceId is hard‑coded to "PS Vita" and uploads aren't added to an album.
  • Thumbnails stream in one at a time on a background thread (grey placeholder until loaded); hashing the camera roll fills statuses in gradually.

Controls

Timeline

D‑Pad/Analog - Move selection (hold to repeat)

L/R - Jump a month up/down

Triangle - Smart search

Cross - Open full screen

Map icon/Cloud icon (touch) - Open the Places map/server page

Select - Sync overview

Start - Exit

Places map

Left Analog/D‑Pad/Drag - Pan

Right Analog or L/R - Zoom out/in

Cross - Open the centred cluster as a gallery

Triangle - Toggle the lat/lon graticule

Circle - Back

Full‑screen viewer

Left/Right - Previous/next

Right Analog or L/R - Zoom, Left Analog pans

Cross - Play video/retry a failed load

Circle - Back

Video playback

Cross - Pause/Resume

Left/Right - Seek +/-10s

Circle - Stop

Screenshots

vitaImmich-01.png

vitaImmich-02.png

vitaImmich-03.png

Changelog

v1.0

  • First Release.

External links

Advertising: