- Ubuntu Desktop/Server 22.04 LTS or 24.04 LTS
- Install the following packages using apt:
$ sudo apt install alsa-utils build-essential dkms
- Download ALSA driver version 0.142.12 from Diretta Preview
- Unzip the drivers using the following command:
$ tar -xvf DirettaSalsaHost_0_142_12.tar.xz
cd DirettaALSAdriver/- Test for build issues with your kernel by running:
$ make KERNELDIR=/lib/modules/$(uname -r)/build
Note
If you're on a kernel older than 6.4.0, you'll likely run across 2 build issues that can be fixed by uncommenting (removing the //) from the lines in alsa_bridge.c that look like:
#if LINUX_VERSION_CODE < KERNEL_VERSION(6,3,0)
vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
#else
vm_flags_set(vma, VM_DONTEXPAND | VM_DONTDUMP);
#endifand
#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0)
diretta_alsa.class = class_create(THIS_MODULE, "diretta-alsa");
#else
diretta_alsa.class = class_create("diretta-alsa");
#endif-
Clean up test build using:
$ make clean
-
Run
touch dkms.confand add the following content:MAKE="'make' KERNELDIR=/lib/modules/${kernelver}/build" CLEAN="'make' clean" BUILT_MODULE_NAME=alsa_bridge BUILT_MODULE_LOCATION=./ DEST_MODULE_LOCATION=/kernel/drivers/alsa/ PACKAGE_NAME=alsa_bridge PACKAGE_VERSION=0.142.12 REMAKE_INITRD=yes AUTOINSTALL=yes
-
Copy the directory into
/usr/srcfor DKMS to find it$ sudo cp -R . /usr/src/alsa_bridge-0.142.12 -
Run the following commands to enable DKMS for the module:
$ sudo dkms add -m alsa_bridge -v 0.142.12 $ sudo dkms build -m alsa_bridge -v 0.142.12 $ sudo dkms install -m alsa_bridge -v 0.142.12
-
Load the
alsa_bridgemodule:$ sudo modprobe alsa_bridge
-
Add
alsa_bridgeto/etc/modulesso the module will load on boot$ echo "alsa_bridge" | sudo tee -a /etc/modules
Note
If upgrading from the old diretta_bridge_host, first disable it by running the following:
$ sudo systemctl stop diretta_bridge_host
$ sudo systemctl disable diretta_bridge_host- Check your version of
gccusing the following command:$ gcc --version
Note
Default gcc version for 24.04 is version 13, adjust accordingly for your install
-
Edit
/usr/src/alsa_bridge-0.142.12/diretta_ssync_host.serviceto the following:[Unit] Description = Diretta Synchro Alsa Host After=network-online.target ConditionPathExists=/usr/src/alsa_bridge-0.142.12 [Service] ExecStart=/usr/src/alsa_bridge-0.142.12/ssyncAlsa_gcc13_x64_v1 Restart=always Type=simple [Install] WantedBy=multi-user.target
-
Mark the selected service as executable
$ sudo chmod +x /usr/src/alsa_bridge-0.142.12/ssyncAlsa_gcc13_x64_v1
-
Run the following steps to run
ssyncAlsaon boot$ sudo ln -s /usr/src/alsa_bridge-0.142.12/diretta_ssync_host.service /etc/systemd/system/ $ sudo systemctl enable diretta_ssync_host $ sudo systemctl start diretta_ssync_host -
To check if ALSA drivers are working correctly, make sure an audio device is connected to the target and run:
$ sudo aplay -l
Tip
If you want to edit your settings.inf to unlock additional performance, try the following settings:
Interface=
TargetProfileLimitTime=200
ThredMode=2
InfoCycle=100000
FlexCycle=disable
CycleTime=800
CycleMinTime=10
Debug=disable
periodMax=32
periodMin=12
periodSizeMax=38400
periodSizeMin=960
syncBufferCount=8
alsaUnderrun=enable
CpuSend=
CpuOther=