[Intel-gfx] i810 only partially usable

Chris Wilson chris at chris-wilson.co.uk
Mon Sep 23 10:22:01 CEST 2013


On Sun, Sep 22, 2013 at 08:45:57PM -0400, Felix Miata wrote:
> 82810E DC-133 (GMCH)(rev 03)
> 
> Everything seems to be OK with these (openSUSE 12.1):
> glamor (no such package)
> kernel-desktop-3.1.10-1.29
> libdrm-2.4.26-15.1.2
> (no Plymouth)
> xorg-x11-driver-video-intel-legacy-2.9.1-13.1.2
> xorg-x11-server-7.6_1.10.4-36.9.2 (server 1.9.3)
> 
> 1600x1200 (which happens to be the EDID preferred mode) as specified
> via PreferredMode works.
> 
> vga=8121 on cmdline works as expected on the vttys (no material BIOS
> VESA support available).
> 
> http://fm.no-ip.com/Tmp/Linux/Xorg/xorg.0.log.gx110-os121-1600x1200x120OK
> 
> *************************
> Not good (openSUSE 12.2):
> glamor-0.4.1-2.2.2
> kernel-desktop-3.4.47-2.38
> libdrm2-2.4.33-2.47.33-2.3.2
> libdrm_intel1-2.4.33-2.47.33-2.3.2
> (no Plymouth)
> xf86-video-intel-2.20.3-1.8.1
> xorg-x11-driver-video-intel-legacy-2.9.1-22.1.2
> xorg-x11-server-7.6_1.12.3-1.9.1 (server 1.12.3)
> 
> highest (& initial) video mode available according to xrandr and
> krandrtray: 1280x1024
> 
> PreferredMode is apparently ignored.

Broken by

commit 7bb653bedceb6180a0361ead1c612839e776ce98
Author: Olivier Fourdan <ofourdan at redhat.com>
Date:   Mon Oct 18 15:59:35 2010 -0400

    modes: improve aspect ratio match for classic drivers

which filters the modes reported by the EDID to the largest builtin
mode.

diff --git a/hw/xfree86/common/xf86Mode.c b/hw/xfree86/common/xf86Mode.c
index 706ab64..2a11590 100644
--- a/hw/xfree86/common/xf86Mode.c
+++ b/hw/xfree86/common/xf86Mode.c
@@ -1869,10 +1869,10 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
         }
         if (vx < virtX || vy < virtY) {
             const int types[] = {
-                M_T_BUILTIN | M_T_PREFERRED,
-                M_T_BUILTIN,
                 M_T_DRIVER | M_T_PREFERRED,
                 M_T_DRIVER,
+                M_T_BUILTIN | M_T_PREFERRED,
+                M_T_BUILTIN,
                 0
             };
             const int ntypes = sizeof(types) / sizeof(int);

Should restore the intent back to

commit 81ef1b6d6063c20db4963abf7b7848e235aa4ebb
Author: Adam Jackson <ajax at benzedrine.nwnk.net>
Date:   Thu Sep 14 19:18:58 2006 -0400

    Mark EDID modes as driver modes.  Infer virtual size from driver modes.


> vga=8121 on cmdline works as expected on the vttys even after X is terminated.
> 
> http://fm.no-ip.com/Tmp/Linux/Xorg/xorg.0.log.gx110-os122-bad1280x1024
> 
> 
> *************************
> Awful (openSUSE 13.1 Beta 1):
> glamor-0.5.1-1.1
> intel-gpu-tools-1.3-4.4
> kernel-desktop-3.11.1-1
> libdrm2-2.4.46-2.1
> libdrm-intel1-2.4.46-2.1
> (no Plymouth)
> xf86-video-intel-2.99.902-1.1
> xorg-x11-server-7.6_1.14.3-1.1 (server 1.14.3)
> 
> PreferredMode is apparently ignored.
> 
> highest (& initial) video mode available according to xrandr and
> krandrtray: 1280x1024
> 
> vttys are stable only as long as X never started, regardless whether
> video= and/or vga= are present on cmdline. Only way I've found so
> far to make them work reliably again once X is started is to reboot.
> With various combinations of X running or not and video= and/or vga=
> used, vttys get scrambled in various ways (font mismatched to row
> and/or column counts of active mode).
> While X is running but a vtty is active, X/KDE3 may abort spontaneously.

That sounds like the dangers inherent in UMS. The biggest change here is
the loss of XAA in Xorg.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list