Skip to content

Commit 418e856

Browse files
committed
README.md: Update installation instructions
1 parent 3428867 commit 418e856

File tree

1 file changed

+83
-45
lines changed

1 file changed

+83
-45
lines changed

README.md

Lines changed: 83 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,7 @@ maintainer][patreon_profile] to help make more tablets work with Linux.
1717
Installing
1818
----------
1919

20-
Kernel v3.5 or newer is required. Kernel headers or the build tree for the
21-
running kernel are required.
22-
23-
On Debian-derived systems (such as Ubuntu and Mint) headers can be obtained by
24-
installing appropriate version of `linux-headers` package. On Red Hat and
25-
derived distributions the package name is `kernel-headers`.
20+
Kernel v3.5 or newer is required.
2621

2722
Download appropriate files for one of the releases from the [releases
2823
page][releases]. The "Download ZIP" link on the right of the GitHub page leads
@@ -31,63 +26,72 @@ you're doing.
3126

3227
### Installing Debian package ###
3328

34-
If you're using Debian or a derived distro, such as Ubuntu, please try using
35-
the experimental .deb package. If it works for you, this will remove the need
36-
to reinstall the driver after each kernel upgrade.
29+
If you're using Debian or a derived distro, such as Ubuntu, and are installing
30+
a release, please use the .deb package. If you're not using a Debian-based
31+
distro, or the .deb package didn't work, you can install the driver using
32+
DKMS, or manually, as described below.
3733

38-
If you're not using a Debian-based distro, or the .deb package didn't work,
39-
you can try installing the driver using DKMS directly, if you know how, or
40-
manually as described below.
34+
### Installing from source ###
4135

42-
### Installing source package with DKMS ###
36+
Source is either an unpacked release tarball (.tar.gz file), an unpacked
37+
source code archive downloaded from GitHub (.zip file), or source code checked
38+
out from Git.
4339

44-
If you know how to use DKMS, you can try installing the package with it
45-
directly, employing the experimental DKMS support.
40+
Before installing from source in any way, make sure you have the headers for
41+
your kernel installed (on Debian-based systems):
4642

47-
### DKMS issue preventing correct installation ###
43+
sudo apt-get install -y "linux-headers-$(uname -r)"
4844

49-
If you're installing Debian packages, or installing source packages with DKMS
50-
directly, you might hit a bug in DKMS which prevents some of the driver
51-
modules from installing. If you do, you will see a message like this while
52-
trying to install the drivers:
45+
or (on Fedora-based systems):
5346

54-
hid-uclogic.ko:
55-
Running module version sanity check.
56-
Error! Module version 7 for hid-uclogic.ko
57-
is not newer than what is already found in kernel 4.9.0-5-amd64 (7).
58-
You may override by specifying --force.
47+
sudo dnf install -y "kernel-devel-uname-r == $(uname -r)"
5948

60-
For details see [upstream pull-request fixing the issue][dkms_issue_pr].
49+
If you get "Error: Unable to find a match" from the above command, make sure
50+
your kernel is up-to-date, and if not, update it and try again.
6151

62-
To fix that you can apply the patch linked above yourself, or execute the
63-
below command:
52+
#### Installing from source with DKMS ####
6453

65-
sudo sed -i -e 's/\<unset res$/res=()/' /usr/sbin/dkms
54+
DKMS (Dynamic Kernel Module Support) is a system for installing out-of-tree
55+
Linux kernel modules, such as DIGImend kernel drivers. It helps make sure the
56+
modules are built with correct kernel headers and are properly installed, and
57+
also automatically reinstalls the modules when the kernel is updated.
6658

67-
Be aware that the operation the above command does is inexact, and might not
68-
work, or might break DKMS. You've been warned. In any case, simply reinstall
69-
DKMS to restore it if something goes wrong.
59+
Installing with DKMS is the recommended way of installing development versions
60+
of DIGImend kernel drivers.
61+
62+
To install with DKMS, make sure you have the `dkms` package installed (on
63+
Debian-based distros):
64+
65+
sudo apt-get install -y dkms
66+
67+
or (on Fedora-based distros):
68+
69+
sudo dnf install -y dkms
7070

71-
### Installing source package manually ###
71+
After that, run the following command from the source directory to install:
7272

73-
To build the drivers run `make` in the package's directory.
73+
sudo make dkms_install
7474

75-
To install the drivers run `sudo make install` in the package's directory.
75+
Watch for any errors in the output, and if the drivers installed successfully,
76+
they will be automatically rebuilt and reinstalled each time the kernel is
77+
updated.
7678

77-
Make sure the previous versions of the drivers were unloaded from memory with
78-
the following commands:
79+
#### Installing from source manually ####
7980

80-
sudo rmmod hid-kye
81-
sudo rmmod hid-uclogic
82-
sudo rmmod hid-huion
81+
To install from source manually, first build the drivers. Run the following
82+
command in the source directory:
8383

84-
and reconnect the tablet. Or simply reboot the machine.
84+
make
8585

86-
Note that if you built and installed the driver with `make` and `sudo make
87-
install` as described above, you will need to do that again after each kernel
88-
upgrade.
86+
Then, to install the drivers, run this command in the same directory:
8987

90-
### SSL errors during installation ###
88+
sudo make install
89+
90+
Note that if you built and installed the drivers this way, you will need to
91+
run `make clean` in the source directory, and then redo the above, after each
92+
kernel upgrade.
93+
94+
#### SSL errors during installation ####
9195

9296
On Ubuntu, and possibly other distros, the driver installation process
9397
attempts to cryptographically sign the modules being installed. Most of the
@@ -106,6 +110,30 @@ installation and operation and can safely be ignored. That is, unless you set
106110
up module signature verification, but then you would recognize the problem,
107111
and would be able to fix it.
108112

113+
### DKMS issue preventing correct installation ###
114+
115+
If you're installing Debian packages, or installing from source with DKMS, you
116+
might hit a bug in DKMS which prevents some of the driver modules from
117+
installing. If you do, you will see a message like this while trying to
118+
install the drivers:
119+
120+
hid-uclogic.ko:
121+
Running module version sanity check.
122+
Error! Module version 7 for hid-uclogic.ko
123+
is not newer than what is already found in kernel 4.9.0-5-amd64 (7).
124+
You may override by specifying --force.
125+
126+
For details see [upstream pull-request fixing the issue][dkms_issue_pr].
127+
128+
To fix that you can apply the patch linked above yourself, or execute the
129+
below command:
130+
131+
sudo sed -i -e 's/\<unset res$/res=()/' /usr/sbin/dkms
132+
133+
Be aware that the operation of the above command is inexact, and might not
134+
work, or might break DKMS. You've been warned. In any case, simply reinstall
135+
DKMS to restore it.
136+
109137
Configuration
110138
-------------
111139
After installing the drivers, make sure the previous versions of the drivers
@@ -193,6 +221,16 @@ won't work with non-Wacom tablets.
193221
Uninstalling
194222
------------
195223

224+
### Debian package ###
225+
226+
To uninstall a Debian package simply use your favorite package-management
227+
tools.
228+
229+
### DKMS-installed package ###
230+
231+
To uninstall a DKMS-installed package execute `make dkms_uninstall` as root in
232+
the package source directory.
233+
196234
### Manually-installed package ###
197235

198236
To uninstall a manually-installed package execute `make uninstall` as root in

0 commit comments

Comments
 (0)