Here are some general tips (followed by sections with sets of specific tips) to help you out when you are troubleshooting your video card:
How to start troubleshooting a video card-The primary way to troubleshoot your video card when it either isn't working at all or isn't working well is to try starting the server and see what messages it displays. These messages are stored in the /var/log/XFree86.0.log file.
Another way to begin troubleshooting X is to have X only probe your display hardware and display some messages, without actually starting the server. You can do this by typing: X-probeonly
Find driver-specific options-For each of the X video drivers supported in Fedora Core, you can check the driver's man page for specific options you can use with the driver. If you run the XFree86-configure command to create an initial XF86Config file, that command adds a large number of options to the configuration file for the video driver, with those options commented out. You can simply start uncommenting and adapting the options to try them out with your video driver.
Another place you can look for driver-specific options is in the /usr/share/hwdata/Cards file. Video cards are identified in that file by name and chipset used in the card.
Find current state of X server-Run xdpyinfo|less to see information about the running X server. In particular, you can see the color depth, dimensions (in pixels), and dots per inch. You can also see what extensions are in use (such as DRI for hardware acceleration).
Use VESA when in doubt-Most video hardware for the PC available today is supported under XFree86. However, not every new card will be properly detected in Linux. For most desktop systems, if you can't determine which video driver to use, most hardware that isn't supported exactly can use the VESA driver. To use the VESA driver identify "vesa" on the Driver line of the XF86Config file or select VESA from the Display Settings Window when you configure your video card.
Improve performance with a low-memory video card-If you reduce the screen size and color depth you can dramatically improve performance. This is particularly true for video cards with less than 16MB of memory where you are trying to run 3D applications.
My video card stopped working when I upgraded XFree86-Support for some older video hardware was lost when XFree86 went from version 3.3.6 to version 4 (currently 4.3.0 in Fedora Core 1). Find out how driver support changed between 3.3.6 and 4.3.0 on the Driver Status Page (www.xffree86.org/current/Status.html).
Direct Rendering Infrastructure (DRI) allows you to do 3D hardware acceleration on selected video cards. To see if DRI is enabled on your display, type the following:
# glxinfo | grep direct direct rendering: Yes
The Yes shows that DRI is on. If it says No instead, you should check that your video card is on the list of cards supported by DRI (visit the DRI website at dri.sourceforge.net/doc/dri_driver_features.phtml). If DRI should be supported, but appears to be disabled, make sure the following lines appear in your XF86Config file:
Section "DRI" Mode 0666
One limitation of DRI is that it does not run in resolutions greater than 1024 x 768. Trying to run X in a higher resolution on a card that supports DRI, then backing down (using Ctrl+Alt+F1) may cause your X server to crash. The reason is that the higher resolution will consume lots of your video RAM, and not release it when you switch to the lower resolution. When DRI goes to get the memory that it needs, the X server crashes.
If you have trouble getting or keeping the X server running with DRI enabled, try setting a low resolution for the X server (maybe 640 × 480 with 16-bit color depth). If this works, try increasing the resolution (up to 1024 × 7668) and color depth (up to 32 bits) as long as the X server continues to run. If the server doesn't run at the lower resolution, you might have to disable DRI for your card.
The following are some tips that may help you through some problems that are specific to certain video cards and chipsets. For configuration information that applies to all video cards, see the XF86Config and XFree86 man pages.
Even though the maker of 3dfx products, 3dfx Interactive, Inc., is out of business, there are still a lot of video cards around that use 3dfx chipsets. Although the cards are officially unsupported, many Voodoo cards that use 3dfx chips are so inexpensive that you might want to give them a try. Here are a few tips to help you with your 3dfx cards:
Identify chipset-To physically identify a 3dfx chipset, try this site: www.plasma-online.de/english/identify/picture/3dfx.html.
Video driver-Use the tdfx video driver for Voodoo Banshee, Voodoo3, Voodoo4, and Voodoo5 cards (type man tdfx).
Hardware acceleration-DRI is supported on these cards to do hardware acceleration. However, you cannot use resolutions higher than 1024 × 768 at 16-bit color depth.
If you run into problems with a 3dfx card, try the voodoofiles.com website. They have a 3dfx forum where you can get help with your Voodoo 3, 4, 5, Banshee, or other 3dfx cards.
The i810 video chipsets are used on Intel 810 motherboards (i810, i810-dc100, i810e, and i815). For pixel depths up to 24 bits, hardware accelerated 2D drawing is supported. High-resolution video modes are supported up to 1600 × 1200.
The driver name is i810. Since XFree86 version 4.3.0, this graphics chipset has included 2D, 3D (using DRI), and XVideo support. Here are a few tips:
Video driver-Use the i810 video driver (type man i810).
Hardware acceleration-DRI is supported on these cards to do hardware acceleration. However, you cannot use resolutions higher than 1024 × 768 at 16-bit color depth for i810 and i815 chipsets. Later chipsets allow depths up to 24 bits.
Increasing video RAM-The i810 graphics chipsets use a unified memory architecture in which they can use system RAM for video memory. By default, 8MB of system RAM is assigned for graphics. You can increase this number using the VideoRam option in the Device section of XF86Config file for the i810 driver. Here's an example of what that line might look like to use 16MB of RAM for graphics:
Section "Device" Identifier "Intel 810" Driver "i810 VideoRam 16384 VendorName "Intel 810" EndSection
Although a driver for NVIDIA cards is included with XFree86 (the nv driver), it only supports 2D acceleration. That includes support for PCI and AGP video cards that include the following chips: RIVA 128, RIVA TNT, RIVA TNT2, GeForce 256-Quadro, GeForce2-Quadro2, GeForce3Quadro DCC, nForce-nForce2, GeForce4-Quadro4, and GeForce FX-Quadro FX.
To get 3D acceleration on NVIDIA boards, you need to install NVIDIA's own proprietary binary X drivers. Go to the NVIDIA website (www.nvidia.com) and click on the Download Drivers link. From there, follow the link to Linux Drivers to download and install the NVIDIA driver.
Note |
It is possible that the redhat-config-xfree86 window will not recognize the proprietary NVIDIA driver. You may need to run XFree86-configure to create your XF86Config file. |
The ATI Rage 128-based video cards use the r128 driver, while the ATI Radeon-based video cards use the radeon driver. Although your X server should autodetect this information, you can specify the following values in the Devices section for the driver:
VideoRam-Specify in kilobytes how much RAM is available on the card.
ChipID-Identify the PCI device ID (run the lspci command to get this ID).
IOBase-Identify the physical address of the MMIO register.
MemBase-Identify the physical address of the linear framebuffer.
Many options are available to use with the r128 and radeon drivers. Type man r128 or man radeon to view available options for the drivers.
Broken XF86Config file-It is possible that you, or some tool you used, may have trashed your /etc/X11/XF86Config file. If you are unable to fix the file manually so X can start, you can delete XF86Config (actually, make a copy first, and then delete it). Run redhat-config-xfree86 again to get, hopefully, a sane XF86Config file to start with. If that doesn't work, try typing this:
# XFree86 -configure XFree86 -xf86config /root/XF86Config.new
If the X server starts properly using the XF86Config.new file you just created, you can copy the file to its permanent location and restart X when you are ready.
# cp /root/XF86Config.new /etc/X11/XF86Config
There's nothing I can do to get this card to work!-If the card is not listed as supported, and you can't get it to go, consider buying a new card. There are good, brand-new video cards starting at about $30 that will work well, and some screaming great ones starting at around $100. Xfree86.org recommends S3-based boards and ATI-based boards. I have had good luck with NVIDIA cards, but you need their proprietary drivers to get them to work well.
The Driver Status for XFree86 page (www.xfree86.org/current/Status.html) is a good place to start. Beware, however, that even some boards that are listed as supported may become unsupported if the manufacturer decides to change the chipset on the board without changing its name or model number.