Note : these instructions are only useful for :
- VX222e boards with hardware revision IS=06 or higher
- VX222e-Mic boards with hardware revision IS=05 or higher
- PCX924e boards with hardware revision IS=05 or higher
- PCX924e-Mic boards with hardware revision IS=05 or higher
Earlier hardware revisions (or any other PCX/VX board) can use the
snd-pcxhrdriver that is already included in the Linux kernel.
- Option 1 : Automatic installation
- Option 2 : Manually building and installing the driver
This method works on most major distributions, by using the DKMS system. After the initial installation, nothing more is needed to be done as DKMS will take care of re-building the driver every time the kernel is updated, or a new kernel is installed.
Requirements :
- A package manager which supports DKMS. Most major distributions support this, please check your distribution’s documentation if you are not sure.
- DKMS
- The kernel headers for the kernel version(s) you need
- Git, if you don’t use a Debian-based or RPM-based distribution
$ sudo apt install dkms linux-headers-$(uname -r)This will allow you to install the driver for the currently running kernel. If you have other kernels you wish to install it for, you will also need to install their headers by adding linux-headers-<kernelversion> to the above command (replace <kernelversion> with the version you need)
Choose the latest .deb package on the Releases page.
Go into the directory where you downloaded the package (we have downloaded it in ~/digigram in our example), and install the package :
$ cd ~/digigram
$ sudo apt install ./pcxhr-dkms_2.0.12_amd64.deb-
For Fedora/CentOS/Red Hat :
$ sudo yum install dkms kernel-devel
-
For SUSE/openSUSE :
$ sudo zypper install dkms kernel-devel
This will allow you to install the driver for the currently running kernel. If you have other kernels you wish to install it for, refer to your distribution’s documentation for installing the relevant kernel headers.
Choose the latest .rpm package on the Releases page.
Go into the directory where you downloaded the package (we have downloaded it in ~/digigram in our example), and install the package :
-
For Fedora/CentOS/Red Hat :
$ cd ~/digigram $ sudo yum install ./pcxhr-2.0.12-1dkms.noarch.rpm
-
SUSE/openSUSE :
$ cd ~/digigram $ sudo zypper install ./pcxhr-2.0.12-1dkms.noarch.rpm
Before the next steps, the following packages should be installed through your distribution’s package manager :
- Git : the package is usually called simply
git - DKMS : the package is usually called simply
dkms - Kernel headers for all kernel versions you need :
- The package name is
linux-headers-<kernelversion>on Debian/ Ubuntu and their derivatives. - The package name is
kernel-develon most RPM-based distributions such as Fedora, CentOS or openSUSE. - On Arch Linux, it is called
<linuxflavor>-headers, depending on what kernel flavor you are using. For example :linux-headers, orlinux-lts-headers, orlinux-zen-headers, etc. - For another distribution, please refer to its documentation.
- The package name is
Create a working directory and go into it. In our example, it will be ~/digigram/github_repo :
$ mkdir -p ~/digigram/github_repo
$ cd ~/digigram/github_repoClone the Digigram Github repository :
$ git clone https://github.com/Digigram-audio/pcxhrGo into the cloned repository, list the available version tags, and check out to the latest one (v2.0.12 at the time of writing) :
$ cd pcxhr
$ git tag
[...]
v2.0.12
$ git checkout v2.0.12Copy the src/ directory to /usr/src/pcxhr-<version>, replacing <version> with the one from the previous command without the "v" prefix (the target directory has to have exactly that name). In our example, the command is :
$ sudo cp -r ./src /usr/src/pcxhr-2.0.12Use DKMS to install the driver for the current kernel :
$ sudo dkms install pcxhr/2.0.12After completing one of the previous set of steps depending on your distribution, run the following command to check which kernels the driver has been installed for (example output on an Ubuntu machine with several kernels installed) :
$ sudo dkms status
pcxhr, 2.0.12, 5.4.0-29-generic, x86_64: installed
pcxhr, 2.0.12, 5.4.0-31-generic, x86_64: installed
pcxhr, 2.0.12, 5.4.0-33-generic, x86_64: installed
pcxhr, 2.0.12, 5.4.0-40-lowlatency, x86_64: installed
pcxhr, 2.0.12, 5.4.0-42-generic, x86_64: installed
pcxhr, 2.0.12, 5.4.0-42-lowlatency, x86_64: installedIf you can see the relevant kernel versions with the installed tag, everything should work fine. If a kernel version you need is missing, you can run the following command to install it, provided that you have already installed the headers (see step 1 of the instructions for your distribution) :
$ sudo dkms install pcxhr/2.0.12 -k <kernelversion>From now on, the driver will be automatically loaded at boot, and for every kernel update, the package manager will automatically run DKMS to build it. If you want to test right away without a reboot, you can manually load the driver with :
$ sudo modprobe snd-pcxhrThis method works for any Linux system, but requires to be done every time the kernel is updated as it doesn’t use any package manager to automatically rebuild the driver.
Requirements :
- The kernel headers for the kernel version(s) you need
- Git
- Make and a C compiler such as gcc
Please refer to your distribution’s documentation to install these requirements.
Clone the Digigram Github repository :
$ git clone https://github.com/Digigram-audio/pcxhrGo into the cloned repository, list the available version tags, and check out to the latest one (v2.0.12 at the time of writing) :
$ cd pcxhr
$ git tag
[...]
v2.0.12
$ git checkout v2.0.12Go into the src/ directory, and compile the driver by simply running make :
$ cd src/
$ makeThe compilation has generated a kernel module : snd-pcxhr.ko. Copy this module to the kernel’s modules directory :
$ sudo mkdir -p /lib/modules/<kernelversion>/kernel/digigram
$ sudo cp snd-pcxhr.ko /lib/modules/<kernelversion>/kernel/digigramThen run depmod to update the module dependencies :
$ sudo depmod -aAt this point, the driver should automatically be loaded at boot if the card is plugged in. To test right away without a reboot :
$ sudo modprobe snd-pcxhr