Skip to content
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

Upstream it to the kernel #36

Closed
yodatak opened this issue Feb 12, 2020 · 1 comment
Closed

Upstream it to the kernel #36

yodatak opened this issue Feb 12, 2020 · 1 comment
Labels
invalid/duplicate This doesn't seem right / already exists

Comments

@yodatak
Copy link

yodatak commented Feb 12, 2020

Thanks for this awsome work , do you think that it will posible to upstream it with help from the one who get xbox one controler into the kernel ?

@medusalix
Copy link
Owner

medusalix commented Feb 12, 2020

I don't think so, as xow is not a kernel driver. It runs completely in user space and is not designed to be used as a kernel module. Doing so would require a full rewrite of xow (in C). Getting drivers upstreamed is a whole different story, not even xpadneo is upstreamed yet. There are multiple reasons for xow to run in user space:

  1. Stability (if xow crashes your system will crash too)
  2. Maintenance (every single new update would have to be upstreamed)
  3. Support (why does feature xy work on kernel 5.5 but not on 5.4?)
  4. Security (a simple buffer overflow could lead to a full compromise of your system)

It doesn't make sense to create kernel drivers, unless there's no other way to access the hardware interfaces you want to use. In the case of xow, we've got libusb and uinput which allow us to stay 100% in user space. I hope this answers your question.

@medusalix medusalix added the invalid/duplicate This doesn't seem right / already exists label Feb 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid/duplicate This doesn't seem right / already exists
Projects
None yet
Development

No branches or pull requests

2 participants