pottedmeat7 / OpenVR-WalkInPlace

An OpenVR driver that applies virtual movement using a pedometer
GNU General Public License v3.0
109 stars 16 forks source link

SteamVR For Linux #50

Open pottedmeat7 opened 5 years ago

pottedmeat7 commented 5 years ago

Can now rebuild the entire project on linux but there is some undetermined issues. The Overlay will run although dashboard input is oddly inverted but still seems to work...

However after installing the driver in steamvr, VRServer crashes, not sure of cause.

Maybe if someone else interested in playing VR on Linux and interested in this project can check out more. Using qmake and cmake you can rebuild the entire project using the provided build.sh and run.sh will run the Overlay. Im copying all the driver resources and binaries directly into the SteamVR drivers path. I will make a script for that soon. Most of the steps are on the Readme.

The issue here is determining the problems of the Overlay Input and the crashing driver are due to OVRWIP system or just current SteamVR Linux support.

frostworx commented 4 years ago

I recently received my Cybershoes, which only have windows-drivers. As their developer is following you, I found your project and just gave it a try on arch linux I had to compile mlpack first. after that I had to add QMAKE_CXXFLAGS += "-fopenmp" to your pro file as the compiler complained with 51 | compiling without OpenMP support. This will almost certainly cause \ 52 | irreparable disaster. Either enable OpenMP support in your application (e.g., \ 53 | add -fopenmp to your compiler command line), or, recompile mlpack without \ 54 | OpenMP support."

I used system easyloggingpp-9.96.4-1 and pulled the openvr submodule from valve as submodule init didn't work in WalkInPlaceTabController.cpp:1943 and following lines I had to replace

if defined _WIN64 || defined _LP64

with

if defined (_WIN64) || !defined (_LP64)

apart from this everything built fine. I installed linuxdeployqt and created some "portable dir" with required libs and plugins not sure if the qtdata dir (like in the windows installer) is required so I manually created one with linux versions inside. I put the whole dir into my SteamVR/drivers/ directory not sure if I did something totally wrong but running the binary (both standalone and via ~/.steam/steam/ubuntu12_32/steam-runtime/run.sh ./AppRun) leads to this segfault: OpenVR-WalkInPlaceOverlay: tpp.c:82: __pthread_tpp_change_priority: Zusicherung »new_prio == -1 || (new_prio >= fifo_min_prio && new_prio <= fifo_max_prio)« nicht erfüllt.

haven't debugged anything yet as of lack of time and as I'm not even sure if this is supposed to work like that :) And sorry, that I couldn't even come close to help with your initial problem... but hey, a reply before issue's 1st birthday \o/

pottedmeat7 commented 4 years ago

This is helpful, thank you. I was just recently planning on starting to get this to work on Linux again. Last time I worked on it, I wasn't using mlpack, so I'm glad you figured how to build that! I was also getting issues when installing and running the driver and overlay. At the time I was thinking there might just be issues with openvr drivers and steam VR for Linux support.

I believe they have improved Linux support lately so I will also check it out soon and see if I can get any other results...

frostworx commented 4 years ago

glad to hear, I could help a bit, and great that you're still interested in linux compatibility. steamvr on linux is a moving target imho. all in all it is getting better and better, but it can happen once ina while that a (beta) update makes things worse. Just let me know if I can help you any further.

jtgans commented 3 years ago

So I've been giving the linuxoverlay branch a crack at running, and it seems like something really screwball is going on w.r.t. GLX, because when SteamVR is running, I can't start the overlay and get this error:

QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled

Oddly enough, if I use your run.sh with LD_LIBRARY_PATH set correctly, it starts up SteamVR, but then fails to start the overlay with exactly the same error.