Bug 20801

Summary: [KMS 945GME] xrandr get less modes with KMS than with UMS
Product: DRI Reporter: Shuang He <shuang.he>
Component: DRM/IntelAssignee: ykzhao <yakui.zhao>
Status: VERIFIED FIXED QA Contact:
Severity: critical    
Priority: highest CC: eric, hege, jian.j.zhao, kui.zheng, michael.fu, michael.monreal+bugs, m.s.tsirkin, pioto, sean
Version: XOrg git   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
Attachments:
Description Flags
xorg log
none
dmesg
none
Add the private data for LVDS connector
none
[patch 1/3] add the private data for LVDS connector
none
[patch 2/3]: get the LVDS panel limit and check whether the given modeline is valid
none
[patch 3/3]: Fix the EDID for LVDS connector to add the default modes
none
output from xrandr --verbose --prop while my display is working normally, at native resolution. none

Description Shuang He 2009-03-22 19:47:37 UTC
System Environment:
--------------------------
Libdrm:         (master)82eac8060b98b425f29051bfd7830ba3622be7d8
Mesa:           (mesa_7_4_branch)2adaec12267767747a22646c759b0d6c1651d3bf       
Xserver:        (server-1.6-branch)f469726fec502ce29999eda6919c3c3d26c127d8
Xf86_video_intel:               (2.7)4e334ef33c38e2e930958a4b68d79f1860bb9efa
Kernel:       (for-airlied)edde72a59461d766997b469f6d20afdf5fe9b5b4


Bug detailed description:
-------------------------
with KMS, xrandr only get following mode:
Screen 0: minimum 320 x 200, current 1024 x 600, maximum 2048 x 2048
VGA1 disconnected (normal left inverted right x axis y axis)
LVDS1 connected 1024x600+0+0 (normal left inverted right x axis y axis) 195mm x 113mm
   1024x600       60.0*+

but with UMS, xrandr get:
Screen 0: minimum 320 x 200, current 1024 x 600, maximum 2048 x 2048
VGA disconnected (normal left inverted right x axis y axis)
LVDS connected 1024x600+0+0 (normal left inverted right x axis y axis) 195mm x 113mm
   1024x600       60.0*+
   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  


reproduce steps:
------------------------
enable KMS
xinit &
xrandr
Comment 1 Shuang He 2009-03-22 19:52:04 UTC
Created attachment 24136 [details]
xorg log
Comment 2 Shuang He 2009-03-22 19:53:09 UTC
Created attachment 24137 [details]
dmesg
Comment 3 Zheng Kui 2009-03-22 19:56:47 UTC
the issue met in moblin too
Comment 4 ykzhao 2009-03-22 20:33:50 UTC
Hi
   I have gotten the root cause of this issue. And the patch set is already sent to the intel-gfx mailing list.
   If the patch is shipped by the Eric, the issue will disappear.
   Thanks.
Comment 5 Gordon Jin 2009-04-08 00:12:37 UTC
*** Bug 21094 has been marked as a duplicate of this bug. ***
Comment 6 Gordon Jin 2009-04-22 19:20:12 UTC
This is a high priority bug impacting many users. Can I know where the kernel fix go now?
Comment 7 Gordon Jin 2009-04-22 19:30:32 UTC
*** Bug 21346 has been marked as a duplicate of this bug. ***
Comment 8 Gordon Jin 2009-04-26 18:17:43 UTC
*** Bug 21417 has been marked as a duplicate of this bug. ***
Comment 9 Gordon Jin 2009-05-10 23:41:18 UTC
*** Bug 21671 has been marked as a duplicate of this bug. ***
Comment 10 Adam Lantos 2009-06-07 09:22:35 UTC
My i915 is still impacted (although if I remember well, several weeks ago it worked, but now it does not). I am running the latest 'stable' bits (2.6.30-rc8, xorg-server-1.6.1, xf86-video-intel-2.7.1).

Dualhead is useless for me in KMS mode.
Comment 11 Michael Monreal 2009-06-08 04:43:29 UTC
(In reply to comment #10)
> My i915 is still impacted 
as is my i945

> although if I remember well, several weeks ago it worked, but now it does not
I have tested with every driver release Rawhide/Fedora 11 provided any none of them ever worked.

> Dualhead is useless for me in KMS mode.
I have to second this. Is there any timeframe? Can we still hope to get this fixed in 2.7.x (which releases will probably make it into Fedora 11 as updates)?

Comment 12 Gordon Jin 2009-06-08 15:17:00 UTC
I'm marking this as blocking Q2 rc2, i.e. I hope this could be fixed in 1 week.

Yakui, we need take quick action on this. Is the patch still in review?
Comment 13 ykzhao 2009-06-08 17:52:16 UTC
Created attachment 26566 [details] [review]
Add the private data for LVDS connector
Comment 14 ykzhao 2009-06-08 17:53:02 UTC
Created attachment 26567 [details] [review]
[patch 1/3] add the private data for LVDS connector
Comment 15 ykzhao 2009-06-08 17:53:53 UTC
Created attachment 26568 [details] [review]
[patch 2/3]: get the LVDS panel limit and check whether the given modeline is valid
Comment 16 ykzhao 2009-06-08 17:54:44 UTC
Created attachment 26569 [details] [review]
[patch 3/3]: Fix the EDID for LVDS connector to add the default modes
Comment 17 ykzhao 2009-06-08 17:59:14 UTC
Hi, Gordon
    Sorry that I don't attach the patch set in the bugzilla in time. 
    The patch set is already sent to mailing list twice. But there is no response from Carl Worth.
    Will you please test the attched patch set?
    Thanks.
Comment 18 Mike Kelly 2009-06-16 09:02:39 UTC
I can confirm that those three patches apply properly to xf86-video-intel 2.7.1, and at least appear to have the desired effect (I can now see all of the other modes in xrandr). I'm doing this remotely right now, so I'll give it a more thorough test when I get home, and report back if it does anything weird.
Comment 19 Mike Kelly 2009-06-16 15:46:17 UTC
(In reply to comment #18)
> I can confirm that those three patches apply properly to xf86-video-intel
> 2.7.1, and at least appear to have the desired effect (I can now see all of the
> other modes in xrandr). I'm doing this remotely right now, so I'll give it a
> more thorough test when I get home, and report back if it does anything weird.

Nope, this doesn't really work. Running:

$ xrandr --output LVDS1 --mode 1024x768 ; xrandr ; sleep 5 ; xrandr --output LVDS1 --auto

I get display corruption.

Additionally, if I try to use, say, dosbox to change my resolution by going into its full screen mode, when I then try to run xrandr, even after exiting the full screen mode, I am told:

xrandr: output LVDS1 cannot use rotation "normal" reflection "none"

until I do:

$ xrandr --output LVDS1 --reflect normal --rotate normal

Additionally, while it is in the zoomed in mode from dosbox (I can't tell which mode it is in due to the above xrandr failure), It does seem to be at that lower resolution, sort of. Except it doesn't properly adjust the image -- the rendered screen is cropped off at the bottom and right (I can take pictures if necessary).

I'll attach some additional verbose xrandr output.
Comment 20 Mike Kelly 2009-06-16 15:49:24 UTC
Created attachment 26872 [details]
output from xrandr --verbose --prop while my display is working normally, at native resolution.
Comment 21 ykzhao 2009-06-16 18:22:01 UTC
Hi, Mike
    From the log in comment #20 it seems that xrandr will get the same modes as in UMS mode.
    
    And the issue in comment #19 is not related with this bug.
    Will you please open a new bug and attach the output of xorg log in KMS/UMS mode?
    Of course it will be great if you can attach the output of vbios dump and lspci -vxxx.
    Thanks.
    
Comment 22 Mike Kelly 2009-06-16 21:02:05 UTC
(In reply to comment #21)
>     Will you please open a new bug and attach the output of xorg log in KMS/UMS
> mode?

Just opened Bug #22329. Thanks.
Comment 23 liuhaien 2009-06-16 22:39:44 UTC
verified with below commits:
Libdrm:		(master)3d4bfe8c893d016ef43d1ebf28e4607aa1f540a4
Mesa:		(master)1510c3cae1d840a065a22c891ad6db794dfe7a00
Xserver:		(master)b2d2af76b43d62c9be07fd736652f904632fd663
Xf86_video_intel:		(master)246cec965958e94babf5377e6f221522b05fb458
Kernel:       (for-linus)0e7ddf7eeeef5aea85412120539ab5369577faeb
Comment 24 Gordon Jin 2009-07-07 18:31:13 UTC
*** Bug 22660 has been marked as a duplicate of this bug. ***