PDA

View Full Version : ForceMonitors seems broken in 8.3


tsuru
03-10-2008, 05:18 AM
I'm running on a Asus notebook with a Mobility 9600 (M10) gpu. The lvds display is 1280x800 native and I have an attached 22" 1680x1050 native display to crt1.

When at home, I want to run my laptop with the lid closed -- no lvds display -- and solely run on the crt display. As recently as Catalyst 8.2, I could specify Option "ForceMonitors" "nolvds,crt1" and everything would work perfect. OpenGL ran and Xv video also ran, both at the native 1680x1050 for the external display. After upgrading to Catalyst 8.3, this is no longer the case. I can not get native resolution on the secondary display when ForceMonitors or EnableMonitor options are listed.

If I remove the ForceMonitors and EnableMonitor options I will get native resolution on both displays. However, Xv video only will work on lvds. I looked at the Xorg.0.log and it shows that when ForceMonitors or EnableMonitor is specified, the EDID or DDC for the crt1 montior isn't detected correctly:


(II) LoadModule: "ddc"(II) Module "ddc" already built-in
(II) fglrx(0): Connected Display1: CRT on primary DAC [crt1]
(II) fglrx(0): Display1 EDID data ---------------------------
(II) fglrx(0): Manufacturer: XXX Model: 3 Serial#: 0
(II) fglrx(0): Year: 1990 Week: 0
(II) fglrx(0): EDID Version: 1.3
(II) fglrx(0): Analog Display Input, Input Voltage Level: 0.700/0.300 V
(II) fglrx(0): Sync:
(II) fglrx(0): Max H-Image Size [cm]: horiz.: 40 vert.: 30
(II) fglrx(0): Gamma: 1.00
(II) fglrx(0): DPMS capabilities: StandBy Suspend Off; Non RGB Multicolor Display
(II) fglrx(0): First detailed timing not preferred mode in violation of standard!(II) fglrx(0): redX: 0.000 redY: 0.000 greenX: 0.000 greenY: 0.000
(II) fglrx(0): blueX: 0.000 blueY: 0.000 whiteX: 0.000 whiteY: 0.000
(II) fglrx(0): Supported VESA Video Modes:
(II) fglrx(0): 640x480@60Hz
(II) fglrx(0): 800x600@60Hz
(II) fglrx(0): 1024x768@60Hz
(II) fglrx(0): Manufacturer's mask: 0
(II) fglrx(0): Supported Future Video Modes:
(II) fglrx(0): #0: hsize: 640 vsize 480 refresh: 60 vid: 16433
(II) fglrx(0): #1: hsize: 800 vsize 600 refresh: 60 vid: 16453
(II) fglrx(0): #2: hsize: 1024 vsize 768 refresh: 60 vid: 16481
(II) fglrx(0): EDID (in hex):
(II) fglrx(0): 00ffffffffffff006318030000000000
(II) fglrx(0): 0000010300281e00f000000000000000
(II) fglrx(0): 00000021080031404540614000000000
(II) fglrx(0): 00000000000000000000000000000000
(II) fglrx(0): 00000000000000000000000000000000
(II) fglrx(0): 00000000000000000000000000000000
(II) fglrx(0): 00000000000000000000000000000000
(II) fglrx(0): 0000000000000000000000000000008e
(II) fglrx(0): End of Display1 EDID data --------------------
Here is what is detected when ForceMonitors/EnableMonitor isn't specified:

(II) LoadModule: "ddc"(II) Module "ddc" already built-in
(II) fglrx(0): Check EDID for requested display: CRT on primary DAC
(II) fglrx(0): Display1 EDID data ---------------------------
(II) fglrx(0): Manufacturer: BNQ Model: 76cd Serial#: <my-serial-#>
(II) fglrx(0): Year: 2007 Week: 46
(II) fglrx(0): EDID Version: 1.3
(II) fglrx(0): Analog Display Input, Input Voltage Level: 0.700/0.700 V
(II) fglrx(0): Sync: Separate Composite
(II) fglrx(0): Max H-Image Size [cm]: horiz.: 47 vert.: 30
(II) fglrx(0): Gamma: 2.20
(II) fglrx(0): DPMS capabilities: StandBy Suspend Off; RGB/Color Display
--
(II) fglrx(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_
border: 0
(II) fglrx(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_
border: 0
(II) fglrx(0): Serial No: 9B707516SL0
(II) fglrx(0): Ranges: V min: 56 V max: 76 Hz, H min: 30 H max: 84 kHz, PixClo
ck max 170 MHz
(II) fglrx(0): Monitor name: BenQ FP222WH
(II) fglrx(0): EDID (in hex):
(II) fglrx(0): 00ffffffffffff0009d1cd7645540101
(II) fglrx(0): 2e1101036c2f1e78eeb535a5564a9a25
(II) fglrx(0): 105054bdef80454f614f81408180818f
(II) fglrx(0): 714f0101010121399030621a274068b0
(II) fglrx(0): 3600d9291100001c000000ff00394237
(II) fglrx(0): 3037353136534c300a0a000000fd0038
(II) fglrx(0): 4c1e5411000a202020202020000000fc
(II) fglrx(0): 0042656e5120465032323257480a000e
(II) fglrx(0): End of Display1 EDID data --------------------


I really hope ForceMonitors returns to it's old functionality in the next release :(


[Edit] I think I fixed it further down in the thread. PEBKAC

sastraxi
03-11-2008, 01:58 AM
I'm getting the same results, however I do not appear to have ForceMonitors or EnableMonitors specified in my X server configuration file.

tsuru
03-12-2008, 12:30 AM
I'm getting the same results, however I do not appear to have ForceMonitors or EnableMonitors specified in my X server configuration file.

You might want to try backing up, then deleting, /etc/ati/amdpcsdb. If you ever ran aticonfig --enable-monitor or aticonfig --force-monitors it could have been saved in that.

sastraxi
03-12-2008, 08:35 PM
Thanks for the tip; however, it didn't solve my problem. I don't wish to hijack your thread any longer -- so I'll just say I hope someone comes along and provides an answer for your (and possibly my!) problem.

guillepb
03-26-2008, 11:15 AM
I get the exact same behaviour you're getting (and I'm probably just about as annoyed by it as you are).

However, checking my Xorg.0.log file I've seen that my external monitor is also detected correctly if I use force-monitor, but forcing the LCD panel of my laptop (i.e. lvds,nocrt1).

EDID data is only wrong for the exernal monitor (a Dell2007WFP in my case) if I force it (i.e. crt1,nolvds), and then I'm stuck with 1024x768.

I hope they come with a solution for this in 8.04...

xeros
03-26-2008, 12:23 PM
I can confirm that bug, too.
ForceMonitors and MonitorLayout options are very problematic for me from at least 8.41 fglrx version (I haven't tried fglrx before 8.41 - I was using opensource radeon driver just fine with dualhead/multiseat on Kubuntu 6.06).

tsuru
03-28-2008, 03:40 AM
Well I got mine working a while back... I'll post the relavant sections here (no fonts, modules, or input). I didn't test ForceMonitors but I think it should work too, my key changes being the Screen setup, ServerLayout, and the Mode2 etc options of the Driver section.

It is my impression, driver-wise, the following have the same effect.
Option "DesktopSetup" "s"
Option "EnableMonitor" "crt1"
and
Option "ForceMonitors" "nolvds,crt1"





Section "ServerLayout"

# InputDevice "Keyboard1" "SendCoreEvents"
Identifier "Home"
Screen 0 "LVDMS1" 0 0
Screen 1 "CRT1" 0 0
InputDevice "TouchPad" "CorePointer"
InputDevice "MX1000" "SendCoreEvents"
# InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "cursor" "SendCoreEvents"
InputDevice "stylus" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
InputDevice "pad"
EndSection

Section "ServerFlags"
Option "DefaultServerLayout" "Home"
Option "AIGLX" "off"
Option "Xinerama" "off"
Option "blank time" "10"
Option "standby time" "20"
Option "suspend time" "30"
Option "off time" "60"
Option "AllowEmptyInput"
EndSection

Section "Monitor"
Identifier "BenQ"
VendorName "BNQ"
ModelName "76cd2"
HorizSync 30-84
VertRefresh 56-76
DisplaySize 444 286
Option "DPMS" "true"
Modeline "1680x1050" 170 1680 1784 1960 2240 1050 1053 1059 1089
EndSection

Section "Monitor"

# DisplaySize 434 271
Identifier "LaptopLCD"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
Option "DPMS" "true"
Modeline "1280x800" 68.90 1280 1304 1344 1408 800 802 805 816
EndSection


Section "Device"

################ Radeon Driver #############################
# Driver "ati"
# Identifier "Card0"
# VendorName "ATI Technologies Inc"
# BoardName "RV350 [Mobility Radeon 9600 M10]"
# Option "AGPMode" "4"
# Option "AGPFastWrite" "true"
# Option "EnablePageFlip" "true"
# Option "RenderAccel" "true"
# Option "AccelMethod" "EXA"
############### ATI fglrx Driver ###########################
# Option "UseFastTLS" "O"
Identifier "Card0"
Driver "fglrx"
VendorName "ATI Technologies Inc"
BoardName "RV350 [Mobility Radeon 9600 M10]"
Screen 0
Option "DesktopSetup" "s"
# Option "ForceMonitors" "nolvds,crt1"
Option "EnableMonitor" "crt1"
# Option "IgnoreEDID" "true"
Option "no_accel" "no"
Option "no_dri" "no"
# Option "DynamicClocks" "yes"
Option "OpenGLOverlay" "off"
# Option "FSAAEnable" "no"
Option "VideoOverlay" "on"
Option "EnablePrivateBackZ" "yes"
# Option "KernelModuleParm" "agplock=0"
# Option "UseInternalAGPART" "no"
Option "mtrr" "on"
Option "ForceGenericCPU" "no"
Option "BlockSignalsOnLock" "on"
# Option "XAANoOffscreenPixmaps" "true"
Option "HSync2" "30-84"
Option "VRefresh2" "56-76"
Option "Mode2" "1680x1050"
# Option "PairMode" "1280x800+1680x1050"
BusID "PCI:1:0:0"
EndSection

Section "Screen"
Identifier "LVDMS1"
Device "Card0"
Monitor "LaptopLCD"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x800"
EndSubSection
EndSection

Section "Screen"
Identifier "CRT1"
Device "Card0"
Monitor "BenQ"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1680x1050"
Virtual 1680 1050
EndSubSection
EndSection


Section "DRI"
Mode 0666
EndSection

Section "Extensions"
Option "Composite" "Enable"
Option "XVideo" "Enable"
Option "RENDER" "Enable"
Option "DAMAGE" "Enable"
EndSection



Actually after looking at this again, I remembered one more thing I did just before it started working again: Make sure the monitor with the larger resolution is listed first in the file. IIRC that was key. Sadly, I didn't maintain scientific vigor while fixing and made 2 or so changes at a time towards the end.

guillepb
04-16-2008, 04:01 PM
Well, 8.4 didn't fix the issue for me :-(

tsuru
04-16-2008, 08:20 PM
Well, 8.4 didn't fix the issue for me :-(

I haven't tried 8.4 yet but 8.3 is now working fine for me (see above). Did you try putting your external screen definition first in xorg.conf ? How about the Mode2 etc settings in the driver? If all that fails, what does your xorg.conf look like?

guillepb
04-16-2008, 08:45 PM
Yeah, I tried your proposal and it didn't work for me. However I suspect some useful options may be missing, my Device section in xorg.conf is way lighter than yours:

Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "LCDSCR" 0 0
Screen 1 "CRTSCR" 0 0
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "stylus" "SendCoreEvents"
InputDevice "cursor" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
InputDevice "Synaptics Touchpad"
EndSection

Section "Files"

# path to defoma fonts
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "vbe"
Load "type1"
Load "dbe"
Load "v4l"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection

Section "InputDevice"
Identifier "stylus"
Driver "wacom"
Option "Device" "/dev/input/wacom"
Option "Type" "stylus"
Option "ForceDevice" "ISDV4"# Tablet PC ONLY
EndSection

Section "InputDevice"
Identifier "eraser"
Driver "wacom"
Option "Device" "/dev/input/wacom"
Option "Type" "eraser"
Option "ForceDevice" "ISDV4"# Tablet PC ONLY
EndSection

Section "InputDevice"
Identifier "cursor"
Driver "wacom"
Option "Device" "/dev/input/wacom"
Option "Type" "cursor"
Option "ForceDevice" "ISDV4"# Tablet PC ONLY
EndSection

Section "Monitor"
Identifier "CRT"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection

Section "Monitor"
Identifier "LCD"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection

Section "Device"
Identifier "aticonfig-Device[0]"
Driver "fglrx"
Option "ForceMonitors" "lvds,nocrt1"
Option "Mode2" "1680x1050"
EndSection

Section "Screen"
Identifier "LCDSCR"
Device "aticonfig-Device[0]"
Monitor "LCD"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x800"
EndSubSection
EndSection

Section "Screen"
Identifier "CRTSCR"
Device "aticonfig-Device[0]"
Monitor "CRT"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Virtual 1680 1050
Depth 24
Modes "1680x1050"
EndSubSection
EndSection

Section "DRI"
Mode 0666
EndSection


I'll be glad to accept any suggestions ;)