Gentoo Wiki ArchivesGentoo Wiki

Intel_GMA/Native_resolution

Note: This document has typos and missing steps, May cause harm to your system!! Wait for author to correct this file before proceeding!!!




One thing that notebook users with an Intel 915/945 Onboard Graphics card may have been noticing is that you can't use your native resolution in Xorg and your framebuffer because of limited VESA modes supplied by the BIOS. So I decided to give you guys some help and explain on how to do this (there are various tutorials for this on google, but none of them worked for me).

Note: Recent versions of Xorg have rendered this wiki page obsolete. As of this writing, all the versions of Xorg presently in Portage have switched to the "modesetting" driver for Intel graphics chips, see this guide. That driver sets the graphics modes natively, rather than depending on the BIOS, so the 915resolution hackery described below is no longer relevant to Xorg; it is useful only for the console. In Xorg, the native screen resolution should just work.

With reading this tutorial I expect you have a limited knowledge on how Gentoo and Xorg works if there is something you don't please read the documentation at http://www.gentoo.org/

First we have to emerge 915resolution which changes the BIOS (only temporarily) to get you desired resolution. If you are NOT running ~arch you will need to add a line to your /etc/portage/package.keywords file.

echo "sys-apps/915resolution ~x86" >> /etc/portage/package.keywords
emerge 915resolution

After the package is emerged run the following command as root:

915resolution -l

This will give a list with supported resolutions. Write down a mode code you won't be using (the 1920x1440 one for example: 5c, although the code for a given resolution can be different for you BIOS) Open up /etc/conf.d/915resolution in nano or any editor you like.

Go to the configuration part where it says

replace=("4c 1280 768 24")

and change the mode number and the resolution to the setting you would like, for example:

replace=("5c 1280 800 32")

NOTE: Do NOT use 24 as a color depth, because for some odd reason xorg refuses to start when doing so, instead use 32 as a color depth.

Save the file, exit your editor and run the following command: "rc-update add 915resolution boot" (without the quotes) to add the 915resolution to boot-up. (This has to be done, because the BIOS hack is only temporarily and is gone once you reboot.) If you find that this results in setting the console correctly but reverts to an incorrect stretched resolution for X, you should run "rc-update add 915resolution boot default".

Now you can have a framebuffer console in your LCDs native resolution:

  1. compile your kernel WITHOUT intelfb (not even as module, it gets always loaded) but WITH vesafb-tng (module) AND framebuffer console support (monolithic)
  2. boot your new kernel WITHOUT video= parameters
  3. run your new module by:
modprobe vesafb-tng mode=1280x800-32@60
/etc/init.d/consolefont restart

The second command is needed for proper unicode display, it can be done automatically. It's best to modprobe the module just after 915resolution but before consolefont. To do this I start modprobe on boot but after 915resolution, so we need an init file:

File: /etc/init.d/vesafb
#!/sbin/runscript
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
Exp $

depend() {
	after 915resolution
	before xdm
	before consolefont
}


start() {
	ebegin "1280x800-32@60"
	modprobe vesafb-tng mode=1280x800-32@60 || retval=$?
        eend ${retval}
}

and also:

rc-update add vesafb boot

(all the above tested ONLY on an Toshiba a100-785 PSAANE notebook, good luck)

Now we can make Xorg support this VESA mode also. Open up /etc/X11/xorg.conf in nano or any editor you like and browse to: SubSection "Display". Once there Edit every Subsection "Display" and include your new native resolution. Example:

Change:

Subsection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubSection

Into:

Subsection "Display"
Depth 24
Modes "1280x800" "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubSection

This adds the custom resolution to xorg-x11. Do so for all SubSection "Display" sections. Afterwards reboot your system, boot into GUI mode (if you are not using a DisplayManager) and see if you can change your resolution. If there is anything that doesn't work, don't hesitate to contact me at olger901[at]gmail.com

See the rc-update note above if this does not work for X despite working on the console.

This method has been sucsessfully tested on the Asus eeePC to get native screen rsolution (800x480) on the framebuffer with uvesafb

Retrieved from "http://www.gentoo-wiki.info/Intel_GMA/Native_resolution"

Last modified: Fri, 29 Aug 2008 14:00:00 +1000 Hits: 17,877

Created by NickStallman.net, Luxury Homes Australia
Real estate agents should list their apartments, townhouses and units in Australia.