Graphics drivers configuration: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(done, I think)
 
(No difference)

Revision as of 19:31, 17 May 2014

Graphics drivers configuration will guide you into installing or updating the drivers for your graphics card, so that they can provide OpenGL support for FlightGear and be fully exploited. Currently FlightGear requires OpenGL 1.2, but more likely 2.0, and recommends 2.1 or above.

The absence of OpenGL support (by the card or the drivers) is often the cause of pathologically low framerate (i.e. less than 1-2 FPS.)

Microsoft Windows

The following procedure, albeit being a bit long, avoids possible problems arising from the driver installation itself. If installed properly, the video driver itself can be ruled out as a culprit for visual anomalies in FlightGear on Windows. This general procedure applies for both NVidia and ATI video cards.

Windows Vista/7/8

Prerequisites:

  • Download a suitable driver for your video card. Use the "Find Driver" or "Autodetect" or manual search tools on the homepages to find a driver compatible with your operating system and video card.
  • Close all running programs
  • Make sure that you've got sufficient administrative rights by disabling User Account Control or opening system-related controls with administrative privileges
  • Download Driver Sweeper (freeware) or a tool with similar functionality. This one is optional of course, so apply at your own risk.

The procedure:

  1. Uninstall your current drivers
    • Either: "Control Panel" -> "Programs and Features" -> [Entry for your driver]
    • Or: "System" -> "Device Manager" -> "Display Adapters" -> Right-click your video card's entry -> "Uninstall" (check "Delete Driver Software"!)
  2. Reboot (you should be asked to do this anyway)
  3. Windows will automatically revert to its default drivers. Let the installation proceed.
  4. Reboot (Windows should ask you to)
  5. Run Driver Sweeper (with administrative privileges)
    • Check your driver provider (ATI or NVidia+PhysX), click "Analyze"
    • Driver Sweeper should list a lot of files not covered by the driver's uninstaller
    • Click "Clean"
    • Wait for Driver Sweeper to finish
  6. Reboot (Driver Sweeper will ask you to)
    • You can run Driver Sweeper again if you want to make sure you got everything
  7. Install the new drivers for your video card
  8. Reboot (The installer should ask you to)
  9. Set up the drivers (Anti-Aliasing, overclocking, etc...)
    • If you want to, reboot again
  10. You're done

Windows 2000/XP

  1. Uninstall your current drivers
    • "Control Panel" -> Software -> [Entry for your driver]
  2. Reboot into Safe Mode (Hit F8 when Windows starts loading and select "Safe Mode")
    • Chances are that your screen resolution will be very low! You can try increasing it by: [Right click on desktop] -> "Properties" -> Drag the "Screen resolution" slider -> "Apply"
  3. See step 5 above (you won't need any privileges though)
  4. Reboot into Windows normally
    • Again, screen resolution may be very low, increse it if necessary
  5. See steps 7 to 10 above

Legacy procedure for old NVidia cards

You'll find information suitable for very old (10 years) cards at this forum post.

Linux and other *nix systems

Nvidia and ATI cards are all pretty well supported by the PC Unixen. Depending on your video card, your distribution, and your sys-admin experience, getting accelerated drivers running can be more or less of a challenge. However, most recent distributions have even proprietary drivers in their repositories, even Debian, so it should not be much of a problem. (It was a lot different before Xorg...)

A note on free drivers

When using free and open source drivers, support is generally better with AMD graphics cards than with nVidia products, because of differences in the manufacturers' policies towards providing documentation for their hardware. As progress on the free drivers has been significant in recent months, try to stay as up to date as possible to get the best results. That means use most recent distribution versions instead of long term supported ones.

Caveat

  • See Problematic video cards.
  • Some video cards only support Direct3D, which is not compatible with FlightGear.
  • Some 3D cards can't function if you set the display resolution too large or the pixel depth to something that card won't support. Some OpenGL drivers silently drop back to software-only rendering under those circumstances.

What's this OpenGL? Why do I need its support?

Cquote1.png OpenGL (Open Graphics Library) is a cross-language, multi-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.
OpenGL from en.wikipedia.org
Cquote2.png

Using computers to dDraw 3D graphics generally includes several steps:

  1. Per-frame operations - like reading the mouse, doing flight dynamics
  2. Per-object operations - like coarse culling, level-of-detail
  3. Per-polygon or per-vertex operations - like rotate/translate/clip/illuminate
  4. Per-pixel operations - like shading, texturing, Z-buffering, alpha-blend

The amount of work required to perform each step increases one or two orders of magnitude at each step. A million pixels may need to be drawn every frame, so using a 3d video card for step (4) is vital.

  • On a machine without 3D hardware, the main CPU has to do everything.
  • On a PC with a basic 3D video card, the CPU does steps (1)(2)(3) and the video card does step (4).
  • On a PC with a newer 3D video card, the CPU does steps (1)(2) and the video card does steps (3)(4).
  • A card like the nVidia GeForce which can do steps (3)(4) provides great performance benefits on a slow-ish PC.

Newer 3D video cards for the PC, such as the nVidia GeForce or ATI use dedicated hardware to perform steps (3) and (4). Upgrading an older PC with a newer video card, compatible with OpenGL 2.0, will dramatically improve FlightGear performance. Even putting a cheaper basic 3D video card onto an older PC will improve performance, because the per-pixel operations are handled by the video card, so the frame rate speeds up.