Я использую планшет Lenovo X1 Yoga, и мне нужна специальная версия драйвера xf86-input-wacom, чтобы моя ручка работала по желанию. В этом процессе я обнаружил, что некоторые файлы заголовков содержат информацию о версии, которая не соответствует реальной установке. Мой вопрос заключается в том, как получить правильные файлы разработки, чтобы я мог скомпилировать этот драйвер из источника.
Что я сделал:
Я установил Ubuntu 16.04.3 LTS на моем Lenovo X1 Yoga Tablet. Перо работает, но создает некоторые ложные входные данные. Чтобы исправить это, мне нужно установить пользовательскую версию драйвера xf86-input-wacom: см. Обсуждение на https://sourceforge.net/p/linuxwacom/bugs/339/. Следуя инструкциям во втором комментарии на этой странице, я сделал следующее:
$ sudo apt-get install autoconf pkg-config make xutils-dev libtool xserver-xorg-dev libx11-dev libxi-dev libxrandr-dev libxinerama-dev libudev-dev
для установки файлов разработки (некоторые из пакетов уже установлены.)
$ git clone https://github.com/jigpu/xf86-input-wacom -b fix-bug-339
, чтобы получить нужную ветвь.
$ cd xf86-input-wacom
$ ./autogen.sh --prefix=/usr && make
для компиляции драйвера.
Поскольку у меня были проблемы, я вручную скопировал полученный драйвер
$ cp src/.libs/wacom_drv.so /usr/lib/xorg/modules/input/wacom_drv.so
После перезагрузки никакие wacom-устройства не видны для xinput. Проблема найдена в
/var/log/Xorg.0.log:
[ 11.725] (II) LoadModule: "wacom"
[ 11.725] (II) Loading /usr/lib/xorg/modules/input/wacom_drv.so
[ 11.726] (II) Module wacom: vendor="X.Org Foundation"
[ 11.726] compiled for 1.18.4, module version = 0.35.0
[ 11.726] Module class: X.Org XInput Driver
[ 11.726] ABI class: X.Org XInput driver, version 22.1
[ 11.726] (EE) wacom: module ABI major version (22) doesn't match the server's version (24)
[ 11.726] (II) UnloadModule: "wacom"
[ 11.726] (II) Unloading wacom
. Так почему же версия xinput ABI модуля, которая была только что скомпилирована из источника, была за версией X-сервера? Давайте посмотрим на
/usr/include/xorg/xf86Module.h:
#define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 4)
#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(20, 0)
#define ABI_XINPUT_VERSION SET_ABI_VERSION(22, 1)
#define ABI_EXTENSION_VERSION SET_ABI_VERSION(9, 0)
#define ABI_FONT_VERSION SET_ABI_VERSION(0, 6)
. Действительно, версия 22 соответствует этому заголовочному файлу, но фактическая версия моей новой установки Ubuntu 16.04.3 LTS - 24.
Итак, мой вопрос: как мне получить правильные файлы разработки, которые позволят мне скомпилировать драйвер, совместимый с версией Xorg, который поставляется с Ubuntu 16.04.3 LTS?
Кстати, я смог чтобы получить эту работу, если мой друг скомпилирует драйвер в своей системе Fedora с совместимыми версиями. Я просто скопировал его wacom_drv.so в / usr / lib / xorg / modules / input. Но в будущем я бы хотел поддерживать это без его помощи.
Я сделал еще несколько поисков, и я решил проблему. Насколько я могу судить, стандартная версия Xorg, которая поставляется с Ubuntu 16.04.3 LTS, соответствует пакетам с суффиксом
*-hwe-16.04
Когда я установил файлы разработки, я установил пакет
xserver-xorg-dev
Это было неверно. Я должен был установить
xserver-xorg-dev-hwe-16.04
Хотя я не уверен, как я, как пользователь, должен был это знать. Во всяком случае, установка этого пакета, перекомпиляция и повторная установка разрешили проблему.
Я сделал еще несколько поисков, и я решил проблему. Насколько я могу судить, стандартная версия Xorg, которая поставляется с Ubuntu 16.04.3 LTS, соответствует пакетам с суффиксом
*-hwe-16.04
Когда я установил файлы разработки, я установил пакет
xserver-xorg-dev
Это было неверно. Я должен был установить
xserver-xorg-dev-hwe-16.04
Хотя я не уверен, как я, как пользователь, должен был это знать. Во всяком случае, установка этого пакета, перекомпиляция и повторная установка разрешили проблему.
Я сделал еще несколько поисков, и я решил проблему. Насколько я могу судить, стандартная версия Xorg, которая поставляется с Ubuntu 16.04.3 LTS, соответствует пакетам с суффиксом
*-hwe-16.04
Когда я установил файлы разработки, я установил пакет
xserver-xorg-dev
Это было неверно. Я должен был установить
xserver-xorg-dev-hwe-16.04
Хотя я не уверен, как я, как пользователь, должен был это знать. Во всяком случае, установка этого пакета, перекомпиляция и повторная установка разрешили проблему.
Странно, у меня была такая же проблема с mtrack сегодня. Я исправил это, выполнив чистую проверку (git clone, чтобы быть точным) и повторный запуск autoreconf и ./configure. Но я до сих пор не могу понять, как очистить исходный каталог.
Странно, у меня была такая же проблема с mtrack сегодня. Я исправил это, выполнив чистую проверку (git clone, чтобы быть точным) и повторный запуск autoreconf и ./configure. Но я до сих пор не могу понять, как очистить исходный каталог.
Странно, у меня была такая же проблема с mtrack сегодня. Я исправил это, выполнив чистую проверку (git clone, чтобы быть точным) и повторный запуск autoreconf и ./configure. Но я до сих пор не могу понять, как очистить исходный каталог.