Using funscripts on Linux is hard. Most software is released for Windows, and even if a Linux version exists, a different component in your software chain likely doesn’t support Linux. Here is the method I’ve used to get my funscript playback working, both with and without VR, on Linux. I use Valve Index and SR6.
Software needed
- SteamVR: Only supports X11. I couldn’t get this working on Wayland.
- XTPlayer: The only natively Linux funscript player I know of. However, I encountered a few problems and fixed them in my fork. I don’t have releases yet, but I’ll see if the developer wants these changes merged.
- vr-video-player: The only VR player that I could get working on Linux. DeoVR, Whirligig, and others either don’t start or have issues. Unfortunately this means no passthrough. Only works on X11.
xdotool: Only on X11. You might be able to work without this.
Process
- Boot XTPlayer and ensure your Funscript-compatible device works correctly by playing any video
- Start SteamVR and wait for homescreen
- Start playing your VR video of choice in XTPlayer, then double click the video to go fullscreen
- Alt tab to terminal, then start vr-video-player:
./vr-video-player $(xdotool selectwindow) # For rectangular video
./vr-video-player --sphere $(xdotool selectwindow) # For spherical video
- The
xdotool selectwindowcommand waits for you to click an X11 window. Click the fullscreened XTPlayer. - vr-video-player should now display the VR video while XTPlayer is controlling the playback + Funscript operation
- If you need to change the video / you go out from fullscreen, you have to restart vr-video-player
- If you want to jump to a different part in the video, you need to alt tab to XTPlayer. If you need to change your position / zoom level, you need to alt tab to vr-video-player.
- As a bonus, for playing VR videos on Linux without Funscripts, I recommend mpv. Start video playback using mpv, fullscreen the video, and use vr-video-player as above. This way you don’t have to use the more complicated XTPlayer that has more nuances than the more basic mpv.
Also note this earlier topic that is a bit outdated now: Simple Linux guide for TCode devices