Troubleshooting Linux Audio, Part 1

I have a friend who has had nothing but nightmares result from his attempts at setting up the fabled low-latency high-performance Linux audio system. In sympathy with his plight I present here a primer in three parts for troubleshooting common and uncommon problems with the Linux sound system. Parts 1 & 2 will present programs used to analyze and configure your audio setup. Part 3 will list the most frequently encountered problems along with their suggested solutions.

This week, Part 1 introduces some useful system analysis tools and utilities with graphic user interfaces.

First Steps

The Linux audio system is a complex beast, and ALSA is its beating heart. Well, it's supposed to be, but what do you do when it's not beating ?

First, consider the critical parts of a typical computer sound system. Three main stages exist for possible malfunction :

  1. Connections between soundcard and external equipment.
  2. The soundcard and its configuration.
  3. Your system software configuration.

Stage 1 should be checked for proper connections, power status, cable integrity, and other hardware aspects. Consumer-grade sound devices usually provide poor-quality connectors, though some cards from Creative include more durable connection points on their "Live Drive" control panels. If your external equipment includes an amplifier or powered speakers, be sure the power is turned on (and double-check those flimsy connectors between speakers). Cords and cables can be damaged easily, causing static-like noise and other discontinuities in the sound, and their connectors should be solidly attached. You don't need to buy cables with gold-plated hardware, but you should avoid cheap cords with molded plastic connectors. Remember, your audio system is a chain of parts, and like any chain it's only as strong as its links. Avoid weak links.

The soundcard itself may cause audio problems if it is not seated completely in its slot. It may also be a noise source if placed next to certain video or network cards. I'll discuss card and system configuration details later in this article, but first I have some advice to help you avoid some predictable problems.

Doing It Right The First Time

I can't over-emphasize the need to do your homework before purchasing hardware for audio with Linux. If you're coming from Windows into the Linux audio world you must not assume that your equipment will be supported. For that information your first stop should be the new & improved ALSA Soundcard Matrix, and if you can't find what you need there you should proceed to the LAU mail-list and its archives. These steps are increasingly necessary as Linux itself broadens support for USB, Firewire, and other i/o devices and protocols. For the most up-to-date information on recommended (and not-so-recommended) hardware, search the LAU archives and ask on the mail-list.

Typical recommendations for professional-quality audio work include the RME Hammerfall and the M-Audio Delta systems. However, potential buyers are well-advised to ask on the LAU list before purchasing any hardware, even the recommended items. Sensitive points include firmware versions, preamp requirements, available sample rates, and so forth.

ALSA supports a greater variety of consumer-grade cards, so recommendations are easier to make. Most cards from Creative Labs are well-supported, though again I also advise checking the ALSA Soundcard Matrix and the LAU mail-lists for current reports on your potential purchase.

USB audio devices are generally supported if they are truly standards-compliant. The LAU mail-list archive contains some valuable threads regarding USB devices and their performance under Linux, it won't hurt to consult the archive before buying a USB sound device. Firewire support has only recently come to the Linux audio world, thanks primarily to the work of the FFADO (formerly FreeBOB) project. Consult the FFADO Web site and the LAU list for current usability reports.

On-board desktop and laptop chipsets are generally not recommended for serious recording, at least not for multitrack/multichannel CD-quality digital audio I/O. They may be desirable for audio features for CD/DVD playback, but they are not sufficiently robust for serious audio production. The hda_intel chipsets are especially prone to difficulties; see the LAU archive for details regarding that and other fractious laptop & notebook audio chipsets.

Tools & Utilities: GUI

The Windows Control Panel has been a mixed blessing for users, but it does succeed at putting a lot of information about your system into one handy utility. Linux per se does not provide such a utility, but many Linux distributions and desktop environments now supply some kind of GUI for investigating and configuring your system and its various devices. For example, openSUSE includes yast ("yet another system tool"), an excellent utility that reports a wealth of detail regarding your machine and its operating system.

The screenshots in Figures 1 through 4 indicate the breadth and depth of information and control available from yast. Figure 1 shows off the yast (yast2, actually) GUI. The left-hand panel lists the general categories, and each category displays its own set of available devices and services. Figure 2 displays the results from selecting the Hardware category and then clicking on the Hardware Information icon. Figure 3 shows the same panel with the sound device information fully revealed.

Figure 1: YAST


Figure 2: General Hardware Report


Figure 3: Soundcard Information


The panels in Figures 1-3 are non-interactive, they only report the current configuration details. To reorder, enable/disable, or otherwise reconfigure your audio devices, open the Soundcard Configuration dialog (Hardware category, Sound icon).

Figure 4: Soundcard Configuration in YAST


Figure 4 shows off the configuration dialog for my JAD box. According to its report, I have two soundcards installed in my system, a real SBLive Value and a virtual MIDI card (the ALSA virmidi device). The SBLive was detected during installation, along with an on-board audio chipset. I disabled the on-board device in the machine's BIOS and later added the ALSA virtual MIDI port module. The Add button invokes a list of available drivers and extension modules, including the virmidi module. It was installed as the second card by default, and that's how I've left the system.

The dialog's Edit button calls up an interactive display of driver module configuration options. Depending on your soundcard, these options may be many or few. For example, the virmidi module provides only one, a parameter to create more than the default four virtual MIDI ports. In contrast, the module options for my SBLive include infrared control enable/disable, maximum number of wavetable synth voices, maximum sample buffer size, and three others. Most users should have no need to further configure a soundcard after installation, but the finer control is there when needed or desired.

QJackCtl

QJackCtl is the main JACK control utility at Studio Dave, but I mention it here for its usefullness as a system analysis tool. The Messages panel reports any problems encountered when starting and operating the JACK server, the Status panel expands upon the information seen in QJackCtl's window display, and the Setup dialog provides a convenient all-settings-in-one-place configuration utility. Alas, the Setup dialog isn't much good if you don't know what affects what, but help is at hand, or at least on-line: Knowing JACK (PDF 370K) was written originally for Linux Pro Magazine in 2006, but its essential information remains valid, particularly the explanatory list of the Setup parameters in QJackCtl's Settings dialog.

Figure 5: QJackCtl spreads out


AlsaMixerGUI

Maarten de Boer's AlsaMixerGUI displays the same set of controls as the alsamixer console program, but the interface is much nicer, and it also adds a full report of the /proc/asound system. Right-click the ALSA logo, select Proc Info from the drop-down menu, and a report similar to the screenshot in Figure 6 should appear. I'll explain the proc system later in this article, but Figure 6 indicates its relevance whe troubleshooting ALSA.

Figure 6: AlsaMixerGUI reports


AlsaMixerGUI isn't the only soundcard mixer that provides such reports. Check around on yours, you might find some useful hidden system analysis tools.

Linux Music Makers

Even if you can't read Spanish you should visit Carlos Pino's music page. My personal picks are Smooth (OGG 2M) and Open Horizon (OGG 4.8M), two sweet grooves that demonstrate Carlos's skills as an arranger and soloist.

Edgar Aichinger is a regular participant in the JackLab forum and the #jacklab IRC channel at Freenode, where he is known as edogawa. In addition to his activities at the JackLabs he is a devoted father and an impressive lutenist, as you can hear for yourself in his performances of Mille Regretz (OGG 2.8M) and this Prelude (OGG 1.4M) by Denis Gaultier.

Outro

Next entry I'll introduce troubleshooting from the prompt with some humble but powerful command-line tools. Meanwhile, I encourage readers to send in their own audio system configuration reports and troubleshooting tips. If we can amass enough relevant material perhaps one of us could be persuaded to wrap it up into a helpful page at Linuxaudio.org for everyone's access and assistance.

______________________

Similis sum folio de quo ludunt venti.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

very good news

Enzyte's picture

very good news

Nice article

Sounds good's picture

Hi,

Thanks for the nice article. I always thought that playing sound on linux is a complicated matter. This is a very detail article with much information for me.

Thanks again.

Problems with KDE and audio

Jim Steichen's picture

The folks at KDE.org really need to expand their audio troubleshooting page. I followed their troubleshooting guide but it wasn't much help. I know audio works because I can listen all day to jazz via gxine or kplayer, yet KDE system sounds refuse to play. Of course part of the problem is some part of KDE got trashed in a crash, but which part has to be re-emerged (gentoo of course) in order to get the audio back up & running? In some respects Linux makes everything too needlessly complex (why does everything have to be a server for example?). Life would be so much easier if all of the configuration files for example, weren't scattered throughout the system directories, and not just KDE has this scattergun approach to its configuration stuff (Grr).

File structure and linux sound system

Halgeir's picture

The first thing I have to recommend to you is to read about how the UNIX/Linux directory structure works (if you haven't figured it out already) Then everything will be more logical for you.

I've been using Linux now for 2 years, and started with gentoo because I wanted to learn how it worked. These days I use Kubuntu.

The overall system settings is in /etc and the settings for easy user is in the users /home/"user" directory under ."applicationname" or ".kde"/"somthing".

It's not even better in Windows when everything is piled up on each other in the registry. Windows also have a pretty advanced file structure when you look close at it. It's comes down to our knowledge.

The Linux sound system works very well in my opinion. Again it's about getting the knowledge and apply it. In gentoo I used only the alsa sound system. And the only command used when there was sound problems was: "alsamixer".

Linux is a great OS in my opinion and I love it more and more.
It gives you back the control the computer.

One day Linux software RAID system was tested when one of my HD stopped working after a power failure. I only had to install grub
on the working HD and system booted perfectly.

God luck to you all!

:)-|algeir

Well done!

Pierdo's picture

Hi Dave,

I'm a rookie linux user and follow your work and of others LAU guys with much attention.

Your articles on daw workstation setup and understanding of the inherent concepts it's good for me, he give me an introduction on what I'd check and the step to get a good hw for a pro or semipro linux daw.

I hope for the future there will be also some kind of tutorials for the average users on how get best performance from combinations of various and greats software used today in a linux daw. I say goodbye to windows, and I very happy to do so! :)

Best Greetings,
Pierdo.
linux daw enthusiast(..and sorry for bad writing).

A list of "guaranteed working" hardware would be great

Malcolm's picture

"I can't over-emphasize the need to do your homework before purchasing hardware for audio with Linux."

I couldn't agree more. I've tried several times to get a working Linux Pro Audio set-up but always failed, even though I have many years of Pro Audio and Computing experience to draw on. Many Pro Audio devices that "just work" in Windows XP are either not supported in Linux, or apparently are, but don't work with my particular combination of motherboard, other hardware, Linux distro, etc..

Linux has come a long way over the past couple of years but still has a way to go before it reaches the level of Pro Audio hardware and software compatibility provided by XP. A list of "guaranteed working" systems (i.e. audio device, Linux distro and computer hardware) would go a long way towards easing the new-user pain.

Cheers,

Malcolm.

my system is : mobo :

Anonymous's picture

my system is :
mobo : DG965SS
card : Delta 1010
Ubuntu Gutsy, kernel 2.6.23-rc2-realtime (Ingo Molnar's patch)
I use KDE as a WM, ardour-2.0.5 and common jack apps. Honestly, it worked without a glitch after I upgraded to kernel 2.6.23. No complains.
I am a long time linux user, never used windoze or mac, so I guess I am biased ;)

how to get multiple soundcards working

bob dagit's picture

maybe not with alsa, since what i was aiming was to use the cheaper cards i have. currently i can run alsa with a number of cards, like sb live and es1371's and they can all run midi simultaneously and independently. however, i was hoping to use multiple pcm in/outs, first for recording from multiple microphones in one session, and also to paly out to several sets of speaker outs. i have done a little snooping around the linux audio resources, and discovered the project formerly known as polypus. whatever its status is now, the main reason i am commenting is that i prefer to use the cards i have now rather than buy a specialty card with its own multiple in/outs that is automatically configured for alsa and jack.
please do address this if you can help. for novice audio software experimenters, the expense of high-end cards is not as economical as putting what already is at hand to work.

the homepage above is not really a homepage, but something i made for a presentation for the linux flux club in south florida, mainly to attract birds of a feather when the club needed volunteers one month. still no takers, but i continue in my own way to try to bone up on linux, even now studying more about shell scripting so that it might help me figure out what to do in a variety of situations that i want to have better control over.

Ardour 2.0/sound setup

jjZiggy's picture

I enjoyed your article on Ardour 2.0 and promptly downloaded it (the source) to my FC5 installation and after updating and obtaining various libraries, I finally got it compiled and installed. It runs fine on my low end (via garden variety OEM) soundcard. I am saving up to change that. Thanks for the article.
When Ardour 2 starts I get a message saying something to the effect that " My system has a limit on locked memory and that Ardour may run out of memory" I was wondering where I can find information on setting up the /etc/security/limits.conf file for this. Thanks. Keep up the good work.

Author's reply

Anonymous's picture

Have you looked here :

ALSA Wiki: Surround Sound

You might also want to check this page:

Linux Surround Sound

Good info on both pages. I have a 4.1 system running with an SBLive, it seems to work fine in with DVDs in MPlayer and Xine, but I haven't done any other testing.

Please let me know if the links help you.

Best,

Dave Phillips

Just a remmark

Jesus's picture

"For example, openSUSE includes yast ("yet another system tool")..."

Actually yast = yet another setup tool

since long time ago :-)

Just Another Remark (JAR)

Leon945's picture

GEEEEEEEEEEK

gaultier

edogawa's picture

Hi dave,

thanks for mentioning my music here! just one little correction: the prelude is by a certain Pierre Gaultier, a relative of Denis...

Just curious, do you play

remon's picture

Just curious, do you play with your finger nails ?

Nice interpretation of Mille Regretz btw!

Mille Regretz

edogawa's picture

Thanks for your comment remon,

the recording of Mille Regretz is several years old, and apart from the fact that the piece is for vihuela, at that time i had a hard time trying to play without nails in "thumb-under" technique. By now I am a bit better in this, but still it takes extra effort for me to use the technique.

I love the song, I have sung it in choir too, and this intabulation is a one to one transcription of the four part vocal setting, just amazing. I have to admit that I have cut it up from several takes, you can hear that clearly when listening on headphones. Not that I am not able to play it in one go, but you know, a live performance is something different from a recorded version you listen to over and over again.

I still continue to play classic guitar, and that's why I was seeking a compromise, short enough nails to omit them when playing lute, but to use them on guitar. But it's not really easy, I have spoken with guitar/lute students who had the feeling they have to decide for one instrument or the other just for that reason. But I am amateur, autodidact, and can take the freedom to play the way that feels comfortable for me.

But you are right, thumb-under, without nails is definitely needed to produce the full and sweet sound that has made the lute such a appreciated instrument during so many centuries...

edogawa

High Quality Sound cards

David Legg's picture

Are you going to recommend or write about high quality sound cards, i.e. those with 24 bit sound and lots of EMC insulation? Some experiences with real hardware that can be bought right now would be great.

Author's reply

Anonymous's picture

Hi David,

I'll mention and recommend cards I've used and cards that have been recommended by users. Currently I have no experience with any 24-bit system, so I welcome any & all comments.

I will provide a short list of pro-audio and high-quality consumer cards that are most popular with Linux music & sound people, probably in the third installment of this series.

Best,

Dave Phillips

I have a problem with mp3 -

Juls's picture

I have a problem with mp3 - can't start'em :( WHAT can I do?

install extras

Anonymous's picture

sudo apt-get install ubuntu-restricted-extras

or look here:
http://kubuntuguide.org/Feisty#Multimedia_Codecs_Installation

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState