PDA

View Full Version : ubuntu 7.10+ati r250+gnome+compiz > 1024x768 resolution


8f27e956
October 25th, 2007, 04:39 AM
First post on this forum ... hello world! I'm running ubuntu 7.10 on a dell d600 notebook with an ati r250 (radeon mobile) video card with 32MB RAM.

At 1024x768 resolution ONLY, all is good -- I can run successfully System > Preferences > GL Desktop > Enable GL Desktop. I get the 3d cube rotations and reflections and other goodies. And very performant too.

But ... if I try any of the available 1280xNNN or 1400x1050 resolutions, the GL desktop will NOT enable.

What, if anything, can I do to get any of the >1024x768 resolutions and 3D GL desktop working? Willing to downgrade colour depth or like if needed.

I will post any needed info -- xorg.conf or glxinfo -- if needed.

Thanks,
/Scott

8f27e956
October 25th, 2007, 05:10 AM
scott@scott-d600:~$ glxinfo
name of display: :0.0
libGL warning: 3D driver claims to not support visual 0x5a
libGL error:
Can't open configuration file /etc/drirc: No such file or directory.
libGL error:
Can't open configuration file /home/scott/.drirc: No such file or directory.
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_import_context, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
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_allocate_memory,
GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control,
GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_SGI_make_current_read,
GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
OpenGL vendor string: Tungsten Graphics, Inc.
OpenGL renderer string: Mesa DRI R200 20060602 AGP 4x x86/MMX/SSE2 TCL
OpenGL version string: 1.3 Mesa 7.0.1
OpenGL extensions:
GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture,
GL_ARB_point_parameters, GL_ARB_point_sprite, 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_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_fog_coord,
GL_EXT_histogram, 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_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_ATI_fragment_shader, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,
GL_MESA_pack_invert, GL_MESA_window_pos, GL_NV_blend_square,
GL_NV_light_max_exponent, GL_NV_texture_rectangle,
GL_NV_texgen_reflection, 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
0x5a 32 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 Ncon

adamk
October 25th, 2007, 09:32 AM
Unfortunately, I think 1024x1024 may be the maximum 3D texture resolution for your card.

You can install the driconf utility and use it to adjust the option about fitting textures into memory. On *some* hardware there's an option that tells the driver to set the max 3d texture resolution to whatever the hardware can support, even if the texture(s) can't fit into memory.

Adam

doob
October 25th, 2007, 10:27 AM
I have had the exact same problem. I have an X300 card with 128Mb vram, running two displays at 1280x1024 on Ubuntu Gutsy. Compiz refuses to start at this resolution. If I use SKIP_CHECKS=yes it starts, but the display is corrupted. Lower resolutions are fine. This is using the new 8.42 driver. I've not really experimented much with the default driver that comes with Gutsy (8.37).

I could accept this, if it weren't for the fact that I've run nvidia cards with 128Mb vram on two 1280x1024 monitors with no problems. What's the difference with ATI cards?

adamk
October 25th, 2007, 10:30 AM
ATI limited their 3rd generation radeon cards (ie. your X300) to a hardware maximum of 2048. nVidia limited theirs to 4096 (actually, the 8*** series GF cards supposedly support 8192).

That's the only difference.

doob
October 25th, 2007, 10:37 AM
ATI limited their 3rd generation radeon cards (ie. your X300) to a hardware maximum of 2048

Gah, gits :)

So there's nothing I can do about it other than run in a lower resolution? Oh well.

adamk
October 25th, 2007, 10:38 AM
Oh, BTW, you can run two 1280x1024 monitors if you tell Xorg you've stacked the vertically. This will give you a virtual resolution of 1280x2048, which is within the 2048x2048 limit.

Adam

doob
October 25th, 2007, 10:42 AM
So the hardware still deals with textures in square, power of 2 sizes even if the driver can deal with non-square, non-power of 2 sizes?

adamk
October 25th, 2007, 10:53 AM
I honestly don't know how the hardware deals with textures vs. how the driver deals with textures.

Adam

8f27e956
October 25th, 2007, 04:52 PM
If I use SKIP_CHECKS=yes it startsWhere set; how set?

8f27e956
October 25th, 2007, 04:54 PM
On *some* hardware there's an option that tells the driver to set the max 3d texture resolution to whatever the hardware can support, even if the texture(s) can't fit into memory.Same question: where/how is this set?

adamk
October 25th, 2007, 05:11 PM
Where set; how set?

$ mkdir -p ~/.config/compiz/
$ echo SKIP_CHECKS=yes >> ~/.config/compiz/compiz-manager

adamk
October 25th, 2007, 05:22 PM
Same question: where/how is this set?

As I said, check in the 'driconf' application. There's only so many options in there. One of them will ask about fitting textures into memory. I don't remember exactly what it's called, as I don't have that hardware in this machine at the moment.

Adam

8f27e956
October 25th, 2007, 10:36 PM
check in the 'driconf' application.Played w/driconf to no success. skip_checks didn't seem to help either.

The driconf setting you referred to has an option of 'ANNOUNCE HARDWARE LIMITS.' Where does it 'announce' to -- i.e. which log or config file. glxinfo didn't show anything noticeable.

Thanks,
/Scott

8f27e956
October 25th, 2007, 10:38 PM
/var/log/Xorg.0.log...(II) RADEON(0): Max desktop size set to 2048x1200
(II) RADEON(0): For a larger or smaller max desktop size, add a Virtual line to your xorg.conf
(II) RADEON(0): If you are having trouble with 3D, reduce the desktop size by adjusting the Virtual line to your xorg.confAny recommendations for the 'adjusting the virtual line' so as to allow any of the 1280xnnn resolutions?

Thanks,
/Scott

adamk
October 25th, 2007, 10:51 PM
I'm actually not sure what the "Max desktop size" refers to, but it's definitely not impacted by the setting in 'driconf'.

What are the options for "Announce hardware limits"? Ideally the output of 'glxinfo -l | grep MAX_TEXTURE_SIZE' will change as you adjust those options. If it reads 'GL_MAX_TEXTURE_SIZE = 1280', compiz should run on your display at 1280x1024..

Adam

8f27e956
October 25th, 2007, 11:44 PM
scott@scott-d600:~$ glxinfo -l | grep MAX_TEXTURE_SIZElibGL warning: 3D driver claims to not support visual 0x5a
libGL error:
Can't open configuration file /etc/drirc: No such file or directory.
GL_MAX_TEXTURE_SIZE = 2048


Since 2048 is bigger then 1280 ... my problem is ...?

/Scott

adamk
October 25th, 2007, 11:55 PM
You're still unable to launch compiz, even after making that change?

Have you tried to run 'compiz --replace &' in a terminal?

Adam

8f27e956
October 25th, 2007, 11:59 PM
scott@scott-d600:~$ compiz --replace &
[1] 17323
scott@scott-d600:~$ Checking for Xgl: not present.
Detected PCI ID for VGA: 01:00.0 0300: 1002:4c66 (rev 01) (prog-if 00 [VGA])
Flags: bus master, VGA palette snoop, stepping, 66MHz, medium devsel, latency 32, IRQ 11
Checking for texture_from_pixmap: not present.
Trying again with indirect rendering:
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Comparing resolution (1280x800) to maximum 3D texture size (1024): Failed.
aborting and using fallback: /usr/bin/metacity
scott@scott-d600:~$

adamk
October 26th, 2007, 12:02 AM
Very odd... Out of curiousity, please try:

$ glxinfo -l | grep MAX_TEXTURE_SIZE

and then:

$ LIBGL_ALWAYS_INDIRECT=true glxinfo -l | grep MAX_TEXTURE_SIZE

I expect they will be different. Then try restarting the X server, and see if they both match or are still different.

Also, try:

$ mkdir -p .config/compiz
$ echo SKIP_CHECKS=yes >> ~/.config/compiz/compiz-manager

And then try starting compiz :-)

Adam

8f27e956
October 26th, 2007, 12:11 AM
This is at 1024x768 ...
scott@scott-d600:~$ compiz --replace &
[1] 18248
scott@scott-d600:~$ Checking for Xgl: not present.
Detected PCI ID for VGA: 01:00.0 0300: 1002:4c66 (rev 01) (prog-if 00 [VGA])
Flags: bus master, VGA palette snoop, stepping, 66MHz, medium devsel, latency 32, IRQ 11
Checking for texture_from_pixmap: not present.
Trying again with indirect rendering:
Checking for texture_from_pixmap: present.
Checking for non power of two support: present.
Checking for Composite extension: present.
Comparing resolution (1024x768) to maximum 3D texture size (1024): Passed.
Checking for nVidia: not present.
Checking for FBConfig: present.
Checking for Xgl: not present.
Starting emerald

8f27e956
October 26th, 2007, 12:12 AM
Which drivers set should i be running ... ati's 8-point-something or the xorg's?
/S

8f27e956
October 26th, 2007, 12:16 AM
Bingo!$ LIBGL_ALWAYS_INDIRECT=true glxinfo -l | grep MAX_TEXTURE_SIZEMAX_TEXTURE_SIZE = 1024

The indirect is 1024 where direct is 2048.

So what's my direct/indirect issue?

Thanks,
/Scott

adamk
October 26th, 2007, 12:33 AM
Your card is not supported by ATI's drivers, so you need to stick with the Xorg ones.

Did you try running compiz at 1280x1024 after running setting SKIP_CHECKS=yes in ~/.config/compiz/compiz-manager? I *think* compiz should work properly for you now.

8f27e956
October 26th, 2007, 01:21 AM
Oh my ... I need a private moment for the technogasm ... :rolleyes: ... sweet!

Resolution @ 1280x1024 and ... so far ... all the 3d affects :).

Not quite as fast as 1024x768, but still very, very usable.

It was the SKIP_CHECKS ... and dropped the manual 'virtual' size option in my xorg.conf.

Big time thank you, thanks and THANKS :):):)!

/Scott

8f27e956
October 26th, 2007, 01:22 AM
For this noob could you briefly explain the indirect/direct thing. I know what I gained, but what did I lose?

Thanks,
/Scott

adamk
October 26th, 2007, 09:17 AM
You didn't actually lose anything as compiz *must* use indirect rendering on your video card. When using indirect rendering, you're basically using the method of communicating with the graphics card described here: http://en.wikipedia.org/wiki/AIGLX

Adam

8f27e956
October 26th, 2007, 11:05 AM
Thanks, again.

Are any of my config files or info outputs of interest to you folks in furtherance of the development/cause? if so, let me know what and I'll gladly post.

Cheers,
/Scott