Bug 67550 - Radeon+Intel GPU with HDMI audio on Intel
Summary: Radeon+Intel GPU with HDMI audio on Intel
Status: RESOLVED MOVED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-30 16:58 UTC by Andre Heider
Modified: 2019-11-19 07:42 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
xorg.conf (562 bytes, text/plain)
2013-07-30 16:58 UTC, Andre Heider
no flags Details
xorg log without xorg.conf (40.86 KB, text/plain)
2013-07-30 16:59 UTC, Andre Heider
no flags Details
xorg log with xorg.conf (29.86 KB, text/plain)
2013-07-30 17:00 UTC, Andre Heider
no flags Details

Description Andre Heider 2013-07-30 16:58:11 UTC
I have multiple, but related, issues with a dual GPU setup:
1) cursor flickering
2) no HDMI audio on secondary GPU without extending X11 for that output
3) xrandr broken with xorg.conf describing the dual setup
4) driQueryOptioni() not multi GPU aware (crash in mesa)

Setup:
Radeon 6850 PCIe as primary device, connected to a TFT over DVI
HD4000 on Ivybridge as secondary device, connected to a receiver over HDMI (plus a projector connected to my receiver via HDMI)
Pretty much the latest and greatest of everything in the graphics stack.

Why the secondary connection? It's used to get multichannel audio to my receiver, which isn't possible with the additional radeon HDMI head.

If I extend my desktop via:
xrandr --output $intel_hdmi --right-of $radeon_dvi --mode 1280x720 --refresh 60
It properly extends the display to the secondary GPU. I get a picture on the projector, as well as HDMI audio on the receiver.

#1, without xorg.conf
Now with both outputs enabled there is a mouse cursor issue with apps on the primary output:

* mplayer (without using vdpau), dvb-t viewer or firefox+flash: when moving the cursor over the video output, there's a rectangle of garbage around the cursor. Looks like a rect of a prior frame on a broken alpha mask. The issue with mplayer vanishes when using vdpau.
* The cursor in full screen GL games flickers. One frame it's there, then vanishes some later, but mostly its gone, making GUIs a real pita.

If I disable the $intel_hdmi output again the problem goes away. But that brings us to the second problem:

#2, without xorg.conf
The receiver sends its own EDID block, so I can extend via xrandr without turning on the projector.
But the projector is turned off in most cases, so is there a way to disable a display output but keep the HDMI audio output? (as a workaround for #1)

I found:
xrandr --output $intel_hdmi --set audio force-dvi|off|auto|on
but it seems that only works if the display output is enabled (or I'm too stupid to properly use xrandr)...

#3 with xorg.conf
xrandr thinks HDMI isn't connected to the Intel GPU, and hence doesn't allow to toggle it, yet HDMI audio over it just works. While that would probably work around #1 I cannot tell because then I run into:

#4 with xorg.conf
All GL apps crash with:
glxinfo: /home/andre/devel/mesa/src/mesa/drivers/dri/common/xmlconfig.c:1030: driQueryOptioni: Assertion `cache->info[i].name != ((void *)0)' failed.
Comment 1 Andre Heider 2013-07-30 16:58:43 UTC
Created attachment 83312 [details]
xorg.conf
Comment 2 Andre Heider 2013-07-30 16:59:04 UTC
Created attachment 83313 [details]
xorg log without xorg.conf
Comment 3 Andre Heider 2013-07-30 17:00:06 UTC
Created attachment 83314 [details]
xorg log with xorg.conf
Comment 4 Christian König 2013-07-30 17:27:49 UTC
(In reply to comment #0)

> #2, without xorg.conf
> The receiver sends its own EDID block, so I can extend via xrandr without
> turning on the projector.
> But the projector is turned off in most cases, so is there a way to disable
> a display output but keep the HDMI audio output? (as a workaround for #1)

Nope, unfortunately not. It's by HDMI design, the audio signal is mixed into the vertical and horizontal blank periods of the video signal -> so if you don't have a video signal you don't have audio also.

As a workaround you could try to setup a second X server or framebuffer or something like that (kms console?) on the HDMI output to just get a video signal on it.
Comment 5 Andre Heider 2013-07-31 10:30:39 UTC
(In reply to comment #4)
> (In reply to comment #0)
> 
> > #2, without xorg.conf
> > The receiver sends its own EDID block, so I can extend via xrandr without
> > turning on the projector.
> > But the projector is turned off in most cases, so is there a way to disable
> > a display output but keep the HDMI audio output? (as a workaround for #1)
> 
> Nope, unfortunately not. It's by HDMI design, the audio signal is mixed into
> the vertical and horizontal blank periods of the video signal -> so if you
> don't have a video signal you don't have audio also.
> 
> As a workaround you could try to setup a second X server or framebuffer or
> something like that (kms console?) on the HDMI output to just get a video
> signal on it.

Okay, thanks for clearing that up.

Another workaround would be HDMI multichannel audio for radeon :)
Does AMD have any plans to implement that?
Comment 6 Christian König 2013-07-31 11:54:33 UTC
(In reply to comment #5)
> Another workaround would be HDMI multichannel audio for radeon :)
> Does AMD have any plans to implement that?

Oh yes we are working on that and IIRC actually have most of the stuff on the video driver side done, but the alsa side is still missing.

Going to ask on our team call today what the status of that is.
Comment 7 Andre Heider 2013-07-31 12:05:03 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > Another workaround would be HDMI multichannel audio for radeon :)
> > Does AMD have any plans to implement that?
> 
> Oh yes we are working on that and IIRC actually have most of the stuff on
> the video driver side done, but the alsa side is still missing.
> 
> Going to ask on our team call today what the status of that is.

Nice, looking forward to it!
Comment 8 compmastermike 2013-08-04 04:40:35 UTC
I've got a similar setup with a Radeon HD 6750 and a Radeon X300. Assuming you're using Compiz, you can get the cursor flickering issue to go away by disabling "framebuffer object" and "always use buffer swapping" in the OpenGL options of CCSM. It may require a restart of Compiz after that to stop the flickering.

I still get garbage around the cursor when using it on a scaled image (getting the magnifying glass cursor) in firefox or midori though.
Comment 9 Andre Heider 2013-08-05 09:21:15 UTC
Status:
#2 work's as advertised
#3 and #4: That's xinerama with the attached xorg.conf, right? That wasn't the intention, so I guess noone cares

#1 is still open (cursor flickering), reassigning to drm/radeon, as I guess that's the culprint

(In reply to comment #8)
No, plain xfce without compositor here
Comment 10 Martin Peres 2019-11-19 07:42:00 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/issues/74.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.