个人工具

UbuntuHelp:UbuntuStudioPreparation

来自Ubuntu中文

Wikibot讨论 | 贡献2009年5月12日 (二) 19:18的版本

跳转至: 导航, 搜索

You will find on this page what has to be done if you want to setup a multimedia production workstation with a standard Ubuntu installation (means without installing Ubuntu Studio). However, user 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 multiverse, universe, main and restricted repository activated in Synaptic. All on this page as been tested and work successfully with Ubuntu Hardy LTS, Intrepid (be careful, issues with rt kernel and some restricted drivers), and Jaunty beta (as it is named, it is a beta, but it works...). Currently, the Ubuntu preferred version for production would be Ubuntu Hardy LTS. It is indicated where to find backports for important application like Ardour in this page.

Install the "must have" packages

If you prefer to install the packages with Synaptic, you can.

The basics

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 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, 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 usefull application to patch audio/midi applications and the I/O, gcdmaster allows to create 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 is it a low latency sound card, do:

 sudo apt-get install alsa-firmware-loaders alsa-tools alsa-tools-gui

If your card is still not supported, you may find the alsa-firmware in the Medibuntu repository. In order to add it to Synaptic, please go at http://medibuntu.org. Then, do:

 sudo apt-get install alsa-firmware

And your card will work. For card like RME hdsp, you may need to run manually the command line "hdsploader" in a terminal if the system don't launch it by himself. Feel free of course to create a shortcut in your menu or Gnome panel.

Firewire (ieee1393 / raw1394) sound cards and cameras

If you can't get your Firewire sound card working with Freebob and Jack, please first of all have a look at http://freebob.sourceforge.net/index.php/List_of_Supported_Devices and check if your sound card is supported. If you can't access to your camera through firewire (ieee1394), you have the same problem. Simply do that:

 sudo adduser <username> disk

Think to change <username> below with the concerned user name. So you will have the access to raw1394 without being root. NB: it may cause a security problem if you are using ieee1394 for other than hard disk, camera or sound card connection, for exemple with network

Effect Plugins, Instruments and Codecs

Install the LADSPA plugins so you get some effect plugins for your audio applications to use:

  sudo apt-get install blop caps cmt fil-plugins ladspa-sdk mcp-plugins omins swh-plugins tap-plugins vcf-plugins

Install the DSSI host and plugins:

 sudo apt-get install dssi-host-jack dssi-example-plugins dssi-plugin-fluidsynth dssi-plugin-hexter dssi-plugin-xsynth

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 gstreamer0.10-plugins-tools ffmpeg ffmpeg2theora

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.

Real Time Kernel & Xruns

Xruns. What are they? Well, simply put, either they are buffer underruns or buffer overruns.

  • A buffer underrun happens during playback, when your sound card tries to read data from the buffer, but your software has not yet filled it.
  • A buffer overruns happens during recording, when your sound card tries to write data to buffer, but your software has not yet emptied it.

The only acceptable time to receive Xruns is during application startup. Currently, for whatever reason, JACK applications usually cause a few Xruns as it connects to the JACK server, but these will not hurt you in any way. The most critical time to not receive an Xrun is during recording, because it causes a permanent glitch in your audio, which may or may not be easily heard. So now you should understand basically why you want to avoid Xruns. They will cause issues with your recordings, or cause annoyance during playback. Thankfully, you can get these down to a minimum, if not eliminate them altogether. The better way to avoid X-Runs is to install a real time kernel, optimized for audio production with low latency. You can simply do:

 sudo apt-get install linux-rt

Then follow the advice below under 'Real-Time Support' and you should be set up to run jackd and other applications in real time low latency mode. You need to reboot after you've installed the low-latency package and made the changes below. Make sure you reboot into the right kernel - it will come up in the list on the boot screen, but may not be set as the default option. Some packages which require compilation of modules (such as nvidia drivers or Virtualbox) may not work until you install realtime linux headers. To install them:

 sudo apt-get install linux-headers-rt

Take care, with some nVidia graphic card, the linux-rt kernell will not work with nvidia-glx-new driver. In Intrepid, if there is a mistake, instead of GDM Login Screen, you will be prompted to setup a new default configuration, and then have to restart. Great new feature. If your aim is audio production at low latency, my advice is to stay at the moment on Ubuntu Hardy LTS.

Real-Time Support

After you've got the kernel you still need to set up real-time access for your applications. All you have to do for this is give your audio group permissions to access the rtprio, nice, 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:

 sudo su -c 'echo @audio - rtprio 99 >> /etc/security/limits.conf'
 sudo su -c 'echo @audio - nice -19 >> /etc/security/limits.conf'
 sudo su -c 'echo @audio - memlock unlimited >> /etc/security/limits.conf'

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. In Intrepid and Januty Beta, you have to create a user group named "audio" and add your user name (and other users of the workstation if needed) to this group. You can do that very simply in "System / Administration / User Group". Restart the workstation and it is ok.

ALSA Sequencer

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'

USB MIDI Keyboard/USB Secondary Sound Card Fix

Since Hardy LTS, this should be already done. You can see below how to tweak if necessary.

Configuration of more than one pci/usb sound/midi card

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 and Intrepid:

sudo gedit /etc/modprobe.d/alsa-base

For Jaunty Beta:

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-usb-audio index=-2
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

VST Instruments

You can use Windows VST plug-ins (with certain limitations) via dssi-vst, which will make them available as if they were native Linux (DSSI) plug-ins. Unfortunately, this adaptor is not readily available as a .deb package due to licensing restrictions, so you may need to build it yourself from source. If you attempt this, make sure you have the ALSA and Wine sources installed first, as these are pre-requisites.

~/dssi-vst-0.8$ sudo apt-get install libasound2-dev wine-dev
~/dssi-vst-0.8$ make && sudo make install

Once you have dssi-vst installed, copy the .DLLs for your VST plug-ins into the directory /usr/local/lib/vst, restart JACK, and they should automatically appear in any applications which make use of DSSI plug-ins (such as Rosegarden).

Unofficial Backports

Khashayar Naderehvandi is one of the packager and backporter of the Ubuntu Studio team. In his PPA, you will find backported version of major packages for multimedia production, such as Ardour, Alsa drivers, Blender, Jackd with integrated FFADO support, Pulse Audio, etc, and the usefull "qgtkstyle" package allowing QT application to be well integrated in Gnome. Packages are available for Hardy LTS, Intrepid and Jaunty beta. In order to add the repository to apt and Synaptic, see detailed package list and install them, go to this Launchpad page: https://launchpad.net/~khashayar/+archive/ppa Then, update and install the other packages you need. Be careful, take the time to read the instructions and disclaimer: it is backport, and if it is aimed to be stable, some packages may not be. Please, report to Khashayar if the packages work too, not only if they don't.

Getting it All Going

First, you will want to launch QjackCtl by itself, 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.

Comments

  • It is just an update of the original Gutsy page for Hardy LTS, Intrepid and Jaunty.
  • 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 Ubuntu Studio devel mailing list too.