home home

downloads files

forum forum

docs docs

wiki wiki

faq faq

Cube & Cube 2 FORUM


Sauerbraten and radeon open source r300 driver

by oibaf on 09/12/2008 15:08, 13 messages, last message: 11/29/2008 17:45, 2332 views, last view: 04/28/2024 23:45

Hi,
I want to report a problem, hope this is the right place.

When running Sauerbraten (2008_06_20 but also previous versions) on an ATI Radeon R300 -> R500 cards (e.g. cards supported by the mesa 7.1 r300 driver) the flag -f0 to disable shaders is needed to run it, else a black screen is shown and I have to reboot my PC. See also:
http://wiki.x.org/wiki/RadeonProgram

I am not sure if this is a problem of the driver or sauerbraten, but, if the latter, would be nice if sauerbraten can detect the absence of the shaders in current driver and defaults to -f0 (as it does with occlusion query and other features).

Thanks

   Board Index   

#1: ..

by oibaf on 09/12/2008 15:13

Some other info:

I have a Radeon RV530 card and mesa 7.1. This is the console output:

$ sauerbraten
Using home directory: /home/zorro/.sauerbraten
init: sdl
init: enet
init: video: mode
init: video: misc
init: gl
Renderer: Mesa DRI R300 20060815 x86/MMX/SSE2 TCL (DRI R300 Project)
Driver: 1.3 Mesa 7.1
WARNING: No framebuffer object support. (reflective water may be slow)
WARNING: No occlusion query support! (large maps may be SLOW)
WARNING: Non-power-of-two textures not supported!
Rendering using the OpenGL 1.5 fixed-function path.
init: console
init: gl: effects
init: world
init: sound
init: cfg
init: localconnect
init: mainloop
read map packages/base/metl4.ogz (0.1 seconds)
Mining Station by metlslime
game mode is ffa/default

reply to this message

#2: Re: ..

by SheeEttin on 09/12/2008 21:05, refers to #1

You're using software rendering.
Install the fglrx drivers and everything will be happy.
I (of course) recommend my installer script ( http://pastie.org/pastes/264868 ), assuming you're on Ubuntu (or a derivative). It will probably work on Debian (or other Debian-based distros) with some tweaking.

reply to this message

#3: ..

by oibaf on 09/30/2008 16:57

No, I am not using software rendering. I am indeed using the official open source R300 ATI driver (tried mesa 7.1 and 7.2) (and, no, I won't use fglrx):
Renderer: Mesa DRI R300 20060815 x86/MMX/SSE2 TCL (DRI R300 Project)
Driver: 1.3 Mesa 7.1

What "driver crap" are you referring to? The driver works perfectly, the only problem is the need of the -f0 option on first run.

reply to this message

#4: Re: ..

by SheeEttin on 10/01/2008 04:23, refers to #3

Sorry, I keep forgetting radeon has harware 3D now. :P

Anyway, the DRI on the radeon driver is still rather preliminary... While it certainly will work, you aren't going to get all kinds of kewl stuff.

You can try things like glxgears, glxinfo, etc. to see if everything's working there.
If possible, switch to a terminal (Ctrl+Alt+F1), log in, and check /var/log/Xorg.0.log or other pertinent logs. (Maybe redirect Sauer's output?)

You might try the radeonhd driver, also... I have a RV530 as well, and last time I checked, it worked. (Waiting on Kubuntu Intrepid beta and the new X server before I can try it again.)

Oh, and you're using the magic SysRq key to reboot, right?
http://en.wikipedia.org/wiki/Magic_SysRq_key

reply to this message

#5: ..

by oibaf on 10/03/2008 13:40

Hi,
3D for R500 cards is quite stable now, although not all features (i.e. OpenGL 2.1 compliance) are implemented. If you want to try it on Ubuntu 8.04 you can follow my guide on Phoronix forum (remove fglrx first):
http://www.phoronix.com/forums/showthread.php?t=9951

It's also active by default in 8.10 (now in beta). Note however that the "radeonhd" driver is not fully operational, you should use the "radeon" (AKA "ati") driver instead (all the details are in my guide).

That being said, the problem here is that Sauerbraten does not detect that the driver does not support the shaders and wrongly activate them by default. That's the only problem I have with Sauerbraten. Forcing the -f0 option make Sauerbraten work perfectly. This is a bug of Sauerbraten.

reply to this message

#6: Re: ..

by a~baby~rabbit on 10/03/2008 14:09, refers to #5

"Sauerbraten does not detect that the driver does not support the shaders" - hmm, how about running something like glxinfo so we can see what extensions it claims to support...

reply to this message

#7: Re: ..

by a~baby~rabbit on 10/03/2008 14:20, refers to #6

actually, following your links to http://wiki.x.org/wiki/RadeonFeature and it says fragment shaders are *mostly* done for r500 series... where they define that as "known to contain bugs"

reply to this message

#8: ..

by oibaf on 10/03/2008 14:49

Hi, thanks for your response. Attached below there is the output of glxinfo:

name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method,
GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_hyperpipe,
GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig, GLX_MESA_copy_sub_buffer
client glx vendor string: SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory,
GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control,
GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
GLX version: 1.2
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_swap_control,
GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_SGI_make_current_read,
GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig
OpenGL vendor string: DRI R300 Project
OpenGL renderer string: Mesa DRI R300 20060815 x86/MMX/SSE2 TCL
OpenGL version string: 1.3 Mesa 7.2
OpenGL extensions:
GL_ARB_depth_texture, GL_ARB_fragment_program, GL_ARB_imaging,
GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_point_parameters,
GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_texture_border_clamp,
GL_ARB_texture_compression, GL_ARB_texture_cube_map,
GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
GL_MESAX_texture_float, GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_rectangle, GL_ARB_transpose_matrix,
GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_window_pos,
GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
GL_EXT_clip_volume_hint, GL_EXT_compiled_vertex_array, GL_EXT_convolution,
GL_EXT_copy_texture, GL_EXT_draw_range_elements,
GL_EXT_gpu_program_parameters, GL_EXT_histogram, GL_EXT_multi_draw_arrays,
GL_EXT_packed_pixels, GL_EXT_point_parameters, GL_EXT_polygon_offset,
GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_separate_specular_color, GL_EXT_shadow_funcs,
GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture,
GL_EXT_texture, GL_EXT_texture3D, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp,
GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array,
GL_APPLE_packed_pixels, GL_ATI_blend_equation_separate,
GL_ATI_texture_env_combine3, GL_ATI_texture_mirror_once,
GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat,
GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture,
GL_MESA_window_pos, GL_NV_blend_square, GL_NV_light_max_exponent,
GL_NV_texture_rectangle, GL_NV_texgen_reflection, GL_NV_vertex_program,
GL_OES_read_format, GL_SGI_color_matrix, GL_SGI_color_table,
GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,
GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SGIX_depth_texture,
GL_SGIX_shadow_ambient, GL_SUN_multi_draw_arrays

16 GLX Visuals
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x23 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x24 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x25 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x26 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x27 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x28 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x29 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x2a 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x2b 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x2c 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x2d 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x2e 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x2f 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x30 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x31 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x32 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow

16 GLXFBConfigs:
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x23 0 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x24 0 tc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x25 0 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x26 0 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x27 0 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x28 0 tc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x29 0 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x2a 0 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x2b 0 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x2c 0 dc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x2d 0 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x2e 0 dc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow
0x2f 0 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x30 0 dc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 0 0 None
0x31 0 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x32 0 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 0 0 Slow

reply to this message

#9: ..

by oibaf on 10/03/2008 15:15

Note also the debug info I get after running sauerbraten for the first time without -f0:

I noticed this line:
COMPILE ERROR (PS:underwater) - 1017: 'fogcoord': invalid fragment property

I am pretty sure fog is not supported in current driver (fog it's an OpenGL 1.4 feature? Current driver is 1.3 only).

$ sauerbraten -t
Using home directory: /home/fabio/.sauerbraten
init: sdl
init: enet
init: video: mode
init: video: misc
init: gl
Renderer: Mesa DRI R300 20060815 x86/MMX/SSE2 TCL (DRI R300 Project)
Driver: 1.3 Mesa 7.2
WARNING: No framebuffer object support. (reflective water may be slow)
WARNING: No occlusion query support! (large maps may be SLOW)
WARNING: Non-power-of-two textures not supported!
Rendering using the OpenGL 1.5 assembly shader path.
init: console
init: gl: effects
COMPILE ERROR (PS:underwater) - 1017: 'fogcoord': invalid fragment property
!!ARBfp1.0

OPTION ARB_precision_hint_fastest;



TEMP col;
MUL col.rgb, fragment.color, program.env[5].x;
MUL col.rgb, col, 0.8;
MUL col.a, 0.5, program.env[5].y;

TEMP fog;
SUB fog, state.fog.params.z, fragment. <<HERE>>
fogcoord.x;
MUL_SAT fog, fog, state.fog.params.w;
LRP result.color, fog, col, {0, 0, 0, 1};

END
COMPILE ERROR (PS:water) - 1017: 'fogcoord': invalid fragment property
!!ARBfp1.0

OPTION ARB_precision_hint_fastest;




TEMP he, light, cam, bump, invfresnel, temp, dudv;

ATTRIB projtc = fragment.texcoord[0];
ATTRIB tc1 = fragment.texcoord[1];
ATTRIB tc2 = fragment.texcoord[2];
ATTRIB camts = fragment.texcoord[3];
ATTRIB lightts = fragment.texcoord[4];


DP3 cam.w, camts, camts;
RSQ cam.w, cam.w;
MUL cam.xyz, cam.w, camts;



DP3 light.w, lightts, lightts;
RSQ light.w, light.w;
MUL light.xyz, light.w, lightts;

ADD he, cam, light;

DP3 he.w, he, he;

reply to this message

#10: ..

by oibaf on 10/03/2008 15:16

(I have attached only the first lines...)

reply to this message

#11: ..

by eihrul on 10/03/2008 18:24

The bug in this case is with your driver. It reports it supports shaders, but it does not implement them correctly.

The "DRI Project" vendor string is unknown to Sauerbraten, where unknown in this case means not known to contain bugs, so it assumed your drivers were not buggy, only they are, so is it really a Sauerbraten bug? :P

reply to this message

#12: Re: ..

by oibaf on 11/17/2008 12:34, refers to #11

(Sorry to bother you again...)

I noticed that when starting sauerbraten I get this WARNING:
WARNING: Non-power-of-two textures not supported!

However, when using the compiz-check script from:
http://forlong.blogage.de/entries/pages/Compiz-Check
I get:
Checking for texture_from_pixmap... [ OK ]
Checking for non power of two support... [ OK ]
Checking for composite extension... [ OK ]
Checking for FBConfig... [ OK ]
Checking for hardware/setup problems... [ OK ]

Is the "non power of two support" from compiz-check the same of that not detected by sauerbraten?

reply to this message

#13: ..

by oibaf on 11/29/2008 17:45

It appears that the compiz-check script detect "non power of two support" when at least one of the following extensions are supported:
GL_ARB_texture_non_power_of_two
GL_NV_texture_rectangle
GL_EXT_texture_rectangle
GL_ARB_texture_rectangle

the last 3 are supported by the r300 driver from mesa 7.2 (and thus compiz-check says "non power of two" is supported), but not the first one, which probably is what sauerbraten needs.

reply to this message

   Board Index   


Unvalidated accounts can only reply to the 'Permanent Threads' section!


content by Aardappel & eihrul © 2001-2024
website by SleepwalkR © 2001-2024
53785089 visitors requested 71554800 pages
page created in 0.022 seconds using 10 queries
hosted by Boost Digital