Skip to content

1.2.0

Choose a tag to compare

@devwithzachary devwithzachary released this 25 Sep 10:19
· 11 commits to main since this release
646ea12

LinuxOnVita v1.2.0 - Fullscreen DOOM, SD2Vita Hardware Power, ZRAM Swap & Complete User Guide

LinuxOnVita v1.2.0 transforms the PlayStation Vita into a fully interactive, memory-safe, and standalone handheld Linux computer running Linux 6.12. This release introduces edge-to-edge fullscreen DOOM scaling, hardware-level SD2Vita power and high-speed bus negotiation, compressed ZRAM swap to eliminate out-of-memory crashes, model-aware display backlight controls, and a comprehensive end-user guide.


🌟 What's New in v1.2.0

🎮 Fullscreen 960x544 Framebuffer DOOM (vita-doom)

  • Native Fullscreen Scaling: Overhauled fbdoom's display engine to scale 320x200 DOOM edge-to-edge across the entire 960x544 PlayStation Vita screen by default.
  • Zero-Copy High-Speed Blitter: Implemented direct memory mapping (mmap) of /dev/fb0 with optimized 3x horizontal pixel unrolling, precomputed 32-bit palette lookups, and scanline row caching (< 0.6ms frame blit time).
  • Controller Exit Confirmation & Quick Shortcut: Mapped Cross (✕) and Triangle (△) to confirm menu prompts (key_menu_confirm) and Circle (○) to cancel (key_menu_abort). Added universal START + SELECT instant exit shortcut.
  • Fixed Exit Loop Bug: Added stale evdev queue draining upon resumption in vita-input-mapper and fbkeyboard, eliminating the issue where exiting DOOM replayed queued keystrokes and immediately restarted the game.
  • Custom Aspect Ratios: Supports vita-doom -aspect for 4:3 pillarbox (725x544) and vita-doom -integer for 2x centered windowing (640x400).

💾 SD2Vita Game Card Power & High-Speed Support

  • Hardware Power Initialization: Added Syscon command 0x888 power-on invocation during boot so the physical Game Card slot receives full 3.3V VCC.
  • Pervasive Pad Signalling: Configured pad voltage register 0xE3100124 for 3.3V signalling and enabled cap-sd-highspeed in the sdif1 Device Tree node.
  • Automatic SD2Vita Auto-Mounting: Automatically detects microSD partitions on boot, creates /dev/vita/ux0, and mounts storage to /mnt/ux0.

🧠 Compressed ZRAM Swap & Memory Safety (vita-swap)

  • Zero-Latency RAM Compression: Enabled in-kernel LZ4 ZRAM swap (CONFIG_ZRAM=y, CONFIG_ZSMALLOC=y), expanding effective usable RAM from 512MB to ~768MB - 1GB.
  • OOM Elimination: Prevents Linux Out-Of-Memory (OOM) crashes during heavy tasks such as Alpine apk add package installations, Python scripts, or native C compilation.
  • Storage Swap Support: Automatic detection and mounting of optional physical swapfiles (/mnt/ux0/swapfile).
  • Interactive vita-swap CLI: Inspect real-time swap telemetry, format physical swapfiles, and adjust ZRAM allocation on the fly.

☀️ Model-Aware Display Backlight Control (vita-brightness)

  • DTB Loading Order Fix: Corrected loader model checks so PS Vita 2000 Slim consoles load vita2000.dtb with active I2C bus 1.
  • Hardware-Aware Tool:
    • PS Vita 1000 (OLED): Informs the user that the emissive OLED display is locked to 100% full brightness at boot and does not have an adjustable LCD backlight.
    • PS Vita 2000 (LCD): Controls hardware PWM backlight duty cycles via /dev/i2c-1 across 0x1F to 0xFF.

📚 Documentation & User Experience

  • Comprehensive User Guide (USER_GUIDE.md): Complete non-technical guide walking through touch typing, gamepad navigation, all built-in utilities, remote SSH access, and real-world software examples in Alpine Linux.
  • Alpine Chroot Isolation: Visual environment prompts (alpine@vita:~# in cyan) and one-shot command execution via alpine-chroot run <command>.
  • 2x2 Screenshot Gallery: Updated README with verified console screenshots covering console boot, fullscreen DOOM, Alpine package management, and vita-wifi.

📦 Installation

Option 1: Standalone VPK (Recommended for Most Users)

  1. Download LinuxOnVita.vpk.
  2. Transfer LinuxOnVita.vpk to your PS Vita via VitaShell (USB or FTP).
  3. Install the VPK in VitaShell and open the LinuxOnVita bubble on LiveArea.
  4. Select your Sony Memory Card partition (xmc0:, ux0:, or uma0:) and press Cross (✕) to install and boot!

Option 2: Full Release Zip

  1. Download LinuxOnVita-release-1.2.0.zip.
  2. Extract the archive and copy ux0/linux/ to your Sony Memory Card root.
  3. Install LinuxOnVita.vpk via VitaShell and launch.