You will find on this page what to do if you want to setup a multimedia production workstation with a standard Ubuntu installation (means without installing Ubuntu Studio).
However, users with Firewire hardware, pci professional sound card, even on Ubuntu Studio, or simply having questions, may find tips on this page. First of all, be sure to have the multiverse, universe, main and restricted repositories activated in Synaptic. Everything on this page has been tested and works successfully with Ubuntu Lucid LTS Beta. As Lucid is at a beta stage, it may be some mistakes or bugs in this page. Please note that only LTS and current version will be documented in time on this tutorial.
- 1 Install the "must have" packages
- 2 VST Instruments
- 3 Real-Time Support
- 4 Configuration of more than one pci/usb sound/midi card/keyboard/control surface
- 5 ALSA Sequencer
- 6 Disabling PulseAudio
- 7 Firewire (ieee1394 / raw1394) sound cards and cameras
- 8 Unofficial Backports
- 9 PulseAudio and Jack
- 10 Getting it All Going
- 11 Comments
Install the "must have" packages
If you prefer to install the packages with Synaptic, you can.
If you are still unsure of which you would like to use, or where to start, a sane set of defaults can be installed by doing this:
sudo apt-get install ardour audacious hydrogen jackd jack-rack qjackctl seq24 vkeybd zynaddsubfx patchage vlc kino pitivi acidrip ubuntu-restricted-extras ubuntustudio-menu gcdmaster
Ardour is a very good audio recorder and sequencer, Audacious a music player with plugin for jackd, seq24 is a midi sequencer, vkeybd is a virtual midi keyboard, zynaddsubfx a very good modular synth, hydrogen is a drum kit and sequencing application, jackd is the sound daemon and qjackctl is to setup it well with a GUI, patchage is a very useful application to patch audio/midi applications and the I/O, gcdmaster allows creation of a master audio cd.
Specific Pci and USB hardware
First of all, check on this page if your card is supported : http://alsa-project.org/main/index.php/Matrix:Main If your card is said to be supported, but you know it is a low latency sound card, install the Medibuntu repository and do:
sudo apt-get install alsa-firmware-loaders alsa-tools alsa-tools-gui alsa-firmware
Informations about Medibuntu and how to add it can be found here: http://www.medibuntu.org/ Your card will work at reboot. For card like RME hdsp, you may want to run manually the command line "hdsploader". Feel free of course to create a shortcut in your menu or Gnome panel.
Effect Plugins, Instruments and Codecs
Install the LADSPA plugins so you get some effect plugins for your audio applications to use. For audio processing:
sudo apt-get install blop caps cmt fil-plugins rev-plugins swh-plugins tap-plugins
sudo apt-get install blepvco mcp-plugins omins
Install the DSSI host and plugins:
sudo apt-get install dssi-host-jack dssi-example-plugins fluidsynth-dssi hexter xsynth-dssi
More infos are provided below, see the "VST Instruments" section. Install the video codecs:
sudo apt-get install gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse ffmpeg
If you use the Medibuntu repository, you can add other codecs, and encrypted DVD support to Ubuntu:
sudo apt-get install non-free-codecs libdvdcss2
Please see http://medibuntu.org for more information. Think to update, because Medibuntu may provide more complete version of VLC, Mplayer, Mencoder, etc...
For licence purpose (Steinberg licence for VST and VSTi are not fully compliant with GPL, and so are a bit restricted) it is not officialy possible to use VST and VSTi under Ubuntu at the moment. See the instructions in the "Backports" section for more informations, if you really need them.
You may want to enable the real time support if you work at very low latency (less than 10ms), producing audio or using virtual instruments in "live performance". All you have to do for this is give your "audio" group permissions to access the rtprio, and memlock limits. To do this, you just need to run these commands, which will add some lines to the file /etc/security/limits.conf and add you to the audio user group.:
sudo su -c 'echo @audio - rtprio 99 >> /etc/security/limits.conf' sudo su -c 'echo @audio - memlock unlimited >> /etc/security/limits.conf' sudo adduser <username> audio
Of course, think to replace <username>.
These value are suggested by http://jackaudio.org/faq. The memlock line determines how much of your memory can be locked by audio processes. Some recommend setting this as half of your total memory (RAM, in KB). See Florian Paul Schmidt's page.
Note: Modifying /etc/security/limits.conf Should Not Be Required Anymore <
> Beginning with the Ubuntu package jack-audio-connection-kit-0.118+svn3796-1ubuntu2 editing of /etc/security/limits.conf should not be required. JACK will write the following during post-installation to /etc/security/limits.d/audio.conf:
- generated by jackd's postinst. <
- Do not edit this file by hand, use <
- dpkg-reconfigure -p high jack <
- instead <
@audio - rtprio 99 <
> @audio - memlock unlimited <
- @audio - nice -19 <
Please note that creating or modifying /etc/security/limits.conf may cause conflicts with the JACK written /etc/security/limits.d/audio.conf settings.
Email from Linux Audio Users mailing list: http://linuxaudio.org/mailarchive/lau/2010/3/5/166428 <
> Debian Bug #507248: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507248 <
> -- Scott Lavender 4/25/10 Then, you may want to install the -lowlatency kernel, you can simply do:
sudo apt-get install linux-lowlatency linux-headers-lowlatency
If you still experience Xruns or you have a firewire sound card supported by the FFADO project, you may want to install the -rt kernel:
sudo apt-get install linux-rt linux-headers-rt
Take care, with some nVidia or AMD/ATI graphic card, the -rt and -lowlatency kernels may not work well with restricted driver. Always keep a -generic kernel on your Grub list. If for some reason you can't boot with the -rt kernel, it will be very usefull. Restart Ubuntu, and it should be enabled. You may need to edit Grub preferences to choose the default boot kernel.
Configuration of more than one pci/usb sound/midi card/keyboard/control surface
When having more than one soundcard, it often appears that one card is one time the default device, other times it's an other one. This has led to a lack of output because the "System/Preferences/Sound" control panel seems to only consider card "0" to be the default, even if you change it. So, to make a long story short, you can ensure that one of your sound-devices is always "0" with this small modification: Edit the following file with your favorite editor, e.g, For Hardy LTS:
sudo gedit /etc/modprobe.d/alsa-base
sudo gedit /etc/modprobe.d/alsa-base.conf
and append this to the bottom of the file, making adjustments as required for your setup, see example below:
options snd_hda-intel index=0 options snd_indigoio index=1 options snd_hdsp index=2 options snd_foo index=3 #etc...
Where "foo" is the name of the alsa driver for the soundcard (pci or usb, audio or midi). Not Firewire! To find the name of your sound card driver, go there : http://alsa-project.org/main/index.php/Matrix:Main
If you can not have midi sequencing enabled, or if you have midi error message, the Alsa midi sequencer module of the kernel may not be loaded. Try that:
sudo modprobe snd-seq
If it works, to have your system load it at bootup, you have to add it to the /etc/modules file, do:
sudo su -c 'echo snd-seq >> /etc/modules'
The QjackCtl application will automatically suspend PulseAudio but it is also possible to disable PulseAudio all together. The two steps to disable PulseAudio for your session:
- Create the file ~/.pulse/client.conf with the following terminal command:
echo "autospawn = no" > ~/.pulse/client.conf
- Create a new Startup Application that will kill PulseAudio when your session is started. Open System - Preferences - Startup Applications. Add a new entry by clicking the add button and enter
pulseaudio -kin the command field.
Firewire (ieee1394 / raw1394) sound cards and cameras
With the new Firewire stack in Ubuntu Kernel, at the moment, it is not possible to run FFADO supported sound cards with -generic and -lowlatency kernels. Please see instructions on this page to install -rt kernel wich has old stack. So this section needs a complete rewrite. If you can't get your Firewire sound card working with Freebob/FFADO and Jack, please first of all have a look at http://ffado.org/?q=devicesupport/list and check if your sound card is supported. First of all, install the -rt kernel if didn't do it upper, add yourself to the video group:
sudo adduser <username> video
Think to change <username>. Then, you have to give the access right to "/dev/raw1394" to the "video" group You need to edit/create a configuration text file:
sudo gedit /etc/udev/rules.d/65-permission-raw.rules
And make a copy/paste of this into the file:
KERNEL=="raw1394", OWNER="root", GROUP="video", MODE="660"
Restart the workstation is necessary to get the acces right. In Karmic and Lucid Beta, install then the ffado utils:
sudo apt-get install ffado-dbus-server ffado-mixer-qt4 ffado-tools libffado1
NB: it may cause a security problem if you are using ieee1394 for other than hard disk, camera or sound card connection, but for exemple with ieee1394 networking. You will have to run one time with the sound card "on" before starting the workstation, in order to confirm right access. Then it is not necessary anymore. In Qjackctl setup, choose in the "Driver" list "freebob" if you are in Hardy, and "firewire" if you are using Karmic and Lucid Beta. In the "Interface" list, choose "hw:0". In Karmic, you may need to install "a2jmidid" package. This application allows you to make connections between alsa-midi and jack-midi peripherals. The new FFADO driver create now only jack-midi instance for the physical input and output of your firewire sound card. So if you are using them, you will need to launch "a2jmidid" in a terminal, or to add this command line to the Qjackctl start option to be launched automatically. So you can connect your midi applications to the physical input and output of the firewire sound card. You can find some GUI tools and howto on the Ubuntu Studio FireWire Audio documentation. However, take care using the Ubuntu Studio Control Gui, it is very buggy.
In Lucid Beta, thanks to the launchpad community and to the work of other variant of Ubuntu for Multimedia production, you may find a lot stuff in PPAs. There is one we recommend to install to have fresh and stable backports like Ardour VST, jack 2, and updated versions of a lot of softwares. Add this line in Synaptic in the "Third party software reposiroty" list:
More information available at https://launchpad.net/~falk-t-j/+archive/lucid In order to get the latest -lowlatency and -rt kernels, please add this in Synaptic:
With all that, you will have almost all codecs, libraries, application, etc... available and updated for GNU/Linux in Ubuntu Lucid. So, think to update with apt-get or Synaptic !!!
PulseAudio and Jack
Thanks to the KXstudio team, a way to have Pulse Audio sound in Jack is available, very simply. It's so great to have Firefox (Jiwa, Youtube, etc...), Totem, etc... sounding on your favorite sound card. First of all, install the backports repositories if you didn't. Then install the pulse-jack package, do:
sudo apt-get update sudo apt-get install pulse-jack
This package install a very usefull utility wich will connect Pulse Audio to Jack once it is started. You may want to add the "pulse-jack" command in the Jack Control preferences, so it will be auto-launched after jackd start.
Getting it All Going
First, you will want to launch Jack Control, and configure it for your soundcard. Follow the HowToJACKConfiguration page if you need help. Next, we recommend you to use Patchage to connect applications within them and with hardware I/O (audio and midi), as you want.
- It is just an update of the original Gutsy page for Lucid LTS.
- This page is aimed to be a reference of tweaks and steps for setting up a multimedia workstation from a standard Ubuntu installation. I and others are doing their best, testing with our available hardware, to provide the best information available as possible. In order to be the more and more complete and stable, if you find something wrong, feel free to correct it. In the same way, you can add good infos once you are sure it works well. Please, think to respect the layout. ttoine
- Don't hesitate to come on #ubuntustudio on freenode's irc if you have any question, or you want to help. You can write to the UbuntuStudio devel mailing list too.
- If you want to add tips for an application, this is not the right place. Please create a new page or fill the page dedicated to this software in the UbuntuStudio pages of the wiki
Discuss this page