[Solved] [LINUX] ATI Radeon 2xxx and higher problems
Moderators: winston, another_commander, Getafix
[Solved] [LINUX] ATI Radeon 2xxx and higher problems
Archlinux now has upgraded mesa to 7.10.1 , and this means the driver for ati R600 cards ( HD 2xxxx and later) is changed from classic mesa to gallium3D.
according to The Direction Of ATI Radeon Graphics In Ubuntu 11.04 on phoronix, Ubunty 11.04 Natty will also use the gallium3d driver in mesa 7.10 r600 cards.
The current state of the gallium driver breaks oolite, it hangs on the logo screen and can only be killed.
By changing shader-mode in gnustep.defaults from 3 to 0 , oolite can start , but is very unstable.
I will continue to look into this, and also try out the mesa 7.11 development version.
according to The Direction Of ATI Radeon Graphics In Ubuntu 11.04 on phoronix, Ubunty 11.04 Natty will also use the gallium3d driver in mesa 7.10 r600 cards.
The current state of the gallium driver breaks oolite, it hangs on the logo screen and can only be killed.
By changing shader-mode in gnustep.defaults from 3 to 0 , oolite can start , but is very unstable.
I will continue to look into this, and also try out the mesa 7.11 development version.
Last edited by Getafix on Sun Aug 19, 2012 10:35 am, edited 2 times in total.
Reason: Tagged as solved.
Reason: Tagged as solved.
OS : Arch Linux 64-bit - rolling release
OXPs : My user page
Retired, reachable at [email protected]
OXPs : My user page
Retired, reachable at [email protected]
Re: Ati Radeon 2xxxx and higher problems coming
I have looked into this deeper (even compiled mesa myself), and have now found 2 solutions .
1. downgrade mesa to the highest version for your distro that still uses the r600 classic driver.
For ubuntu this will likely be the version supplied with 10.10
oolite also runs fine with mesa 7.10 as compiled for archlinux.
2.
start oolite from a terminal with this command :
you will loose all shader functions, but oolite does run stable.
1. downgrade mesa to the highest version for your distro that still uses the r600 classic driver.
For ubuntu this will likely be the version supplied with 10.10
oolite also runs fine with mesa 7.10 as compiled for archlinux.
2.
start oolite from a terminal with this command :
Code: Select all
LIBGL_ALWAYS_INDIRECT=1 oolite
OS : Arch Linux 64-bit - rolling release
OXPs : My user page
Retired, reachable at [email protected]
OXPs : My user page
Retired, reachable at [email protected]
- JensAyton
- Grand Admiral Emeritus
- Posts: 6657
- Joined: Sat Apr 02, 2005 2:43 pm
- Location: Sweden
- Contact:
Re: Ati Radeon 2xxxx and higher problems coming
This is a long shot, but:Lone_Wolf wrote:By changing shader-mode in gnustep.defaults from 3 to 0 , oolite can start , but is very unstable.
- Try setting it to 1 (SHADERS_OFF) instead of 0 (SHADERS_NOT_SUPPORTED).
- Try adding an entry to gpu-config.plist with
maximum_shader_level = SHADERS_OFF;
.
E-mail: [email protected]
Re: Ati Radeon 2xxxx and higher problems coming
changing shader-mode to 1 in .GNUstepDefaults makes oolite run fine .
with shader-mode 2 and 3 oolite hangs on the icon screen, taking full cpu of 1 core.
adding the section below to gpu-settings.plist makes oolite run stable without shaders regardless of shader-mode value in .GNUstepDefaults
Note : AMD RV770 is the chipset used in my videocard, a HD 4890 .
top of log file :
with shader-mode 2 and 3 oolite hangs on the icon screen, taking full cpu of 1 core.
adding the section below to gpu-settings.plist makes oolite run stable without shaders regardless of shader-mode value in .GNUstepDefaults
Note : AMD RV770 is the chipset used in my videocard, a HD 4890 .
Code: Select all
"ATI R600 family (X/Gallium3D)" =
{
match =
{
vendor = "X.Org";
renderer = "Gallium .* on AMD RV770";
};
maximum_shader_level = "SHADERS_OFF";
default_shader_level = "SHADERS_OFF";
};
Code: Select all
14:55:26.681 [log.header]: Opening log for Oolite version 1.75.1 (x86-64 test release) under Linux at 2011-03-15 14:55:26 +0100.
8 processors detected.
Build options: spoken messages, mass/fuel pricing, JavaScript console support, OXP verifier, localization tools, debug GraphViz support, JavaScript profiling.
Note that the contents of the log file can be adjusted by editing logcontrol.plist.
14:55:26.791 [display.mode.list.native]: X11 native resolution detected: 1920 x 1200
14:55:26.892 [joystick.init]: Number of joysticks detected: 1
14:55:26.933 [dataCache.notFound]: No data cache found, starting from scratch.
14:55:26.935 [searchPaths.dumpAll]: Unrestricted mode - resource paths:
/usr/share/oolite.app/Resources
~/.Oolite/AddOns
~/.Oolite/AddOns/Target Autolock Plus 1.12.oxp
~/.Oolite/AddOns/Welcome Mat 1.11.oxp
~/.Oolite/AddOns/Famous_Planets_v2.5.oxp
~/.Oolite/AddOns/wolfwoods_variants.oxp
~/.Oolite/AddOns/RepairBots 2.01.oxp
~/.Oolite/AddOns/MilHUD-v3.4.oxp
~/.Oolite/AddOns/x-ships.oxp
~/.Oolite/AddOns/werewolf.oxp
~/.Oolite/AddOns/IronHide 2.00.oxp
~/.Oolite/AddOns/tiger.oxp
~/.Oolite/AddOns/Fuel Tank v2.2.oxp
~/.Oolite/AddOns/Python Class Cruiser 2.6.oxp
~/.Oolite/AddOns/accessories.oxp
~/.Oolite/AddOns/The Feudal States v1.9.5.oxp
~/.Oolite/AddOns/PlanetFall 1.41.oxp
~/.Oolite/AddOns/RandomHits1.4.8.oxp
~/.Oolite/AddOns/supercobra 1.4.2.oxp
~/.Oolite/AddOns/BGS-A1.3.2.oxp
~/.Oolite/AddOns/impcourier2.oxp
~/.Oolite/AddOns/griff_shipset_dizzy's_all_in_1.oxp
14:55:26.936 [rendering.opengl.version]: OpenGL renderer version: 2.1.0 ("2.1 Mesa 7.10.1"). Vendor: "X.Org". Renderer: "Gallium 0.4 on AMD RV770".
14:55:26.936 [rendering.opengl.extensions]: OpenGL extensions (117):
GL_EXT_abgr, GL_ARB_texture_env_crossbar, GL_EXT_texture, GL_ARB_shadow, GL_IBM_texture_mirrored_repeat, GL_EXT_texture_edge_clamp, GL_EXT_separate_specular_color, GL_EXT_blend_minmax, GL_EXT_texture_object, GL_EXT_draw_buffers2, GL_ARB_texture_env_add, GL_INGR_blend_func_separate, GL_NV_texture_env_combine4, GL_EXT_texture_cube_map, GL_EXT_blend_logic_op, GL_ARB_draw_elements_base_vertex, GL_EXT_texture_env_dot3, GL_IBM_rasterpos_clip, GL_EXT_framebuffer_blit, GL_ARB_texture_env_dot3, GL_NV_light_max_exponent, GL_EXT_framebuffer_object, GL_EXT_blend_subtract, GL_EXT_copy_texture, GL_EXT_separate_shader_objects, GL_MESA_window_pos, GL_ATI_texture_mirror_once, GL_ARB_vertex_array_bgra, GL_ARB_multitexture, GL_EXT_stencil_wrap, GL_ARB_texture_border_clamp, GL_NV_depth_clamp, GL_ARB_texture_env_combine, GL_EXT_framebuffer_multisample, GL_SGIS_texture_edge_clamp, GL_EXT_texture_env_add, GL_EXT_packed_pixels, GL_ARB_depth_clamp, GL_SGIS_texture_lod, GL_ARB_depth_texture, GL_ARB_transpose_matrix, GL_ARB_occlusion_query, GL_NV_texgen_reflection, GL_NV_packed_depth_stencil, GL_EXT_stencil_two_side, GL_ARB_shading_language_100, GL_ARB_fragment_program_shadow, GL_OES_EGL_image, GL_EXT_rescale_normal, GL_EXT_gpu_program_parameters, GL_ARB_map_buffer_range, GL_ARB_provoking_vertex, GL_ARB_pixel_buffer_object, GL_ARB_explicit_attrib_location, GL_EXT_secondary_color, GL_SUN_multi_draw_arrays, GL_OES_read_format, GL_ARB_texture_mirrored_repeat, GL_ARB_copy_buffer, GL_EXT_vertex_array_bgra, GL_EXT_polygon_offset, GL_EXT_draw_range_elements, GL_EXT_blend_equation_separate, GL_EXT_texture_lod_bias, GL_EXT_texture_filter_anisotropic, GL_ARB_half_float_vertex, GL_EXT_texture_swizzle, GL_SGIS_texture_border_clamp, GL_SGIS_generate_mipmap, GL_NV_texture_rectangle, GL_ARB_texture_rectangle, GL_ARB_texture_non_power_of_two, GL_ARB_point_sprite, GL_ARB_texture_swizzle, GL_EXT_packed_depth_stencil, GL_ARB_vertex_shader, GL_ARB_vertex_buffer_object, GL_ARB_shader_objects, GL_EXT_texture_mirror_clamp, GL_EXT_provoking_vertex, GL_IBM_multimode_draw_arrays, GL_ARB_shader_stencil_export, GL_ATI_separate_stencil, GL_ARB_framebuffer_object, GL_EXT_texture_rectangle, GL_ARB_texture_rg, GL_ARB_fragment_shader, GL_EXT_texture3D, GL_EXT_fog_coord, GL_EXT_subtexture, GL_ARB_window_pos, GL_EXT_point_parameters, GL_ARB_fragment_program, GL_EXT_texture_env_combine, GL_ARB_vertex_program, GL_EXT_compiled_vertex_array, GL_EXT_bgra, GL_ARB_texture_cube_map, GL_ARB_point_parameters, GL_EXT_vertex_array, GL_ARB_multisample, GL_ARB_vertex_array_object, GL_ARB_draw_buffers, GL_EXT_multi_draw_arrays, GL_ARB_texture_compression, GL_APPLE_vertex_array_object, GL_ARB_fragment_coord_conventions, GL_ATI_texture_env_combine3, GL_APPLE_packed_pixels, GL_EXT_blend_func_separate, GL_MESA_pack_invert, GL_EXT_texture_sRGB, GL_EXT_shadow_funcs, GL_ATI_blend_equation_separate, GL_EXT_blend_color, GL_NV_blend_square, GL_EXT_pixel_buffer_object
14:55:26.943 [script.javaScript.willLoad]: About to load JavaScript /usr/share/oolite.app/Resources/Scripts/oolite-global-prefix.js
14:55:26.943 [script.javaScript.load.success]: Loaded JavaScript: oolite-global-prefix 1.75.1 -- (no description)
14:55:26.944 [rendering.opengl.gpuSpecific]: Matched GPU configuration "ATI R600 family (X/Gallium3D)".
14:55:26.944 [rendering.opengl.shader.support]: Shaders will not be used (disallowed for GPU type "Gallium 0.4 on AMD RV770").
OS : Arch Linux 64-bit - rolling release
OXPs : My user page
Retired, reachable at [email protected]
OXPs : My user page
Retired, reachable at [email protected]
- JensAyton
- Grand Admiral Emeritus
- Posts: 6657
- Joined: Sat Apr 02, 2005 2:43 pm
- Location: Sweden
- Contact:
Re: Ati Radeon 2xxxx and higher problems coming
I’ve checked in a corresponding gpu-config fix for now.
E-mail: [email protected]
Re: Ati Radeon 2xxxx and higher problems coming
At first i thought the problems were due to the gallium 0.4 driver lacking features the classic driver did have, but a search for similar problems with other OpenGL applications was unsuccesfull.
I then compared the glxinfo output for both drivers, and found the gallium driver does support GLSL 1.2, and even has more OpenGL extensions then the classic driver.
so i did some more testing, using oolite 1.75.1 without any references to r600 gallium in gpu-settings.plist .
I tested with and without oxps, fullscreen and in window.
Once oolite had started, i choose NOT to load a commander, F2 > game options and tried to change the shader from none to simple.
In 1 case i got additional info in latest.log :
Are there logcontrol.plist options i should enable to get more info ?
I then compared the glxinfo output for both drivers, and found the gallium driver does support GLSL 1.2, and even has more OpenGL extensions then the classic driver.
so i did some more testing, using oolite 1.75.1 without any references to r600 gallium in gpu-settings.plist .
I tested with and without oxps, fullscreen and in window.
Once oolite had started, i choose NOT to load a commander, F2 > game options and tried to change the shader from none to simple.
In 1 case i got additional info in latest.log :
Code: Select all
13:56:41.403 [rendering.opengl.shader.support]: Shaders are supported.
13:56:41.445 [shader.compile.failure]: ***** ERROR: GLSL vertex shader compilation failed for dbshaderv.vertex:
>>>>> GLSL log:
0:8(9): preprocessor error: Redefinition of macro OO_TANGENT_ATTR
13:56:41.445 [shader.load.failed]: ***** ERROR: Could not build shader dbshaderv.vertex/dbshaderf.fragment.
OS : Arch Linux 64-bit - rolling release
OXPs : My user page
Retired, reachable at [email protected]
OXPs : My user page
Retired, reachable at [email protected]
- JensAyton
- Grand Admiral Emeritus
- Posts: 6657
- Joined: Sat Apr 02, 2005 2:43 pm
- Location: Sweden
- Contact:
Re: Ati Radeon 2xxxx and higher problems coming
No; the shader log you see there is what there is. (It’s provided by the GL driver, so we don’t have much control over it.)Lone_Wolf wrote:Are there logcontrol.plist options i should enable to get more info ?
However, in this case it’s pretty clear: dbshaderv.vertex is defining
OO_TANGENT_ATTR
, which it has no business doing – it’s defined by Oolite to indicate a certain feature exists, and shaders should at most be checking it, although they really shouldn’t do that either as it’s always true since test release 1.72 or some such.The offending line will look something like:
Code: Select all
#define OO_TANGENT_ATTR 1
E-mail: [email protected]
Re: Ati Radeon 2xxxx and higher problems coming
Code: Select all
#define OO_TANGENT_ATTR 1 // <---- Define OO_TANGENT_ATTR to 1 so that Oolite gives correct tangent data to shader.
I'll keep looking.
OS : Arch Linux 64-bit - rolling release
OXPs : My user page
Retired, reachable at [email protected]
OXPs : My user page
Retired, reachable at [email protected]
- Mauiby de Fug
- ---- E L I T E ----
- Posts: 847
- Joined: Tue Sep 07, 2010 2:23 pm
Re: Ati Radeon 2xxxx and higher problems coming
I think that's there in all of Killer Wolf's oxps... I safely delete that line and they run without any trouble. Looking at the oxp list earlier the only one of his you seem to have is werewolf.oxp, so that specific error message shouldn't pop up again.Lone_Wolf wrote:found in werewolf.oxp , that explains why i didn't get it in tests without oxps.Code: Select all
#define OO_TANGENT_ATTR 1 // <---- Define OO_TANGENT_ATTR to 1 so that Oolite gives correct tangent data to shader.
I'll keep looking.
Re: Ati Radeon 2xxxx and higher problems coming
I had some spare time and looked into building the gallium driver myself again, with success .
By building mesa from git and installing the latest version of libdrm , oolite now works with full shaders and the gallium r600 driver.
It does look like the earlier problems were caused by the gallium driver, not by oolite.
i've run material test suite oxp 1.1 (had to remove the max version from requires.plist) and all but 4 tests were as threy should be .
In those 4 tests the circle / number was not present on all surfaces.
simple 13 , diffuse_map + specular_map
simple 14, specular_map only
full 13 , diffuse_map + specular_map
full 14, specular_map only
In a short trip from station to witchpoint and back , including a combat with 2 pirates i did not notice anything weird though.
Build details :
libdrm version 2.4.24 (latest version) is needed
mesa git version 20110330
mesa configure flags (these are the same as used in the official mesa pacakge for my distro):
By building mesa from git and installing the latest version of libdrm , oolite now works with full shaders and the gallium r600 driver.
It does look like the earlier problems were caused by the gallium driver, not by oolite.
i've run material test suite oxp 1.1 (had to remove the max version from requires.plist) and all but 4 tests were as threy should be .
In those 4 tests the circle / number was not present on all surfaces.
simple 13 , diffuse_map + specular_map
simple 14, specular_map only
full 13 , diffuse_map + specular_map
full 14, specular_map only
In a short trip from station to witchpoint and back , including a combat with 2 pirates i did not notice anything weird though.
Code: Select all
15:06:17.245 [rendering.opengl.version]: OpenGL renderer version: 2.1.0 ("2.1 Mesa 7.11-devel"). Vendor: "X.Org". Renderer: "Gallium 0.4 on AMD RV770".
libdrm version 2.4.24 (latest version) is needed
mesa git version 20110330
mesa configure flags (these are the same as used in the official mesa pacakge for my distro):
Code: Select all
./autogen.sh --prefix=/usr \
--with-dri-driverdir=/usr/lib/xorg/modules/dri \
--enable-gallium-radeon \
--enable-gallium-r600 \
--enable-gallium-nouveau \
--enable-gallium-swrast \
--enable-glx-tls \
--with-driver=dri \
--enable-xcb \
--with-state-trackers=dri,glx \
--disable-glut \
--enable-gles1 \
--enable-gles2 \
--enable-egl \
--disable-gallium-egl
OS : Arch Linux 64-bit - rolling release
OXPs : My user page
Retired, reachable at [email protected]
OXPs : My user page
Retired, reachable at [email protected]
- JensAyton
- Grand Admiral Emeritus
- Posts: 6657
- Joined: Sat Apr 02, 2005 2:43 pm
- Location: Sweden
- Contact:
Re: Ati Radeon 2xxxx and higher problems coming
In those tests, the numbers are only visible at certain lighting angles. Please check against the reference renderings.Lone_Wolf wrote:i've run material test suite oxp 1.1 (had to remove the max version from requires.plist) and all but 4 tests were as threy should be .
In those 4 tests the circle / number was not present on all surfaces.
simple 13 , diffuse_map + specular_map
simple 14, specular_map only
full 13 , diffuse_map + specular_map
full 14, specular_map only
I take it we can remove the gpu-settings.plist entry, at least until 11.04 comes out?
E-mail: [email protected]
Re: Ati Radeon 2xxxx and higher problems coming
The tests views are indeed similar to the reference renderings.
For the gpu-settings.plist entry i see some possible solutions :
- include a version check of the driver like 'Mesa > 7.10.1'
shaders full True, disabled if False
- start oolite without shaders , but allow user to change to simple / full
If neither is possible removing the entry seems simplest.
I also made a oolite page in the archlinux wiki to describe these problems.
Edit :
when starting oollite from commandline i see this error :
EE r600_pipe.c:429 r600_get_param - r600: unknown param 45
(oolite 1.75.1 )
For the gpu-settings.plist entry i see some possible solutions :
- include a version check of the driver like 'Mesa > 7.10.1'
shaders full True, disabled if False
- start oolite without shaders , but allow user to change to simple / full
If neither is possible removing the entry seems simplest.
I also made a oolite page in the archlinux wiki to describe these problems.
Edit :
when starting oollite from commandline i see this error :
EE r600_pipe.c:429 r600_get_param - r600: unknown param 45
(oolite 1.75.1 )
OS : Arch Linux 64-bit - rolling release
OXPs : My user page
Retired, reachable at [email protected]
OXPs : My user page
Retired, reachable at [email protected]
Re: Ati Radeon 2xxxx and higher problems coming
from https://bugs.freedesktop.org/show_bug.cgi?id=35434Lone_Wolf wrote:when starting oollite from commandline i see this error :
EE r600_pipe.c:429 r600_get_param - r600: unknown param 45
Looking at src/gallium/drivers/r600/r600_pipe.c though, it looks like
r600_get_param() is not handling PIPE_CAP_FRAGMENT_COLOR_CLAMP_CONTROL which
has been mapped to '45'
Unless oolite uses PIPE_CAP_FRAGMENT_COLOR_CLAMP_CONTROL, it looks like this error can be ignored.
As mesa has released 7.10.2 , i tested with that version but it has the same problems as 7.10.1 .
OS : Arch Linux 64-bit - rolling release
OXPs : My user page
Retired, reachable at [email protected]
OXPs : My user page
Retired, reachable at [email protected]
Re: [LINUX] ATI Radeon 2xxx and higher problems
I've tested with the 2 most recent stable mesa builds and oolite 1.76 now runs fine with full shaders in both.
Versions tested : 7.11.2 & 8.0.2
I think we can safely remove the gpu-config fix and even set full shaders as default for the R600 gallium driver.
Versions tested : 7.11.2 & 8.0.2
I think we can safely remove the gpu-config fix and even set full shaders as default for the R600 gallium driver.
OS : Arch Linux 64-bit - rolling release
OXPs : My user page
Retired, reachable at [email protected]
OXPs : My user page
Retired, reachable at [email protected]