Announcement

Collapse
No announcement yet.

HDMI Audio and 780g

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • HDMI Audio and 780g

    Since Bridgman told that fglrx drivers activates HDMI audio (or at least do something with it) I amd putting this question here.

    I have read quite a few forum messages around the net where people have been able to get HDMI Audio to work. Everyone seemed to have ATI HDMI device output at hw:1,0 but I do have it in hw:1,3. I have done everything like instructed in other messages (enabling ATI HDMI using "alsamixer -c1" and setting audio output to hw:1,3), but I just can't get sound.

    I have tried to output audio using MythTV, mplayer and Xine, but without any luck.

    Could it be possible that this different port should somehow be set to fglrx (maybe using some secret pcs-setting)?

    Or have anyone managed to make this HDMI Audio work who also has ATI HDMI audio output in hw:1,3?

    This is not a huge issue comparing to few other issues I have with fglrx, but it would be nice to get at least something to work well.

    My motherboard is Gigabyte GA-MA78GM-S2H (some of there have ATI HDMI output in 1,0 but not this one). ATI drivers are 8.7 and ALSA 1.0.16 (Mythbuntu 8.04 x64).

  • #2
    I don't think the audio driver settings would mention fglrx but you do somehow need to tell the audio stack that you want to use the HD Audio hardware on the graphics card and not the hardware on the motherboard. Not sure how you do that (yet).
    Test signature

    Comment


    • #3
      I'm not sure which one of us is not understanding. This hw:1,3 is referring other ALSA audio card. Printout from "aplay -l" is like:

      Code:
      **** List of PLAYBACK Hardware Devices ****
      card 0: SB [HDA ATI SB], device 0: ALC882 Analog [ALC882 Analog]
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      card 0: SB [HDA ATI SB], device 1: ALC882 Digital [ALC882 Digital]
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      So if I use ALSA device hw:1,3 I should be using audio hardware on graphics card instead of motherboard. Yet this seems not to work (mplayer accepts it as good audio device, but I am not able to hear anything).

      Thanks for a quick reply anyway

      EDIT:

      Now that I think more of this. Maybe Fglrx creates this HDMI device and therefore it propably knows correct card and device number. So if anyone knows what else I should do to get this working but using that card and device (and activating it using alsamixer).
      Last edited by Peruna; 04 August 2008, 03:59 PM.

      Comment


      • #4
        Odd, I have same mboard and it shows up as 1.0

        Code:
        ash-3.1$ aplay -l
        **** List of PLAYBACK Hardware Devices ****
        card 0: SB [HDA ATI SB], device 0: ALC882 Analog [ALC882 Analog]
          Subdevices: 1/1
          Subdevice #0: subdevice #0
        card 0: SB [HDA ATI SB], device 1: ALC882 Digital [ALC882 Digital]
          Subdevices: 1/1
          Subdevice #0: subdevice #0
        card 1: HDMI [HDA ATI HDMI], device 0: ATI HDMI [ATI HDMI]
          Subdevices: 1/1
          Subdevice #0: subdevice #0
        I had something odd happen with net. I switched harddrive with OS from one machine to another and for some reason eth0 did not work and net showed up as eth1. Looked around on web and read something about udev rules. There were two files that needed to be deleted. I don't remember which ones but is that situation similar to yours?

        Regardless, it should still work with hd:1,3, try command line:
        Code:
        xine -A alsa:device:hw=1,3
        Even if no sound, enable Show Controls and press stop button to stop xine. Then press play. A couple of times when sound didn't work this trick allowed it to. This requires that you have the xine settings hw:1,3 in the stereo field and that Output Speaker Selection is set to speaker2.0.

        I think I also didn't get hdmi sound working until upgrading kernel to 2.6.25. What distribution are you using? What kernel?

        Comment


        • #5
          That eth0 -> eth1 thing is bit different since udev tries to remember the same device names and recognizes them by mac-address (I think). I don't know why changing hard drive caused mix-up though...

          udev does not do the same with ALSA devices. Can you tell what you have in /var/lib/alsa/asound.state (actually at end of it where is state.HDMI). At least my Ubuntu 8.04 x64 (with kernel 2.6.24) puts something like this there

          Code:
          state.HDMI {
          	control.1 {
          		comment.access read
          		comment.type IEC958
          		comment.count 1
          		iface MIXER
          		name 'IEC958 Playback Con Mask'
          		value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
          	}
          	control.2 {
          		comment.access read
          		comment.type IEC958
          		comment.count 1
          		iface MIXER
          		name 'IEC958 Playback Pro Mask'
          		value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
          	}
          	control.3 {
          		comment.access 'read write'
          		comment.type IEC958
          		comment.count 1
          		iface MIXER
          		name 'IEC958 Playback Default'
          		value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
          	}
          	control.4 {
          		comment.access 'read write'
          		comment.type BOOLEAN
          		comment.count 1
          		iface MIXER
          		name 'IEC958 Playback Switch'
          		value true
          	}
          }
          I don't think that this file actually sets playback to control 3 but just tells what there is.

          I tried xine with option you gave but did not get any sound even by pressing stop and play multiple times. I hope I don't need to compile newer kernel, but maybe I could try that too just to make sure if that is the reason.

          What kind of data you play using xine? Maybe that could cause the difference.

          Comment


          • #6
            Okay... Now I answer to myself.

            I managed to get sound. VLC seems to completelly randomly start playing sound bot I managed to get other players to play sound too when I first start playback and then I use "alsamixer -c1" and set that single IEC958 to mute and back to unmute. That is certainly not too handy, but at least I know that problem is not audio data, hdmi wiring or settings in my television.

            Since I need to play video using OpenGL and that prevents me to use window playback and (and prevent me to change to different desktop) I need to make some sort of mega script that start mplayer to background and then wait a while and then changes that boolean value to make this work at some level.

            This might be a bug in ALSA when using kernel 2.6.24.. Who knows.

            Thanks for help to everyone that answered or read this possibly useless thread.

            EDIT:
            And bit more. Scripting does not really help since every time I seek in video I need to switch that IEC958 switch on and off. Maybe I keep using analog audio. Besides this issues seems not to be related to fglrx so we are on from forum category anyway..
            Last edited by Peruna; 04 August 2008, 07:00 PM.

            Comment


            • #7
              Good for you. I was never able to get hdmi sound with less than 2.6.25 kernel and I tried a lot of things, although I upgraded alsa around the same time. Maybe that was it.

              Why do you have to run video in opengl? At first I was not able to get xv working but xshm in xine or x11 in mplayer worked fine. I found sdl worked better than opengl also.

              You should probably upgrade kernel anyway. Just for the fun and joy of it. With kernel < 2.6.26 catalyst 8.6 and 8.7 hdmi sound works better, but there are segmentation fault problems such that I'm only using catalyst 8.5. With the kernels > 2.6.25 I've noticed some to total loss of output to the front speaker port. But the rear optical output has been perfect. I haven't tried rear jacks.

              edit: PS I don't have a /var/log/alsa/asound.state. In slackware 12.1 (and maybe because of a custom kernel setting) my stuff shows up at /proc... and I did not see anything that resembled what you saw or at least not in that format.
              Last edited by forum1793; 04 August 2008, 08:01 PM.

              Comment


              • #8
                XV works fine, but tearing (vsync issue) makes it impossible to use at least on my television. X11 is certainly too slow for HD video (and I think there is also a vsync issue). With OpenGL I am able to get well working video, but it is slower than XV and therefore there is some performance issues with FullHD video (even when using coreavc-for-linux patch for mplayer).

                OpenGL has also this issue with some programs (at least MythTV and VLC): http://ati.cchtml.com/show_bug.cgi?id=1218. And as told before OpenGL needs to be run full screen and does not let me to change virtual desktop.

                So currently the ONLY possible way to see working video is using self compiled mplayer with coreavc-for-linux patch (and bit overclocking to minimize the performance issues with FullHD).

                I don't know yet if try newer kernel or not since HDMI audio is not that big deal now that I know (or I think I know) where is the reason for the problem.

                That asound.state file is made when init-script for alsa is stopping and it saves current mixer-settings. It might be different in Slackware. Anyway that is irrelevant now since I managed to get some sort of result with HDMI audio.

                Thanks for your time

                Comment


                • #9
                  Sounds like you're ready to let thread go but I'd like to make a few points so readers know that our gigabyte mboard can work and with current drivers to some extent.

                  I have no issues using xshm, opengl, sdl, and more recently xv for watching dvds in xine (or mplayer for that matter). I'm also using mythtv to watch atsc some of which I think might be up to 1080i. I do not have vsync enabled in mythtv. I do not see the ability to alter it in xine. My screen set to 1280x768. I have no problems watching xine in window vs full screen.

                  I do sometimes get goofy graphics in mythtv when changing channels when the resolution of the broadcast changes. By hitting escape, waiting about 5 seconds and hitting return to Watch TV, the current channel then views OK.

                  I'm not sure where your screen problems are coming from but I went back to catalyst 8.5. 8.6 and 8.7 would not work for me in mythtv. I think one needs a kernel at 2.6.25 or better for this mboard to work well, but some good functioning can happen (I verified) at 2.6.24.5.

                  Comment


                  • #10
                    If vsync problems are not clearly visible with your monitor then most of the issues are not too big. As I said, xshm works, but is too slow when CPU is using all it's time decoding video. SDL is just wrapper, so I haven't bothered testing it. Xv also works well if vsync problems are not bothering (They are much less bothering with my smaller LCD monitor than with this larger LCD TV).

                    If I set OpenGL active to MythTV it seems to work, but it has some tearing issues and when I check mythfrontend.log I can see that it is actually using indirect drawing (because of that issue I mentioned in my previous message, the one with url).

                    If you wish you could try the test program in the bugzilla report and tell if it works for you.

                    I have the same channel changing issues in MythTV, but I don't find them that bad issues since I don't use LiveTV since vsync problems irritate me. I rather use my TV in traditional way without computer...

                    So in the end. Are you certain that you don't have same issues? Since they might not seem to be too easily visible with some monitors. I havent heard that anyone has said that there are simply no tearing issues (vsync or other) with Xv.

                    8.6 and 8.7 causes problem with MythTV (screen changes to garbage), but that issue can be fixed by changing MythTV size by one pixel higher (or wider) than normal (really weird problem too).

                    Comment

                    Working...
                    X