-
-
Notifications
You must be signed in to change notification settings - Fork 16
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
Add PKGBUILD file #60
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.
Needs to install bin
scripts
Is there a reason why you build your own curl version? Why not use the version distributed on the system. With actual build files we can add it as system dependency. |
I only added the |
Makes sense. My cmake-magic is quite limited. How much effort would it make to make that a compile time switch via a variable? |
Probably not much effort at all. |
So how does this get tested? What kind of testing have you done? The move-from-root piece has me the most nervous because of the wide range of devices to test, and the potential to break the steam deck integration. One thing we may need to fix before this can go out that you may not have noticed in your testing is whether the device_license integration is working. Specifically, we'll want to move the license file to a directory owned by the user since I think right now it'll be owned by root, at least it is on my system. This issue describes where I'm planning on moving all files to conform with XDG standards as this becomes a user-service. |
About the points:
|
Just to clarify, the installer doesn't touch license files, they just get downloaded by the driver itself, but since the driver isn't running as root, it can no longer use its current location in |
Testing would be as simple as:
To test the IPC sending of the IMU data to external apps (e.g. vulkan layer or gnome extension), easiest would be to install breezy-vulkan and then uninstall the driver (breezy installs a locked verison of the driver) and re-install with this one. Then we can put in virtual display mode and test that the vulkan shader gets this data. |
Ah, then we need to put the licenses somewhere in the home directory. |
Yeah, that's where this issue came in.
|
I can verify that it runs and the mouse mode does indeed work. The license file however could not be downloaded (as expected actually). |
|
Why is this a PR to this repo? shouldn't this be in the AUR? |
There were a few more changes required to make it work. I think it is a good first step. Then the file can be submitted to the AUR. |
Just tried this today. I think we're missing a dependency:
|
I added
|
|
Dunno what the issue was but I probably shouldn't be trying this on Steam Deck anyway 😂. So I switched to Manjaro on my laptop and the build and install worked. But now I hit a segfault, it seems like it's during device_license parsing. |
Steam deck isn't really the target for this one, because the package needs to be reinstalled after every system update. Strange but hard to debug. The local directory |
Alright, so strangely I rebooted in Manjaro today to see if the license file had been put there, and got past that part, so... something we'll need to look into for fresh installs I guess. But I run into another issue: Driver has been re-enabled
Using hardware id 611f47e3bc636ef477b0a2a958540143c7b5790175c1376f0bdd98e065f08ff4
Feature productivity_basic granted.
Starting up XR driver
Waiting for glasses
Found device with vendor ID 0x1bbb and product ID 0xaf50
Found device with vendor ID 0x1bbb and product ID 0xaf50
Feature productivity_basic granted.
Device connected, redirecting input to mouse...
libevdev.libevdev_uinput_create_from_device: Permission denied With the |
I just checked which pid and vid this device stands for. You are using the rayneo. If you compare the rayneo udev file with the viture one, you can see there are sub systems missing. This is kind of on purpose, because I could not find any resource on that information and I don't own such a device. |
I got this with my XREALs too |
For xreals I just used the file you linked: #61 (comment) With the difference that the |
I don't think the udev file needs all those subsystems. Here's the XREAL udev I used to use before I moved to a systemd service (root access meant I no longer needed udev), and this worked fine: https://github.com/wheaney/XRLinuxDriver/blob/1b1d644d1f2e97f1bcc3a7dd870ef1f90f6d721f/udev/60-xreal-air.rules Note: the first line of that file is what allowed me to write mouse/controller movements, not necessary for reading from the device. But now that I think about it, I'll need something like that for VR-Lite mode. I have a feeling there's something else going on here. |
That would be your part, since I can't test the devices I don't have. I can confirm that the viture one works for me. |
Oh how dumb, I even noted in my previous comment:
And now that I take a closer look at the error, I see that it's actually this very same thing I was talking about: in mouse mode it creates a uinput to write out the mouse movement. So the issue I'm seeing is writing, not reading. We should add one more udev file that adds a rule for writing uinput:
|
One other question I had during the setup:
There's no way for the pacman install to do this, I'm assuming? Or would it automatically enable after a restart? |
That would apply to xreal right?
No, that is also something I looked for, but it seems that is by design. |
It should probably just be in its own generic xr-driver udev file, as it's needed for all glasses. The udev rule alone didn't solve the issue I was seeing, though. It turns out we also need to make sure the
With that module installed, I finally got mouse output working from the driver. We should add |
I still need to match product and vendor id, otherwise it would apply to everything else, not just xr glass related. |
I added the |
I don't think this makes sense. The uinput creation is not related to the glasses at all. It's a permission you're giving the user, so user processes can create and modify uinput files. |
I just tried out the latest and I didn't see this in the terminal:
So I'm not sure if any of the hook.install stuff happened. Is this just an issue with |
It works for me. A note: it only shows the message on install not on update, that means if you have it already installed and install it once again it doesn't show up. You have to remove it first and install it anew.
|
Hi,
here is the PKGBUILD file for the XR driver separated. I commited an update for the breezy-gnome file to depend on this.