Comment 13 for bug 556253

Revision history for this message
Martin Pitt (pitti) wrote : Re: [2.6.32-19 regression] Does not check lid status any more, blank screen

To eliminate this part, it's the same situation with plymouth uninstalled.

Hm, so xrandr seems to also think that both are running:

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
VGA1 disconnected (normal left inverted right x axis y axis)
LVDS1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 261mm x 163mm
   1280x800 59.8 +
   1024x768 85.0* 75.0 70.1 60.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 connected 1024x768+0+0 (normal left inverted right x axis y axis) 340mm x 270mm
   1280x1024 75.0 + 60.0
   1280x960 60.0
   1152x864 75.0
   1024x768 85.0* 75.1 70.1 60.0
   832x624 74.6
   800x600 85.1 72.2 75.0 60.3 56.2
   640x480 85.0 72.8 75.0 66.7 60.0
   720x400 70.1
TV1 disconnected (normal left inverted right x axis y axis)

Interesting observation when I change the lid status (which X listens to):

When opening the lid, I quickly see gdm in 1024x768 mode (with the usual scaling distortion), but it quickly switches to 1280x800 (LVDS native). When I close the lid again (sudo killall gnome-power-manager before, to avoid suspend) the external DVI suddenly turns on, with the native 1280x1024, and LVDS goes off:

(II) PM Event received: Capability Changed
I830PMEvent: Capability change
(II) intel(0): EDID vendor "SEC", prod id 21569
(II) intel(0): Printing DDC gathered Modelines:
(II) intel(0): Modeline "1280x800"x0.0 69.30 1280 1328 1360 1419 800 803 809 816 -hsync -vsync (48.8 kHz)
(II) intel(0): Allocate new frame buffer 1280x800 stride 2048
(II) PM Event received: Capability Changed
I830PMEvent: Capability change
(II) intel(0): EDID vendor "SEC", prod id 21569
(II) intel(0): Printing DDC gathered Modelines:
(II) intel(0): Modeline "1280x800"x0.0 69.30 1280 1328 1360 1419 800 803 809 816 -hsync -vsync (48.8 kHz)
(II) intel(0): Allocate new frame buffer 1280x1024 stride 2048

So in summary, X does not get along with trying to run the DVI in 1024x768 mode with KMS.

So if this kernel change is meant to stick, this needs an X.org change to replicate the logic that was previously in the kernel (only enable external DVI when the lid is closed), to avoid those hideously blurry scaled graphics and the KMS resolution incompatibility. Or KMS needs to be fixed to alllow the mode swich on the DVI (which seemed to work in karmic). Or the kernel logic needs to be fine-tuned to not apply the lid check for single monitors only.