JackLab/Rosegarden system timer resolution

From openSUSE

With a "default" SuSE 10.2 kernel, you will get the error "System timer resolution too low" (or something to that effect) when you start Rosegarden. This is because the default kernel setting for the timer frequency is 250 Hz, giving a resolution of 4 milliseconds. Rosegarden wants a higher resolution, and a higher resolution is probably good for other audio applications, too. There is an option in the kernel parameters to boost the system timer frequency to 1000 Hz, improving its resolution to 1 ms.

To get that higher resolution, you either have to install a different kernel (e.g. the one from jacklab), or compile your own after changing the timer frequency parameter in your kernel's configuration. The jacklab kernel didn't work well for me, so I compiled my own kernel following these steps. I am not an expert, but I've done this a few times now and have had no problems with this procedure. Be aware, though, that fiddling with your kernel can potentially lead to disaster, so think about how valuable the things on your hard disk are, and whether you ought to back them up first!

  • Install kernel sources using YaST (Software/Software management then search for "kernel source," check the "kernel-source" package. You also need the compiler, linker, and make utilities: Set the YaST "Filter" to "Patterns" and select the "Development / Basis development" pattern, then "Accept" button, etc. to complete the installation)
  • The rest of this recipe gets done at the command line, so open a console window. Some of these steps require root privileges, so enter "su" then the root password at the prompt.
  • cd to /usr/src/linux
  • copy the current configuration to the file ".config" in this directory: "cp /boot/config-2.6.18.2-34-default .config"
  • run "make xconfig" this is a nice graphical interface to help you edit the kernel parameters in the .config file before recompilation.
  • select "Option/Show All Options" in menu
  • Under "Processor type and features" set "Timer frequency" to 1000 Hz
  • Save changes and close the configuration tool.
  • Run "make" with the option "all": "make all" (run "make help" for info) to compile the kernel and its modules
  • Run "make modules_install" to install the newly-compiled modules
  • Run "make install" to install the newly-compiled kernel, and "make clean" to remove some intermediate files and free up some disk space in the source directories.
  • Reboot. Rosegarden should no longer complain on startup.

There are other real-time related parameters in the kernel configuration, notably "Preempt The Big Kernel Lock =" and "Preemptible Kernel (Low-Latency Desktop)=," but I didn't find it necessary to change these.