Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
wiki:system_configuration [2020/06/08 11:33] – [How do I build a real-time audio workstation on Linux?] grammo | wiki:system_configuration [2020/06/08 11:56] – [How do I build a real-time audio workstation on Linux?] grammo |
---|
The [[https://manual.ardour.org/setting-up-your-system/the-right-computer-system-for-digital-audio/|Ardour manual]] has a interesting introduction about getting the right computer system for digital audio. Below that article there is also a (somewhat Windows oriented) [[https://www.youtube.com/watch?v=GUsLLEkswzE| video]] by Richard Ames, which could be helpful to get a idea which things are involved for this topic. Summary: lots of things are involved for a well performing real-time audio workstation. It's not simply a matter of buying a computer with massive CPU and memory power, as the coming sections on this page shows. | The [[https://manual.ardour.org/setting-up-your-system/the-right-computer-system-for-digital-audio/|Ardour manual]] has a interesting introduction about getting the right computer system for digital audio. Below that article there is also a (somewhat Windows oriented) [[https://www.youtube.com/watch?v=GUsLLEkswzE| video]] by Richard Ames, which could be helpful to get a idea which things are involved for this topic. Summary: lots of things are involved for a well performing real-time audio workstation. It's not simply a matter of buying a computer with massive CPU and memory power, as the coming sections on this page shows. |
| |
A good starting point for optimizing your system for real-time audio on GNU/Linux, is the QuickScan script below. | A good starting point for optimizing your system for real-time audio on GNU/Linux, is the QuickScan script below (as a newbie you might want to ignore the hardware timers settings first). |
| |
| After adjusting your system using the recommendations of the QuickScan and with JACK (QjackCtl) and a2jmidid installed, the basics should be there for a well performing real-time audio system (depending on your hardware too of course). |
==== Preliminary ==== | ==== Preliminary ==== |
| |
This is only needed for so-called generic kernels, ie. standard kernels that are not tweaked for lowlatency performance. You can check if your kernel already includes this option with the following command: | This is only needed for so-called generic kernels, ie. standard kernels that are not tweaked for lowlatency performance. You can check if your kernel already includes this option with the following command: |
| |
$ grep -e "CONFIG_IRQ_FORCED_THREADING=y" -e "CONFIG_PREEMPT=y" /boot/config-`uname -r` | $ grep -e "CONFIG_IRQ_FORCED_THREADING=y" -e "CONFIG_PREEMPT_RT=y" /boot/config-`uname -r` |
| |
If it returns ''CONFIG_IRQ_FORCED_THREADING=y'' and ''CONFIG_PREEMPT=y'' then your kernel is using IRQ threading and you don't have to proceed with the following steps. If it only returns ''CONFIG_IRQ_FORCED_THREADING=y'' you can add the ''threadirqs'' boot option as described below. If the command returns nothing you have a kernel that cannot use threaded IRQs. | If it returns ''CONFIG_IRQ_FORCED_THREADING=y'' and ''CONFIG_PREEMPT_RT=y'' then your kernel is using IRQ threading and you don't have to proceed with the following steps. If it only returns ''CONFIG_IRQ_FORCED_THREADING=y'' you can add the ''threadirqs'' boot option as described below. If the command returns nothing you have a kernel that cannot use threaded IRQs. |
| |
Open ''/etc/default/grub'' with your favorite editor as root. | Open ''/etc/default/grub'' with your favorite editor as root. |