#!/bin/bash # --------------------------------------------------------------------------------- # Steam install recipe # Target: Void Linux (x86_64 glibc only) # Enables nonfree + multilib repos, installs Steam, 32-bit runtime libs, GPU drivers # Usage: GPU=amd|nvidia|intel ./steam.sh (default: amd) # --------------------------------------------------------------------------------- set -e GPU="${GPU:-amd}" if [ "$(xbps-uhelper arch)" != "x86_64" ]; then echo "Steam requires x86_64 glibc. Aborting." >&2 exit 1 fi echo "Enabling nonfree and multilib repositories..." sudo xbps-install -Sy void-repo-nonfree void-repo-multilib void-repo-multilib-nonfree sudo xbps-install -Sy # sync the newly added repos echo "Installing Steam and 32-bit runtime libraries..." sudo xbps-install -y \ steam \ steam-udev-rules \ libgcc-32bit \ libstdc++-32bit \ libdrm-32bit \ libglvnd-32bit \ mesa-dri \ mesa-dri-32bit \ vulkan-loader \ vulkan-loader-32bit \ alsa-lib-32bit \ libpulseaudio-32bit echo "Installing GPU drivers ($GPU)..." case "$GPU" in amd) sudo xbps-install -y \ mesa-vulkan-radeon mesa-vulkan-radeon-32bit \ mesa-vaapi ;; nvidia) sudo xbps-install -y nvidia nvidia-libs nvidia-libs-32bit ;; intel) sudo xbps-install -y \ mesa-vulkan-intel mesa-vulkan-intel-32bit \ intel-video-accel ;; *) echo "Unknown GPU '$GPU' (amd|nvidia|intel)" >&2 exit 1 ;; esac echo "Reloading udev rules..." sudo udevadm control --reload sudo udevadm trigger echo "" echo "✓ Steam installed. Log out/in (or reboot) before first launch." echo ""