Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
wiki:system_configuration [2020/06/08 11:33] – [How do I build a real-time audio workstation on Linux?] grammowiki:system_configuration [2020/09/02 15:41] – [Timers] autostatic
Line 9: Line 9:
 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 ====
  
Line 66: Line 68:
 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.
Line 478: Line 480:
 === Hardware timers === === Hardware timers ===
  
-:!: //Using hardware timers to achieve more accurate MIDI timing is questionable. Applications that use ALSA MIDI (via either the Sequencer or the Raw MIDI Interface) may be affected by using hardware timers but it might be better to rely on a high resolution software-based timer like the ''snd-hrtimer'' kernel module.//+:!: //Using hardware timers to achieve more accurate MIDI timing is questionable. Applications that use ALSA MIDI (via either the Sequencer or the Raw MIDI Interface) may be affected by using hardware timers but it might be better to rely on a high resolution software-based timer like the ''snd-hrtimer'' kernel module. The information below only serves archival purposes and should not be used anymore.//
  
 Some MIDI sequencers or DAWs that rely on ALSA MIDI might benefit from being able to use hardware timers like the [[http://en.wikipedia.org/wiki/Real-time_clock|real-time clock]] (''/dev/rtc'') or the [[http://en.wikipedia.org/wiki/High_Precision_Event_Timer|High Precision Event Timer]] (''/dev/hpet''). When using a hardware timer make sure the 'audio' group has read permissions on it. Some MIDI sequencers or DAWs that rely on ALSA MIDI might benefit from being able to use hardware timers like the [[http://en.wikipedia.org/wiki/Real-time_clock|real-time clock]] (''/dev/rtc'') or the [[http://en.wikipedia.org/wiki/High_Precision_Event_Timer|High Precision Event Timer]] (''/dev/hpet''). When using a hardware timer make sure the 'audio' group has read permissions on it.
wiki/system_configuration.txt · Last modified: 2024/01/13 15:00 by autostatic