LinuxDevCenter.com

oreilly.comSafari Books Online.Conferences.

We've expanded our Linux news coverage and improved our search! Search for all things Linux across O'Reilly!

Search
Search Tips

advertisement

Listen Print Subscribe to Linux Subscribe to Newsletters
Linux & Unix > Excerpts >

Linux Soundcard Drivers: A brief guide for users and developers

by Dave Phillips
05/17/2001

Introduction

In the Windows and Mac worlds, the end user rarely worries about drivers. Hardware manufacturers normally provide binaries, complete with installation utilities and other amenities (mixers, example programs, players, etc.), and updates are often available for free on the Internet. Alas, Linux does not yet enjoy the happy status of those worlds: manufacturers rarely supply native Linux drivers in any form, and Linux developers must often go to great efforts to write usable drivers for the manufacturer's hardware.

Linux applications depend on drivers to enable communications between an application and a hardware device such as a printer, CD-ROM drive, or soundcard. A working Linux sound system can be thought of as a sandwich, with application software as the top slice of bread and sound hardware (soundcard and speakers) as the bottom slice. Sandwiched in the middle is the meat (at least, the meat of this article) -- the audio device control software or soundcard device driver.

A soundcard driver provides the communication interface between an application and the audio system hardware. The driver operates within a multistage process: an application requests audio services from the kernel, the kernel summons the appropriate driver module (e.g., /usr/lib/modules/2.4.0/sound/es1370.o for my SB PCI128) to communicate with the soundcard, and the driver manages the bit-level manipulations of the soundcard's audio chipset. The driver acts as a translator for commands received from an application (which generally doesn't care whether my soundcard is a SoundBlaster Live Platinum or a PAS16), turning them into the very hardware-specific commands unique to the actual card, i.e., if I want sound from my SB Live I must have a Linux-compatible SB Live device driver.

Related Reading:

Linux Device Drivers

Linux Device Drivers, 2nd Edition
By Alessandro Rubini & Jonathan Corbet
2nd Edition July 2001
0-59600-008-1, Order Number: 0081
560 pages (est.), $39.95 (est.)

Since drivers are hardware-specific, it should come as no surprise that one of the most frequently asked questions in Linux discussion groups is "Where can I find a driver for my [insert card name here] soundcard ?!". This article will help answer that question and others regarding the somewhat obscure world of Linux audio device drivers:

  • In "Finding and Installing Drivers," I'll direct you to the possible sources for the correct driver for your soundcard; I'll help you decide between the likely choices; and we'll look briefly at the various ways to install and configure a new driver.
  • In "Inside the Driver," I'll describe and briefly analyze a Linux audio device driver; and I'll demonstrate a simple example of programming the soundcard device using the kernel sound API and the ALSA API.

  • In "The Future of Linux Audio Driver Support," I'll offer an outlook for upcoming Linux support from audio manufacturers and provide online and print resources for further reading.

Let's start by taking a look at the various sources for Linux soundcard drivers.

Finding and Installing Drivers




Tagged Articles

Be the first to post this article to del.icio.us

Recommended for You

  1. Cover of Using Samba
    Using Samba
    Print: $34.95
  2. Cover of Book of VMware
    Book of VMware
    Print: $39.95
  3. Cover of X Toolkit Intrinsics Ref Man R5
    X Toolkit Intrinsics Ref Man R5
    Print: $44.95
  4. Cover of Managing Projects with GNU Make
    Managing Projects with GNU Make
    Print: $29.95
    Ebook: $23.99

Sponsored Resources

  • Inside Lightroom
Advertisement

Sponsored by:

O'Reilly Media

©2010, O'Reilly Media, Inc.
(707) 827-7000 / (800) 998-9938
All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.
About O'Reilly
Academic Solutions
Authors
Contacts
Customer Service
Jobs
Newsletters
O'Reilly Labs
Press Room
Privacy Policy
RSS Feeds
Terms of Service
User Groups
Writing for O'Reilly
Content Archive
Business Technology
Computer Technology
Google
Microsoft
Mobile
Network
Operating System
Digital Photography
Programming
Software
Web
Web Design
More O'Reilly Sites
O'Reilly Radar
Ignite
Tools of Change for Publishing
Digital Media
Inside iPhone
makezine.com
craftzine.com
hackszine.com
perl.com
xml.com

Partner Sites
InsideRIA
java.net
O'Reilly Insights on Forbes.com