Having a package for Debian (and later on Ubuntu) would be really awesome. It's already available for Arch Linux and I expect the list of packages to be growing over the next few weeks.
Nice project!
Initial thought: apart from ease of development, is there any reason to do it in user space?
I looked into uinput before to get a Bluetooth mfi controller working, but couldn't figure out which modules of the kernel did what.
I’ve built a few user space Linux drivers for SPI and USB devices. Was easy, I have consumed stable APIs exposed by usbdevfs, libudev, and a few others. No need to recompile OS kernel. Because Linux kernel API is stable, not only OS kernel upgrades don’t break my stuff, they don’t even require me to recompile my code.
Creating a kernel mode Linux driver is much harder in comparison.
Merging a driver into the mainline Linux is borderline impossible. Even Google with all their corporate resources and platinum membership of Linux foundation was unable to do so, instead they are supporting many thousands lines of patches: https://source.android.com/devices/architecture/kernel/andro...
It’s safe to assume you won’t be able to push your custom driver either. You’ll have to do it the same way as everyone else — patch locally. This is not trivial either, but this time the challenge is technical, not political, as Linux kernel doesn’t have stable API nor ABI: https://github.com/torvalds/linux/blob/master/Documentation/...
Until performance is an obstacle, writing drivers in user space first is all benefit. Quick prototyping, crashes don't bring down the system, choice of programming language, etc, etc.
It's this is the major factor limiting driver development on Linux, so it hardly needs another reason. But security is another thing that userspace implementation can do better on, no idea about this case specifically.
One of the major points for me was how cumbersome the installation process for kernel modules is. Now I can just do make install which works on most Linux distributions.
If Windows is the only platform (apart from the Xbox) where the dongle works, there's also not much of an option if you want to intercept valid traffic relatively easily.
[+] [-] samueloph|6 years ago|reply
[+] [-] Medusalix|6 years ago|reply
[+] [-] p410n3|6 years ago|reply
[+] [-] seba_dos1|6 years ago|reply
Thanks for working on this!
[+] [-] carc1n0gen|6 years ago|reply
[+] [-] martinmunk|6 years ago|reply
[+] [-] Const-me|6 years ago|reply
I’ve built a few user space Linux drivers for SPI and USB devices. Was easy, I have consumed stable APIs exposed by usbdevfs, libudev, and a few others. No need to recompile OS kernel. Because Linux kernel API is stable, not only OS kernel upgrades don’t break my stuff, they don’t even require me to recompile my code.
Creating a kernel mode Linux driver is much harder in comparison.
Merging a driver into the mainline Linux is borderline impossible. Even Google with all their corporate resources and platinum membership of Linux foundation was unable to do so, instead they are supporting many thousands lines of patches: https://source.android.com/devices/architecture/kernel/andro...
It’s safe to assume you won’t be able to push your custom driver either. You’ll have to do it the same way as everyone else — patch locally. This is not trivial either, but this time the challenge is technical, not political, as Linux kernel doesn’t have stable API nor ABI: https://github.com/torvalds/linux/blob/master/Documentation/...
[+] [-] loeg|6 years ago|reply
[+] [-] fulafel|6 years ago|reply
[+] [-] chewzerita|6 years ago|reply
https://github.com/chrippa/ds4drv
https://xboxdrv.gitlab.io/
https://github.com/kozec/sc-controller
I recently bought myself a dualshock4 for use with Kodi and RetroArch. No driver was needed, even for bluetooth!
Edit: formatting
[+] [-] Medusalix|6 years ago|reply
[+] [-] IlegCowcat|6 years ago|reply
Haha that's pretty cool
[+] [-] hnarn|6 years ago|reply
[+] [-] alufers|6 years ago|reply