DisgruntledGoat.com
Change is inevitable, except from a vending machine
- - - - -
Most popular:
Menu:
:: Home
:: Fascinations
:: Goat Labs
:: Miscellany
:: RANT!
:: Silly stuff
:: Useful stuff
:: Cars & Driving
Hosted by
Web Without Wires from Zycomm
:: Printable version
Custom Search

Gentoo - Xorg 6.8.99 on Dell Inspiron 630m

Last updated: 13th April 2006

This is a bit of legacy info about Xorg 6.8.99 as both 6.9.0 and the new modular Xorg (7.0-r1) both support the i915 chipset natively and no longer need to be patched. I've retained this info as I know some people are forced into running 6.8.99 for political reasons :-)

For more up-to-date info on Xorg 6.9 (and soon 7.0) see the main Gentoo on Dell Inspiron 630m page.

Xorg

Xorg is usually quite painless, however a couple of issues cropped up during this install.

Xorg 6.8.99.15-r4 does not like -Os!

Most of the software - with the notable exception of Xorg - has been compiled with the "Optimise for size" flag set, simply due to the reduced memory footprint this produces. However, Xorg segfaults on load if it's compiled with -Os, so it is the only package built with -O2. This worked fine.

i915 chipset graphics

Some things to note:
  1. The chipset BIOS does not natively support wierd and wonderful resolutions such as 1280x800 (i.e. the laptop's native resolution)
  2. Support for the i915-series is only available in the very latest (masked, unstable) versions of xorg in portage
  3. DRI support works but not out-of-the-box, hence it needs kicking a bit.
  4. Xorg 6.8.99.x is masked in portage. You'll need to unmask it manually.

Unmasking the latest v6.x Xorg

(updated 14/02/2006)

Xorg 6.8.99 is hard-masked. Do the following to unmask it:
# echo "<x11-base/xorg-x11-7.0" >> /etc/portage/package.unmask
If you're running stable, you'll need to add the unstable keyword to xorg-x11:
# echo "x11-base/xorg-x11     ~x86" >> /etc/portage/package.keywords

Special video modes

To make the chipset's BIOS support non-4:3 resolutions (i.e. the 630m's 1280x800) a very useful gadget called 855resolution needs to be emerged:
# emerge 855resolution -pv

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild  N    ] sys-apps/855resolution-0.4  6 kB
This gadget allows you to patch the i915 video BIOS with the appropriate mode by replacing one of the existing modes. You can see all the supported VESA modes by issuing the following:
# 855resolution -l
855resolution version 0.4, by Alain Poirier

Chipset: Unknown (id=0x25908086)
VBIOS type: 2
VBIOS Version: 1219

Mode 30 : 640x480, 8 bits/pixel
Mode 32 : 800x600, 8 bits/pixel
Mode 34 : 1024x768, 8 bits/pixel
Mode 38 : 1280x1024, 8 bits/pixel
Mode 3a : 1600x1200, 8 bits/pixel
Mode 3c : 1280x800, 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 : 1280x800, 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 : 1280x800, 32 bits/pixel

You can see in this listing that the final mode, 5c, has been patched to 1280x800 for use with the 630m's local flat panel.

Note that this only patches the copy of the BIOS that is in RAM, so you (A) don't modify your machine, but (B) have to do this every time you boot. Conveniently, those nice Gentoo folks have an init and config script to do this automagically at boot time. Just modify /etc/conf.d/855resolution:

# Config file for /etc/init.d/855resolution

# Since 855resolution alters the video RAM of your 855 card, it must be run
# on every boot.
# In this file you set which modes are to be replaced with what by the init
# script. The syntax should be self-explaining.
# To find out which modes are available, use "855resolution -l".
# Remember to add 855resolution to your default runlevel:
# rc-update add 855resolution default

# e.g's (it seems for most people 5c defaults to "1920x1440", which
#   usually isn't used, so the example uses that one
replace[0]="5c"
#with[0]="1400 1050"
with[0]="1280 800"

Once that's done, just add 855resolution to whatever runlevels tend to end up running X:

# rc-update add 855resolution default battery
 * 855resolution added to runlevel default
 * 855resolution added to runlevel battery

In my xorg.conf, I also added a modeline for the display which probably isn't strictly necessary. I used gtf to generate a custom modeline for 1280x800@60Hz:

# gtf 1280 800 60

  # 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
  Modeline "1280x800_60.00"  83.46  1280 1344 1480 1680  800 801 804 828  -HSync +Vsync

DRI support

Even with the unstable build of XOrg, I was not getting direct rendering (DRI) support:
#glxinfo |grep direct
direct rendering: No
OpenGL renderer string: Mesa GLX Indirect
Until something gets done about this upstream in XOrg, I had to resort to making an ebuild overlay as per the instructions in this post on the Gentoo forums.

To save the hassle of having to read the whole post (which is excellent, but requires you to make your own patch files and ebuilds), you can get each of the required files here:

To install the overlay and patches, simply do the following: Make the appropriate overlay directory:
# mkdir -p /usr/local/portage/x11-base/xorg-x11/files
Edit your /etc/make.conf to ensure you have a portage overlay directory specified. It should read:
PORTDIR_OVERLAY=/usr/local/portage
Make any necessary changes and save. Now, save the patched xorg-x11-6.8.99.15-r4.ebuild into /usr/local/portage/x11-base/xorg-x11 and the dri-lnx_agp.patch file to /usr/local/portage/x11-base/xorg-x11/files. Once this is done, use the ebuild command to make an up-to-date digest of these new files:
# cd /usr/local/portage/x11-base/xorg-x11
# ebuild xorg-x11-6.8.99.15-r4.ebuild digest
Conveniently, the author of this ebuild has made it easy to switch the modification on and off by the use of a new use flag, dri-patch. You must ensure that this use flag is enabled, either by adding it to make.conf or, preferably, to your /etc/portage/package.use file:
# echo "x11-base/xorg-x11       dri-patch" >> /etc/portage/package.use
Now you can simply emerge XOrg again, restart your X server and DRI should come alive:
# glxinfo |grep direct
direct rendering: Yes

# glxgears
5867 frames in 5.0 seconds = 1173.393 FPS
5942 frames in 5.0 seconds = 1188.339 FPS
5934 frames in 5.0 seconds = 1186.639 FPS





This page was last updated: 13th April 2006 at 10:18am BST
© 1998 - 2013 disgruntledgoat.com, all rights reserved. Privacy info