121_i965_default_virtual_to_2048_2048.patch overrides xorg.conf virtual setting instead of setting default (regression in 2.6.3-0ubuntu9.1)

Bug #370777 reported by Jan Schneider on 2009-05-02
58
This bug affects 7 people
Affects Status Importance Assigned to Milestone
xserver-xorg-video-intel (Ubuntu)
Undecided
Unassigned
Jaunty
Undecided
Unassigned
Karmic
Undecided
Unassigned

Bug Description

Binary package hint: xserver-xorg-video-intel

After upgrading to the mentioned package version, my LeftOf setup with an external monitor doesn't work anymore.

[lspci]
00:00.0 Host bridge [0600]: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub [8086:2a40] (rev 07)
 Subsystem: Dell Device [1028:024f]
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 07)
 Subsystem: Dell Device [1028:024f]

Jan Schneider (yunosh) wrote :
Jan Schneider (yunosh) wrote :
Jan Schneider (yunosh) wrote :

Confirmed that downgrading restores the old behavior.

Geir Ove Myhr (gomyhr) wrote :

Thank you for reporting this bug. Could you please also upload the output of `lspci -vvnn` as a separate attachment, as that will help us identify your exact hardware.

Changed in xserver-xorg-video-intel (Ubuntu):
status: New → Incomplete
tags: added: dual-head gm45 intel jaunty xorg
tags: added: needs-lspci-vvnn
summary: - LeftOf positioning not working anymore with 2.6.3-0ubuntu9.1
+ [GM45] LeftOf positioning not working anymore with 2.6.3-0ubuntu9.1

I wonder if 121_i965_default_virtual_to_2048_2048.patch (the patch that was added between 0ubuntu9 and 0ubuntu9.1) is testing for the chipset in the wrong way... You have a GM45, but that patch is as far as I can see meant for only the i965 chipsets (965G and 965GM). From your Xorg.0.log:

(II) intel(0): Integrated Graphics Chipset: Intel(R) Mobile Intel® GM45 Express Chipset
(--) intel(0): Chipset: "Mobile Intel® GM45 Express Chipset"
(--) intel(0): Linear framebuffer at 0xE0000000
(--) intel(0): IO registers at addr 0xF6C00000
(WW) intel(0): libpciaccess reported 0 rom size, guessing 64kB
(II) intel(0): Defaulting Virtual to 2048 2048 for i965.

First it says you have a GM45, then it says "Defaulting Virtual to 2048 2048 for i965". The patch adds the following to i830driver.c:

   if (IS_I965G(pI830) && pScrn->virtualX == 0 && pScrn->virtualY == 0) {
       xf86DrvMsg(pScrn->scrnIndex, X_INFO,
    "Defaulting Virtual to 2048 2048 for i965.\n");
       pScrn->virtualX = 2048;
       pScrn->virtualY = 2048;
       pScrn->display->virtualX = 2048;
       pScrn->display->virtualY = 2048;
   }

Apparently, the function IS_965G is returning true even when you are on a GM45.

Jan Schneider (yunosh) wrote :

True. Actually I wondered whether I should install the update at since it didn't seem to affect my chipset at all.

Jan Schneider (yunosh) wrote :

Oops, here an lspci output with sufficient permissions.

Geir Ove Myhr (gomyhr) on 2009-05-02
description: updated
tags: removed: needs-lspci-vvnn
Changed in xserver-xorg-video-intel (Ubuntu):
status: Incomplete → Confirmed

> Oops, here an lspci output with sufficient permissions.

That's okay, we don't really need the capabilities that were missing
without sudo. I usually try to remember asking for `sudo command`
instead of `command` whenever priviliges are necessary.

Another way to upload information about an xorg-related bug is to run
`apport-collect <bugnr>`. That should upload various log files related
to the package the bug is reported for.

Just confirming my suspicion:

From src/common.h:
#define IS_I965G(pI810) (DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_G35_G || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_Q || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I946_GZ || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GM || DEVICE_ID(pI810->PciInfo) == PCI_CHIP_I965_GME || IS_G4X(pI810))

So: IS_I965G is true for 965G, G35, 965Q, 946GZ, 965GM, 965GME, G45, GM45, ++

In principle there shouldn be anything wrong with defaulting to Virtual 2048x2048 for other chipsets, but maybe it would be beter to replace IS_I965G with a test for the PCI_ID(s).

Geir Ove Myhr (gomyhr) wrote :

Looking at your Xorg.0.log, it seems that the
 SubSection "Display"
  Virtual 2720 1024
 EndSubSection
in your xorg.conf is not honored. It looks like instead of only defaulting to 2048x2048 the new driver actually overrides the Virtual setting. I see no mention of the number 2720 in your xorg.conf. If the virtual width is not set to at least the sum of the width of your two monitors (which is 2720), you will not be able to position the monitors side-by-side as one big desktop. I will test on my computer if it also overrides my virtual setting (I have a 965GM).

Geir Ove Myhr (gomyhr) wrote :

Confirmed that 0ubuntu9.1 overrides the Virtual setting in xorg.conf. I have
Section "Screen"
        Identifier "Default Screen"
        Monitor "Configured Monitor"
        Device "Configured Video Device"
        SubSection "Display"
                Virtual 1400 2089
        EndSubSection
EndSection
in my xorg.conf, but with the 0ubuntu9.1, xrandr says

gomyhr@storhaugen:~$ xrandr
Screen 0: minimum 320 x 200, current 1400 x 1050, maximum 2048 x 2048
VGA disconnected (normal left inverted right x axis y axis)
LVDS connected 1400x1050+0+0 (normal left inverted right x axis y axis) 245mm x 184mm
...

With 0ubuntu9.1 the maximum is 1400 x 2089.

I'll update the title of this bug to say what really is the problem.

summary: - [GM45] LeftOf positioning not working anymore with 2.6.3-0ubuntu9.1
+ 121_i965_default_virtual_to_2048_2048.patch overrides xorg.conf virtual
+ setting instead of setting default (regression in 2.6.3-0ubuntu9.1)
Geir Ove Myhr (gomyhr) on 2009-05-03
tags: added: regression-potential
Jan Schneider (yunosh) wrote :

> I see no mention of the number 2720 in your xorg.conf.
Just for the record, where did you get the "Virtual" line from, if not from my xorg.conf?

On Sun, May 3, 2009 at 6:36 AM, Jan Schneider <email address hidden> wrote:
>> I see no mention of the number 2720 in your xorg.conf.
> Just for the record, where did you get the "Virtual" line from, if not from my xorg.conf?

Sorry, my bad... I meant to say I didn't see it in Xorg.0.log. But
upon checking on my computer afterwards my virtual setting didn't show
up in Xorg.0.log either, with any version of the driver, only in the
output of xrandr (maybe Option "ModeDebug" "true" would make it show
up in Xorg.0.log).

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xserver-xorg-video-intel - 2:2.6.3-0ubuntu11

---------------
xserver-xorg-video-intel (2:2.6.3-0ubuntu11) karmic; urgency=low

  * Update 121_i965_default_to_virtual_2048_2048.patch to check more
    thoroughly for user-supplied Virtual settings. (Thanks kedazo)
    (LP: #370777, #371544)

 -- Bryce Harrington <email address hidden> Mon, 04 May 2009 15:10:00 -0700

Changed in xserver-xorg-video-intel (Ubuntu):
status: Confirmed → Fix Released
Martin Pitt (pitti) wrote :

Accepted xserver-xorg-video-intel into jaunty-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: regression-proposed
Changed in xserver-xorg-video-intel (Ubuntu Jaunty):
status: New → Fix Committed
tags: added: verification-needed
Martin Pitt (pitti) wrote :

The jaunty regression only affected jaunty-proposed, so this can be closed now.

Changed in xserver-xorg-video-intel (Ubuntu Jaunty):
status: Fix Committed → Fix Released
Jan Schneider (yunosh) wrote :

Fix confirmed.

Geir Ove Myhr (gomyhr) wrote :

Confirming that with 2:2.6.3-0ubuntu9.2 the virtual setting is no longer overridden.

Colin Watson (cjwatson) on 2009-06-04
tags: added: verification-done
removed: verification-needed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers