从源代码编译驱动程序时,xinput ABI版本错误

詹姆斯·帕斯卡列夫(James Pascaleff)

我正在使用Lenovo X1 Yoga平板电脑,并且需要自定义版本的xf86-input-wacom驱动程序才能使笔按要求工作。在此过程中,我发现某些头文件包含与实际安装不一致的版本信息。我的问题是如何获取正确的开发文件,以使我能够从源代码编译该驱动程序。

我做了什么:

我在Lenovo X1 Yoga Tablet上安装了Ubuntu 16.04.3 LTS。笔可以工作,但是会产生一些虚假的输入数据。要解决此问题,我需要安装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

重新启动后,xinput看不到任何wacom设备。问题出在

/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。

所以我的问题是,如何获得正确的开发文件,使我能够编译与Ubuntu 16.04.3 LTS随附的Xorg版本兼容的驱动程序?

顺便说一句,我能够通过让我的朋友在他的具有兼容版本的Fedora系统上编译驱动程序来使其工作。我只是将他的wacom_drv.so复制到/ usr / lib / xorg / modules / input。但是将来,我希望能够在没有他帮助的情况下保持这一点。

詹姆斯·帕斯卡列夫(James Pascaleff)

我进行了更多搜索,并解决了该问题。据我所知,Ubuntu 16.04.3 LTS随附的Xorg的默认版本与带有后缀的软件包相对应。

*-hwe-16.04

安装开发文件时,我安装了软件包

xserver-xorg-dev

这是不正确的。我应该已经安装

xserver-xorg-dev-hwe-16.04

尽管我不确定我作为用户应该如何知道这一点。无论如何,安装该软件包,重新编译并重新安装解决了该问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为 WiFi 加密狗安装驱动程序时遇到问题(编译使驱动程序错误:1)

来自分类Dev

哪个版本的ubuntu支持我的卡以及如何安装封闭源代码驱动程序?

来自分类Dev

编译RT2870驱动程序时如何克服此错误?

来自分类Dev

编译g13驱动程序时出现“错误添加符号:命令行中缺少DSO”

来自分类Dev

导入mongoDB jar驱动程序时出现Gradle错误

来自分类Dev

更改驱动程序的源代码并进行编译

来自分类Dev

文档的 mongdb c++ 驱动程序编译错误{}

来自分类Dev

ArrayIndexOutOfBounds错误彩票程序/无法编译的源代码错误

来自分类Dev

WDK,intellisense和C:“命令行错误:仅在编译C ++驱动程序时才能使用异常处理选项”

来自分类Dev

编译与netcdf相关的程序时Dwarf版本出现错误

来自分类Dev

在虚拟机中运行Qt程序时出现错误“未加载QSQLITE驱动程序”

来自分类Dev

尝试为HFS +安装Paragon ufsd Professional驱动程序时,内核配置无效错误

来自分类Dev

Eclipse(Mule ESB)错误:java.sql.SQLException:尝试加载驱动程序时出错

来自分类Dev

尝试为HFS +安装Paragon ufsd Professional驱动程序时,内核配置无效错误

来自分类Dev

安装打印机驱动程序时出现错误信息

来自分类Dev

安装wifi驱动程序时出现错误。我怎样才能解决这个问题?

来自分类Dev

make:*** [模块]尝试安装rtl8723de驱动程序时出现错误2

来自分类Dev

使用 Datastax Cassandra 驱动程序时出现无效类型错误

来自分类Dev

当存在相同硬件的多个驱动程序时,如何选择要在启动时加载的驱动程序的一种版本?

来自分类Dev

当存在多个相同硬件的驱动程序时,如何选择要在启动时加载的驱动程序的一个版本?

来自分类Dev

如何从源代码编译ath9k驱动程序?

来自分类Dev

Ojdbc驱动程序错误

来自分类Dev

在解决方案中部署驱动程序时发生驱动程序测试错误:系统找不到指定的文件

来自分类Dev

Selenium错误:此版本的ChromeDriver仅支持Chrome版本81 | 我的驱动程序版本是81.0.4044.69

来自分类Dev

如何移植在2.6内核中编译的linux驱动程序,而不在其他新版本的内核中编译

来自分类Dev

是否存在可用于在驱动程序C代码中测试Erlang版本的宏?

来自分类Dev

Ubuntu 12.04修补B43驱动程序编译错误

来自分类Dev

自制软件安装的驱动程序版本

来自分类Dev

识别ATI Catalyst驱动程序的版本

Related 相关文章

  1. 1

    为 WiFi 加密狗安装驱动程序时遇到问题(编译使驱动程序错误:1)

  2. 2

    哪个版本的ubuntu支持我的卡以及如何安装封闭源代码驱动程序?

  3. 3

    编译RT2870驱动程序时如何克服此错误?

  4. 4

    编译g13驱动程序时出现“错误添加符号:命令行中缺少DSO”

  5. 5

    导入mongoDB jar驱动程序时出现Gradle错误

  6. 6

    更改驱动程序的源代码并进行编译

  7. 7

    文档的 mongdb c++ 驱动程序编译错误{}

  8. 8

    ArrayIndexOutOfBounds错误彩票程序/无法编译的源代码错误

  9. 9

    WDK,intellisense和C:“命令行错误:仅在编译C ++驱动程序时才能使用异常处理选项”

  10. 10

    编译与netcdf相关的程序时Dwarf版本出现错误

  11. 11

    在虚拟机中运行Qt程序时出现错误“未加载QSQLITE驱动程序”

  12. 12

    尝试为HFS +安装Paragon ufsd Professional驱动程序时,内核配置无效错误

  13. 13

    Eclipse(Mule ESB)错误:java.sql.SQLException:尝试加载驱动程序时出错

  14. 14

    尝试为HFS +安装Paragon ufsd Professional驱动程序时,内核配置无效错误

  15. 15

    安装打印机驱动程序时出现错误信息

  16. 16

    安装wifi驱动程序时出现错误。我怎样才能解决这个问题?

  17. 17

    make:*** [模块]尝试安装rtl8723de驱动程序时出现错误2

  18. 18

    使用 Datastax Cassandra 驱动程序时出现无效类型错误

  19. 19

    当存在相同硬件的多个驱动程序时,如何选择要在启动时加载的驱动程序的一种版本?

  20. 20

    当存在多个相同硬件的驱动程序时,如何选择要在启动时加载的驱动程序的一个版本?

  21. 21

    如何从源代码编译ath9k驱动程序?

  22. 22

    Ojdbc驱动程序错误

  23. 23

    在解决方案中部署驱动程序时发生驱动程序测试错误:系统找不到指定的文件

  24. 24

    Selenium错误:此版本的ChromeDriver仅支持Chrome版本81 | 我的驱动程序版本是81.0.4044.69

  25. 25

    如何移植在2.6内核中编译的linux驱动程序,而不在其他新版本的内核中编译

  26. 26

    是否存在可用于在驱动程序C代码中测试Erlang版本的宏?

  27. 27

    Ubuntu 12.04修补B43驱动程序编译错误

  28. 28

    自制软件安装的驱动程序版本

  29. 29

    识别ATI Catalyst驱动程序的版本

热门标签

归档