Bluetooth audio for Linux

Overview | History | Future work | Download & build | Credits | Contact us

Please help test the audio drivers that are built into Bluez
This project aims to make bluetooth headsets of all types work well with Linux computers, from a standard desktop to a limited embedded device.

For cvs, etc. see the project pages at sourceforge.

To make the computer act like a headset and talk to a cellphone, check out gammu.


The most common use of bluetooth audio is to make a wireless connection to a cellphone. This is typically done using a small headset that fits over one ear. These headsets don't deliver outstanding audio quality. A headset used for a phone call should not introduce much delay. A special transport, Synchronous Connection-Oriented, or SCO, was invented to provide this low-delay monophonic audio with voice-quality fidelity.

SCO headsets have one or both of two profiles for 2-way voice communication.

The simpler profile is the Headset Profile, or HSP. It provides for a way to tap a button to start or end a call and buttons for controlling audio levels.

The more advanced Hands-free Profile, HFP, adds a host of optional functions like call rejection, last-number redial, caller id display, and dialing specific phone numbers.

High-fidelity audio

The advanced audio distribution profile, A2DP, provides the basis for high-fidelity audio. The bandwidth of bluetooth cannot accommodate uncompressed high-quality stereo audio, so the audio stream must be digitally compressed.

Pausing, playing, advancing the track are features of the AVRCP profile, most commonly combined with A2DP.