feat/build: Linux Support - #1
Conversation
|
Hey, thanks for putting this together! One thing worth mentioning, the host audio helper (the C# side) is pretty deeply tied to WASAPI, but that's only in my mic-dev branch which hasn't been merged yet. It adds onboard mic, headphone support, and host side audio encoding for the Pico, so when it does merge it'll likely need some extra consideration for Linux. I don't have a Linux machine and have never really used it, so I'll look into this more tomorrow and get back to you. Thank you for your contribution. |
|
This is a draft PR, so I'm not even ready to consider merging this. I want to fully test my changes; so if you're putting together something for the microphone, I'll wait until you're done with your implementation, and then create a platform equivalent for Linux. Once that's done, I'll mark ready for review. |
|
Alright, I'm done with my implementation. I changed quite a few things (sorry). |
|
There is a caveat though. Right now in order to get the usagepage to bind to hid-generic, enabling ignore_special_drivers is required in the hid module. Also one more thing I noticed, while the DualSense Edge seems to be supported by the firmware, it only outputs the device ID for the normal DualSense. The DualSense Edge ID is |
|
Hi everyone, how is the linux support going? |
|
Sorry, I stopped working on this. There are quite a few issues between needing to make sure all the new windows additions that weren't built to be cross platform have a linux version. In addition, due to the way the extra features are tacked on as a HID usepage, it conflicts heavily with the hid-playstation kernel module shipped in Linux by default. Namely, the extra usepage won't bind to the hid-generic kernel module since hid-playstation has already handled the device. At that point it either requires udev hackery to resolve, or a custom kernel module, which both options require the user has superuser rights. |

Adds Linux as a supported platform for the builder.
Since the project relies on node-hid, and most of the windows specific code seems to already be guarded for win32 platform. These changes should be all that's required to support another platform.
I'm currently waiting on my pico to come in before I can properly test these, but I am at least able to get the application running as of right now.
The build target is an AppImage which should be the most universally supported format for Linux. No additional installer should be required as the user is expected to have an AppImage daemon manage this.
I'll update this later once I know this works.
See below running under hyprland:
