mirror of
https://github.com/DeeJanuz/frametop.git
synced 2026-10-06 07:00:14 +02:00
Start Frametop's SteamVR clients only once SteamVR is up (#6)
The pointer and gaze services need steamvr.service to be running (Requisite=), and ft-pointer, ft-screens, and ft-gaze connect as a background app before switching to overlay, so they never start a vrserver of their own. One started from the dev container never finds the headset, which left a reboot stuck in a loop.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 51b4e79318)
This commit is contained in:
1 parent
fc15a8a8a6
commit
2a9fbdebb4
6 files changed
+19
-3
No files matched your search
@@ -5,6 +5,7 @@ Documentation=file://@REPO@/README.md
|
||||
# Needs SteamVR's IPC; it starts and stops with SteamVR.
|
||||
After=steamvr.service frametop-input-relay.service
|
||||
PartOf=steamvr.service
|
||||
Requisite=steamvr.service
|
||||
|
||||
[Service]
|
||||
# Runs in the dev container (built there against its libraries). The helper process
|
||||
|
||||
@@ -567,7 +567,11 @@ int main() {
|
||||
|
||||
vr::EVRInitError err = vr::VRInitError_None;
|
||||
while (true) {
|
||||
vr::VR_Init(&err, vr::VRApplication_Overlay);
|
||||
vr::VR_Init(&err, vr::VRApplication_Background);
|
||||
if (err == vr::VRInitError_None) {
|
||||
vr::VR_Shutdown();
|
||||
vr::VR_Init(&err, vr::VRApplication_Overlay);
|
||||
}
|
||||
if (err == vr::VRInitError_None) break;
|
||||
std::fprintf(stderr, "waiting for SteamVR: %s\n", vr::VR_GetVRInitErrorAsEnglishDescription(err));
|
||||
std::this_thread::sleep_for(std::chrono::seconds(2));
|
||||
|
||||
Reference in new issue
Block a user