Bug 36062 - [Arrandale] VGA 1920x1200 resolution is stretched and shifted to the left
Summary: [Arrandale] VGA 1920x1200 resolution is stretched and shifted to the left
Status: CLOSED NOTOURBUG
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-07 12:11 UTC by hexa00
Modified: 2017-07-24 23:05 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg log (56.03 KB, text/plain)
2011-04-07 12:11 UTC, hexa00
no flags Details
dmesg (62.92 KB, text/plain)
2011-04-07 12:12 UTC, hexa00
no flags Details
complete xrandr --verbose (7.36 KB, text/plain)
2011-04-07 12:12 UTC, hexa00
no flags Details
vbios dump (64.00 KB, text/plain)
2011-04-07 12:14 UTC, hexa00
no flags Details
output of ./intel_gpu_dump (131.46 KB, application/x-gzip)
2011-04-07 19:06 UTC, hexa00
no flags Details
./intel_reg_dumper output (11.18 KB, text/plain)
2011-04-07 19:12 UTC, hexa00
no flags Details
EDID Override INF file that corrects Samsung 244T 1920x1200 resolution under Windows (2.32 KB, text/plain)
2011-07-14 08:14 UTC, Utku Altunkaya
no flags Details

Description hexa00 2011-04-07 12:11:03 UTC
Hardware : Lenovo x201
Monitor : Samsung 244T

Intel driver : xserver-xorg-video-intel 2:2.14.902~maverick~lucid~ppa3
Arch: x86_64
X11 : xorg   1:7.5+6ubuntu3  

Distrib : Ubuntu 10.10 , tested 11.04 beta1 same issue

lspci -n -s 0:2
00:02.0 0300: 8086:0046 (rev 02)

xrandr --verbose


VGA1 connected 1920x1200+1280+0 (0x45) normal (normal left inverted right x axis y axis) 518mm x 324mm
	Identifier: 0x41
	Timestamp:  2130073
	Subpixel:   unknown
	Gamma:      1.0:1.0:1.0
	Brightness: 1.0
	Clones:    
	CRTC:       0
	CRTCs:      0 1
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter: 
	EDID:
		00ffffffffffff004c2de60134325242
		0b1101030e3420a02aef95a3544c9b26
		0f5054bfef80a940a945a94aa94f8180
		8140714f0101283c80a070b023403020
		360006442100001a000000fd00384b1e
		5e15000a202020202020000000fc0053
		796e634d61737465720a2020000000ff
		0048565a503330313735360a202000ae
  1920x1200 (0x45)  154.0MHz +HSync -VSync *current +preferred
        h: width  1920 start 1968 end 2000 total 2080 skew    0 clock   74.0KHz
        v: height 1200 start 1203 end 1209 total 1235           clock   60.0Hz


-----

The problem :

At 1920x1200 resolution I lose about 1/3 of the screen to the left and the display seems very stretched 

Tested with an old intel 815 does not have the problem, nvidia/ati card either.. with same monitor

Also using another monitor HP (don't have the model right now) works fine...


Thank you
Comment 1 hexa00 2011-04-07 12:11:43 UTC
Created attachment 45397 [details]
Xorg log
Comment 2 hexa00 2011-04-07 12:12:04 UTC
Created attachment 45398 [details]
dmesg
Comment 3 hexa00 2011-04-07 12:12:48 UTC
Created attachment 45399 [details]
complete xrandr --verbose
Comment 4 hexa00 2011-04-07 12:14:06 UTC
Created attachment 45400 [details]
vbios dump
Comment 5 Chris Wilson 2011-04-07 12:41:46 UTC
Can you please grab intel_reg_dumper from http://cgit.freedesktop.org/xorg/app/intel-gpu-tools and attach the output?
Comment 6 hexa00 2011-04-07 19:06:18 UTC
Created attachment 45408 [details]
output of ./intel_gpu_dump
Comment 7 hexa00 2011-04-07 19:07:24 UTC
I added the output of gpu_dump... I guess that's what you meant ?

The only tools I got from gpu-tools were :

intel_gpu_dump intel_gpu_top intel_reg_write intel_stepping
Comment 8 hexa00 2011-04-07 19:12:56 UTC
Created attachment 45409 [details]
./intel_reg_dumper output

I got it compiling the git tree...
Nevermind the last comment
Comment 9 Chris Wilson 2011-07-10 05:43:00 UTC
Looking at that dump we have a VGA monitor with SSC enabled on the source. Everything else appears relatively sane.
Comment 10 Chris Wilson 2011-07-12 05:29:33 UTC
You should be able to test the theory that it is the use of SSC that is causing this by passing i915.lvds_use_ssc=0 on the grub kernel command line.
Comment 11 Utku Altunkaya 2011-07-14 08:14:14 UTC
Created attachment 49089 [details]
EDID Override INF file that corrects Samsung 244T 1920x1200 resolution under Windows

I have the exact same problem in our office using Fedora 15 x64 with a new Dell Inspiron N5110 (Core i7 with Nvidia Optimus dGPU) notebook and Samsung SyncMaster 244T monitor, connected via analog VGA cable (I cannot test the DVI input on the monitor because the notebook does not have DVI out).

I also saw this problem when a colleague connected his Samsung Q330-JS02 (Core i3 with Nvidia Optimus dGPU, Windows 7) notebook to the 244T monitor (again with a VGA cable). I first thought the Optimus feature is causing this, but after some research, I learned that the SyncMaster 244T model has a weirdness in its EDID info that somehow confuses the Intel GPU. Following the HOWTO at this address,

http://www.sevenforums.com/tutorials/7947-force-dvi-hdmi-resolutions-refresh-rates.html

I was able to create the attached INF file with a custom EDID for Windows, and once loaded it fixed the issue my colleague's notebook.

I've been trying to do something similar in Fedora for the Dell N5110, but with KMS and all the display auto-detection going on, I couldn't figure out how I can override the EDID for the Intel driver. I've read that the Nvidia driver has an option for loading a custom EDID, but thanks to Optimus technology, I cannot use the Nvidia GPU under Linux.

Does the Intel driver provide a similar option for EDID override? If possible, feeding the modified EDID in the attached INF file to the Intel driver might fix this issue.
Comment 12 Chris Wilson 2012-03-26 13:55:12 UTC
commit 199e5d79f1c988a8039fa75b736a3adcdda56abc
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Sep 22 12:01:57 2011 -0700

    drm/i915: Fix PCH SSC reference clock settings
    
    The PCH refclk settings are global, so we need to look at all of the
    encoders, not just the current encoder when deciding how to configure
    it. Also, handle systems with more than one panel (any combination of
    PCH/non-PCH eDP and LVDS).
    
    Disable SSC clocks when no panels are connected.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
Comment 13 hexa00 2012-11-26 01:05:34 UTC
Hi,
   I just tested with i915 Version: 2:2.20.9-0ubuntu2  srcversion :1261F63CFAFFBE7E5D8B95B on the latest 12.10 ubuntu.

  And the problem is still present, I also tested disabling ssc but had the same problem...

  Ideas ?

Thanks
Comment 14 Jesse Barnes 2012-12-11 21:12:16 UTC
We don't have a way to load a whole EDID into the kernel (though X used to have an option for that), but you can create custom modes based on the INF file and use them.
Comment 15 Daniel Vetter 2012-12-11 21:46:36 UTC
(In reply to comment #14)
> We don't have a way to load a whole EDID into the kernel (though X used to
> have an option for that), but you can create custom modes based on the INF
> file and use them.

We've _had_ no way, now fixed with the EDID firmware interface ...

Author: Carsten Emde <C.Emde@osadl.org>
Date:   Sun Mar 18 22:37:33 2012 +0100

    drm: allow loading an EDID as firmware to override broken monitor
Comment 16 Jesse Barnes 2012-12-11 21:49:30 UTC
On Tue, 11 Dec 2012 21:46:36 +0000
bugzilla-daemon@freedesktop.org wrote:

> https://bugs.freedesktop.org/show_bug.cgi?id=36062
> 
> --- Comment #15 from Daniel Vetter <daniel@ffwll.ch> ---
> (In reply to comment #14)
> > We don't have a way to load a whole EDID into the kernel (though X used to
> > have an option for that), but you can create custom modes based on the INF
> > file and use them.
> 
> We've _had_ no way, now fixed with the EDID firmware interface ...
> 
> Author: Carsten Emde <C.Emde@osadl.org>
> Date:   Sun Mar 18 22:37:33 2012 +0100
> 
>     drm: allow loading an EDID as firmware to override broken monitor
> 

Ooh fancy...
Comment 17 Chris Wilson 2013-03-15 13:28:12 UTC
Hardware bug, to override the EDID requires loading it through the kernel drm_kms_helper module parameters.


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.