Closed mnjm97 closed 4 months ago
I got similar feedback from one other person that the device can't be used by other processes because I'm holding the connection open. I was thinking about adding a "full stop" to the driver that would just disconnect until being turned back on. I'll use this issue to track that fix.
maybe add a systemctl stop/start within the xreal_driver_config for the -d/-e flags?
I think it'll just be two different states: disabled and stopped. Disabled leaves the driver running and detects a device being connected. Stopped leaves the driver off, not connecting devices, until un-stopped.
I wouldn't need to kill the daemon. I actually used to have disabled behave the way you described, the daemon didn't poll for devices when disabled. I changed that when I added state because then decky started to report on the connected device. So I just need to bring that logic back and add a new flag for stopped.
This would be resolved by an update I made a month or two ago: the driver no longer holds open a connection to devices when disabled.
even with "xreal_driver_config -d" the only way to get monado to successfully run with the xreal airs connected is to run "systemctl stop xreal-air-driver.service"
I have been troubleshooting this over here https://gitlab.freedesktop.org/monado/monado/-/issues/313
the main problem, it seems, when the service is running the Airs do not enumerate all of its interfaces. according to Tobias Frisch "The Nreal Air should always enumerate three entries with interface being: 3, 4 and 5." however, with the service running the Airs only list interface number 5, which causes monado to fail.