-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux support, from SlimeVR-OpenVR-Driver #7
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have the energy to properly review the unix socket code, but that should be okay since it's shared with the driver (and should thus already work and has been tested, barring the issue that butterscotch raised yesterday, which I just fixed)
I'll see if I can clean up the CI stuff myself before merging, so I don't think you'll need to do anything more.
Shit, CI is failing on linux because of the version embedding code.
i don't know why. this is kinda important though because I want all the releases to come from CI. EDIT: I can reproduce on WSL, so it's not limited to CI. |
|
that should still result in version.h being generated, just with a blank version. but in my local reproduction (where it is parsing the version correctly, even), version.h just... isn't generated at all. no error or anything, it just isn't there. |
re: your latest commit: i'm ahead of you there, the directories seem to be set correctly |
Windows side prints this warning...
|
That's the idea, yeah. Was done that way to ensure that locally, a new commit always causes the version to include it on build. There may be a better way to handle that part of the cmake setup (i.e. it doesn't seem to work on ubuntu, which I know because i tried doing |
okay, if I manually run the custom command, version.h does appear. so why doesn't it appear during the build...? i grabbed inotifywait and this is what it says happens:
so it appearently does get created (at some point), it just gets deleted again afterwards i guess? perhaps it's time to re-do how cmake handles the versioning bit. |
Oh because the makefile generator deletes |
yeah okay good that fixed that part of CI, but there's a bit of an error in the C++ that only shows up on linux: |
should have pinged me, I need to add the socket in the server lol |
@ImUrX ah. This also has one more thing that needs to be done that I apparently forgot to make a comment on the PR about. We need to set RPATH so that we actually use the copy of openvr that we bundle with the feeder. In the meantime, setting LD_LIBRARY_PATH at runtime should work as a workaround for testing. Heh, it probably also needs an update to use XDG_RUNTIME_DIR as well instead of hardcoding /tmp |
yeah, i mentioned funnbot about that, I can commit it myself tbh |
Okay, that should actually be everything, for real this time. Just needs testing (have some artifacts: https://github.com/funnbot/SlimeVR-Feeder-App/suites/10935047338/artifacts/553084572) and then I'll merge it in. Artifacts for the two platforms are getting merged in CI, I should probably fix that at some point, but it's okay for now, so I'm gonna punt on that. Not a blocker for this PR. |
facepalm i've been saying this is finally ready to test, except it isn't, because it still doesn't include the driver rename fix. I'll just do that rebase now. |
not auto created on linux, causing build to fail
hopefully this fixes linux build, and still works on windows.
This is (hopefully) the last of the issues caused by my code.
Still need to set RPATH to make things nice.
Modeled after SlimeVR/SlimeVR-OpenVR-Driver#35 Co-authored-by: Uriel <[email protected]>
This may need to be adjusted for distro packaging. >_>
b0d08cf
to
14cea43
Compare
Tested it and it works! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would be nice to also make the action run on PR
@@ -43,10 +43,12 @@ jobs: | |||
- name: CMake+vcpkg configure | |||
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo | |||
shell: cmd | |||
if: runner.os == 'Windows' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
change everything to use runner.os
or use matrix.os
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
punting to #10
No description provided.