PDA

View Full Version : water plugin not working


einheitlix
April 26th, 2007, 01:38 PM
Hi,

I've been trying to get the water plugin to work on my Beryl desktop, but it turns out this is harder to master than I had expected. Upon activation of the water plugin in the beryl settings manager, when I try to activate e.g. the Rain using Shift+F9, nothing at all happens.

I noticed that Beryl complains about some glx extension that is missing:
[code:205b0]
beryl: water: GL_ARB_fragment_program is missing
[/code:205b0]

However, glxinfo does report that this extension is there:
[code:205b0]
malte@ririu ~ $ glxinfo
name of display: :0.0
libGL warning: 3D driver claims to not support visual 0x4b
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_copy_sub_buffer,
GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method,
GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig
OpenGL vendor string: Tungsten Graphics, Inc.
OpenGL renderer string: Mesa DRI R300 20060815 AGP 8x TCL
OpenGL version string: 1.3 Mesa 6.5.1
OpenGL extensions:
GL_ARB_fragment_program, GL_ARB_imaging, GL_ARB_multisample,
GL_ARB_multitexture, 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_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_packed_pixels, GL_EXT_polygon_offset,
GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_separate_specular_color, 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

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
0x4b 32 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 Ncon
[/code:205b0]

As you can see, it is listed in the OpenGL extension section. I am also pretty sure that my ATI Radeon 9600 Pro graphic chip (RV350) does have a pixel shader.

Any ideas what's the problem here? Could it be that even though glxinfo lists GL_ARB_fragment_program as OpenGL extension, it is not supported by the driver or something? I am using the open source radeon module which comes with the kernel 2.6.19, along with an AIGLX server.

Maybe this is helpful:

[code:205b0]
ririu ~ # uname -a
Linux ririu 2.6.19-gentoo-r5 #11 Thu Apr 12 15:35:02 CEST 2007 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux

ririu ~ # modinfo radeon
filename: /lib/modules/2.6.19-gentoo-r5/kernel/drivers/char/drm/radeon.ko
author: Gareth Hughes, Keith Whitwell, others.
description: ATI Radeon
license: GPL and additional rights
vermagic: 2.6.19-gentoo-r5 mod_unload
depends: drm
parm: no_wb:Disable AGP writeback for scratch registers
(int)
[/code:205b0]

I'd be grateful for any hints :-)

adamk
April 27th, 2007, 09:29 AM
This was a bug with either the X server or beryl that shows up when using beryl with Xorg versions prior to 7.2. It is fixed if you use Xorg 7.2 however.

Adam

einheitlix
April 30th, 2007, 10:38 PM
Thanks a lot. Updating to X.Org 7.2 did solve the problem (I was using X.Org 7.1 before). I can now admire the nice watery effects on my desktop ;)

However, with the new X.Org version a new problem came up with Beryl: resizing windows doesn't work properly any more. More precisely, when I hover over the lower right corner of a window, I see the mouse pointer changing to a resize-image-looking pointer-icon. When I click the left mouse button (and hold it) and move the mouse somewhere to resize the window, whilst the pointer changes its location, the window stays the same. Only 1 or 2 seconds later do I see the window changing size, as one would expect. So, in fact, it's not like resizing isn't working; it's just working at a snail's pace ;) This is somewhat annoying, because it makes it kind of hard to really assess how the resized window will look like (and if it's how I want it) if the resizing doesn't work as fast as I move the mouse.

Otherwise, everything seems to work alright. Moving windows isn't a problem, it works as fast as it should, even with wobbly windows enabled. It's really just the resizing. It also doesn't matter whether I use clicking on the corner of the window or the Alt+F8 shortcut. It's slow as molasses :(

Note that I am not absolutely sure if this is caused by X.Org 7.2 itself. Updating X.Org did involve updating a bunch of other things, too, e.g. Mesa 6.5.1 to Mesa 6.5.2. At the moment I'm not really sure where to start looking for the error. Is this a known problem? Any ideas on how to fix it, or even just how to find out what causes it? Thanks again... :)