Mystifying resolution change on upgrading kernel

alex lupu alupu01 at gmail.com
Fri Mar 8 23:31:17 PST 2013


Hello,

SYSTEM
(B)LFS i686-pc-linux-gnu, Xorg-7.7, xterm-291
xorg-server-1.13.2, xf86-input-evdev-2.7.3, xf86-video-intel-2.21.2
Board: ASUS P5E-VM HDMI with Intel G35/ICH9R, Monitor: Samsung SM2494

'xorg.conf' (excerpt):
 Modes   "1366x768" "1280x800" "1024x768" "1440x900" "1920x1080"

MYSTERY PHENOMENON
1. Upgrade kernel, from 3.7.1 to 3.8.2
Absolutely NO other changes (except "adjustments" 'make menuconfig'
and 'make oldconfg' make to the original 3.7.1 '.config' file
"behind the scenes" to bring parameters to 3.8.2 level.)
Absolutely NO hardware/configuration changes:

2. When going from runlevel 3 (console/text mode) to 5 (Xorg) on the new
3.8.2 kernel, resolution CHANGES to 1920x1080 (from 1366x768 in 3.7.1).

DETAILS
3.  in Xorg.log files
 (excerpts from differences, < = 3.7.1, > = 3.8.2):

<  (II) intel(0): Using user preference for initial modes
<  (II) intel(0): Output VGA1 using initial mode 1366x768
---
>  (II) intel(0): Using exact sizes for initial modes
>  (II) intel(0): Output VGA1 using initial mode 1920x1080
----------------------------------------------------------
<  (**) intel(0): DPI set to (66, 66)
---
>  (**) intel(0): DPI set to (93, 93)
-------------------------------------------------------------------------
<  (II) intel(0): Allocated new frame buffer 1408x768 stride 5632, tiled
---
>  (II) intel(0): Allocated new frame buffer 1920x1080 stride 7680, tiled

4.  xrandr (v1.4.0)
 --On 3.7.1
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA1 connected 1366x768+0+0 (normal left inverted right x axis y axis)
                                                         531mm x 298mm
   1366x768       60.0*+
   1920x1080      60.0 +
   1600x1200      60.0
   1680x1050      60.0
   1680x945       60.0
   1400x1050      60.0
   1600x900       60.0
   1280x1024      60.0
   1440x900       59.9
   1280x960       60.0
   1360x768       60.0
   1280x800       59.8
   1280x768       59.9
   1024x768       60.0
   1024x576       60.0
   800x600        60.3     56.2
   848x480        60.0
   640x480        60.0

 --On 3.8.2
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
VGA1 connected 1920x1080+0+0 (normal left inverted right x axis y axis)
                                                          531mm x 298mm
   1920x1080      60.0*+
   1600x1200      60.0
   1680x1050      60.0
   1280x1024      60.0
   1440x900       59.9
   1280x960       60.0
   1280x800       59.8
   1024x768       60.0
   800x600        60.3     56.2
   640x480        60.0

ADDITIONAL NOTES
5.  I upgraded server and intel module to 1.14.0 and 2.21.3 respectively
and nothing changed as to the above 3.8.2 situation.

6.  The above tests (3.7.1 vs 3.8.2) are made by these three steps
 6.1.  Switch the two "Kernel" and System.map" pointers in '/boot'
 6.2.  Reboot to runlevel 3
 6.3.  startx

 Repeat:  absolutely NO other changes whatsoever (software/hardware)

7.  In 3.8.2, I can successfully force, say, a 1366x768 resolution by
using the usual 'xrandr' tricks (--newmode, --addmode and --output/--mode):

Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA1 connected 1366x768+0+0 (normal left inverted right x axis y axis)
531mm x 298mm
   1920x1080      60.0 +
   1600x1200      60.0
   1680x1050      60.0
   1280x1024      60.0
   1440x900       59.9
   1280x960       60.0
   1280x800       59.8
   1024x768       60.0
   800x600        60.3     56.2
   640x480        60.0
   1366x768       60.0*

COMMENTS
8.  I assume (as a non-expert user) that 'xrandr' reads the EDID (and
optionally sets the monitor temporarily), and reports based on that.
(Actually, a 1366x768 vs 1920x1080 resolution is pretty obvious even to a
non-expert user's tired eyes.)

BIG QUESTION (PUZZLEMENT)
9.  Why is the monitor's EDID interpreted/treated differently on different
kernel versions?

Thanks,
-- Alex


More information about the xorg mailing list