Bug 11781 - xf86-video-ati-6.6.192 make mplayer -vo xv displaying blank image
Summary: xf86-video-ati-6.6.192 make mplayer -vo xv displaying blank image
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: 7.2 (2007.02)
Hardware: Other All
: medium normal
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 11749
  Show dependency treegraph
 
Reported: 2007-07-31 07:19 UTC by Thierry Vignaud
Modified: 2007-08-26 16:06 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
My Xorg logs (69.48 KB, text/plain)
2007-08-10 09:17 UTC, Thierry Vignaud
no flags Details
my /etc/X11/xorg.conf (2.84 KB, text/plain)
2007-08-10 09:18 UTC, Thierry Vignaud
no flags Details
xvinfo output (5.10 KB, text/plain)
2007-08-14 06:38 UTC, Thierry Vignaud
no flags Details
It's fixed with 6.7.191, though the log file looks "spammed" with the same info over & over (95.63 KB, text/plain)
2007-08-24 02:40 UTC, Thierry Vignaud
no flags Details

Description Thierry Vignaud 2007-07-31 07:19:34 UTC
With drivers 6.6.19x (tested up to 6.6.192), mplayer -vo xv used to make the X server segfault (bug #10772). With the (uncommited) fixed there, it now does not make the xserver crash but its display is black, blank.
Comment 1 Dave Airlie 2007-08-09 03:48:56 UTC
have you two monitors plugged in? it sound like the overlay is routed to  the wrong output,

xvattr -a XV_SWITCHCRT -p 1 

or 

xvattr -a XV_SWITCHCRT -p 0

Comment 2 Thierry Vignaud 2007-08-09 03:54:23 UTC
I've only one. Do you want me to run these commands once back at home (where resides the ati card)?
Comment 3 Alex Deucher 2007-08-09 07:24:35 UTC
(In reply to comment #2)
> I've only one. Do you want me to run these commands once back at home (where
> resides the ati card)?
> 

Right, but some cards seems to have the outputs routed wrong by default, so go ahead and try the options.  Thanks.
Comment 4 Thierry Vignaud 2007-08-10 09:17:35 UTC
Created attachment 11075 [details]
My Xorg logs

I didn't have xvattr installed, so I'll only be able to answer you
monday.

However, as the attached Xorg.0.log shows, the ati driver wrongly
detects *twice* the same monitor...

I really have only one monitor... I think that the monitor detection fixes that wented in for bug #10772 are not enought...

I've only one monitor, connected to the single vga port of my old
"Radeon R200 QL [Radeon 8500 LE]" (PCI ids: vendor=0x1002
device=0x514c subv=0x1681 subd=0x0003).
Comment 5 Thierry Vignaud 2007-08-10 09:18:26 UTC
Created attachment 11076 [details]
my /etc/X11/xorg.conf
Comment 6 Thierry Vignaud 2007-08-10 09:19:23 UTC
Note that other people reported the same side issue while discussing bug #10772 btw.
Comment 7 Alex Deucher 2007-08-10 12:16:50 UTC
> However, as the attached Xorg.0.log shows, the ati driver wrongly
> detects *twice* the same monitor...
> 
> I really have only one monitor... I think that the monitor detection fixes that
> wented in for bug #10772 are not enought...
> 
> I've only one monitor, connected to the single vga port of my old
> "Radeon R200 QL [Radeon 8500 LE]" (PCI ids: vendor=0x1002
> device=0x514c subv=0x1681 subd=0x0003).
> 

(II) RADEON(0): Port1:
 Monitor   -- CRT
 Connector -- VGA
 DAC Type  -- Primary
 TMDS Type -- External
 DDC Type  -- VGA_DDC
(II) RADEON(0): Port2:
 Monitor   -- CRT
 Connector -- VGA
 DAC Type  -- Primary
 TMDS Type -- External
 DDC Type  -- VGA_DDC

both channels have the same DDC type so the driver is using the same DDC channel for both ports, hence you monitor being detected twice.  I suspect there is a problem with your bios connector table. the reason Xv is not working is because both crtcs are active and crtc2 happens to be driving the one you are viewing (by default the overlay is sourced to crtc1).  Alternatively, you could specify a monitorlayout or turn off mergedfb so that only crtc1 is active.
Comment 8 Thierry Vignaud 2007-08-10 12:34:37 UTC
That would be an explanation... but:

1) previous drivers never had this issue
   (see the diff of my Xorg.0.log on bug #10772, comment #10)

2) lot of people reported the same issues with monitor detection
   and black or blue window with XV (see bug #10772, comments 23)
   See also https://bugzilla.novell.com/show_bug.cgi?id=264720#c28

Since a lot of people see the "double monitor detection" bug, I think
it hints that the fixes that wen in 6.6.193 are not enough...
Comment 9 Thierry Vignaud 2007-08-10 12:38:12 UTC
For the record, I use the Mandriva Cooker (http://wiki.mandriva.com/en/Development) packages from:
http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/x11-driver-video-ati/current/
http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/x11-server/current/

Note that I tested the X server w/o today xrandr1.2 backport w/o any improvements... (I'ven't tested yet this x server).
Comment 10 Alex Deucher 2007-08-10 13:07:28 UTC
(In reply to comment #8)
> That would be an explanation... but:
> 
> 1) previous drivers never had this issue
>    (see the diff of my Xorg.0.log on bug #10772, comment #10)

The driver has been significantly refactored since 6.6.3.

> 
> 2) lot of people reported the same issues with monitor detection
>    and black or blue window with XV (see bug #10772, comments 23)
>    See also https://bugzilla.novell.com/show_bug.cgi?id=264720#c28
> 
> Since a lot of people see the "double monitor detection" bug, I think
> it hints that the fixes that wen in 6.6.193 are not enough...
> 

lets not confuse issues here. bug 10772 was about a segfault in the blanking code, not about monitor detection problems.  the fix from 10772 has nothing to do with monitor detection.  As I said in the previous comment, I'm pretty sure I know why this is happening, as such we can work on getting it fixed.

(In reply to comment #9)
> For the record, I use the Mandriva Cooker
> (http://wiki.mandriva.com/en/Development) packages from:
> http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/x11-driver-video-ati/current/
> http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/x11-server/current/
> 
> Note that I tested the X server w/o today xrandr1.2 backport w/o any
> improvements... (I'ven't tested yet this x server).
> 

Right.  Either your bios connector table is wrong, or we need to add a quirk for your card.  Can you send me (alexdeucher AT gmail DOT com) a copy of your video bios?

As root:
cd /sys/bus/pci/devices/<card_pci_id>
echo 1 > rom
cat rom /tmp/rom
echo 0 > rom

You can find the card's pci id by looking at the output of lspci.

Comment 11 Thierry Vignaud 2007-08-13 03:50:23 UTC
xvattr failled:

$ xvattr -a XV_SWITCHCRT -p 1
Found Xv 2.2
X Error of failed request:  XvBadPort
  Major opcode of failed request:  141 (XVideo)
  Minor opcode of failed request:  14 ()
  Serial number of failed request:  11
  Current serial number in output stream:  11
$ xvattr -a XV_SWITCHCRT -p 0
Found Xv 2.2
X Error of failed request:  XvBadPort
  Major opcode of failed request:  141 (XVideo)
  Minor opcode of failed request:  14 ()
  Serial number of failed request:  11
  Current serial number in output stream:  11


> Right.  Either your bios connector table is wrong, or we need to add a quirk
> for your card.  Can you send me (alexdeucher AT gmail DOT com) a copy of your
> video bios?
> 
> As root:
> cd /sys/bus/pci/devices/<card_pci_id>
> echo 1 > rom
> cat rom /tmp/rom
> echo 0 > rom
> 
> You can find the card's pci id by looking at the output of lspci.

This is not the PCI ids of the card but PCI domain, bus, device & function.

I've sent you the ROM anyway.
Comment 12 Alex Deucher 2007-08-14 06:32:47 UTC
(In reply to comment #11)
> xvattr failled:
> 
> $ xvattr -a XV_SWITCHCRT -p 1
> Found Xv 2.2
> X Error of failed request:  XvBadPort
>   Major opcode of failed request:  141 (XVideo)
>   Minor opcode of failed request:  14 ()
>   Serial number of failed request:  11
>   Current serial number in output stream:  11
> $ xvattr -a XV_SWITCHCRT -p 0
> Found Xv 2.2
> X Error of failed request:  XvBadPort
>   Major opcode of failed request:  141 (XVideo)
>   Minor opcode of failed request:  14 ()
>   Serial number of failed request:  11
>   Current serial number in output stream:  11
> 

Can you attach the output of xvinfo?
Comment 13 Thierry Vignaud 2007-08-14 06:38:27 UTC
Created attachment 11133 [details]
xvinfo output
Comment 14 Alex Deucher 2007-08-14 20:57:39 UTC
(In reply to comment #11)
> xvattr failled:
> 
> $ xvattr -a XV_SWITCHCRT -p 1
> Found Xv 2.2
> X Error of failed request:  XvBadPort
>   Major opcode of failed request:  141 (XVideo)
>   Minor opcode of failed request:  14 ()
>   Serial number of failed request:  11
>   Current serial number in output stream:  11
> $ xvattr -a XV_SWITCHCRT -p 0
> Found Xv 2.2
> X Error of failed request:  XvBadPort
>   Major opcode of failed request:  141 (XVideo)
>   Minor opcode of failed request:  14 ()
>   Serial number of failed request:  11
>   Current serial number in output stream:  11

you actually want:

xvattr -a XV_SWITCHCRT -v 1
Comment 15 Alex Deucher 2007-08-14 22:14:44 UTC
your bios connector table looks fine.  It shows 1 VGA port.  The randr-1.2 branch should parse this properly.  I'm investigating what's up with master now.
Comment 16 Thierry Vignaud 2007-08-17 02:51:44 UTC
it works with "xvattr -a XV_SWITCHCRT -v 1", not with "-v0":

$ xvattr -a XV_SWITCHCRT -v 1
Found Xv 2.2
XV_SWITCHCRT set to 1
Comment 17 Dave Airlie 2007-08-23 02:07:33 UTC
so the switchcrt works?

alex any ideas on what was going on otherwise? or should we just push to randr 1.2 ?
Comment 18 Thierry Vignaud 2007-08-23 02:15:01 UTC
Yes it works. But the monitor detection code is buggy.
Comment 19 Thierry Vignaud 2007-08-23 02:15:47 UTC
I fear I'll have to go back to ati driver 6.6.3 for Mandriva Linux 2008.0...
Comment 20 Alex Deucher 2007-08-23 06:25:45 UTC
(In reply to comment #17)
> so the switchcrt works?
> 
> alex any ideas on what was going on otherwise? or should we just push to randr
> 1.2 ?
> 

The 6.7 gets the connector table wrong so the driver thinks the same monitor is on both ports and activates both crtcs.  This should work fine in master (6.7.191) already.  A workaround for 6.7 would be to add a monitorlayout line:
Option "MonitorLayout" "CRT, NONE"
Unfortunately, the real fix is probably to rewrite the connector table parsing for 6.7.
Comment 21 Alex Deucher 2007-08-23 06:27:20 UTC
(In reply to comment #19)
> I fear I'll have to go back to ati driver 6.6.3 for Mandriva Linux 2008.0...
> 

give ati master or 6.7.191 a try.
Comment 22 Thierry Vignaud 2007-08-23 07:09:48 UTC
I'll do tonight. On the positive side, 6.7.191 brings X up again on RS480 (Radeon Xpress 200G) at work, which didn't worked previously since 6.6.3.
Comment 23 Thierry Vignaud 2007-08-24 02:40:43 UTC
Created attachment 11252 [details]
It's fixed with 6.7.191, though the log file looks "spammed" with the same info over & over
Comment 24 Alex Deucher 2007-08-26 16:06:35 UTC
fixed in master.


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.