TuxMobil
site map · index a-z · search   





Resources


Graphics Chips in Laptops and Notebooks - Linux Compatibiliy



Compatibility Check

There are different ways how to detect, which graphics chip is used in your laptop:

  • From man SuperProbe : "SuperProbe is a XFree86 3.x program that will attempt to determine the type of video hardware installed in an EISA/ISA/VLB-bus system by checking for known registers in various combinations at various locations (MicroChannel and PCI machines may not be fully supported; many work with the use of the -no_bios option)." WARNING: Read the manual carefully before using SuperProbe . For XFree86 4.x take its successor xviddetect.
  • Another way to get information about the graphics controller is cat /proc/pci or lspci.
  • Currently I don't know a tool (besides fbset and the kernel), which provides information about the VESA VBE standard of the BIOS. At least VESA 2.0 is necessary if you want to use the framebuffer device. I didn't check SVGATextMode and svgalib for this purpose yet.

X Servers

GPLed X Servers

XFree86

"XFree86 is a port of X11R6.3 that supports several Unix and Unix-like operating systems on Intel and other platforms."

Framebuffer Device

"The frame buffer device provides an abstraction for the graphics hardware. It represents the frame buffer of some video hardware and allows application software to access the graphics hardware through a well-defined interface, so the software doesn't need to know anything about the low-level (hardware register) stuff." from ../src/linux-2.2.11/Documentation/fb/framebuffer.txt N.N. . Framebuffer devices need a BIOS which supports VESA VBE 2.0:

VESA September 1998 "VESA Bios Extension (VBE) Core Functions - Version 3: This standard defines a set of extensions to the VGA ROM BIOS services. These functions can be accessed under DOS through interrupt 10h, or be called directly by high performance 32-bit applications and operating systems other than DOS. These extensions also provide a hardware-independent mechanism to obtain vendor information, and serve as an extensible foundation for OEMs and VESA to facilitate rapid software support of emerging hardware technology without sacrificing backward compatibility."

November 1994 "VESA BIOS (VBE) Standard 2.0: Standardizes a modular software interface for display and audio devices."

October 1991 "VESA BIOS Extension (VBE) Standard 1.2: (includes version 1.0 and 1.1): This standard enables software to query the graphics board on its capabilities and then set the desired mode. Serves as a common software interface to Super VGA video adapters. VS911022 is version 1.2 of the VBE and has added support for direct color modes up to 8 bits per color per pixel."

See also Linux-FBDev for latest news, mailing list, etc. And some framebuffer docs and a DOS tool LFB.EXE to get hardware information about the VESA version used in your machine.

The SuperVESAfb framebuffer driver allows you to change the resolution and color depth on-the-fly.

GGI

"GGI stands for 'General Graphics Interface', and it is a project that aims to develop a reliable, stable and fast graphics system that works everywhere. We want to allow any program using GGI to run on any platform requiring at most a recompile." I'm not sure whether there is support for laptop graphics chips yet. See also Fresco.

Precisioninsight

"Precisioninsight specializes in the creation of OpenGL (1) compatible Direct Rendering support for 3D graphics hardware within the industry standard XFree86 X server. Ongoing projects include enhancements to PI's Direct Rendering Infrastructure (DRI) to support new graphics hardware, and the creation of associated 2D and 3D graphics and video drivers. Precision Insight's products are distributed as part of the XFree86 X server, directly by PI's OEM's, or via PI's ftp site or its mirrors." Precisioninsight developed the Linux X server for Neomagic NM20xx.

Commercial X Servers


Graphics Chips

Note: The following survey needs some more improvements, e.g. version of XFree86, resolutions, better status report, benchmark, 3D and acceleration features.

ChipSet / Laptop XFree86 Frame Buffer DirectFB GGI XiG SciTech Text Contributor / Source
ATI Rage Mobility M
IBM ThinkPad i1460 works with patch             George Staikos
ATI Rage Mobility M1
Gateway 9300 "I was able to install RH7 out of the box and have it work no problem with X and svgalib (VESA forced)"[BB], OpenGL 3D excelleration doesn't work yet             Brad Bourn <acsguy_at_wtp.net>
ATI Rage Mobility M3/128
DELL Inspiron 5000e works with Xi Graphics patch, fully accelerated support is provided at 8, 16, and 24 bits per pixel. This LGD also supports Xi Graphic's Dual View feature in the Single Logical Screen mode.             Xi Graphics, George Staikos
ATI Rage PRO LT, see annotations
ASUS P6300 (note: different graphics cards reported) 3.3.5 should work, XF86_MACH64? yes     5.0 (plus bugfix) works     Christian Czezatke
ASUS N.N. specify vga=0x0305 in lilo.conf, and use XF86_FBDev, XF86_MACH64? yes            
DELL Inspiron 7000 works, XF86_MACH64?             Linux DELL Inspiron [archived link]
Sager 8550 specify vga=0x0305 in lilo.conf, and use XF86_FBDev yes     works      
ATI 3D Rage PRO LT, see annotations
Apple Powerbook G3 (Wallstreet)   works           Alvin Brattli
SIEMENS Scenic Mobile 750 AGB works with some problems, probably due to old XFree86              
Chips & Technology
some older Toshiba models   framebuffer driver for Chips&Technologies 65548 video chip in older notebooks            
Cirrus Logic 1MB GD7543
Texas-Instruments - TI: 570CD (now Acer) works with some problems "I've heard from others who have this chip in other hardware, and it appears to work there. At one time there was a hacked XFree that worked for some. Maybe if it came with more video ram, and if you insisted on an active matrix display, it would work. But not with 1MB video RAM and DSTN display."       works     S. Keeling <keeling_at_spots.ab.ca.no.spam>
GeForce 2 Go by NVIDIA
Toshiba: Satellite 2800-500 supported, with 3D driver from NVIDIA yes vga=793 in lilo.conf           Linux on the Toshiba Satellite 2800
i830M/i852/855 video card by Intel
Sony: R600HMK supported by versions >= 4.3 binary drivers by Intel           Linux on the SONY R600HMK
Lynx video card by Silicon Motion
ASUS L7300 not supported yes vga=791 in lilo.conf           N.N.
Gateway should work with 3.3.6             Gregory Wagner <gswagner_at_worldnet.att.net>
Neomagic NM2070
HP OmniBook 800 works doesn't work, because BIOS supports only VBE 1.3, but see Linux page below maybe   works   100x37, see Other Resources below Linux on the HP OB800CT
Neomagic MagicGraph 128XD
ASUS P6300 (note: different graphics cards reported) 1024x768@16bpp           100x37, see Other Resources below, VESA FB console works Christian Czezatke
Neomagic G5 AGP graphics card w 2.5 MB SGRAM
Chicony MP-993 Vega               Kaare Rasmussen <kar_at_webline.dk>
S3 Savage/IX
see CT 18/1999 p. 25             100x37, see Other Resources below CT 18/1999 p. 25
S3 Savage/MX
see CT 18/1999 p. 25               CT 18/1999 p. 25
SiS 630 with integrated AGP Bus 2D/3D graphics accelerator
Clevo 2700c/2200c 2700s/2200s/2700t/2200t   works           Linux on the Clevo 2700c/2200c 2700s/2200s/2700t/2200t
Gericom WebBoy               Linux on the WebBoy
Trident CyberBlade i1
COMPAQ Presario 1600XL155 FB works X doesn't work           X on COMPAQ Presario 1600XL155
Trident CyberBlade XP (22)
Toshiba Satellite Pro 4600 FB works 1024x768 XFree86 4.0.3 doesn't work with Trident driver           Linux on a Toshiba Satellite Pro 4600

Annotations

From Adrian D. Jensen <adjensen_at_notes.west.raytheon.com>:

The "LT" is the "light" version of ATI's Rage Pro chipset specifically for notebooks computers. It is very similar to the ATI Rage Pro 3D chips found in desktop machines (reduced power/footprint). As far as the Rage Pro 3D chipset in a laptop, I think thats a marketing mistake, they probably meant to say Rage Lt Pro or Rage Mobility. Rage Mobility is the latest laptop chip from ATI and, again, is very similar to the Rage Lt Pro (increased 3D capability/reduced power).

The Rage Lt Pro chipset is supported in the latest ATI (Mach64-3.3.5) X server and there are many other people successfully using the FBDev server. I think this is also true for the Rage Mobility chipset, anyone already have this? I personally have a Quantex I-1410 with the Rage Lt Pro w/8MB and have no major problems running at 1024x768x8/15/16/24. There are a couple of caveats though:

First, for some people (myself included), there is a problem with running a FB console and the Mach64 server. Starting with a FB console (say 128x48 col/row in 1024x768x16, i.e. vga=791) gives you a nice, large text console and a pretty penguin on boot up. However, starting the X server, there is signifigant flicker in the image. This only occurs if you use a FB console instead of a standard text console.

Second, many people are using a FB console and the FBDev server. This works fine however, the FBDev server is much slower than the Mach64 server (I've heard the Mach64 is anywhere from 2-4x faster).

Either way, these problems only exist if you trying to run the X server from a FB console. Off a standard text console, the Mach64 server works beautifully and correctly IDs the LCD size and interface speed.

I don't know any of these notebook models specifically but I highly recommend the ATI Rage chipset as it is fairly well supported, typically contains 4 or 8MB of ram (plenty for virtually anything), is very fast, and it can drive an external monitor to 1600x1200 at 75Hz.

Graphics Mode - X

Resuming X

"Many (most?) BIOSes fail to save and restore display controller chip registers, and X has no protocol to be notified of resume events, so on many systems suspend/resume is more-or-less incompatible with X." Linux Laptops has created a fix for this problem.

Modeline Utilities

XF86Setup

From the XFree86-Video-Timings-HOWTO by Eric S. Raymond:

"Starting with XFree86 3.2, XFree86 provides an XF86Setup(1) program that makes it easy to generate a working monitor mode interactively, without messing with video timing number directly. So you shouldn't actually need to calculate a base monitor mode in most cases. Unfortunately, XF86Setup(1) has some limitations; it only knows about standard video modes up to 1280x1024. If you have a very high- performance monitor capable of 1600x1200 or more you will still have to compute your base monitor mode yourself."

xvidtune

From the XFree86-Video-Timings-HOWTO by Eric S. Raymond:

"Recent versions of XFree86 provide a tool called xvidtune(1) which you will probably find quite useful for testing and tuning monitor modes. It begins with a gruesome warning about the possible consequences of mistakes with it. If you pay careful attention to this document and learn what is behind the pretty numbers in xvidtune's boxes, you will become able to use xvidtune effectively and with confidence."

KVideoGen

KVideogen by Rik Hemsley <rik_at_kde.org> is a small utility that will help you to write modelines for XFree86, giving you the best modes you can get from your graphics subsystem. The calculations are done by code originally written by Rumi Szabolcs.

fbset

By Nathan Myers <ncm_at_linuxlaptops.com> from Linux Laptops: You may use fbset to discover the manufacturer's recommended "modeline" timing on laptop LCDs? It's pretty simple:

read-edid

read-edid gets the specs of a monitor from the hardware, and automates making XFree86 modelines. It only works with recent video cards (with the EDID VBE extension) and monitors (with DDC) on PCs (x86).

  • Build framebuffer support into the kernel;
  • Add video=vesa, and vga=0x317 (for 1024x768) boot arguments;
  • Use fbset -x to extract a Modeline;
  • Edit the resulting Modeline into your XF86Config file;
  • Adjust the XF86Config file's HorizSync and VertRefresh ranges to include the values that fbset reports.

Screensaver (X11)

xscreensaver

"The purpose of xscreensaver is to display pretty pictures on your screen when it is not in use, in keeping with the philosophy that unattended monitors should always be doing something interesting, just like they do in the movies."

"The benefit that this program has over the combination of the xlock and xautolock programs is the ease with which new graphics hacks can be installed: you don't need to recompile this program to add a new display mode, you just change some resource settings. Any program which can be invoked in such a way that it draws on the root window of the screen can now be used as a screensaver without modification. The programs that are being run as screensavers don't need to have any special knowledge about what it means to be a screensaver."

Other Resources

"From Linux Hardware by Christopher Browne:

AGP - Accelerated Graphics Port: Intel's new scheme that provides a graphics "bus" separate from the usual PCI bus so that graphics can operate concurrently without consuming normal memory bandwidth. This unfortunately comes at the cost of allowing the graphics card to override the CPU, which may slow things down. It does not support multiple cards, thus a multiheaded display will require at least one non-AGP card."

Text Mode - SVGA

SVGATextMode

"SVGATextMode allows the screen mode of the Linux console to be controlled in detail. This allows more characters on screen, more stable text, less characters on screen, less stable text, etc. also, on badly designed hardware, you could sometimes achieve a melted monitor.

Extra fonts are required to work fully, though without them useful effects can still be achieved."

svgalib

"Low-level graphics library that provides VGA and SVGA modes in a console. It is not intended as an alternative to X for apps, but rather a set of tools for things like VGA games, image viewing in modes that X cannot support, etc."

Screensaver (Console)

setterm

From man setterm : setterm writes to standard output a character string that will invoke the specified terminal capabilities.

cmatrix

CMatrix - shows a scrolling 'Matrix' like screen in Linux (curses based). Inspired by the movie Matrix.

vlock

"vlock either locks the current terminal (which may be any kind of terminal, local or remote), or locks the entire virtual console system, completely disabling all console access. vlock gives up these locks when either the password of the user who started vlock or the root password is typed."

lockvc

"lockVC is a console-locking-program combined with a starfield screensaver. Executing LOCKVC on a virtual console brings up a starfield that starts to rotate around all three axes."

"All virtual consoles get locked, i.e. you cannot change to another VC and you can't stop the program by pressing any key-combos. You can only exit the program by entering your system-password. Root's password will also terminate lockvc."

scrsavd

Screen saver daemon by Chuck <chuckjr_at_sinclair.net> .

aalib

ASCII art library.

Other Resources

  • Documentation of lilo for setting the parameter vga=N.N. in /etc/lilo.conf
  • ../src/linux/Documentation/svga.txt .
  • Appendix of the Linux Mobile Guide by Cedric Adjih <cedric.adjih_at_inria.fr> about using a better text mode 100x37 for the Neomagic NM20xx chips.
  • Keyboard-And-Console-HOWTO .
  • svgalib-bin: SVGA display utilities.

Credits

Thanks to the contributors mentioned above, the members of comp.os.linux.portable, the Linux-Laptop and Debian-Laptop mailing lists. And to:

  • Thomas Traber <traber_at_inetmail.de>
  • Nathan Myers <ncm_at_linuxlaptops.com> from Linux Laptops
  • Adrian D. Jensen <adjensen_at_notes.west.raytheon.com>







print · i-mode · WAP · PDA
contact · imprint · privacy (P3P) · sponsors · RSS

© Werner Heuser 1997-2014 · http://tuxmobil.org/graphic_linux.html · last change Fri Feb 12 2010