6. Graphics Chip

6.1. Linux Compatibility Check

6.1.1. Video Mode

Attention: The SuperProbe is deprecated. The tool SuperProbe is part of XFree86 and is able to check many graphics chips. Please read the documentation carefully, because it might crash your hardware. From man SuperProbe:

"SuperProbe is a 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). This is an error-prone process, especially on UNIX (which usually has a lot more esoteric hardware installed than MS-DOS system do), so SuperProbe may likely need help from the user.

At this time, SuperProbe can identify MDA, Hercules, CGA, MCGA, EGA, VGA, and an entire horde of SVGA chipsets (see the -info option, below). It can also identify several HiColor/True-color RAMDACs in use on SVGA boards, and the amount of video memory installed (for many chipsets). It can identify 8514/A and some derivatives, but not XGA, or PGC (although the author intends to add those capabilities). Nor can it identify other esoteric video hardware (like Targa, TIGA, or Microfield boards).":

For testing reasons start the X11 server with X 2> <error.msg>. And try to change the resolution by typing <CTL><ALT><+> or <CTL><ALT><->. Note: the + or - sign have to be taken from the numeric pad, which can be emulated at the letter pad or with the Fn key by some laptops.

6.1.2. Text Mode

Just watch the display and determine if it works properly. If not, try to enable different video modes at startup time. Setting up X11 can sometimes be an exercise in trial and error.

6.2. Related Documentation

  1. First of all the XFree86 documentation itself. Often locally available at /usr/share/doc/xfree86*. Or the X.Org documentation.

  2. XFree86-HOWTO

  3. XFree86-Video-Timings-HOWTO

  4. XFree86-XInside-HOWTO

  5. X-Big-Cursor-mini-HOWTO (useful when running X11 on a notebook with low contrast LCD)

  6. Keyboard-and-Console-HOWTO

  7. Framebuffer-HOWTO

6.3. Survey X11-Servers

You might discover that some features of your laptop are not supported by XFree86 or X.Org. , e.g. high resolutions, accelerated X or an external monitor. Therefore I give a survey of available X11 servers.

  1. XFree86

  2. X.Org.

  3. VESA Frame-Buffer-Device, available with 2.2.x kernels and XFree86 3.3.2 or greater. See FBDev.ORG and FB FAQ and kernel source /usr/src/linux/Documentation .

    Please check the latest release of DirectFB for a dedicated Framebuffer Driver for the NeoMagic chip and other chipsets, with support for acceleration. DirectFB is a thin library that provides developers with hardware graphics acceleration, input device handling and abstraction, an integrated windowing system with support for translucent windows and multiple display layers on top of the Linux framebuffer device. It is a complete hardware abstraction layer with software fallbacks for every graphics operation that is not supported by the underlying hardware.

  4. Xi Graphics , commercial, also known under their former names AcceleratedX or Xinside.

  5. SciTech, commercial.

  6. Metro-X, commercial.

If you can't get an appropriate X11 server working, but cannot afford a commercial X11 server you may try the VGA16 or the mono server included in XFree86.

6.4. Resources

You may find a survey about current graphics chips used in laptops and notebooks at TuxMobil.

6.5. External Monitors: LCD, CRT, TV, Projector

There are several different methods to activate support for an external monitor: as a BIOS option or during runtime with a keystroke e.g. <Fn>+<F4>.

Read the X11 docs about your graphics chip carefully, for instance for the NeoMagic NM20xx chips you have to edit /etc/XF86Config by configuring intern_disp and extern_disp. Note: As far as I know these options are only valid for XFree86 3.3.x, for XFree86 4.x I couldn't find a similar option.

If you can't get the external monitor to work with XFree86, try a demo version of the commercial X11 servers mentioned above. Also check with the RedHat and SuSE WWW sites as they may have new, binary-only, X11 servers that may work with your laptop. Or check X11 servers from X.Org.

6.5.1. Tools

The atitvout utility may be used for executing several configuration commands for the TV Out connector of ATI Rage Mobility P/M graphics boards under GNU/Linux on x86. It is intended primarily to enable TV Out support after bootup and for switching the used TV standard from NTSC to PAL.

s3switch will allow you to switch your display between the various output devices supported by the Savage (CRT, LCD, TV).

nv-tv-out is a tool to enable TV-Out on Linux for NVidia cards. It does not need the kernel, supports multiple TV encoder chips. You may use all the features of the chip, down to direct register access, and all resolutions and sizes the chip supports.

i810switch is an utility for switching the LCD and external VGA displays on and off, with almost every graphics chip from Intel's i8xx family, including Centrino.

i855crt is an userspace driver that can enable the CRT out (port for external monitor) on Intel 855GM based laptops.

6.5.2. Solutions

Klaus Weidner has described a Dual monitor setup without using xinerama, but x2vnc instead. This approach allows to add and remove the second monitor dynamically without reconfiguring or restarting anything.

6.6. Power Management for Graphics Cards

The uptime on batteries can be improved by enabling the power management features of the graphics card. There are tools available to change the clock frequency and to shut down the backlight of the display. Usually these tools are specific for a graphics card or a graphics card manufacturer. Here are some techniques for graphics cards made by ATI.

The proprietary fglrx driver from ATI needs to be enabled by adding the PowerState option to the Device Section in the /etc/X11/xorg.conf X11 configuration file:

Section "Device"
Identifier "aticonfig-Device[0]"
Driver "fglrx"
Option "PowerState" "1"

After rebooting or re-starting X11 you can start the power save mode with the command aticonfig --set-powerstate=1 --effective=now. Use aticonfig --list-powerstates to get all available powerstates.

For ATI Radeon graphics cards the rovclock tool can be used to save power e.g. rovclock -c 80 -m 80 to use only 80MHz chip and memory frequency. The command radeontool light off switches the backlight off, if closing the lid or using an extra key is not an option.

The ACPI backlight driver by Holger Macht in 2.6.x for IBM, Toshiba, ASUS laptops adds support for the generic backlight interface below /sys/class/backlight. The patch keeps the procfs brightness handling for backward compatibility. For this to archive, the patch adds two generic functions brightness_get and brightness_set to be used both by the procfs related and the sysfs related methods.

6.7. Miscellaneous

Sometimes you may encounter a display not working properly in text mode. Currently I don't have any recommendations, please see Keyboard-and-Console-HOWTO .

Take care of the backlight as far as I know this device can only bear a limited number of uptime circles. So avoid using screensavers too much.

For problems with X Windows and APM please see the APM chapter.

vbetool uses LRMI in order to run code from the video BIOS. Currently, it is able to alter DPMS states, save/restore video card state, and attempt to initialize the video card from scratch. It exists primarily in order to increase the chances of successfully recovering video state after an ACPI S3 suspend-to-RAM.