diff --git a/README.md b/README.md index 2b7ebb2..2d991cb 100644 --- a/README.md +++ b/README.md @@ -29,20 +29,37 @@ A native VR video player for the **Valve Steam Frame**, playing flat 2D, 180°, Cinema Playback HUD

-## Install (prebuilt release) +## Installation -One command, from a terminal on the headset (Desktop Mode or over SSH): +Choose whichever method is easiest for you. **Developer Mode and root access are NOT required.** + +### Option A: From your PC over Wi-Fi (No typing on headset) + +If you are on your PC or Mac and your Steam Frame is on the same local Wi-Fi: + +- **Windows:** Double-click [`tools/install-from-pc.bat`](tools/install-from-pc.bat) and enter your headset's IP address. +- **macOS / Linux:** Run `./tools/install-from-pc.sh`. + +The script connects over your network, runs the installation, and adds Pixel VR Player to your Steam Library automatically. + +### Option B: USB Drive / MicroSD Card (Double-Click Installer) + +1. On your PC, download `pixelvr-linux-arm64.tar.gz` from the [Releases](../../releases) page onto a USB flash drive or MicroSD card. +2. Plug the USB drive into your Steam Frame and switch to **Desktop Mode**. +3. Open the USB drive in the file manager and double-click **`Install Pixel VR Player.desktop`**. +4. A confirmation window will appear when installation completes. Switch back to Gaming Mode and launch it from your Library! + +### Option C: One command in headset terminal + +In Desktop Mode on the Steam Frame, open **Konsole** (or over SSH) and paste: ```bash curl -fsSL https://raw.githubusercontent.com/Pixelplanet/Pixel-VR-Player/main/tools/install.sh | sh ``` -It downloads the latest ARM64 release, verifies its checksum, installs it to -`~/PixelVRPlayer`, and adds **Pixel VR Player** to your Steam library as a -Non-Steam Game. Restart Steam if it was already running. SteamVR must be -installed. +It downloads the latest ARM64 release, verifies its checksum, installs it to `~/PixelVRPlayer`, and registers **Pixel VR Player** as a Non-Steam Game in your Steam library. Restart Steam if it was already running. -Launch **Pixel VR Player** from your library, or directly: +Launch **Pixel VR Player** directly from your library, or from terminal: ```bash ~/PixelVRPlayer/run.sh # opens the in-headset file browser diff --git a/tools/Install Pixel VR Player.desktop b/tools/Install Pixel VR Player.desktop new file mode 100644 index 0000000..90f289e --- /dev/null +++ b/tools/Install Pixel VR Player.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Install Pixel VR Player +Comment=Install Pixel VR Player for Valve Steam Frame +Exec=bash -c 'SCRIPT_DIR="$(dirname "%k")"; if [ -f "$SCRIPT_DIR/install.sh" ]; then cd "$SCRIPT_DIR" && bash install.sh; else curl -fsSL https://raw.githubusercontent.com/Pixelplanet/Pixel-VR-Player/main/tools/install.sh | bash; fi; if [ $? -eq 0 ]; then command -v kdialog >/dev/null && kdialog --title "Pixel VR Player" --msgbox "Installation complete!\n\nPixel VR Player has been added to your Steam Library.\nYou can now return to Gaming Mode."; else command -v kdialog >/dev/null && kdialog --title "Pixel VR Player" --error "Installation encountered an issue.\nCheck ~/pixelvr-install.log or terminal output."; fi; read -p "Press Enter to close..." dummy' +Icon=steam +Terminal=true +Type=Application +Categories=AudioVideo;Player;VR; diff --git a/tools/install-from-pc.bat b/tools/install-from-pc.bat new file mode 100644 index 0000000..27d0517 --- /dev/null +++ b/tools/install-from-pc.bat @@ -0,0 +1,48 @@ +@echo off +setlocal enabledelayedexpansion + +echo =============================================================== +echo Pixel VR Player - Steam Frame Remote Installer +echo =============================================================== +echo This tool installs Pixel VR Player on your Valve Steam Frame +echo over your local Wi-Fi network directly from your PC. +echo =============================================================== +echo. + +set "FRAME_IP=steamframe.local" +set /p "INPUT_IP=Enter Steam Frame IP address [press Enter for steamframe.local]: " +if not "!INPUT_IP!"=="" set "FRAME_IP=!INPUT_IP!" + +echo. +echo Connecting to steamos@!FRAME_IP!... +echo (If prompted for a password, enter your SteamOS desktop password) +echo. + +where ssh >nul 2>&1 +if %ERRORLEVEL% neq 0 ( + echo [ERROR] SSH is not installed or not in PATH on this PC. + pause + exit /b 1 +) + +ssh -o StrictHostKeyChecking=no steamos@!FRAME_IP! "curl -fsSL https://raw.githubusercontent.com/Pixelplanet/Pixel-VR-Player/main/tools/install.sh | sh" + +if %ERRORLEVEL% equ 0 ( + echo. + echo =============================================================== + echo [SUCCESS] Pixel VR Player installed on your Steam Frame! + echo It is now in your Steam Library under Non-Steam Games. + echo =============================================================== +) else ( + echo. + echo =============================================================== + echo [NOTE] If connection failed, please ensure: + echo 1. Both your PC and Steam Frame are on the same Wi-Fi. + echo 2. SSH is enabled on the headset. + echo (In Desktop Mode, open Konsole and run 'passwd', + echo then 'sudo systemctl start sshd', or enable Dev Mode). + echo =============================================================== +) + +echo. +pause diff --git a/tools/install-from-pc.sh b/tools/install-from-pc.sh new file mode 100644 index 0000000..88a5d9b --- /dev/null +++ b/tools/install-from-pc.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +# Pixel VR Player - Remote installer from Mac / Linux to Steam Frame + +set -euo pipefail + +echo "===============================================================" +echo " Pixel VR Player - Steam Frame Remote Installer" +echo "===============================================================" +echo " This tool installs Pixel VR Player on your Valve Steam Frame" +echo " over your local Wi-Fi network directly from your Mac or PC." +echo "===============================================================" +echo "" + +read -rp "Enter Steam Frame IP address [press Enter for steamframe.local]: " INPUT_IP +FRAME_IP="${INPUT_IP:-steamframe.local}" + +echo "" +echo "Connecting to steamos@${FRAME_IP}..." +echo "(If prompted for a password, enter your SteamOS desktop password)" +echo "" + +if ssh -o StrictHostKeyChecking=no "steamos@${FRAME_IP}" "curl -fsSL https://raw.githubusercontent.com/Pixelplanet/Pixel-VR-Player/main/tools/install.sh | sh"; then + echo "" + echo "===============================================================" + echo " [SUCCESS] Pixel VR Player installed on your Steam Frame!" + echo " It is now in your Steam Library under Non-Steam Games." + echo "===============================================================" +else + echo "" + echo "===============================================================" + echo " [NOTE] If connection failed, please ensure:" + echo " 1. Both devices are on the same Wi-Fi network." + echo " 2. SSH is enabled on the headset." + echo " (In Desktop Mode, open Konsole and run 'passwd'," + echo " then 'sudo systemctl start sshd', or enable Dev Mode)." + echo "===============================================================" +fi diff --git a/tools/package-release.sh b/tools/package-release.sh index 26896e7..ab7ad6c 100755 --- a/tools/package-release.sh +++ b/tools/package-release.sh @@ -37,12 +37,18 @@ cp "${bin}" "${stage}/PixelVRPlayer/pixelvr" cp "${BUILD_DIR}/shaders/"*.spv "${stage}/PixelVRPlayer/shaders/" cp tools/run.sh "${stage}/PixelVRPlayer/run.sh" cp tools/install.sh "${stage}/PixelVRPlayer/install.sh" +if [[ -f "tools/Install Pixel VR Player.desktop" ]]; then + cp "tools/Install Pixel VR Player.desktop" "${stage}/PixelVRPlayer/Install Pixel VR Player.desktop" +fi if [[ -n "${VERSION}" ]]; then printf '%s\n' "${VERSION}" > "${stage}/PixelVRPlayer/VERSION" fi chmod +x "${stage}/PixelVRPlayer/pixelvr" \ "${stage}/PixelVRPlayer/run.sh" \ "${stage}/PixelVRPlayer/install.sh" +if [[ -f "${stage}/PixelVRPlayer/Install Pixel VR Player.desktop" ]]; then + chmod +x "${stage}/PixelVRPlayer/Install Pixel VR Player.desktop" +fi rm -f "${OUT_TAR}" tar -C "${stage}" -czf "${OUT_TAR}" PixelVRPlayer