Linux FAQ
Linux FAQ
Prerequisites
Renoise for Linux should work out-of-the-box by decompressing the archive into a correctly installed Linux-box, where X.org is installed and audio playback is confirmed to work through ALSA.
Checking the Graphical Environment
If you are using Linux in a graphical environment you should have X.org installed and working (X.org runs under a desktop environment such as GNOME, KDE or XFCE, so if you're using any of those then you also have X.org installed). Please avoid compositing window managers like Compiz or Beryl (or the Fusion combination) as they consume a lot of CPU resources, especially older versions which can cause problems with Renoise in Fullscreen.
Checking the Audio Capabilities
ALSA is the built-in Linux device driver for soundcards. To check if it is installed, open a terminal and type the following:
- $ aplay -l
- [enter]
This will list all available audio playback devices grouped by soundcard. To get a list of all available capture/recording devices, type the following:
- $ arecord -l
- [enter]
This lists all available capture/recording audio devices grouped by soundcard. If there is no list then it's possible that you don’t have a supported soundcard in you system, or perhaps no soundcard at all. In this case you should consult the ALSA documentation with regards to configuring your hardware under Linux. If there is no list but instead a “Command not found” error, it's possible that ALSA either isn’t installed or the installation is broken. Again, to fix this you will need to consult the ALSA documentation.
ALSA also provides MIDI I/O capabilities, which can be checked by opening a terminal and typing the following:
- $ aplaymidi -l
- [enter]
This will list all available MIDI playback devices. To get a list of all available MIDI recording ports, type the following:
- $ arecordmidi -l
- [enter]
This lists the available recording audio ports. If there is no list then you should consult the ALSA documentation with regards to MIDI I/O.
Checking the Jack Audio Capabilities
Renoise can connect to a Jack Transport server through different backends. At the time of writing, those supported are: ALSA, Core Audio, Port Audio, Free Bob, OSS and a 'dummy' backend. Please ensure that your chosen backend is correctly installed before continuing. To check if Jack is installed and working with your backend, open a terminal and type the following:
- $ jackd -d your_backend —help
- [enter]
This will list all available Jack server options provided by the audio backend. If there is no list, but you get a "jackd: unknown driver [your_backend]" error message, then Jack does not support that particular backend. If you get a "Command not found" error, it's possible Jack isn’t installed or the Jack installation is broken. If Jack was installed from a distribution package then check exactly how was packaged. If you compiled Jack by yourself then check if you have correctly configured everything.
A More Technical Checkup
Renoise for Linux has the following dependencies:
GCC 4.X libs, X.org 7.1+, preferably real-time kernel
- libstdc++6 – GNU Standard C++ Library 4.2 or newer
- X.org 7.1 – X Windows System 7.1 or newer
- libasound2 – ALSA library 1.0 or newer
Note that when running on a 64-bit Linux environment, 32-bit compatible equivalents of the above dependencies should be installed
Renoise Single User Installation
Following the instructions of this section will install Renoise for Linux in a directory under the user home as a 'Single User Installation'. First download Renoise into a directory where you have read/write access (your home directory '~' should be a good place and the example below assumes this is what you've done). After you have acquired the Renoise archive, open a terminal and type the following commands:
- $ cd
- [enter]
- $ tar xvf rns_x_y_z_reg.tar.gz
- [enter]
Once the decompression has ended, the 'rns_x_y_z' directory is ready to be entered:
- $ cd rns_x_y_z_reg
- [enter]
Now we are ready to try running Renoise:
- $ ./renoise
- [enter]
The Renoise splash screen should pop up while the terminal is filled with log messages. If this has not happened, please see the troubleshooting section.
Renoise System-Wide Installation
Following the instructions of this section will install Renoise for Linux system-wide so all users have access to it. First download Renoise into a directory where you have read/write access (your home directory '~' should be a good place and the example below assumes this is what you've done). After you have acquired the Renoise archive, open a terminal and type the following commands:
- $ cd
- [enter]
- $ tar xvf rns_x_y_z_reg.tar.gz
- [enter]
Once the decompression has ended, the 'rns_x_y_z' directory is ready to be entered:
- $ cd rns_x_y_z
- [enter]
To install Renoise system-wide you should use the script provided in the installation directory. Note that to complete the system-wide installation you must have root privileges. The following instructions assume you use sudo (for Ubuntu users and users of distros derived from Ubuntu):
- # sudo sh install.sh
- [enter]
The system will ask for your user password (the one you use to log into the system). After entering the password, messages will be displayed regarding the install script, followed by a confirmation that the installation was successful (if not see the troubleshooting section).
Now we are ready to try running Renoise:
- $ renoise
- [enter]
The Renoise splash screen should pop up while the terminal is filled with log messages. If this has not happened, please see the troubleshooting section.
Troubleshooting
Performance Problems
Audio performance problems can occur in Linux for a variety of reasons. Some of the symptoms include: crackling/stuttering audio, audio with noise, excessive Xruns etc. Luxury window managers such as Compiz and Beryl consume a lot of priority time from your CPU resources. Some users have reported drastically improved performance when shutting these options down, so if you're encountering performance issues it is recommended to use a lighter window manager such as Openbox instead. For further information on audio performance, please consult the documentation (and community) of your particular Linux distribution.
Performance Problems With HDA/Intel Soundcards
Many laptops feature an HDA/Intel soundcard, but their buffering capabilities are lower than those of other cards. If you have such a soundcard, it is recommended to set the period amount for the ALSA driver in the Renoise preferences to 3 periods.
For users of Jack Transport who are also still using Renoise at a version below 2.0, it is recommended to upgrade since older versions can only achieve decent performance with these soundcards by using the Jack deamon to set the periods/buffer to 3.
Jack Timeout Problems When Starting Renoise
When launching Renoise you may encounter a situation where Jack shuts down immediately. This is caused by the fact that when Ubuntu software audio mixing (Esound, ESD Enlightenment Sound Daemon) is enabled, ALSA is always reported as being busy under Renoise. To fix this, disable the Esound mixing: "system > preferences > sound", select ALSA as the device for everything, then disable Esound mixing in the 'Devices' tab. This bypasses Pulse Audio (and can even be uninstalled). This is not exactly the cleanest solution, but it works.
Setting Up Third Party Plugins
Renoise supports both LADSPA plugins and VST plugins that have been compiled for Linux. Conforming to the LADSPA specifications, Renoise will look for LADSPA plugins by searching in the paths stored in the LADSPA_PATH environment variable. If the LADSPA_PATH variable isn’t set, Renoise will default to the paths /usr/lib/ladspa, /usr/local/lib/ladspa and ~/.ladspa. To check the value of the LADSPA_PATH, open a terminal and type the following:
- $ echo $LADSPA_PATH [enter]
If the result is a series of paths separated by ':', then the plugins were searched for within those directories. Check if your LADSPA plugins are stored in any of those directories. If the result is an empty line, this means the LADSPA_PATH variable hasn’t been set. In this case Renoise will look for plugins in the default paths, so you have to check if your LADSPA plugins are stored in any of those directories. If you have found that your LADSPA plugins aren’t stored in any of the search paths, you can proceed in three ways:
- Move your LADSPA plugins into any of the search paths.
- Add the path where you've stored your LADSPA plugins to the LADSPA_PATH environment variable. To do this, open a terminal and type the following:
- $ echo LADSPA_PATH=/path/to/my/ladspa:\$LADSPA_PATH >> ~/.bash_profile
- [enter]
- $ echo export LADSPA_PATH >> ~/.bash_profile
- [enter]
- Start Renoise with a custom LADSPA_PATH environment variable available only for that Renoise session. To do this, open a terminal and type the following (this assumes that you have Renoise in the path):
- $ LADSPA_PATH=/path/to/my/ladspa renoise
- [enter]
Setting up VST plugins follows a procedure similar to LADSPA, but there are no real VST specifications for Linux, so Renoise employs an environment variable based solution. Renoise will look for VST plugins by searching in the paths stored in the VST_PATH environment variable. If the VST_PATH variable isn’t set, Renoise will default to the paths /usr/lib/vst, /usr/local/lib/vst and ~/.vst. To check the value of the VST_PATH, open a terminal and type the following:
- $ echo $VST_PATH[enter]
If the result is a series of paths separated by ':', then the plugins were searched for within those directories. Check if your VST plugins are stored in any of those directories. If the result is a empty line, this means the VST_PATH variable hasn’t been set. In this case Renoise will look for plugins in the default paths, so you have to check if your VST plugins are stored in any of those directories. If you have found that your VST plugins aren’t stored in any of the search paths, you can proceed in three ways:
- Move your VST plugins into any of the search paths.
- Add the path where you have stored your VST plugins to the VST_PATH environment variable. To do this, open a terminal and type the following:
- $ echo VST_PATH=/path/to/my/vst:\$VST_PATH >> ~/.bash_profile
- [enter]:
- $ echo export VST_PATH >> ~/.bash_profile
- [enter]
- Start Renoise with a custom VST_PATH environment variable available only for that Renoise session. To do this, open a terminal and type the following (this assumes that you have Renoise in the path):
- $ VST_PATH=/path/to/my/vst renoise
- [enter]
Since the VST specifications license isn’t compatible with GPL, it's possible to find VST plugins for Linux in a binary form. So, always check that the VST plugins you have installed meet all of their dependencies.
Plugins: Why Does Renoise Not List My Plugin?
Renoise cannot list your plugin for three possible reasons:
- The plugin isn’t stored in any of the search paths specified by the environment variables.
- The plugin is buggy, causing it to crash (possible causes can be unmet dependencies or real errors in the code) and Renoise to blacklist it.
- While the plugin is made with a technology usually supported by Renoise and it otherwise works with other audio hosts, Renoise never lists it because the structure isn’t supported. This could happen, for example, with LADSPA plugins that have no audio output(s) port or are incapable of realtime processing.
Plugins: My LADSPA Plugin is in the Wrong List
Renoise always treats a LADSPA plugin as if it is an effect, even when the plugin is a generator (e.g. an oscillator). Due to the LADSPA specification, Renoise cannot identify the mean of a plugin's control port, and so is unable to, for example, tell which is the frequency control port or the trigger port. Also note that Renoise cannot attempt to guess the mean by matching a word in the port description.
Renoise: Checking What’s Wrong
If you have decompressed the downloaded archive and tried to run the Renoise executable, but nothing works, try the following instructions. Open a terminal and enter the directory where you have decompressed Renoise:
- $ cd
- [enter]
- $ cd rns_x_y_z_reg
- [enter]
Now find out if the Renoise executable links to all of the required libraries:
- $ ldd renoise
- [enter]
If Renoise finds all the required libraries then the ldd command should respond with an output such as this (note that the numbers in brackets and the library paths are only examples; they will be different for you):
- linux-gate.so.1 => (0xffffe000)
- librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb7f32000)
- libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7f2e000)
- libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb7f17000)
- libX11.so.6 => /usr/lib/libX11.so.6 (0xb7e2b000)
- libasound.so.2 => /usr/lib/libasound.so.2 (0xb7d65000)
- libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7c7a000)
- libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7c54000)
- libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7c49000)
- libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7b01000)
- libXau.so.6 => /usr/lib/libXau.so.6 (0xb7afe000)
- libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7af9000)
With the exception of the libraries linux-gate.so.1 and /lib/ld-linux.so.2, all of the other libraries point to a physical file located in the path to the right of the => separator. If any of those libraries have no counterpart to a physical file, then this is the source of the problem, which may have one of the following solutions:
- If you are certain that the libraries are correctly installed, you must check that they have actually been installed to the correct path.
- The required libraries are not installed, so you must now install them. The list below shows you in which package you can find the required libraries (package names are quite distro-specific; we will create documentation for all the distros that we have knowledge of):
- Libraries librt.so.1, libdl.so.2, libpthread.so.0, libc.so.6 and libm.so.6 are available in the libc6 package.
- Library libasound.so.2 are available in the libasound2 package.
- Library libstdc++.so.6 are available in the libstdc++6 package.
- Library libgcc_s.so.1 are available in the libgcc1 package.
- Library libXau.so.6 are available in the libxau6 package.
- Library libXdmcp.so.6 are available in the libxdmcp6 package.
- Library libX11.so.6 are available in the libX11–6 package.
- Packages libc6, libgcc1, libxau6 and libxdmcp6 are dependencies of the package xserver-xorg which is required to have the X.org graphical environment.
- Package libasound2 is a dependency of the package alsa-utils which is installed to have the ALSA sound capabilities.
FAQ
Renoise
Why isn't Renoise able to play when other applications are playing (or after other applications have used the audio resource)?
Many desktop managers provide an audio manager (ex. aRts on KDE or ESD in GNOME) which often locks the audio resource for its own use (this may happen during and after an application used it for playback). So, to solve the problem try disabling the audio manager and set all your audio application to use ALSA directly, since it's capable of sharing audio resources.
Renoise gives incorrect 'Out of memory' errors when loading particular songs/samples
Check that no virtual memory restrictions have been set by entering ulimit -a into a console. To raise virtual memory specifically for Renoise enter the following command:
- $ulimit -v [amount of memory in bytes] && renoise[enter]
I have made a Single User Renoise installation. How can I set up desktop integration for my installation?
Open a terminal, enter the directory where you have extracted the Renoise archive and type the following:
- $ cd Installer[enter]
Now create a new desktop entry for Renoise by using the provided desktop entry as a base:
- $ cp renoise.desktop renoise_single.desktop[enter]
The content of the desktop entry must be edited by opening the file renoise_single.desktop with your preferred editor and modifying two lines. Change the line:
- Exec=renoise %f
to
- Exec=/home/<yourloginname>/path/to/renoise %f
then change the line:
- Icon=/usr/local/share/icons/renoise.png
to
- Icon=/home/<yourloginname>/.local/icons/renoise.png
Save and close the editor. Now install the entries into the desktop environment by typing the following into the terminal:
- $ cd xdg-utils
- [enter]
- $ ./xdg-icon-resource install —novendor —size 48 —context apps ../renoise.png
- [enter]
- $ ./xdg-icon-resource install —novendor —size 48 —context mimetypes ../renoise.png application-x-renoise-module
- [enter]
- $ ./xdg-icon-resource install —novendor —size 48 —context mimetypes ../renoise.png application-x-renoise-rns-module
- [enter]
- $ ./xdg-desktop-menu install —novendor ../renoise.desktop
- [enter]
Your local installation of Renoise has been integrated in your user desktop environment.
How can I run a stand-alone Renoise environment?
Renoise does not need a window or desktop environment to run, giving you the possibility to run Renoise in a stand-alone environment. The primary advantage is that all necessary system resource are dedicated to Renoise. If you are using a graphical login manager then a good way to get a stand-alone Renoise environment is by setting up a dedicated Renoise session, though there are prerequisites: you need Renoise installed system-wide and access to root privileges. Open your favorite editor and enter:
- [Desktop Entry]
- Encoding=UTF-8
- Name=Renoise
- Comment=This session starts Renoise stand-alone
- Exec=/path/to/renoise
- Icon=
- Type=Application
For example, if Renoise is installed in /usr/local/bin the text above will look like this:
- [Desktop Entry]
- Encoding=UTF-8
- Name=Renoise
- Comment=This session starts Renoise stand-alone
- Exec=/usr/local/bin/renoise
- Icon=
- Type=Application
Save this file as renoise.desktop then open a terminal and access root privileges. Copy the renoise.desktop file into the xsessions directory (usually located in /usr/share/xsessions/). Now when you log into your machine you'll be able to change the session to 'Renoise' and run it stand-alone.
If when starting Renoise you receive an exception, "Database error (File: … ): not a writeable directory", this means that Renoise doesn’t have write permission in its configuration directory (usually ~/.renoise). Write permission can be lost in two known ways:
- If Renoise was set SUID it will create all its directories and configuration files with root as the owner.
- You were root the first time you ran Renoise but you normally work as a standard user. This creates the directories and configuration file with root as the owner. To fix this problem, first check that the .renoise directory and the files and sub-directories within have the correct owner:
- $ cd
- [enter]
- $ ls -laR .renoise/
- [enter]
A list of all the files in .renoise will be displayed in this fashion:
- -rw-rw-r— 1 <owner> <group> 2764 Oct 2 16:24 filename.ext
Now check that the <owner> field (the 3rd column) is your username for all files. If some files have a different owner (usually set to 'root') then change this by entering the following:
- $ cd
- [enter]
- (becoming root)
- $ su
- [enter]
- [enter the root password and press enter]
- # chown -R your_username:your_username .renoise/
- [enter]
On Ubuntu you can achieve the same thing via a quicker method:
- $ cd$ sudo chown -R your_username:your_username .renoise/
- [enter your user password and press enter]
Realtime Threads
How do I configure Linux to enable Realtime Threads for ALSA or Jack?
Realtime threads are required for low latencies with ALSA and Jack, and to enable them you have to edit the /etc/security/limits.conf file. Simply running a realtime kernel does not help here, since it doesn't automatically set the required options. To enable RT thread creation via PAM, open the /etc/security/limits.conf file as root (or via sudo) and add the following lines to the end of the file:
- YOURUSERNAME - rtprio 99
- YOURUSERNAME - nice −10
Alternatively, you could create a group 'Audio', add your user to that group and then use '@Audio' instead of “YOURUSERNAME”. After this, you should save, log out and then log back in. To make sure this has worked, launch Renoise, select ALSA and ensure that the 'Realtime threads' option is enabled. You will get a friendly warning if RT creation failed. You can find a more detailed explanation about PAM and low latencies in Linux here: http://tapas.affenbande.org/wordpress/?page_id=73.
Also, see https://wiki.linuxaudio.org/wiki/system_configuration for more information and tips on how to build and tweak a real-time audio Linux workstation.
Jack
I have playback problems (crackles, drops, high latencies, etc.) when Renoise plays through Jack. What I can do?
We have found that many of these playback problems are related to the Jack server settings. First, try running the Jack server in non-realtime mode by removing the -R option if you run it from the command-line, or if you run qjackctl then uncheck the 'Realtime' checkbox in "Setup → Settings". The Jack realtime option should only be enabled if you have a kernel with the realtime patch.
LADSPA
Renoise doesn’t list my plugin. Why?
Renoise will not list a LADSPA plugin in the following cases:
- The plugin has zero input and zero output (control ports only).
- The plugin isn’t real-time capable.
- The plugin is real-time capable but has been detected as unstable, since it crashes Renoise when it tries to load the plugin.
Why is Renoise using the wrong in-/out- ports of my plugin?
When connecting to a LADSPA plugin, Renoise cannot detect which audio ports are real audio inputs (left-/right-) and which are real audio outputs (left-/right-). So Renoise assumes the first two input ports are left-input and right-input, and the first two output ports are left-output and right-output. LADSPA plugins are designed to be something like basic blocks for synthesizer modelling environments, meaning that a single plugin can only do logic operations (e.g. ring modulation between two audio signals, create an ADSR envelope when an input audio signal is over a defined threshold) or the plugin expects more than two audio inputs to produce its output (e.g. surround processors).
Why Renoise lists audio generators (oscillators, noise sources, etc.) in the effect list?
This is similar to the question above: Renoise cannot list generators as instruments because it can’t detect how the plugin input control ports are set up. Guessing the correct control port for setting the frequency by its label is not a solution, since, due to the nature of LADSPA plugins, a frequency input can be control data as well as audio data. Additionally, Renoise cannot know what kind of control data the plugin expects; it could be a signal that raises the frequency by 3dB/octave, the MIDI note number, or even pure frequency as a floating point number. Another problem with LADSPA generators is that note-on and note-off events are unsupported (though in certain cases you can have a control handling them) because LADSPA never describes instruments (unlike VSTi or DSSI).
Others
My question or problem is not addressed by anything in this FAQ. What I can do?
Renoise features an active forum where you can ask your questions, so don’t hesitate to join in with the community.