Working: HDMI Audio on ATI Graphics Card

List of video connectors

Image via Wikipedia

Under Ubuntu Intrepid Ibex (should also work for Hardy Herron) with pulseaudio.

(Gfx card: ATI HD 4850)

It is a simple fix that took me ages to work out. Basically, PulseAudio does not recognize the graphics card’s sound card. To fix, we simply force it to recognize it, and remove detection  of alternatives to make it default. There is almost definitely a better way than removing the alternatives,  but *meh* it works for me.

First, work out which device is your correct HDMI device (in this case, 1,3 as it is card 1, output 3):

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC883 Analog [ALC883 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC883 Digital [ALC883 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]
Subdevices: 0/1
Subdevice #0: subdevice #0

Open up /etc/pulse/default.pa in your favourite text editor

Add this line just before all the #load_module lines (around line 32), replacing 1,3 with whatever you found above):

add-autoload-sink output module-alsa-sink device=plughw:1,3 rate=48000 sink_name=output

Comment out the module-hal-detect section (around lines 40-47):

#### Automatically load driver modules depending on the hardware available
#.ifexists module-hal-detect.so
#load-module module-hal-detect
#.else
#### Alternatively use the static hardware detection module (for systems that
#### lack HAL support)
#load-module module-detect
#.endif

Uncomment this line at the bottom of the file:

set-default-sink output

Save and close the file, then log out and back in again (or kilall pulseaudio && pulseaudio) and, hopefully, your sound should work!

Reblog this post [with Zemanta]

Tags: , , , , ,

Bookmark and Share

4 Responses to “Working: HDMI Audio on ATI Graphics Card”

  1. Trab Says:

    Hello,

    I was able to get this to work to output sound through my ATI graphics card using HDMI (and pulseaudio, because ALSA could already do this)

    What I would like to do is be able to do one of two things:

    1) Switch between using HDMI and my other sound card, which is plugged into my headphones
    2) Have it output to BOTH HDMI and my other sound card, then I can just mute the HDMI speakers when I need

    Any ideas?

    thanks,
    Trab

  2. Benjie Says:

    I’d like to know that too… let me know if you figure it out! Thanks for letting me know that you found this useful!

    Cheers,

    Benjie.

  3. Trab Says:

    found a way to do it:
    instead of commenting out this part:
    Comment out the module-hal-detect section (around lines 40-47):

    #### Automatically load driver modules depending on the hardware available
    #.ifexists module-hal-detect.so
    #load-module module-hal-detect
    #.else
    #### Alternatively use the static hardware detection module (for systems that
    #### lack HAL support)
    #load-module module-detect
    #.endif

    leave it.

    then, at the bottom, you have to play around with this line:
    set-default-sink output

    basically, if you leave it commented, it will continue to use sound card. if you don’t comment it, it will use HDMI.

    this is part 1 of my problem. i don’t wanna have to restart pulse each time, but I know that you have to have both HDMI AND “soundcard” enabled, to do any kind of switching.

    cheers.

  4. Benjie Says:

    Excellent work, Trab, keep it up! Do you have a blog/twitter/etc that I can follow?

Leave a Reply