Difference between revisions of "Oolite"

From ArchWiki
Jump to: navigation, search
m (Radeon HD 2xxx and later videocards)
(Radeon HD 2xxx and later videocards)
Line 42: Line 42:
  
 
The current mesa 7.10.2 uses R600g gallium driver for these cards, unfortunately that driver is not very mature yet.
 
The current mesa 7.10.2 uses R600g gallium driver for these cards, unfortunately that driver is not very mature yet.
Oolite crashes on it, unless you disable shaders by setting shader-mode to 1 as described above.
+
Oolite 1.75.2 disables shaders for this driver.
  
The mesa 7.11 git development version however DOES work with oolite.
+
The mesa 7.11 git development version however DOES work fine with oolite & shaders.
the packages from the radeon repo, and mesa-full aur package didn't work for me so i created one myself :
+
  
* [https://aur.archlinux.org/packages.php?ID=47817 mesa-r600g-git]
+
If you wish to use shaders :
 +
 
 +
- Install * [https://aur.archlinux.org/packages.php?ID=47817 mesa-r600g-git]
 +
 
 +
- edit (as root)  /usr/share/oolite.app/Resources/Config/gpu-settings.plist
 +
 
 +
replace SHADERS_OFF (2 times) with SHADERS_FULL in the section shown below
 +
 
 +
"ATI R600/R700 family (X/Gallium3D)" =
 +
{
 +
/*
 +
We have reports of Oolite hanging when using Gallium3D on AMD R600/R700 family GPUs with
 +
shaders enabled. As a stopgap, we forcibly disable shaders on affected systems.
 +
See http://aegidian.org/bb/viewtopic.php?f=9&t=9416
 +
*/
 +
 +
match =
 +
{
 +
vendor = "X\\.Org";
 +
renderer = "Gallium .*(?:AMD|AT[Ii]) R[A-Za-z]?[67]\\d{2}(?!\\d)";
 +
};
 +
maximum_shader_level = "SHADERS_OFF";
 +
default_shader_level = "SHADERS_OFF";
 +
};

Revision as of 21:03, 8 May 2011

Intro

Oolite is a space trading / sim game based on the well-known Elite game from the 80's .

oolite uses shaders extensively, and this doesn't work well with all drivers, especially the gallium oss drivers.

default oolite starts with full shaders, if it hangs on the title screen please follow these 3 steps :


Testing for shader problem

run oolite from terminal with this command :

# LIBGL_ALWAYS_INDIRECT=1 oolite

if oolite works, the problem is with the shaders. In case this doesn't help, you have a different problem. post about this in the aur comments.

Verify which setting works

open ~/GNUstep/Defaults/.GNUstepDefaults in an editor scroll down and to te bottom and look for these lines : <key>shader-mode</key> <integer>3</integer>

try changing the value of this key to 2 and 1 and test if oolite runs normally (WITHOUT LIBGL_ALWAYS_INDIRECT stuff)

Note : the lines with shader-mode key are not always present, but it's safe to add them.

Feedback

for the value of shader-mode that works, please post `/.oolite/Logs/Latest.log on

along with the highest shader-mode value that works for you.

If you don't feel like becoming a member on oolite forum, you can also mail the info to me. (my email is in the PKGBUILD)

This info will be used to determine the correct default shader setting for oolite for your card/driver combination. This will then become part of the oolite graphics configuration data in a later version.

Radeon HD 2xxx and later videocards

The current mesa 7.10.2 uses R600g gallium driver for these cards, unfortunately that driver is not very mature yet. Oolite 1.75.2 disables shaders for this driver.

The mesa 7.11 git development version however DOES work fine with oolite & shaders.

If you wish to use shaders :

- Install * mesa-r600g-git

- edit (as root) /usr/share/oolite.app/Resources/Config/gpu-settings.plist

replace SHADERS_OFF (2 times) with SHADERS_FULL in the section shown below

"ATI R600/R700 family (X/Gallium3D)" = { /* We have reports of Oolite hanging when using Gallium3D on AMD R600/R700 family GPUs with shaders enabled. As a stopgap, we forcibly disable shaders on affected systems. See http://aegidian.org/bb/viewtopic.php?f=9&t=9416 */

match = { vendor = "X\\.Org"; renderer = "Gallium .*(?:AMD|AT[Ii]) R[A-Za-z]?[67]\\d{2}(?!\\d)"; }; maximum_shader_level = "SHADERS_OFF"; default_shader_level = "SHADERS_OFF"; };