Update 20160523
Forgot to update this at the end of the week. Busy with work. :)
Turns out I needed to kick the compositor right after submitting both texture refs ( I output a single target, but it updates in one pass instead of two ). After that I don't have Dutch orange as a background anymore. I should also clarify that my demo doesn't need any user setup to run with Vive at all once the driver config steps are done once. Unlike ye olde DK2 setup where you need to HUP the ovr daemon, or older SteamVr vrserver --keepalive.
Sadly as noted before the UV support for single target appears to not work under Linux SteamVR in the sense it applies the values incorrectly by splitting the single target twice. The same test in Windows SteamVR outputs as expected. Also the SteamVR compositor tends to have a window title as well. I could likely hack around the title issue using a WM hint mutation program like DevilsPie2 for GNOME if needed.
It almost works, rendering and compositing anyway...
For the curious this is as far as I got SteamVR ( beta ) and hellovr running under Linux at present. This is using my fork of OpenVR.
Right now my game is just drawing orange to the compositor, so stay tuned. I might hack it up this week if I get enough time. Before this was all extended mode hacks under Linux. :3
Poorly written up dump of what I had to do to get beta running
Shared in the hopes it helps someone. I'm not sure why I had to manually create json files and add paths, so beware only tested on my box. Also I may have forgot some change I did locally. :3
If you're using my OpenVR fork remember hellovr searches for the PNG in the '..' path. Also note if you copy your lighthousedb.json files from a Windows machine they should auto downgrade to the older SteamVR version. I didn't do an strace to see if some files such as chaperone_info.vrchap are even read, but be aware they exist on Windows SteamVR.
Lib path
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/thendrix/Steam/SteamApps/common/SteamVR/bin/linux64:/home/thendrix/Steam/SteamApps/common/SteamVR/drivers/lighthouse/bin/linux64
USB permissions
sudo chmod a+rw /dev/hidraw*
Steam/config/streamvr.vrsettings - ( May need to comment out bodys if this fails )
{
"jsonid" : "vrsettings",
"steamvr" : {
// "automaticDirectModeEnabled" : true,
// "requestDirectModeDisabled" : false,
// "requestDirectModeEnabled" : false,
"ipd": 0.0635,
"forcedDriver": "lighthouse",
"forcedHmd": "",
"requireHmd": true,
"displayDebug": false,
"enableDistortion": true,
"displayDebugX": 0,
"displayDebugY": 0,
"sendSystemButtonToAllApps": false,
"loglevel": 3
"background": "backgrounds/image_%d.png"
},
"driver_lighthouse": {
"disableimu": false,
"usedisambiguation": "tdm",
"disambiguationdebug": 0,
"primarybasestation": 0,
"lighthousename": "",
"maxincidenceangledegrees": 60.0,
"uselighthousedirect": true,
"dbhistory": false,
"originoffsetx": 0.0,
"originoffsety": 1.0,
"originoffsetz": 0.0,
"headingoffset": 0.0,
},
"driver_null" : {
// drivers are searched in alphabetical order, so you may need steamvr.forcedDriver="null" as well
"enable": true,
"id": "Null Driver",
"serialNumber": "Null 4711",
"modelNumber": "Null Model Number",
"windowX": 100,
"windowY": 100,
"windowWidth": 1920,
"windowHeight": 1080,
"renderWidth": 1344,
"renderHeight": 1512,
"secondsFromVsyncToPhotons": 0.1,
"displayFrequency": 90
},
"version" : "1"
}
Path registry setup
thendrix@xenophon ~/Steam/SteamApps/common/SteamVR/bin/linux64 $ ./vrpathreg --help
Commands:
show - Display the current paths
setruntime <path> - Sets the runtime path
setthis - Sets the runtime path to the runtime that vrpathreg lives in
setconfig - Sets the config path
setlog - Sets the log path
adddriver - Adds an external driver
removedriver - Removes an external driver
...
thendrix@xenophon ~/Steam/SteamApps/common/SteamVR/bin/linux64 $ ./vrpathreg
Runtime path = /home/thendrix/Steam/SteamApps/common/SteamVR/
Config path = /home/thendrix/Steam/config/
Log path = /home/thendrix/Steam/logs