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

xinput issues #323

Closed
slicer69 opened this issue Dec 16, 2016 · 21 comments
Closed

xinput issues #323

slicer69 opened this issue Dec 16, 2016 · 21 comments
Assignees

Comments

@slicer69
Copy link
Contributor

I tried to build the new Lumina snapshot (from Dec 12th) on Debian Linux and ran into a few problems, all with the new xinput code. The problems basically seem to boil down into two things:

  1. xinput isn't available in Debian, causing an dependency issue.

  2. The xinput website (as it is listed in the FreeBSD port) does not exist, so I cannot learn about xinput and download/build it.

I checked and it looks like other BSDs do not have xinput either, making Lumina more or less tied to FreeBSD-based systems until we can patch around the dependency. Maybe we can add platform checks to the code which basically makes xinput a FreeBSD exclusive feature for now?

@q5sys
Copy link
Member

q5sys commented Dec 16, 2016

xinput isn't available in Debian, causing an dependency issue.
xinput is a standard X component. See: https://www.x.org/releases/current/doc/man/man1/xinput.1.xhtml

I dont know what version of Debian you are running, but this should cover it: https://packages.debian.org/search?keywords=xinput

We have talked internally about different pages for different systems based on what is bundled, but that's something we wont be able to get to immediately.

@beanpole135
Copy link
Collaborator

I might be able to check/disable that page in lumina-config if the utility is not found. Let me look into that....

@beanpole135
Copy link
Collaborator

Fixed!

I added a quick runtime check for the "xinput" utility, and if it is not available then the input devices page in lumina-config will not be available.

40ecef4

@slicer69
Copy link
Contributor Author

"I dont know what version of Debian you are running, but this should cover it:"

I should have been more clear. I'm not talking about the xinput executable, but the xinput header file. Lumina fails to build on my system because of a missing compile-time dependency which is not provided by the xinput package. My problem is that the xcb/xinput.h header file is not available. Having a run-time check for the xinput program is a good run-time work around, but first I need to get Lumina to compile.

So far as I can tell, using apt-file, there is no xinput.h header file in Debian.

@beanpole135 beanpole135 reopened this Dec 16, 2016
@beanpole135
Copy link
Collaborator

Ok, that makes more sense now.
I think the xcb/xinput.h file is supposed to be included with one of the base XCB library packages. Not sure which one yet - looking now...

@beanpole135
Copy link
Collaborator

Yep - part of the base XCB library on FreeBSD:
http://xcb.freedesktop.org

@beanpole135
Copy link
Collaborator

It is not even in a separate library bundle. The main "libxcb" dist file looks like it includes it.

@q5sys
Copy link
Member

q5sys commented Dec 16, 2016

So far as I can tell, using apt-file, there is no xinput.h header file in Debian.
Debian splits header and other dev files into separate packages. I checked and the one that has xinput.h is : https://packages.debian.org/search?keywords=libxi-dev

@q5sys
Copy link
Member

q5sys commented Dec 16, 2016

Now that I think about this, there are several distros that split dev files into other packages. So this will probably end up being an issue that others face as well.

@slicer69
Copy link
Contributor Author

Not only that, but the header is in another location. On my system (with libxi-dev installed, thanks for tracking down the package), the XInput.h file is stored in the PREFIX/include/X11/extensions/ directory. Where it looks like Lumina's build process is looking in PREFIX/include/xcb/ for the file. We should probably have this in the search/includ path and mention the libxi-dev package dependency in the documentation.

@beanpole135
Copy link
Collaborator

The X11/extensions directory should be for the XLib libraries, not the XCB libraries (same effect - different libraries though)

@q5sys
Copy link
Member

q5sys commented Dec 30, 2016

Slicer69, can you let me know if other than xinput and libxi-dev that the list that appears in the DEPENDENCY file are correct for Debian?

Did you find that you needed anything else, if so I want to get that added to the list.

@slicer69
Copy link
Contributor Author

I think those were the only two dependency issues.
I have found that even with those deps in place, I still can't compile Lumina on Debian, but it appears to be a code/Qt issue. I think FreeBSD's ports are far enough ahead of Debian Stable, version wise, that I'm going to need to upgrade more libaries to compile newer versions of the desktop.

@jochenplumeyer
Copy link

Same error here on Debian Jessie, "xcb/xinput.h" does not exist in the distro.
From http://stackoverflow.com/questions/10881682/missing-xcb-header-in-debian-squeeze-wheezy
"It seems that XInput Extension is disabled by default because it's not yet stable enough; hence not packaged in Debian."
XCB is compiled without "--enable-xinput "

@slicer69
Copy link
Contributor Author

slicer69 commented Jan 4, 2017

That would explain all the xinput/xcb errors I run into when xinput.h has been added to the system. Thanks for confirming it's not just me messing up the build process.

@beanpole135
Copy link
Collaborator

Ok - Try this now: dc8e7ac

The new "NO_XINPUT" compile-time flag will disable the use of the xcb/xinput.h class (and disable the input device properties page in lumina-config) if your OS does not have that include file for some reason.

@beanpole135
Copy link
Collaborator

New release archive created for 1.2.0 which includes this change:
https://github.com/trueos/lumina/releases/tag/v1.2.0-p1

@slicer69
Copy link
Contributor Author

slicer69 commented Jan 6, 2017

I compiled the new Lumina patch and confirmed "qmake CONFIG+=NO_XINPUT LINUX_DISTRO=Debian" works on my Debian Stable system.

@FreeSlave
Copy link

Can you also update description of build process on https://lumina-desktop.org/get-lumina/#source-debian page?

@beanpole135
Copy link
Collaborator

I just disabled that xinput usage permanently.
The X11 methods for managing input devices are really not that useful - so they should be managed on the OS side of things instead ("moused" on FreeBSD/TrueOS, not sure about other OS's offhand).

@beanpole135
Copy link
Collaborator

e5f8ccd

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants