Skip to content

1.3.0

Latest

Choose a tag to compare

@devwithzachary devwithzachary released this 28 Sep 15:04
· 3 commits to main since this release
6f3f38f

LinuxOnVita v1.3.0 - Turnkey Graphical Desktop, Debug Bootstrapper & Alpine 3.24

LinuxOnVita v1.3.0 is a major milestone release bringing a lightweight, memory-optimized graphical desktop environment to the PlayStation Vita framebuffer, an on-device bootstrapper debug mode, an upgraded base container to Alpine Linux v3.24, and critical baremetal loader stability fixes.


🖥️ Turnkey Graphical Desktop (alpine-desktop)

  • Lightweight IceWM Environment: Runs directly on the Vita framebuffer (/dev/fb0) via X11 (Xfbdev / Xorg fbdev) with zero 3D GPU acceleration required, consuming only ~25 MB RAM.
  • Handheld Analog Mouse Emulation (vita-input-mapper --desktop):
    • Left stick controls 360-degree pointer movement with dynamic non-linear acceleration and a sub-pixel fractional accumulator for pixel-perfect precision on checkboxes, icons, and menus.
    • Right stick controls vertical and horizontal scrolling (REL_WHEEL / REL_HWHEEL) with displacement scaling.
    • Ergonomic button mapping: Cross (✕) and R-Trigger for Left Click, Circle (○) and L-Trigger for Right Click, Square (□) for Middle Click, Start for Application Menu, and Select for Escape.
  • Touchscreen & Display Integration: Native touchscreen support with automatic coordinate calibration (0 1920 0 1080), direct touch pointer events, and long-press right-click emulation (EmulateThirdButton). Console fbkeyboard automatically suspends during desktop sessions.
  • Calibrated Proportional Typography (96 DPI): Pre-configured standard 96 DPI display scaling with tuned IceWM theme overrides and GTK settings (Sans 9) for clean readability on the 960x544 screen.
  • Bundled Handheld Application Suite:
    • Welcome & Control Guide (vita-desktop-welcome): Tabbed documentation for controller inputs, system telemetry, APK package management, and startup preferences.
    • Web Browser (badwolf): Lightweight WebKitGTK-based browser supporting modern HTML5, CSS3, and JavaScript within a handheld memory footprint.
    • Task Manager (xfce4-taskmanager / taskmanager): Full-featured GTK process monitor displaying real-time CPU and memory utilization graphs.
    • On-Screen Keyboard (matchbox-keyboard / toggle-keyboard): Floating virtual keyboard (layer: OnTop) that hovers above full-screen windows without carving or shrinking the 960x544 desktop workspace.
    • File Manager (pcmanfm): Fast tabbed file manager for managing files, removable storage, and desktop icons.
    • Text Editor (leafpad / mousepad): Modern text editor with syntax highlighting and line numbering.
    • Terminal Emulator (sakura): Multi-tabbed GTK terminal with customizable fonts and direct native CLI access for apk package management.
    • Image Viewer (feh): Lightweight image viewer for photos and screenshots.
    • Reboot to VitaOS (vita-reboot): Safe filesystem synchronization and direct reboot back to Sony VitaOS LiveArea with confirmation protection.

🔍 Bootstrapper Debug Mode & Diagnostic Logger (LinuxOnVita.vpk)

  • Dedicated Debug Mode ([SQUARE]): Added a dedicated Debug Mode boot option in the bootstrapper VPK based on GitHub Issue #12 to trace, display, and record every step of the Linux bootloader handover.
  • Granular Step-by-Step Reporting: Inspects system firmware version, hardware model identification (PCH-1000, PCH-2000 Slim, or Dolce PSTV), physical Sony memory card MSIF presence, storage mount statuses (ux0:, uma0:, xmc0:, imc0:), file integrity, and exact byte sizes for zImage, DTBs, payload.bin, and baremetal-loader.skprx.
  • Persistent Boot Logging (boot_debug.log): Writes all boot events with synchronous disk flushing (sceIoSyncByFd) to ux0:data/LinuxOnVita/boot_debug.log (with fallback to ur0:), surviving hard hangs and freezes.
  • Built-in On-Screen Log Viewer ([SELECT]): Scrollable viewer in the VPK main menu allowing users to inspect previous boot logs directly on the console screen without needing a PC or file manager.

📦 Alpine Linux v3.24 & Kernel Namespaces

  • Alpine 3.24 Upgrade: Upgraded base container from Alpine 3.20 to stable Alpine Linux v3.24 (alpine-minirootfs-3.24.2-armv7.tar.gz) with automatic repository migration for existing containers.
  • System V IPC & Security Namespaces: Enabled CONFIG_SYSVIPC=y, CONFIG_USER_NS=y, CONFIG_SECCOMP=y, and CONFIG_SECCOMP_FILTER=y in the kernel, enabling MIT-SHM shared memory acceleration in X11 applications and modern container compatibility.

🛠️ Hardware & System Diagnostics (vita-diagnostics)

  • Created on-device diagnostic program (vita-diagnostics / vita-diag) to troubleshoot Wi-Fi connection and SD card mounting issues.
  • Automatic storage candidate probing across exfat, vfat, and ext4 with recommended mount commands.
  • Wi-Fi RF scanning, authentication state analysis, and gateway ping connectivity testing.
  • Privacy Protection: Automatically redacts Wi-Fi passwords (psk="[REDACTED_FOR_PRIVACY]") across all logs.
  • Dual storage export: Saves reports to /mnt/ux0/, /mnt/ur0/, and /tmp/.

🐛 Bug Fixes & Stability Improvements

  • Baremetal Loader Standby Handover (Issue #12): Fixed an issue where launching Linux on PS Vita Slim (PCH-2000) or certain firmware versions caused an immediate black screen by intercepting both SCE_SYSCON_RESET_TYPE_POWEROFF and SCE_SYSCON_RESET_TYPE_SUSPEND in baremetal-loader.skprx.
  • Syscon Analog Stick Sampling (vita-buttons): Fixed a payload length calculation bug for Syscon command 0x180, restoring analog stick input reporting in Linux.
  • Blockdev Re-Mount Errors: Replaced legacy mount checks with /proc/mounts validation across system services, eliminating /dev/vita/ur0: Can't open blockdev errors.
  • OpenSSH Daemon Stability: Replaced disruptive daemon restarts in S45wifi with non-destructive status checks, preserving active SSH sessions on DHCP lease renewals.
  • Clean exFAT Unmounting: Added filesystem synchronization steps to /etc/inittab before and after service shutdown to eliminate unmount warnings on reboot.

📥 Installation & Updating

First-Time Installation:

  1. Download LinuxOnVita.vpk below and transfer it to your PS Vita via VitaShell.
  2. In VitaShell, highlight LinuxOnVita.vpk and press CROSS (✕) to install.
  3. Launch LinuxOnVita from LiveArea.
  4. Select your Sony Memory Card partition (ux0:, xmc0:, or uma0:) and press CROSS (✕) to install the bundled Linux files.
  5. Press CROSS (✕) to boot straight into Linux!

Updating from an Earlier Version:

  1. Install the new LinuxOnVita.vpk in VitaShell.
  2. Launch the app and press TRIANGLE (△) to update/refresh the Linux files (<mount>/linux/) on your memory card with the new v1.3.0 kernel and loaders.
  3. Press CROSS (✕) to boot into Linux, or press SQUARE (□) to boot in Debug Mode.