Created attachment 27664 [details] Image054.jpg Forwarding this bug from Ubuntu reporter Chris Halse Rogers: https://bugs.edge.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/398026 [Problem] Recently for LVDS, the driver sometimes chooses a mode with the preferred resolution but with an inappropriate frequency (60 Hz instead of 50 Hz). A similar bug (believed to be a dupe) with 85 Hz being selected instead of the more correct 60 Hz is here: https://bugs.edge.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/396171 [Original Report] The latest version of xserver-xorg-video-intel fails to drive my laptop's LVDS display correctly at the default 60Hz refresh rate. It works fine at 50Hz. Taking a screenshot reveals a normal desktop, so this is a problem somewhere in the scanout. Attached photo shows the 60Hz display problem - bands of the display are stretched horizontally. It looks pretty cool! The previous version of xserver-xorg-video-intel (...git20090602) had a bug in which only the preferred mode from the EDID information would be available (https://bugs.freedesktop.org/show_bug.cgi?id=20801). In ...git20090702 this bug is fixed and also other modes are available. The problem seems to be that for LVDS output the driver sometimes chooses a mode with the preferred resolution, but with a higher frequency (85 Hz instead of 60 Hz in bug 396171 and 60 Hz instead of 50 Hz in bug 398026). ProblemType: Bug Architecture: amd64 Date: Sat Jul 11 08:31:32 2009 DistroRelease: Ubuntu 9.10 MachineType: LENOVO 7465CTO Package: xserver-xorg-video-intel 2:2.7.99.901+git20090702.74227141-0ubuntu1 ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.31-2-generic root=/dev/mapper/Storage-Ubuntu--Root ro quiet splash crashkernel=384M-2G:64M,2G-:128M ProcEnviron: PATH=(custom, user) LANG=en_AU.UTF-8 SHELL=/bin/zsh ProcVersionSignature: Ubuntu 2.6.31-2.16-generic RelatedPackageVersions: xserver-xorg 1:7.4+3ubuntu5 libgl1-mesa-glx 7.5~rc4-1ubuntu3 libdrm2 2.4.11-1ubuntu1 xserver-xorg-video-intel 2:2.7.99.901+git20090702.74227141-0ubuntu1 xserver-xorg-video-ati 1:6.12.99+git20090629.f39cafc5-0ubuntu1 SourcePackage: xserver-xorg-video-intel Uname: Linux 2.6.31-2-generic x86_64 XorgConf: Error: [Errno 2] No such file or directory: '/etc/X11/xorg.conf' dmi.bios.date: 04/22/2009 dmi.bios.vendor: LENOVO dmi.bios.version: 6DET44WW (2.08 ) dmi.board.name: 7465CTO dmi.board.vendor: LENOVO dmi.board.version: Not Available dmi.chassis.asset.tag: No Asset Information dmi.chassis.type: 10 dmi.chassis.vendor: LENOVO dmi.chassis.version: Not Available dmi.modalias: dmi:bvnLENOVO:bvr6DET44WW(2.08):bd04/22/2009:svnLENOVO:pn7465CTO:pvrThinkPadX200s:rvnLENOVO:rn7465CTO:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable: dmi.product.name: 7465CTO dmi.product.version: ThinkPad X200s dmi.sys.vendor: LENOVO fglrx: Not loaded system: distro: Ubuntu architecture: x86_64kernel: 2.6.31-2-generic
Created attachment 27665 [details] CurrentDmesg.txt
Created attachment 27666 [details] XorgLog.txt
Created attachment 27667 [details] Xrandr.txt
I didn't ask for Xorg.0.log with ModeDebug enabled, because it seems to make no difference with KMS. Is this correct?
Created attachment 27702 [details] [review] try the debug patch in which the DPLL MD reg is updated only for SDVO device Will you please try the debug patch on the latest kernel(2.6.31-rc3) and see whether the issue still exists? In the debug patch it will write the DPLL MD reg only when the output type is SDVO device. It will be great if you can confirm whether the issue can be reproduced in UMS mode. Thanks.
ping~
ykzhao wandered downstream and there are some answers there. I'm summarizing: - the corruption is gone with kernel 2.6.31-rc3, but the monitor is still driven at a frequency which is higher than what it should be according to the EDID information - When the patch in comment #5 was applied to 2.6.31-rc2 the corruption went away, but the wrong frequency problem remained. Oded, who has 85 Hz instead of 60 Hz reports the following intersting behaviour when docking and undocking his laptop: (citing in the rest of this comment) I applied the patch to the above mentioned kernel and run it. Curiously it does not feature the screen corruption that was the issue of this bug, but it does still changes to 85Hz when docked and back to 60Hz when undocked: Docked: $ xrandr Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192 VGA1 disconnected (normal left inverted right x axis y axis) LVDS1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 287mm x 215mm 1024x768 60.0 + 85.0* 75.0 70.1 60.0 50.0 832x624 74.6 800x600 85.1 72.2 75.0 60.3 56.2 640x480 85.0 72.8 75.0 59.9 720x400 85.0 640x400 85.1 640x350 85.1 DVI1 disconnected (normal left inverted right x axis y axis) Undocked: $ xrandr Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192 VGA1 disconnected (normal left inverted right x axis y axis) LVDS1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 287mm x 215mm 1024x768 60.0*+ 85.0 75.0 70.1 60.0* 50.0 832x624 74.6 800x600 85.1 72.2 75.0 60.3 56.2 640x480 85.0 72.8 75.0 59.9 720x400 85.0 640x400 85.1 640x350 85.1 DVI1 disconnected (normal left inverted right x axis y axis) Syslog has this to day when docking: Jul 22 18:02:59 sepiroth kernel: [ 177.915766] usb 1-4: new high speed USB device using ehci_hcd and address 6 Jul 22 18:02:59 sepiroth kernel: [ 178.124472] usb 1-4: configuration #1 chosen from 1 choice Jul 22 18:02:59 sepiroth kernel: [ 178.244951] hub 1-4:1.0: USB hub found Jul 22 18:02:59 sepiroth kernel: [ 178.245074] hub 1-4:1.0: 4 ports detected Jul 22 18:02:59 sepiroth kernel: [ 178.328126] [drm] LVDS-8: set mode 18 Jul 22 18:02:59 sepiroth kernel: [ 323.704995] ACPI: \_SB_.GDCK - undocking Jul 22 18:02:59 sepiroth kernel: [ 323.908261] usb 1-4: USB disconnect, address 6 Jul 22 18:02:59 sepiroth kernel: [ 324.627003] [drm] LVDS-8: set mode 19 Jul 22 18:02:59 sepiroth kernel: [ 365.583521] [drm] LVDS-8: set mode 1a Jul 22 18:02:59 sepiroth kernel: [ 381.548982] ACPI: \_SB_.GDCK - docking But doesn't say anything when undocking. the mode numbers listed are incremented each time I dock, so the next modes will be 1b, 1c and 1d.
Created attachment 28612 [details] [review] add the detailed mode debug info related with the output Will you please try the debug patch on the xserver and do the test on the 2.6.31-rc2 kernel? After the system is booted, please attach the output of xorg.log. Thanks.
Sorry for the late response. The remaining issue is that the monitor is still driven at a frequency which is higher than what it should be according to the EDID information. Will you please try the debug patch on the latest xserver and do the test on the 2.6.31-rc2/3 kernel? After the system is booted, please attach the output of xorg.log. Thanks.
ping Chris...
The patch is already shipped in Eric's drm-intel-next tree. commit bb66c5122b4300b475b585fffb811311f39f5431 Author: Zhao Yakui <yakui.zhao@intel.com> Date: Thu Sep 10 15:45:49 2009 +0800 drm/i915: Write zero to DPLL_MD Reg for non-SDVO output From the test in comment #7 it seems that this issue can't be reproduced on the failing kernel(2.6.31-rc2). So this bug will be marked as resolved. At the same time there exists the second issue that the monitor is still driven at a frequency which is higher than what it should be according to the EDID information. But there is no response from the bug reporter. If the second issue still exists, please open a new bug and attach the xorg.0.log after applying the patch in comment #8. thanks.
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.