Download your favorite Linux distribution at LQ ISO.
Go Back > Linux Answers > Hardware
User Name


By horusfalcon at 2006-12-02 19:12
02 Dec 2006
Configuring Wide Aspect Display Support for Intel Extreme Graphics Cards

1.0) Background:

The system this was done on originally is a Gateway 3522GZ notebook for which I have already documented
the specifications in a web page posted at:

The system has a 60 GB hard drive currently partitioned into 10 GB for Windows XP Home and the rest for SuSE Linux 10.0. It uses an Intel Extreme Graphics video card, specifically the 855GM.

2.0) The Problem:

The display for this system is a 1280 X 768 Wide Aspect XGA (WXGA) TFT panel. In Windows, this panel is supported well, and looks just fine. Linux was not able to display 1280 X 768, instead substituting a "stretched" 1024 X 768 which looked, well, stretched!

3.0) The Solution:

I am now looking at this screen in 24-bit, 1280 X 768 resolution. To document the solution, first let me make note of the following URL:

I have saved a copy of this file locally on my system, as its content is *that* useful. Thank you, Steve Tomljenovic!

That said, let's look at my latest /etc/X11/xorg.conf file:

(Here's a snippet from it:)

Section "Monitor"
  DisplaySize  302 188
  HorizSync    24-50
  Identifier   "Monitor[0]"
  ModelName    "1280X768@60HZ"
  Option       "DPMS"
  VendorName   "--> LCD"
  VertRefresh  49-65
  UseModes     "Modes[0]"

Section "Modes"
  Identifier   "Modes[0]"
  Modeline 	"1280x768" 84.35 1280 1344 1480 1680 768 769 772 797
  {Other modelines snipped for brevity...}

Section "Screen"
  DefaultDepth 24
  SubSection "Display"
    Depth      15
    Modes      "1280x768" "1024x768" "800x600" "768x576"
  SubSection "Display"
    Depth      16
    Modes      "1280x768" "1024x768" "800x600" "768x576"
  SubSection "Display"
    Depth      24
    Modes      "1280x768" "1024x768" "800x600" "768x576"
  SubSection "Display"
    Depth      32
    Modes      "1280x768" "1024x768" "800x600" "768x576"
  SubSection "Display"
    Depth      8
    Modes      "1280x768" "1024x768" "800x600" "768x576"
  Device       "Device[0]"
  Identifier   "Screen[0]"
  Monitor      "Monitor[0]"

Section "Device"
  BoardName    "855 GM"
  BusID        "0:2:0"
  Driver       "i810"
  Identifier   "Device[0]"
  Option       "SaXDualHead"
  Option       "Clone"
  Option       "SaXDualMonitorVendor" "--> LCD"
  Option       "usevnc" "no"
  Option       "MonitorLayout" "CRT,LFP"
  Option       "SaXDualOrientation" "off"
  Option       "SaXDualResolution" "1280x768"
  Option       "CloneRefresh" "50-65"
  Option       "SaXDualMode" "off"
  Option       "SaXDualHSync" "off"
  Option       "SaXDualMonitorModel" "1280X768@60HZ"
  Option       "Modes" "1280x768"
  Option       "SaXDualVSync" "50-65"
  Screen       0
  VendorName   "Intel"
As can be seen, my Intel 855GM video card was configured properly in X, but I was still not seeing proper resolutions displayed...

Enter the URL above, and its links to a utility (more of a BIOS hack, really) for the intel video cards called 910resolution. (It is available in binary/RPM format.)

This utility overwrites the BIOS values with those you set. Read the file at the URL for details, as it's not all the difficult to figure out (Thomas did a great job on keeping it simple but getting to the point, I gotta tell ya!). For a simple example (the one which made my system look so much better), read on.

Long story short: I went and got the RPM for this utility as soon as I heard about it. Installation with YAST was a breeze. (Of course, to use YAST, you'll need the root password.)

I ran 915resolution as follows to determine my available resolutions {note the root user prompt}:

linux:/home/horus # 915resolution -l

This returned the following large economy-sized raft of information:

Intel 800/900 Series VBIOS Hack : version 0.5.2

Chipset: 855GM
Mode Table Offset: $C0000 + $29f
Mode Table Entries: 39

Mode 30 : 640x480, 8 bits/pixel
Mode 32 : 800x600, 8 bits/pixel
Mode 34 : 1024x768, 8 bits/pixel
Mode 38 : 1280x1024, 24 bits/pixel
Mode 3a : 1600x1200, 8 bits/pixel
Mode 3c : 1920x1440, 8 bits/pixel
Mode 41 : 640x480, 16 bits/pixel
Mode 43 : 800x600, 16 bits/pixel
Mode 45 : 1024x768, 16 bits/pixel
Mode 49 : 1280x1024, 16 bits/pixel
Mode 4b : 1600x1200, 16 bits/pixel
Mode 4d : 1920x1440, 16 bits/pixel
Mode 50 : 640x480, 32 bits/pixel
Mode 52 : 800x600, 32 bits/pixel
Mode 54 : 1024x768, 32 bits/pixel
Mode 58 : 1280x1024, 32 bits/pixel
Mode 5a : 1600x1200, 32 bits/pixel
Mode 5c : 1920x1440, 32 bits/pixel

Note that 1280 X 768 does not occur in this list.

Since I already had xorg.conf correctly set up for this video card, all I had to do was add the following command line to the file /etc/init.d/boot.local:

915resolution 38 1280 768 24

{English Translation: "915resolution, overwrite mode 38 so that it has a horizontal resolution of 1280 pixels, a vertical resolution of 768 pixels, and 24-bit color depth."}

This overwrites the old 1280 X 1024 resolution (which my system doesn't use) with the correct values for my display panel before X starts up (that's why I put it in boot.local). Restart the system, and voila, she works!


All times are GMT -5. The time now is 05:51 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration