首页 > 系统相关 >在 ArchLinux 上完美使用高漫 M6 数位板

在 ArchLinux 上完美使用高漫 M6 数位板

时间:2024-04-29 19:55:05浏览次数:18  
标签:高漫 HUION USB kernel ArchLinux M6 digimend DEVICE ID

没想到这个问题还能产生第三篇博客。

前言

2022 年和 2023 年我针对这个问题写了两篇博客(见 此处此处),非常高兴能够看到博客帮到了一些网友。那个时候我的系统是 Kubuntu 22.04。今年换到 Arch 之后,发现原先使用的 digimend dkms driver 的 fork ( https://github.com/inochisa/digimend-kernel-drivers/tree/huion-kd200 ) 没法正常通过编译了。我完全不懂 Linux 内核,猜测可能是因为 Arch 使用的内核版本比 Ubuntu 新得多导致的。我同时注意到主仓库 ( https://github.com/DIGImend/digimend-kernel-drivers ) 是可以正常通过编译的,于是我参考了 @inochisa 的 fork 手动修改了主仓库的代码然后进行编译,成功适配了高漫 M6。下面简单介绍一下过程。

AUR 中有一些用 digimend 打的包(见 https://aur.archlinux.org/packages?O=0&K=digimend ),但是都已经过时了。我在撰写本文时,这些包的最后更新时间是 2021 年 5 月。因此我们不使用。

本文假设你使用最新的 ArchLinux 系统。另外我使用的桌面环境是 KDE Plasma 6,显示服务器是 Wayland。我不确定 Manjaro 等下游发行版是否同样可用。其实流程都是差不多的,建议读者先看一下 2023 年的那篇博客。

更新系统

sudo pacman -Syu

安装 dkms

sudo pacman -S dkms

安装 linux-headers

默认条件下,这个包应该是自动安装的。你可以执行

sudo pacman -S linux-headers

来确保安装了这个包。本文撰写时,这个包在我的系统中的版本是 6.8.7.arch1-1

克隆 digimend-kernel-drivers 主仓库

git clone [email protected]:DIGImend/digimend-kernel-drivers.git
cd digimend-kernel-drivers

本文撰写时,该仓库的最新 commit 是 edd8dc

修改代码

一共有 4 个文件需要修改。也可以参考 https://github.com/DIGImend/digimend-kernel-drivers/pull/644/files

hid-ids.h

在第 11 行(#define USB_DEVICE_ID_HUION_TABLET2 0x006d)后新增

#define USB_DEVICE_ID_HUION_TABLET3 0x0064

hid-uclogic-core.c

搜索 USB_DEVICE_ID_HUION_TABLET2 字段,该字段应当位于 static const struct hid_device_id uclogic_devices[] 的定义中:

{ HID_USB_DEVICE(USB_VENDOR_ID_HUION,
            USB_DEVICE_ID_HUION_TABLET2) },

在这两行后面添加

{ HID_USB_DEVICE(USB_VENDOR_ID_HUION,
            USB_DEVICE_ID_HUION_TABLET3) },

hid-uclogic-params.c

搜索 USB_DEVICE_ID_HUION_TABLET2 字段,该字段应当位于 uclogic_params_init 函数中一个很长的 swich 语句当中:

case VID_PID(USB_VENDOR_ID_HUION,
        USB_DEVICE_ID_HUION_TABLET2):

在这两行后面添加

case VID_PID(USB_VENDOR_ID_HUION,
        USB_DEVICE_ID_HUION_TABLET3):

xorg.conf

找到第 9 行:

MatchUSBID "5543:006e|256c:006e|256c:006d"

将其修改为:

MatchUSBID "5543:006e|256c:006e|256c:006d|256c:0064"

编译安装

确保你位于 digimend-kernel-drivers 目录中。

(可选)如果先前安装过 digimend 驱动,则要执行

sudo make dkms_uninstall

然后执行

sudo make dkms_install

来编译并安装驱动。

后续处理

重启系统,连接数位板,查看数位板是否工作正常。

你可以在 2023 年的那篇博客中找到一些软件推荐。

后记

晚两天我会尝试把改过的代码打个包发出来的。

标签:高漫,HUION,USB,kernel,ArchLinux,M6,digimend,DEVICE,ID
From: https://www.cnblogs.com/eslzzyl/p/18166553

相关文章

  • Mac(M1)配置基于ARM64的Tensorflow
    以下步骤最好先执行condaconfig--remove-keychannels 删除conda镜像源pipconfigunsetglobal.index-url 删除pip镜像源然后接下来的步骤最好挂上梯子。1.下载miniforge:从https://github.com/conda-forge/miniforge上找到arm64(AppleSilicon)版本进行下载,下一步下一步的......
  • Linux 64位内核(arm64)驱动兼容32位应用程序(armhf)的ioctl接口
    最近,公司来了一次硬件升级,开发平台从全志T3(armhf)升级到全志T527(arm64),平台迁移后,想直接使用原来动态库和应用程序从而减少开发量,用户态大部分接口都运行正常,唯独ioctl接口无法调用成功。如果要成功移植要做到以下几点:1.驱动要同时实现unlocked_ioctl和compat_ioctl。str......
  • 【译】宣布在 Visual Studio 17.10 预览2中为 ARM64 架构提供 SSDT
    我们很高兴地宣布在ARM64中为VisualStudio推出SQLServerDataTools(SSDT)。这个增强是在令人兴奋的17.10预览版2中发布的。arm64上VisualStudio的SSDT版本为arm64上的VisualStudio添加了SQL开发功能。这个最新的开发带来了许多专为增强您在ARM64设备上......
  • 在Windows上部署ArchLinux(WSL)
    在Windows上部署ArchLinux(基于WSL)在开始前请确保你拥有一个Linux环境,以便于后续的步骤顺利地进行。ArchLinux大家应该用过,这个发行版属实需要折腾。但是MicrosoftStore没有提供ArchLinux的WSL版本,所以,才有了这篇文章。2024年4月14日补充:微软商店确实有,但是默认安装在C:......
  • Burp Suite Professional 2024.3.1 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
    BurpSuiteProfessional2024.3.1formacOSx64&ARM64-领先的Web渗透测试软件世界排名第一的Web渗透测试工具包请访问原文链接:BurpSuiteProfessional2024.3.1formacOSx64&ARM64-领先的Web渗透测试软件,查看最新版。原创作品,转载请保留出处。作者主页:sysin......
  • ArchLinux-dwm
    之前装arch和dwm的时候都没有记录,现在慢慢更新对dwm的定制优化吧换源yarnnpmyay都要记得换源#yarnyarnconfigsetregistryhttps://registry.npm.taobao.org软件安装截图yay-Sflameshotvim/opt/dwm6.4/config.hstaticconstchar*flame[]={"flameshot","g......
  • 国产低功耗蓝牙芯片OM6650AM 支持蓝牙5.1协议栈与2.4GHz私有协议的双模军规级SoC芯片
    双模蓝牙是一种同时支持两种工作模式的蓝牙设备。常见的双模蓝牙设备包括同时支持传统蓝牙(ClassicBluetooth)和低功耗蓝牙(BluetoothLowEnergy,BLE)的设备。1、工作模式:双模蓝牙设备可以同时连接两个不同模式的设备,例如手机、平板等使用传统蓝牙连接,而智能手表、健身追踪器等使用......
  • Ubuntu20.04安装DeepStream6.1
    https://blog.csdn.net/m0_73702795/article/details/127940733    目录   前言   1.更新显卡驱动   2.下载CUDA   3.下载CUDNN   4.安装TensorRT   5.安装librdkafka   6.安装GStreamer   7.正式安装DeepStream前言本人亲自安装了十多遍......
  • Deepstream6.3部署YOLOv8
    https://blog.csdn.net/weixin_51230935/article/details/133296929?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-133296929-blog-135528185.235%5Ev43%5Epc_blog_bottom_relevance_base7&......
  • 01-ARM64体系结构基础知识
    本章思考题ARMv8体系结构处理器包含多少个通用寄存器?答:提供31个64位宽的通用寄存器,可以减少对栈的访问,从而提高性能。AArch64执行状态包含多少个异常等级?它们分别有什么作用?答:定义ARMv8异常模型,支持4个异常等级,即EL0~EL3。请简述PSTATE寄存器中NZCV标志位的含义。答:如下表所......