8086:0166 [ThinkPad Twist S230u 3347] REGRESSION: Mirroring display works only with 1024x768 (4:3) whereas my laptop has 1366x768 (16:9) & external monitor 1920x1080 (16:9)

Bug #1167301 reported by Till Kamppeter on 2013-04-10
46
This bug affects 6 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
High
Unassigned
xorg-server (Ubuntu)
High
Unassigned

Bug Description

I have a Lenovo Thinkpad Twist with an internal 1366x768 (16:9) display and I have connected and external 1920x1080 (16:9) monitor via HDMI. By default the display gets mirrored with only 1024x768 (4:3) because this is the highest common resolution of the two reported by xrandr. I can switch to a large desktop formed by the two screens with the System Settings (section "Display") with each screen using its native resolution.

This is a kernel regression from 3.8.0-7-generic to 3.8.0-19.

WORKAROUND: I can mirror with a higher resolution running the commands:
xrandr --addmode HDMI1 1366x768
xrandr --output HDMI1 --mode 1366x768
xrandr --output HDMI1 --mode 1366x768 --same-as LVDS1

This is rather awkward when using a projector.

The problem also persists when connecting the external screen to the Mini DisplayPort (with adapter) instead of to the HDMI.

I did not test with 12.10 by myself, but according to the comment from Gizmo Chicken below this worked correctly under 12.10, so this is a regression and not a feature request.

The output of "xrandr --prop" with both screens connected in large-desktop-over-both-screens mode (no mirroring):

Screen 0: minimum 320 x 200, current 3286 x 1080, maximum 32767 x 32767
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 277mm x 156mm
 EDID:
  00ffffffffffff0030e47a0300000000
  00160103801c10780adce5975a559227
  1d505400000001010101010101010101
  010101010101241d56d4500016303020
  2500159c1000001b0000000000000000
  00000000000000000000000000fe004c
  4720446973706c61790a2020000000fe
  004c503132355748322d534c54310025
 BACKLIGHT: 1054 (0x0000041e) range: (0,1054)
 Backlight: 1054 (0x0000041e) range: (0,1054)
 scaling mode: Full aspect
  supported: None Full Center Full aspect
   1366x768 59.8*+
   1360x768 59.8 60.0
   1024x768 60.0
   800x600 60.3 56.2
   640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1920x1080+1366+0 (normal left inverted right x axis y axis) 510mm x 287mm
 EDID:
  00ffffffffffff0015c3692001010101
  2d14010380331d78eaee95a3544c9926
  0f5054a1080081808140b30081c00101
  010101010101023a801871382d40582c
  4500fe1f1100001e000000ff00353732
  32393131300a20202020000000fc0045
  5632333333570a2020202020000000fd
  003b3d1f440f000a2020202020200153
  02031b41468102031112042309070783
  01000067030c001300881e8c0ad08a20
  e02d10103e96000403000000188c0ad0
  8a20e02d10103e96001009000000188c
  0ad090204031200c4055000403000000
  188c0ad090204031200c405500100900
  000018011d007251d01e206e28550010
  090000001e000000000000000000005c
 Broadcast RGB: Automatic
  supported: Automatic Full Limited 16:2
 audio: auto
  supported: force-dvi off auto on
   1920x1080 60.0*+
   1680x1050 59.9
   1280x1024 60.0
   1280x960 60.0
   1280x720 60.0
   1024x768 60.0
   800x600 60.3
   720x576 50.0
   720x480 59.9
   640x480 60.0 59.9
   720x400 70.1
DP1 disconnected (normal left inverted right x axis y axis)
 Broadcast RGB: Automatic
  supported: Automatic Full Limited 16:2
 audio: auto
  supported: force-dvi off auto on
HDMI2 disconnected (normal left inverted right x axis y axis)
 Broadcast RGB: Automatic
  supported: Automatic Full Limited 16:2
 audio: auto
  supported: force-dvi off auto on
DP2 disconnected (normal left inverted right x axis y axis)
 Broadcast RGB: Automatic
  supported: Automatic Full Limited 16:2
 audio: auto
  supported: force-dvi off auto on
---
.tmp.unity.support.test.0:

ApportVersion: 2.9.2-0ubuntu5
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: compiz
CompositorUnredirectDriverBlacklist: '(nouveau|Intel).*Mesa 8.0'
CompositorUnredirectFSW: true
DistUpgraded: Fresh install
DistroCodename: raring
DistroRelease: Ubuntu 13.04
DistroVariant: ubuntu
ExtraDebuggingInterest: Yes
GraphicsCard:
 Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA controller])
   Subsystem: Lenovo Device [17aa:2205]
InstallationDate: Installed on 2013-03-28 (12 days ago)
InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Alpha amd64 (20130328)
MachineType: LENOVO 334729G
MarkForUpload: True
Package: xorg-server (not installed)
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.0-17-generic root=UUID=7229d092-c8f9-4b8a-bae8-529fc6a0340f ro elevator=deadline quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.8.0-17.27-generic 3.8.6
Tags: raring ubuntu compiz-0.9
Uname: Linux 3.8.0-17-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip libvirtd lpadmin plugdev sambashare sudo
dmi.bios.date: 02/05/2013
dmi.bios.vendor: LENOVO
dmi.bios.version: GDET92WW (1.52 )
dmi.board.asset.tag: Not Available
dmi.board.name: 334729G
dmi.board.vendor: LENOVO
dmi.board.version: Win8 Pro DPK TPG
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvrGDET92WW(1.52):bd02/05/2013:svnLENOVO:pn334729G:pvrThinkPadTwist:rvnLENOVO:rn334729G:rvrWin8ProDPKTPG:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 334729G
dmi.product.version: ThinkPad Twist
dmi.sys.vendor: LENOVO
version.compiz: compiz 1:0.9.9~daily13.04.05-0ubuntu1
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.43-0ubuntu1
version.libgl1-mesa-dri: libgl1-mesa-dri 9.0.3-0ubuntu1
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 9.0.3-0ubuntu1
version.xserver-xorg-core: xserver-xorg-core 2:1.13.3-0ubuntu5
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.3-0ubuntu2b2
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.1.0-0ubuntu2
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.21.5-0ubuntu1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.7-0ubuntu1
xserver.bootTime: Wed Apr 10 12:05:38 2013
xserver.configfile: default
xserver.errors:

xserver.logfile: /var/log/Xorg.0.log
xserver.version: 2:1.13.3-0ubuntu5
xserver.video_driver: intel

apport information

Changed in xorg-server (Ubuntu):
importance: Undecided → High
milestone: none → ubuntu-13.04
tags: added: apport-collected compiz-0.9 raring ubuntu
description: updated

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

summary: Mirroring display works only with 1024x768 (4:3) resolution whereas my
- laptop has 1366x768 (16:9) and the external monitor1920x1080 (16:9)
+ laptop has 1366x768 (16:9) and the external monitor 1920x1080 (16:9)
Bryce Harrington (bryce) on 2013-04-17
Changed in xorg-server (Ubuntu):
status: New → Triaged
milestone: ubuntu-13.04 → none
importance: High → Wishlist

Regarding Ubuntu 13.04: I have a similar problem with an AMD Radeon HD 6670 card connected to two monitors. One monitor (connected via DVI) has resolution 1440x900 (16:10) and the other monitor (connected via HDMI) has resolution 1360x768 (16:9).

In my case, when using the "mirror displays" option with the above described hardware setup, the highest resolution available is 1024x768 (4:3).

I'll just add that:

- In an earlier daily release of Ubuntu 13.04 (back in late December of 2012, if I recall correctly), the highest resolution available was 1360x768 (16:9) when using the "mirror displays" option on the same hardware setup as described above. So something related to this problem in 13.04 seems to have changed in late December of 2012.

- Up until very recently, Ubuntu 12.10 also offered a resolution of 1360x768 (16:9) when using the "mirror displays" option on the same hardware setup as described above. But in a very recent update of (sometime in April of 2013), 12.10 also now only offers a resolution of 1024x768 (4:3) when using the "mirror displays" option on the same hardware setup. So something related to this problem in 12.10 seems to have changed in early April of 2013.

GizmoChicken (gizmochicken) wrote :

Adding one more comment:

I notice that the importance if the original report was been changed from "High" to "Wishlist" after triage.

Just to reiterate, the ability to mirror the display across two monitors using a resolution equal to that of the lower resolution of the two monitors was a feature available (until very recently) in Ubuntu 12.10. So the report isn't asking for a new feature, but rather is asking for a previous feature to be restored. And indeed, since a 1024x768 resolution doesn't display properly for me on either of my monitors, a mirrored display set up is not workable for me without this feature. So at least in my case, that previously available feature (ability to mirror display across two monitors using a resolution equal to that of the lower resolution of the two monitors) was not only greatly appreciated, but was heavily relied upon. So please consider this bug to be of "High" importance. Thanks!

summary: - Mirroring display works only with 1024x768 (4:3) resolution whereas my
- laptop has 1366x768 (16:9) and the external monitor 1920x1080 (16:9)
+ REGRESSION: Mirroring display works only with 1024x768 (4:3) resolution
+ whereas my laptop has 1366x768 (16:9) and the external monitor 1920x1080
+ (16:9)
description: updated
tags: added: regression-release
Changed in xorg-server (Ubuntu):
importance: Wishlist → High

Regarding Ubuntu 13.04: I just noticed that I am NOT restricted to a resolution of 1024x768 when using a kernel from an earlier daily build. Rather, mirroring works properly again in Ubuntu 13.04 with the Linux 3.8.0-7-generic kernel.

Mirroring may also work with kernels that are more recent than 3.8.0-7. But other than with 3.8.0-19 (with which mirroring doesn't work properly), I haven't yet had a chance to test more recent kernels.

Of possible interest to some, rolling back to Linux 3.8.0-7-generic also cured a recent problem in which HDMI audio wasn't working with my Radeon card. See https://bugs.launchpad.net/ubuntu/+source/linux/+bug/897008

So the problem seems to integral to the recent kernels updates.

As described in comment #29 the problem can be solved by downgrading the kernel, so it is most probably a regression in the kernel. Adding kernel task ...

Changed in linux (Ubuntu):
importance: Undecided → High
status: New → Confirmed
milestone: none → raring-updates
Changed in xorg-server (Ubuntu):
milestone: none → raring-updates
GizmoChicken (gizmochicken) wrote :

Regarding Ubuntu 13.04: In addition to working properly with the Ubuntu 3.8.0-7-generic kernel, mirroring also works properly in Ubuntu 13.04 with the mainline 3.8.0 kernel. However, at least for me, mirroring does NOT work properly in Ubuntu 13.04 with the mainline 3.8.1 kernel or with the mainline 3.8.2 kernel. (I haven't yet tried later mainline kernels.)

GizmoChicken (gizmochicken) wrote :

QUESTION: I know where to find earlier mainline kernels. But are earlier versions of the Ubuntu kernels available for download? If so, from where? I'd like to test mirroring with the Ubuntu 3.8.0-8 and 3.8.0-9 kernels.

Usually you go to

https://launchpad.net/ubuntu/+source/linux

and tehn click "Full ChangeLog" at the upper right. But for the kernel the data has grown too big for Launchpad to deliver it. So I am asking the kernel developers for a working method of downloading old kernel binary packages here.

GizmoChicken (gizmochicken) wrote :

Thanks Till. I tested a few more mainline kernels, including 3.8.3, 3.8.4, 3.8.5, 3.8.6, and 3.8.8. Unfortunately, mirroring also doesn't work properly with any of those tested mainline kernels. So at present, at least for me, the only relatively recent kernels that properly support mirroring in Ubuntu 13.04 on my AMD Radeon HD6670 are:

Ubuntu 3.8.0-7-generic
Mainline 3.8.0

I hope to perform a clean install soon after Ubuntu 13.04 is officially released. If this bug hasn't been fix by then, I'd like to revert to one of the above kernels after the clean install. But unfortunately, if Ubuntu 3.8.0-7-generic isn't readily available for download at that time, I'll likely be forced to use mainline 3.8.0. So here's hoping that older (pre-release) Ubuntu kernels will be available after the official release of Ubuntu 13.04.

Gizmo, as I am suffering the scaling problem of Launchpad, can you make available for me the binary packages of the amd64 versions of the kernels which are working for you so that I can test them. Thanks.

GizmoChicken (gizmochicken) wrote :

Till, I'd be happy to provide the info that you're requesting. But being a Linux neophyte, I'm not quite sure how/where to find it. What command should I use to create, and/or where do I find, such a listing?

Gizmo, does this mean that you have simply collected these kernels during all the time and never removed old kernels from your system?

I do not know where to find old kernels for testing. Therefore I was asking you.

GizmoChicken (gizmochicken) wrote :

Yep, I found Ubuntu 3.8.0-7-generic in one of my old backups. Too bad Ubuntu doesn't maintain a repository of kernels from previous daily builds. And actually, I'm surprised that they don't. Oh well. Guess I'll either wait until this bug is fixed before a clean install of the final release or else revert to mainline 3.8.0 after the install.

jan (nec-jan) on 2013-04-26
Changed in linux (Ubuntu):
status: Confirmed → Fix Released

jan, why do you set this to "Fix Released"? With which kernel does this work for you?

Changed in linux (Ubuntu):
status: Fix Released → Confirmed
summary: - REGRESSION: Mirroring display works only with 1024x768 (4:3) resolution
- whereas my laptop has 1366x768 (16:9) and the external monitor 1920x1080
- (16:9)
+ [ThinkPad Twist S230u 3347] REGRESSION: Mirroring display works only
+ with 1024x768 (4:3) whereas my laptop has 1366x768 (16:9) & external
+ monitor 1920x1080 (16:9)
tags: added: bios-outdated-1.57 needs-upstream-testing regression-potential
Changed in linux (Ubuntu):
status: Confirmed → Incomplete

I did not yet update the BIOS, with the old BIOS (updated some months ago) I have still the problem.

sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date
GDET92WW (1.52 )
02/05/2013
till@till-saucy-stick:~/twistlaptop$

I wil try the BIOS update later.

System is Saucy 64 bit with 3.10.0-5-generic #14-Ubuntu kernel.

I have updated the BIOS now:

till@till-saucy-stick:~$ sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date
GDET97WW (1.57 )
07/01/2013
till@till-saucy-stick:~$

and the problem still persists.

Till Kamppeter, thank you for updating your BIOS. Could you please test the latest upstream kernel available following https://wiki.ubuntu.com/KernelMainlineBuilds ? It will allow additional upstream developers to examine the issue. Please do not test the kernel in the mainline kernels archive directory daily folder, but the one all the way at the bottom. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this bug is fixed in the mainline kernel, please add the following tags:
kernel-fixed-upstream
kernel-fixed-upstream-VERSION-NUMBER

where VERSION-NUMBER is the version number of the kernel you tested. For example:
kernel-fixed-upstream-v3.11-rc3

This can be done by clicking on the yellow circle with a black pencil icon next to the word Tags located at the bottom of the bug description. As well, please remove the tag:
needs-upstream-testing

If the mainline kernel does not fix this bug, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-VERSION-NUMBER

As well, please remove the tag:
needs-upstream-testing

If you are unable to test the mainline kernel, please comment as to why specifically you were unable to test it and add the following tags:
kernel-unable-to-test-upstream
kernel-unable-to-test-upstream-VERSION-NUMBER

Once testing of the upstream kernel is complete, please mark this bug's Status as Confirmed. Please let us know your results. Thank you for your understanding.

tags: added: latest-bios-1.57
removed: bios-outdated-1.57
tags: removed: regression-potential

I have updated to said kernel now and the problem still persists.

till@till-saucy-stick:~/twistlaptop$ uname -a
Linux till-saucy-stick 3.11.0-031100rc3-generic #201307290035 SMP Mon Jul 29 04:36:40 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
till@till-saucy-stick:~/twistlaptop$

tags: added: kernel-bug-exists-upstream kernel-bug-exists-upstream-3.11.0-031100rc3
removed: needs-upstream-testing
Changed in linux (Ubuntu):
status: Incomplete → Confirmed

Till Kamppeter, thank you for testing the newest mainline kernel. For regression testing purposes, could you please test Quantal yourself via http://releases.ubuntu.com/quantal/ and advise on if this is reproducible?

tags: added: kernel-bug-exists-upstream-v3.11-rc3
removed: kernel-bug-exists-upstream-3.11.0-031100rc3
summary: - [ThinkPad Twist S230u 3347] REGRESSION: Mirroring display works only
- with 1024x768 (4:3) whereas my laptop has 1366x768 (16:9) & external
- monitor 1920x1080 (16:9)
+ 8086:0166 [ThinkPad Twist S230u 3347] REGRESSION: Mirroring display
+ works only with 1024x768 (4:3) whereas my laptop has 1366x768 (16:9) &
+ external monitor 1920x1080 (16:9)
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
tags: added: regression-potential
removed: regression-release

I have tried a Quantal live CD now and there the bug does not show. The external monitor mirrors the image of the internal monitor in exactly the same resolution as the internal monitor, 1366x768.

I have also run "xrandr" and the external monitor reports back many more modes than under Raring or Saucy:

Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 277mm x 156mm
   1366x768 59.8*+
   1360x768 59.8 60.0
   1024x768 60.0
   800x600 60.3 56.2
   640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 510mm x 287mm
   1920x1080 60.0 +
   1680x1050 59.9
   1680x945 60.0
   1400x1050 59.9
   1600x900 60.0
   1280x1024 60.0
   1440x900 59.9
   1280x960 60.0
   1366x768 60.0*
   1360x768 60.0
   1280x800 59.9
   1280x768 60.0
   1280x720 60.0
   1024x768 60.0
   1024x576 60.0
   800x600 60.3
   848x480 60.0
   640x480 60.0
   720x400 70.1
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)

The problem seems that under Raring and Saucy the displays do not report back all their modes.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: added: regression-release
removed: regression-potential

Kernel regression -> Invalid for xorg-server

tags: added: needs-bisect
tags: added: needs-upstream-testing
removed: kernel-bug-exists-upstream
Changed in xorg-server (Ubuntu):
status: Triaged → Invalid
description: updated
description: updated

Till Kamppeter, could you please test the latest upstream kernel available following https://wiki.ubuntu.com/KernelMainlineBuilds ? It will allow additional upstream developers to examine the issue. Please do not test the daily folder, but the one all the way at the bottom. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this bug is fixed in the mainline kernel, please add the following tags:
kernel-fixed-upstream
kernel-fixed-upstream-VERSION-NUMBER

where VERSION-NUMBER is the version number of the kernel you tested. For example:
kernel-fixed-upstream-v3.11

This can be done by clicking on the yellow circle with a black pencil icon next to the word Tags located at the bottom of the bug description. As well, please remove the tag:
needs-upstream-testing

If the mainline kernel does not fix this bug, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-VERSION-NUMBER

As well, please remove the tag:
needs-upstream-testing

Once testing of the upstream kernel is complete, please mark this bug's Status as Confirmed. Please let us know your results. Thank you for your understanding.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete

Problem still persists with the new mainline kernel:

Linux till-twist 3.11.0-031100-generic #201309021735 SMP Mon Sep 2 21:36:21 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 32767 x 32767
LVDS1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 277mm x 156mm
   1366x768 59.8 +
   1360x768 59.8 60.0
   1024x768 60.0*
   800x600 60.3 56.2
   640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 510mm x 287mm
   1920x1080 60.0 + 59.9
   1680x1050 59.9
   1280x1024 60.0
   1280x960 60.0
   1280x720 60.0 59.9
   1024x768 60.0*
   800x600 60.3
   720x576 50.0
   720x480 60.0 59.9
   640x480 60.0 59.9
   720x400 70.1
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)

tags: added: kernel-bug-exists-upstream kernel-bug-exists-upstream-v3.11.0-031100
removed: kernel-bug-exists-upstream-v3.11-rc3 needs-upstream-testing
Changed in linux (Ubuntu):
status: Incomplete → Confirmed

Till Kamppeter, the next step would be to bisect the kernel from 3.8.0-7 to 3.8.0-19 in order to identify the offending regression commit. Could you please do this following https://wiki.ubuntu.com/Kernel/KernelBisection ?

tags: added: kernel-bug-exists-upstream-v3.11
removed: kernel-bug-exists-upstream-v3.11.0-031100
Changed in linux (Ubuntu):
status: Confirmed → Incomplete

The last good kernel was 3.8.0-8.17 and the first bad kernel was 3.8.0-9.18. The changelog between the two releases is rather small but I do not really have an idea which change could be the culprit.

See

https://launchpad.net/ubuntu/+source/linux/3.8.0-9.18

I tried to bisect commits with git, but the two tags Ubuntu-3.8.0-9.18 and Ubuntu-3.8.0-8.17 are non-linear, so "git bisect" does not find the path between them.

Perhaps the debdiff or the changes described by the changelog items need to get investigated.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed

Till Kamppeter, as per https://wiki.ubuntu.com/Kernel/KernelBisection#Why_did_the_folders_debian_and_debian.master_disappear.3F one would want to switch to commit bisecting the mainline kernel as the tags are linear.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
tags: added: performing-bisect
removed: needs-bisect
Joseph Salisbury (jsalisbury) wrote :

Hi Till,

I can assist with the bisect. 3.8.0-9.18 was rebased to upstream v3.8.1, so the bug may have come in with the stable update. Can you test the following two kernels:

v3.8 final: http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8-raring/
v3.8.1: http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8.1-raring/

I assume 3.8 will be find and 3.8.1 will have the bug. If so, I'll start a bisect between these two versions and build you a test kernel.

Yes, I have found out already that in the mainline I have to check 3.8 as newest good and 3.8.1 as oldest bad kernel release. Currently I am doing a doing a GIT bisect between these two. According to the estimates by "git bisect" I am currently building for the third-last stage, finishing in 20 minutes from now (18:00 CEST), after that I have to do more two steps of 40 minutes build time each, arriving at the result at ~19:30 CEST.

Steps so far:

3.8: GOOD
3.8.1: BAD
GIT 442b43c: BAD
GIT 8ed82bb: GOOD
GIT 97ec241: GOOD

Using git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

I think I have found the culprit:

till@till-twist:~/kernel/linux-stable$ git bisect good
Bisecting: 4 revisions left to test after this (roughly 2 steps)
[740922ee575f8ee4daa2bfd3db5f69dd7573fc76] drm: don't add inferred modes for monitors that don't support them
till@till-twist:~/kernel/linux-stable$

The extra modes in reality work with the monitor, and they give extra chances to find a best match between laptop screen and external monitor/projector.

Anyway, I will continue the bisect to confirm ...

The final result of my bisect is actually what I guessed in the previous comment (see output below). The patch (also below) is simple and one can easily see that undoing it would solve the problem.

It seems that some monitors (including my monitor) report that they are non-continuous frequency but in reality they are. The simplest way to fix this bug is simply to undo the patch to support such buggy monitors, the correct fix would be an exception list with the monitors which support resolutions which they do not report.

There should perhaps be a possibility to override this manually by a run-time configuration bit so that for all monitors the non-reported resolutions get listed.

till@till-twist:~/kernel/linux-stable$ git bisect good
740922ee575f8ee4daa2bfd3db5f69dd7573fc76 is the first bad commit
commit 740922ee575f8ee4daa2bfd3db5f69dd7573fc76
Author: Paulo Zanoni <email address hidden>
Date: Fri Feb 15 13:36:27 2013 -0200

    drm: don't add inferred modes for monitors that don't support them

    commit 196e077dc165a307efbd9e7569f81bbdbcf18f65 upstream.

    If bit 0 of the features byte (0x18) is set to 0, then, according to
    the EDID spec, "the display is non-continuous frequency (multi-mode)
    and is only specified to accept the video timing formats that are
    listed in Base EDID and certain Extension Blocks".

    For more information, please see the EDID spec, check the notes of the
    table that explains the "Feature Support" byte (18h) and also the
    notes on the tables of the section that explains "Display Range Limits
    & Additional Timing Description Definition (tag #FDh)".

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45729
    Reviewed-by: Alex Deucher <email address hidden>
    Reviewed-by: Adam Jackson <email address hidden>
    Signed-off-by: Paulo Zanoni <email address hidden>
    Signed-off-by: Dave Airlie <email address hidden>
    Signed-off-by: Greg Kroah-Hartman <email address hidden>

:040000 040000 26e271499e4ff7746011a296e569a985126aeb3f d43c54ed20f43a1459c6adb7d922ee2be55c9317 M drivers
till@till-twist:~/kernel/linux-stable$

Here is the patch:

till@till:~/ubuntu/linux/linux-stable$ git diff -r 740922e~..740922e
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 5a3770f..584d5fd 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -2020,7 +2020,8 @@ int drm_add_edid_modes(struct drm_connector *connector, st
        num_modes += add_cvt_modes(connector, edid);
        num_modes += add_standard_modes(connector, edid);
        num_modes += add_established_modes(connector, edid);
- num_modes += add_inferred_modes(connector, edid);
+ if (edid->features & DRM_EDID_FEATURE_DEFAULT_GTF)
+ num_modes += add_inferred_modes(connector, edid);
        num_modes += add_cea_modes(connector, edid);

        if (quirks & (EDID_QUIRK_PREFER_LARGE_60 | EDID_QUIRK_PREFER_LARGE_75))
till@till:~/ubuntu/linux/linux-stable$

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Joseph Salisbury (jsalisbury) wrote :

Thanks for all the info, Till. Can you also test the latest 3.11 kernel to confirm the bug happens there as well? If it does, we should send you patch upstream for inclusion in Mainline and cc stable to have it propagated to the stable trees.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/

Joseph Salisbury (jsalisbury) wrote :

Actually I see that you already tested 3.11 final, per comment #50.

Kamal Mostafa (kamalmostafa) wrote :

Thanks for identifying the culprit, Til. Since the problem still exists from 3.8.8 all the way through to current mainline (3.11), I think the best course of action is for you to file a bug against DRM on bugzilla.kernel.org, so that upstream can sort out how they want to address it. We'll mirror whatever method upstream prefers to address it (fix, revert, override switch, etc.) in 3.8-stable and Raring.

Kamak, which product/component should I choose on bugzilla.kernel.org? There is no DRM.

Kamal Mostafa (kamalmostafa) wrote :

Till, oops it's actually called "DRI" on bugzilla... Use these selections:

Product: Drivers
Component: Video(DRI - non Intel)

tags: added: bisect-done
removed: performing-bisect

Till, one may want to be cautious about submitting to bugzilla initially, as some upstream maintainers are quite picky about the preferred reporting venue, and presentation. Many have found high probability of success following https://wiki.ubuntu.com/KernelTeam/KernelTeamBugPolicies#Overview_on_Reporting_Bugs_Upstream .

Can the removal of GIT commit 740922e be done in the kernel package for Ubuntu Saucy?

Till Kamppeter, while reverting GIT commit 740922e downstream is technically possible, it would be best to engage upstream for a wider audience input on reversion or fix. Would you have the URL of the maintainer mailing list archive when you e-mailed them, that was CC'ed to the regression author:
Author: Paulo Zanoni <email address hidden>

description: updated

Christopher, the URL of my posting to the dri-devel mailing list is:

http://lists.freedesktop.org/archives/dri-devel/2013-September/044996.html

There is no reply so far.

Till, thanks for the URL.

Unfortunately, attachments are silently discarded before being posted to the archive so only the direct subscriber would get the kernel.org format information, versus wider audience. Not all of upstream would be directly subscribed, some just check the mailing list when someone pings them or whenever they feel like (I personally do the latter as I don't like getting 1000s of e-mails in my inbox daily).

Also, it notes how:
This is a kernel regression from 3.8.0-7-generic to 3.8.0-19.

Some in upstream are not receptive to distro/downstream kernel mentioning, will stop reading at that point, and move on.

Christopher, the URL of my improved posting to the dri-devel mailing list is:

http://lists.freedesktop.org/archives/dri-devel/2013-September/046056.html

Also no reply so far.

Till Kamppeter, I noticed you omitted following the kernel.org format, on the grounds of you having identified the regression commit, and others noted they are experiencing a similar issue. The kernel.org format as outlined by Linus was created to be in addition to regression commit identification and duplicate notices, not in substitution. This omission would more than likely be a reason why your e-mail was promptly ignored. ;) If you wouldn't mind, after testing the lastest mainline kernel via http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-rc2-saucy/ , and assuming it's still reproducible, having another go at the mailing list following the format verbatim would probably yield you an upstream response in a timely manner.

tags: added: needs-upstream-testing
Aleš Pospíchal (ales-s) wrote :

Has anyone tested if this bug is fixed in kernel 3.12 final released today?

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.