Forums » Linux

XGL/Compiz

Sep 20, 2006 roguelazer link
So, yeah, compiz has this wonderful thing where you can set it to "unredirect fullscreen windows". What I find this means is that I can run games under XGL in full screen mode and get extremely good performance. Except Vendetta. For some reason, when launched from within XGL, Vendetta only sees a max resolution of 1024x768 (instead of 1280x1024) and crashes if I set full screen mode. I should note, for the record, that Vendetta works fine under normal X. Further info:

==============openglerr.log===================
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
----------------------------------------------------------------------
0x2c 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 822083584 1023410176 None
Warning: GLX context is not Direct.

==============openglinfo.log===================

[Wed Sep 20 13:23:09 2006]
Vendor: NVIDIA Corporation
Renderer: GeForce 7800 GT/PCI/SSE2
Version: 1.2 (2.0.2 NVIDIA 87.74)
Extensions: GL_ARB_depth_texture GL_ARB_imaging GL_ARB_multitexture GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_texture_border_clamp GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_window_pos GL_ARB_texture_non_power_of_two GL_ARB_vertex_program GL_ARB_fragment_program GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_wrap 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_lod GL_EXT_texture_lod_bias GL_EXT_texture_object GL_EXT_vertex_array GL_ATI_texture_mirror_once GL_HP_occlusion_test GL_IBM_texture_mirrored_repeat GL_NV_blend_square GL_NV_texgen_reflection GL_NV_texture_rectangle GL_NV_texture_env_combine4 GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow
GLU Version: 1.3
GLU Extensions: GLU_EXT_nurbs_tessellator GLU_EXT_object_space_tess
glx Extensions: GLX_ARB_multisample GLX_EXT_visual_info GLX_EXT_visual_rating GLX_EXT_import_context GLX_SGIX_fbconfig GLX_ARB_get_proc_address
glx Version: 1.2
glx server Vendor: SGI
glx server Version: 1.2
glx server 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 client Vendor: NVIDIA Corporation
glx client Version: 1.4
glx client Extensions: GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_visual_info GLX_EXT_visual_rating GLX_EXT_import_context GLX_SGI_video_sync GLX_NV_swap_group GLX_NV_video_out GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGI_swap_control GLX_NV_float_buffer GLX_ARB_fbconfig_float
GL_MAX_LIGHTS: 8
GL_MAX_CLIP_PLANES: 6
GL_MAX_MODELVIEW_STACK_DEPTH: 32
GL_MAX_PROJECTION_STACK_DEPTH: 4
GL_MAX_TEXTURE_STACK_DEPTH: 10
GL_SUBPIXEL_BITS: 12
GL_MAX_TEXTURE_SIZE: 4096
GL_MAX_PIXEL_MAP_TABLE: 65536
GL_MAX_NAME_STACK_DEPTH: 128
GL_MAX_LIST_NESTING: 64
GL_MAX_EVAL_ORDER: 8
GL_MAX_VIEWPORT_DIMS: 4096
GL_MAX_ATTRIB_STACK_DEPTH: 16
GL_AUX_BUFFERS: 1
GL_RGBA_MODE: 1
GL_INDEX_MODE: 0
GL_DOUBLEBUFFER: 1
GL_STEREO: 0
GL_POINT_SIZE_RANGE: 1.000000 - 63.375000
GL_POINT_SIZE_GRANULARITY: 0.125000
GL_LINE_WIDTH_RANGE: 0.500000 - 10.000000
GL_LINE_WIDTH_GRANULARITY: 0.125000
GL_MAX_TEXTURE_UNITS: 4
GL_MAX_CUBE_MAP_TEXTURE_SIZE: 4096
GL_MAX_3D_TEXTURE_SIZE: 4
GL_MAX_ELEMENTS_VERTICES: 2147483647
GL_MAX_ELEMENTS_INDICES: 2147483647
GL_POINT_SIZE_MIN: 0.000000
GL_POINT_SIZE_MAX: 0.000000
GL_POINT_FADE_THRESHOLD_SIZE: 0.000000

==============errors.log===================

[Wed Sep 20 13:23:08 2006] Found driver: "ALSA driver". Type 1, Version 8.1. Load @0x007cdba0
[Wed Sep 20 13:23:08 2006] Instantiate address: 0x2aaaaab44720
[Wed Sep 20 13:23:08 2006] Found driver: "Open Sound System driver". Type 1, Version 8.1. Load @0x007cf130
[Wed Sep 20 13:23:08 2006] Instantiate address: 0x2aaaaae57fd0
[Wed Sep 20 13:23:08 2006] Found driver: "OpenGL Reference GKGL driver". Type 5, Version 66.0. Load @0x007cf640
[Wed Sep 20 13:23:08 2006] Instantiate address: 0x2aaaaaf71430
[Wed Sep 20 13:23:08 2006] Note: Didn't find exact match for 1280x1024x24.
[Wed Sep 20 13:23:08 2006] Here are the available modes:
[Wed Sep 20 13:23:08 2006] 0) 800x600x24
[Wed Sep 20 13:23:08 2006] 1) 1024x768x24
[Wed Sep 20 13:23:08 2006] and it picked mode -1
[Wed Sep 20 13:23:08 2006] Note: Didn't find exact match for 800x600x32.
[Wed Sep 20 13:23:08 2006] Here are the available modes:
[Wed Sep 20 13:23:08 2006] 0) 800x600x24
[Wed Sep 20 13:23:08 2006] 1) 1024x768x24
[Wed Sep 20 13:23:08 2006] and it picked mode 0
Warning: GLX context is not Direct.
ALSA initialized: 44100Hz, 16bit stereo, 92ms latency (16 periods x 256 samples)
/dev/js0: No such file or directory
/dev/input/js0: No such file or directory
/dev/js1: No such file or directory
/dev/input/js1: No such file or directory
/dev/js2: No such file or directory
/dev/input/js2: No such file or directory
/dev/js3: No such file or directory
/dev/input/js3: No such file or directory
Found 0 joystick(s)
[Wed Sep 20 13:23:14 2006] Flight-Assist mode enabled.

Just wondering if you guys had any thoughts...
Sep 21, 2006 Malicious link
I wasn't going to bother anyone with this, but I have exactly the same problem.. I don't know if you have heard of xlaunch. It's a script (in the portage-xgl gentoo overlay) making it possible to launch opengl applications in a new X server. Since a week or so, vendetta crashes while updating.
Sep 21, 2006 roguelazer link
I used to run a second X server for OpenGL games, but the latest nvidia driver has been crashing on me when XGL + another X server (I know, techinically Xgl uses 2 X servers, so I guess the nvidia drivers have problems when there are 3 X servers running?). After finding that a good-ish number of OpenGL games work fine with that unredirect option, I was kinda hoping that VO would. Alas, but no.
Sep 22, 2006 Malicious link
Yeah that is about the same as that xlaunch script, just manually starting a second X server. I guess we have to wait for the nvidia 9*** drivers..

I wonder what will come first, new player-flyable ships or the nvidia drivers.

.
Sep 22, 2006 Antz link
Or you could just not use xgl... I gave it a go for a couple of weeks and it eventually started to annoy me. The virtual desktops do not scale very well, four is clearly not enough for my use (I need at least 8), the whooshing things take time I want to spend doing more useful things, the whindow wobbling makes it illegible whilst moving and is annoying. The transparrencies and zoom and window shadows are nice though... but do not really justify running xgl. So, I have it off.
Sep 22, 2006 Malicious link
Oh sure, that's not the problem, I know I can just NOT use it. 4 virtual desktops just happen to be enough for me and most of the REALLY fancy effects (like wobbly) I've turned off, since it gets annoying. Some other effects I DO like, and since you disliking compiz/xgl is no reason to quit using it, I'll be waiting for the new nvidia drivers :)
Sep 23, 2006 Antz link
Indeed. I'll probably go back to using it if they manage to get their desktops to get recognised as proper virtual desktops, so I get little previews of them all at the bottom of the screen and can easily switch between them.
Sep 23, 2006 Malicious link
Ah, so you probably don't use Gnome. since it works in Gnome for me. I hate the fact that it is impossible to change the number of virtual desktops even though I only use 4.. Things just have to mature and I think the change of course started by quinn storm and Beryl may be beneficial, but I'm still waiting for the Nvidia drivers..
Sep 23, 2006 thurisaz link
hmmm... not sure how, but I seem to remember seeing an XGL demo on youtube that had usable desktops on all 6 faces of the cube.. I dunno, I'm waiting to migrate until it's fully supported in non-GNOME environments..

edit- KDE?? I *like* to pretend I'm using a UNIX machine, okay? no fancy-schmancy HAL-filebrowser for me :P~~
Sep 24, 2006 Malicious link
If you're using KDE, I guess you'll have to wait for KDE 4.

Edit: Oh. and there is http://www.kde-apps.org/content/show.php?content=46021
Sep 26, 2006 Malicious link
roguelazer: OMGWTF!! NVIDIA BETA DRIVERS WITH DIRECT RENDERING UNDER XGL :P

Yay, I switched from XGL to AIXGL and from Compiz to Beryl and am using the beta drivers, so far everything is running fine..

Yay
Sep 27, 2006 Antz link
Ah, so you probably don't use Gnome. since it works in Gnome for me.

Correct, I use KDE on the machine with the good graphics card. I have GNOME on my Debian machine... but that has a Geforece2 card that needs legacy drivers, and they do not currently compile against SMP 2.6.16, 2.6.17, or 2.6.18 kernels (at least not in testing, unstable has a .17 build coming my way).

I hate the fact that it is impossible to change the number of virtual desktops even though I only use 4

You can you can you can!

Run gconf-editor
Navigate to / -> apps -> compiz -> general -> screen0 -> options
Set size to the number you want.

It will make a shape with 2+size faces (where 2 are top and bottom). I am not sure how well it works for size <4, but it worked nicely with a 10-sided thing. The problem I then had is it was hard to navigate directly to some desktop as it was not KDE-friendly.

Oh. and there is http://www.kde-apps.org/content/show.php?content=46021

From description I'd want to wait till around 0.5 to use that..
Sep 28, 2006 medoix link
maybe everyone is looking for this...

http://www.medoix.com/?p=10

i run Ubuntu with XGL/Compiz and i couldnt get really any games to play in full screen or in full speed. I was also getting video errors and the games were always crashing, after i did this all games work perfectly. let me know how you go.
Sep 28, 2006 roguelazer link
I'm pretty sure that all that it runs the game on Xgl's parent X server. Probably not a great idea, because that means xgl loses direct rendering, and those xhost lines are really bad for security unless you have X firewalled away.
Sep 28, 2006 medoix link
it just allows you to run selected apps/games outside of XGL witch is why it works, i am using it and it works great. as for the security issue, i am yet to have any issues, maybe change it around some if you like.
Sep 29, 2006 Malicious link
I think it's like xlaunch, but not necessary anymore if you have the new nvidia drivers.