Announcement

Collapse
No announcement yet.

Pink & green output on HDMI with KMS

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

  • #21
    The problem with testing this theory is that "radeon.audio=0" doesn't completly disable the audio. I was able to fix the crash, but still when I boot with audio=0 i get the same behaviour. Now there are two posibilities, either audio frames are not related or the guilty frame gets sent even with audio=0. In order to rule out option 2 someone who understands the code should make sure that audio=0 actualy disables everything related to audio.

    Comment


    • #22
      I'll try on mine tonight to disable the audio, but obviously, it is just an experiment... disabling audio does unfortunately carry a side-effect that is worse than the problem.... disabling audio. Kinda hard to watch a movie without sound

      Originally posted by agd5f
      When hdmi audio is enabled, the driver sends a bunch of stream info packets in addition to the audio packets. I suspect one of them is formatted wrong which confuses the TV.
      ...
      So to fix it, I suspect you'd need to disable the non-audio packets, or set them properly.
      Now that's something I didn't know about HDMI. I guess I'll try digging through the kernel to see if I can find the source of this. I don't suppose you'd have any hints on where I should start looking? Would it be in the radeon code? Or something more universal since it appears that a symptom, at least *appearing* similar, also affects other devices?

      Comment


      • #23
        .. the Gamut metadata packet in the Data Island Period is responsible for the color space.

        Comment


        • #24
          drivers/gpu/drm/radeon/r600_hdmi.c

          r600_hdmi_videoinfoframe appears interesting...

          Comment


          • #25
            yes, r600_hdmi.c is where you should start.

            Comment


            • #26
              HDMI specifications are showing some interesting stuff...


              Page 112.... video info frame to be transmitted at least once per two video fields if (1) the source is ever capable of this, (2) the source is capable of YCbCr, (3) capable of gamut metadata packet.... in other words... all or nothing. The specifications shown table 8-2 page 113 corresponds very nicely with r600_hdmi_videoinfoframe... if that is so, then possibly it isn't actually being transmitted once for every two video frames as per specifications.

              How would we be able to know if the thing is actually transmitting those packets as spec requires? Because it looks like the video info frame is written to registers at this point and the magical stuff takes over...

              Comment


              • #27
                It should be possible to leave out the video infoframe and still have HDMI audio...

                Is it possible to get the video card to output YUV?

                Comment


                • #28
                  The patch here:

                  should fix the issue in the short term at the expense of audio by disabling the hdmi packet stuff. The driver needs to be reworked at some point to send the proper packets in hdmi mode.

                  Comment


                  • #29
                    Same problem with Nouveau and a 2560x1600 monitor over DVI.

                    Comment

                    Working...
                    X