Users can now install with a single command, either piped or from the
release tarball:
curl -fsSL .../tools/install.sh | sh
./install.sh
Tools/install.sh downloads the latest (or a pinned) ARM64 release, verifies
the published checksum, installs to ~/PixelVRPlayer, and registers
"Pixel VR Player" as a Non-Steam Game by editing shortcuts.vdf through an
embedded binary-KeyValues helper (existing shortcuts are preserved, the file
is backed up, and unsupported files are left untouched). Options cover
--dir, --version, --no-steam, --restart-steam and --uninstall. Upgrades never
touch ~/.config/pixelvr or ~/.cache/pixelvr.
Also:
- package-release.sh ships install.sh and a VERSION file in the tarball.
- The release workflow publishes .sha256 checksums and syntax-checks the
installer before building.
- Docs describe the one-command path for end users.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add ThumbnailCache: a worker thread extracts 256x144 thumbnails and media
metadata with FFmpeg, SBS-aware cropping, and an on-disk cache under
~/.cache/pixelvr/thumbs.
- Draw thumbnails on browser cards through a new rounded-corner thumb.frag
pipeline with per-card descriptor sets.
- Redesign the browser as a sidebar + card grid, with horizontal stick
navigation and direct shortcuts to Network/Home/Videos/Downloads/Drives.
- Expand Settings: screen curvature, UI text scale and colour, accent colour
and UI distance, organised into sections.
- Downloads window: per-job state, progress, speed and ETA, plus pause/resume
and cancel-active controls.
- Decoder: multi-threaded software decode and four V4L2 output buffers.
- docs: unified UI concept, redesign plan and mockups.
Release packaging is now reproducible: tools/run.sh is the shipped launcher,
tools/package-release.sh assembles the tarball, and a GitHub Actions workflow
builds it natively on ARM64 for every v* tag. Stop committing release tarballs;
they are attached to releases instead.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Restore trigger-to-select in the file browser (it is the intuitive gesture);
A remains an alternative for thumbstick/d-pad navigation. Both skip when the
laser is resting on a control-bar button, which owns that click.
- Grip now toggles that hand's laser pointer, SteamVR-style: turn one off to
drive a panel with the stick without the beam fighting it, and to pick the
pointing hand. The raycast and the beam both honour it per hand.
- Recenter moves from Grip to Bumper (saved grip bindings migrate), since Grip
is now the laser toggle.
- The downloads window replaces the browser panel instead of stacking over it,
and browser input is suspended while it (or the confirm dialog) is open.