Graphics.GenericTroubleshootingGuide - lordmundi/wikidoctest GitHub Wiki

Generic Troubleshooting Guide

« Improving Framerates | EDGE User’s Guide | Understanding package files »

On this page… (hide)

  1. 1. Rename userdata
  2. 2. Use tcldebug
  3. 3. Run with the “-verbose” option
  4. 4. Make sure permissions are correct
  5. 5. Use the Help dialog to check for plugins
  6. 6. Make sure enough color depth is available
  7. 7. Use a fully featured driver
  8. 8. Make sure you have permissions on the nvidia device
  9. 9. Direct Rendering
  10. 10. System updates
  11. 11. Earth and Moon Map files
  12. 12. Try running “./run_graphics.compat” if it exists
  13. 13. Troubleshoot Seg faults

During setup and customization of EDGE for your sim/facility, you may run into problems or unexpected behavior. Use these general tips to help get at the issue as quickly as possible.

1.  Rename userdata

When running with customization in the userdata directory (see this article about how to use the userdata dir), it is easy to remove all of the customizations to see if that is the source of the problem.

Assuming the $USERDATA is set to $DOUG_HOME/userdata and that ALL of the customizations are contained within the userdata dir, one could:

$ mv userdata userdata.bak
 $ ./run_graphics

That should run the stock release as it was delivered. See if your problem goes away. If it does, it is somewhere within your customizations.

2.  Use tcldebug

The "-tcldebug" command line option can be extremely useful when troubleshooting tcl/tk scripts within EDGE. In fact, anytime tcl scripts are being added, modified, or removed, it is recommended to run with the "-tcldebug" commandline option. The option causes tcl errors which are normally suppressed to be passed on to the user.

$ ./run_graphics -tcldebug

NOTE: If you run the -tcldebug option and get a tcl error in the tree.tcl script, try removing this script from your config file and run again. For some reason this script can be announced even though there are syntax or runtime errors in other scripts. Removing the tree.tcl script should let you see the real error. — frankie May 30, 2007, at 04:43 PM

NOTE: Is there an issue on this? — vetter July 5, 2007

Good point. I just made one. It is Issue 00046. — frankie July 06, 2007, at 11:19 AM

3.  Run with the "-verbose" option

Normally, EDGE output is pretty quiet. Running with "-verbose" can help shine a light on exactly where things are dying, status messages that are important, and give you a good list of output to email to someone for help. Often, if a plugin is dying, running with "-verbose" can show each plugin getting called and then highlight which one was called just before things died.

4.  Make sure permissions are correct

Sometimes faulty permissions on files can make things act funny. Make sure you have read permission on everything and also make sure selinux is turned off!!! Or, if you know what you are doing with selinux, make sure everything is good to go with permissions for the user running EDGE.

5.  Use the Help dialog to check for plugins

When trying to get plugins to load, sometimes it can be hard to tell if they are indeed being loaded. The best way to see what plugins are being used is to click "Help" in the upper right, and then click "About", then "Plugins".

This will list the plugins that are loaded. Some will also state their version or compile date. Green indicates the plugin returned success on initialization while red indicates an initialization failure.

6.  Make sure enough color depth is available

One common cause of EDGE problems is an X configuration that doesn't have a high enough color depth setting. Search your "/etc/X11/xorg.conf" file for the word "Depth" and make sure that the depth is set to at least 24 and not something like 16. (After changing this settings, make sure you either restart X or reboot completely). If this change cannot be done (for example the hardware doesn't support this depth, see the next item for possible workarounds.

7.  Use a fully featured driver

Make sure you are using a driver that supports GLX stuff, such as the proprietary nvidia driver. Then distributed "nv" driver won't cut the mustard. Doublecheck that xorg.conf is using the nvidia driver and not "nv" and reboot. This is usually found on a line labeled "Driver" in /etc/X11/xorg.conf. Be aware that updating stuff or detection by Kudzu can sometimes revert this line back to "nv" even though it was "nvidia" before.

8.  Make sure you have permissions on the nvidia device

Simply check permissions on /dev/nvid* and make sure they are set to rw for ugo (user, group and other)

9.  Direct Rendering

If you are using EDGE >= v1.1, try running "gde.csh" to see the graphic environment.

Make sure that it reports "direct rendering: Yes". If it reports "No", make sure you aren't using a remote display (ssh'd into another machine) and that your NVIDIA driver is installed correctly. You can also try reinstalling/upgrading your NVIDIA driver.

10.  System updates

Sometimes updates from machines (such as yum automatic updates or Redhat's "up2date" utility) can sometimes revert to other graphics drivers or mess around with graphics libraries. If you notice EDGE seg-faulting after an update, try the following:

  • Check to make sure you are still running the nvidia driver and not the open-source driver. You can check this by making sure you are still getting the nvidia splash screen when X starts.

  • Try reinstalling the NVIDIA driver. Some users have reported reinstallation of the same NVIDIA driver version after a system update can fix the problem. To see what NVIDIA driver version you are running:

    cat /proc/driver/nvidia/version

11.  Earth and Moon Map files

We recommend to people that the gisdata stuff be local to the machine running EDGE. One reason is for performance: reading and writing the data to a network mounted filesystem can slow things down. Another is to avoid collisions. If 3 EDGE clients are all running on seperate machines and are pointing to the same set of gisdata, then they will be hammering the network to read the file at the same time.

But the worse part is if they are all writing to it. If you are seg-faulting on startup, it could be because of problems with handling the gisdata. Try the following:

  • Make your gisdata local (such as /dougdata/gisdata). This can solve problems and help performance.
  • Make your gisdata earth.map file read-only. This doesn't need to be writeable unless you are trying to pull in higher-res imagery for specific areas. This can also help performance.

12.  Try running "./run_graphics.compat" if it exists

In some versions of edge, there is a "run_graphics.compat" script which tries to go back to the old method of setting environment variables. This may work for you but should be considered a temporary workaround as we want the newer scripts to work! If this works for you while the normal scripts don't, please write an issue.

13.  Troubleshoot Seg faults

If you are getting a segmentation fault, you might try checking all the items spelled out in this article: DOUG cores/seg faults on startup

« Improving Framerates | EDGE User’s Guide | Understanding package files »