I upgraded from FC2 to FC3-test (xorg x 6.7.0 -> 6.7.99) and now dual headed operation is broken. If I use the config file from 6.7.0 plain, the laptop panel isn't recognised anymore, only the externally attached lcd is recognised. If I add this line to the config: Option "MonitorLayout" "LVDS,CRT" or Option "MonitorLayout" "LVDS,TMDS" the laptop's panel is recognised but the external lcd screen isn't. So I can get both working, but not at the same time. Whether the bug is in the MonitorLayout option or not, it's wrong anyway, because if I specify monitors for both heads, it shouldn't try to autodetect monitors, which it actually does and then rejects either one. This piece of log file seems to be related, I believe it did not appear in the 6.7.0 version: (II) RADEON(0): Primary: Monitor -- LVDS Connector -- VGA DAC Type -- Primary TMDS Type -- NONE DDC Type -- VGA_DDC (II) RADEON(0): Secondary: Monitor -- NONE Connector -- None DAC Type -- Unknown TMDS Type -- NONE DDC Type -- NONE This makes no sense at all. Also interesting: (II) RADEON(0): Connector1: DDCType-3, DACType-0, TMDSType--1, ConnectorType-2 (**) RADEON(0): MonitorLayout Option: Monitor1--Type LVDS, Monitor2--Type CRT There is no Connector2: line. (WW) RADEON(1): Only one monitor detected, Second screen will NOT be created
Created attachment 835 [details] Complete config file
Created attachment 836 [details] The log file
If I forcely skip BIOS connector probing in radeon_driver.c / radeon_bios.c, all works. So there must be something wrong in the connector bios probing. Suspicious issues I found there: - the bios values are read as base+(i*2) where 1 < i < 5. I'd expect either base+((i-1)*2) or 0 < i < 4, but maybe "base" is precorrected. - the end_of_list state is tested with a bios8 call while the same value is read using bios16 one line later. Anyway, it only probes one connector while there should be two. If I try to correct using MonitorLayout, some combinations crash the machine. Oh, btw there is also a stupid bug (imho) in the MonitorLayout parsing code. Both values for MonitorLayout are read (into s1 and s2), but only the value of s1 is assigned and interpreted; when an error occurs it's reported as being on the second screen while it's actually processing screen #1. I guess some code has vanished here.
I'm having the same problem. Compaq N160 laptop. Radeon M6 LY, Flat panel attached via VGA cable. Worked fine in 6.7.0. In 6.8.0 laptop screen is blank, external monitor is detected. Option "MonitorLayout" "LVDS,TMDS" fixed the problem for me. At least both screens now work. But I still have (II) RADEON(0): Primary: Monitor -- LVDS Connector -- VGA DAC Type -- Primary TMDS Type -- NONE DDC Type -- VGA_DDC (II) RADEON(0): Secondary: Monitor -- NONE Connector -- None DAC Type -- Unknown TMDS Type -- NONE DDC Type -- ^A (WW) RADEON(0): Failed to detect secondary monitor, MergedFB/Clone mode disabled in log. Something fishy indeed.
Created attachment 935 [details] xorg.conf
Created attachment 936 [details] Log with external screen attached
Created attachment 937 [details] Log without external screen attached
*** This bug has been marked as a duplicate of 1559 ***
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.