navigation, content, portlets

3D Graphics How-To

The information in this article is specific to Ultima Linux 8.2 and newer releases, and may not be valid for other versions.

This is a quick guide to setting up 3D graphics cards on Linux. You will need to have the appropriate video driver (fglrx, nvidia, i810, etc.) installed on your system – these are all included by default on the LiveCD. You will also need the appropriate driver configured – this should also be handled by default.

NOTE: Depending on your system you may not need to do anything further to configure your 3D graphics card. To test if 3D graphics are working, the fastest way is to right-click the desktop, choose "Configure Desktop → Screensaver", and try one of the OpenGL ones such as Euphoria. If everything runs smoothly, you should be good to go!

Contents

General information

If you do not see a graphical login screen after starting Ultima Linux, you will likely need to manually configure your graphics card. The same is generally true if the resolution and/or monitor refresh rate are not correctly set up. If you are running Ultima Linux 8.2a or newer, reboot with the linux xorgmaker cheatcode; otherwise:

  1. Press Ctrl-Alt-F6 and log in as root. By default there is no password.
  2. Run xorgmaker to configure your graphics card through an easy menu-based interface.
  3. Run telinit 3 ; telinit 4 ; clear ; logout to restart the X server.

The auto-detection script only runs once, so if you change the settings like this they should stay for future boots.

Any commands formatted like this should be run from a terminal such as Eterm: Go to K Menu → System → Eterm. It should be safe to "X" out of Eterm after you are finished.

After each step you should test the instructions given by running (i.e.) one of the 3D screensavers – it may not be a bad idea to leave the screensaver config window open while running the commands.

Hardware-specific

ATI proprietary driver (fglrx)

Documentation and newer driver releases are available here for x86 and AMD64 editions. Only Radeon 8500 and newer cards are supported – older cards should use the open-source radeon driver. Information contributed and tested by Martin Ultima.

  1. Before anything else, try this command: su -c '(cd / ; sh var/log/scripts/fglrx-*)'
  2. If that doesn't work, try running this one: chmod 666 /dev/dri/card*
  3. Still not working? Remove the NVIDIA drivers (removepkg nvidia) and try step 1 again.
  4. If none of that works, try re-installing the mesa and fglrx packages (in that order) from the Ultima installation discs.

NVIDIA proprietary driver (nvidia)

Ultima Linux 8.2b and newer users, please note: The nvidia proprietary driver is no longer included in newer Ultima Linux releases due to technical incompatibilities. Users of NVIDIA graphics cards are encouraged to download and install the appropriate driver manually from the NVIDIA homepage.

Documentation and newer driver releases are available here for x86 and AMD64 editions. Ultima Linux uses the "legacy" version for 7100–9600 series cards such as GeForce4, which are the most widely-used. Users of older graphics adapters (or newer ones) will need to use the open-source nv driver or manually install the appropriate version from the NVIDIA site.

The NVIDIA drivers are programmed differently than the ATI or open-source ones – specifically they don't use DRI – so some commands may be different.

  1. Before anything else, try this command: su -c '(cd / ; sh var/log/scripts/nvidia-*)'
  2. Still not working? Remove the ATI drivers (removepkg fglrx) and try step 1 again.
  3. If none of that works, try re-installing the mesa and nvidia packages (in that order) from the Ultima installation discs.

Intel (i810) and most open-source drivers

Documentation is included in UNIX man page format – run man i810, for example, accesses the manual for the Intel drivers. This information also applies to the radeon/r128 drivers (ATI open-source), and possibly others. Information contributed and tested by Martin Ultima.

Not all cards are capable of accelerated 3D graphics using the open-source drivers – most off-brand integrated graphics are not supported, nor are a large number of older video cards. If you have an ATI/NVIDIA card and it is supported by the proprietary drivers, you should probably use those for the best results.

  1. Before anything else, try this command: su -c '(cd / ; sh var/log/scripts/mesa-*)'
  2. If that doesn't work, try running this one: chmod 666 /dev/dri/card*
  3. Still not working? Remove the ATI and NVIDIA drivers (removepkg fglrx nvidia) and try step 1 again.
  4. If none of that works, try re-installing the mesa package from the Ultima installation discs.

Technical notes

You're probably wondering what all this is about anyway. To make a long story short, there are three types of video drivers – ATI proprietary, NVIDIA proprietary, and open-source – and each of them includes its own version of the 3D graphics library. Not only that, but each unique version is completely incompatible with that of the two others. To further complicate things, NVIDIA distributes three entirely incompatible versions of their own driver... and all of this is per platform (we have to deal with this separately on x86 and AMD64, in other words). Therefore it can be slightly difficult to distribute all three kinds of drivers on the same disc as we do, so a workaround here and there is sometimes necessary...

Some other open-source projects distribute separate editions, one of which contains NVIDIA drivers and the other of which has standard open-source ones, but this is a very impractical approach because (1) most of it is a duplication of code, and (2) you need two different CDs if only one of your machines has an NVIDIA card – and it does nothing to help ATI users. We are working to make this situation better for our users, and we hope you can forgive us if there are a few small "quick-fixes" like this one in the meantime...

Most of the code shown above is to ensure the correct version of the graphics libraries is installed. The chmod 666 /dev/dri/card* command does not directly affect the libraries, but rather lets regular user accounts directly access the video hardware (ideally this is the default setting, but the workaround is necessary on some Intel chips in particular).

While most Linux users favor NVIDIA, the Ultima Linux developers use and recommend ATI graphics adapters: Not only is the installer considerably easier to use, but ATI doesn't have three different (and entirely incompatible) versions of their own code.