Compiz + Nouveau (nvidia) ?

Salut,

Sous Debian SID, j’ai par défaut le pilote libre “Nouveau” pour nvidia. Avec XFCE, ça fonctionnait très bien, je pouvais activer la composition d’affichage.

Sous Gnome, après avoir installé compiz, ça ne fonctionne pas :

[code]$ compiz --replace
compiz (core) - Fatal: Software rendering detected.
compiz (core) - Error: Failed to manage screen: 0
compiz (core) - Fatal: No manageable screens found on display :0.0

Launching fallback window manager[/code]

Pour info :

$ glxinfo | grep render direct rendering: Yes OpenGL renderer string: Software Rasterizer GL_EXT_vertex_array_bgra, GL_NV_conditional_render,

[code]$ ./compiz-check
Gathering information about your system…

Distribution: Debian GNU/Linux (wheezy/sid)
Desktop environment: GNOME
Graphics chip: nVidia Corporation G98 [GeForce 9300M GS] (rev a1)
Driver in use: nouveau
Rendering method: AIGLX

Checking if it’s possible to run Compiz on your system…

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… [FAIL]

There has been (at least) one error detected with your setup:
Error: Software Rasterizer in use[/code]
(sinon, la lecture de vidéo fonctionne bien)

Que dois-je faire pour pouvoir lancer compiz avec Nouveau ?

Merci de votre aide.

Ah, mais je ne savais pas que metacity savait faire du “compositing”, je n’utilisais compiz quasiment que pour ça.

Il suffit de l’activer :

(c’est bien caché)

Est-il possible de configurer ce compositing ?

(ça ne répond pas à la question du pourquoi compiz ne fonctionne pas, mais j’ai un workaround acceptable)

[quote=“®om”]Ah, mais je ne savais pas que metacity savait faire du “compositing”, je n’utilisais compiz quasiment que pour ça.

Il suffit de l’activer :

gconftool-2 -s -t boolean /apps/metacity/general/compositing_manager true

(c’est bien caché)

Est-il possible de configurer ce compositing ?

(ça ne répond pas à la question du pourquoi compiz ne fonctionne pas, mais j’ai un workaround acceptable)[/quote]

Il y a de l’accélération 3D avec nouveau :think: il me sembler que le pilote nouveau proposer que le support de la 2D.

Non justement, d’où le « Software Rasterizer » dans son glxinfo.
Mesa fournit une couche d’émulation 100% logicielle pour OpenGL (libgl1-mesa-swx11) qui peut remplacer les librairies OpenGL accélérées (libgl1-mesa-glx). C’est très certainement ce que Rom a installé, à moins que Nouveau ne fournisse lui-même une émulation logicielle équivalente à Mesa-SW (ce dont je doute un peu, réimplémenter tout ça c’est énormément de boulot pour rien).

@Rom : Ça doit ralentir pas mal ta machine quand tu actives le compositing, non ? À la base c’est fait pour accélérer l’affichage en déchargeant une bonne partie des calculs sur la carte vidéo (ce qui compense plus que largement la complexité accrue de l’affichage via OpenGL), mais si tu gardes la complexité d’affichage de l’OpenGL sans bénéficier de l’accélération matérielle (qui se retrouve émulée en logiciel)… :confused:

Quant à ton problème initial : Compiz, contrairement à Metacity, vérifie que la couche OpenGL est bien accélérée matériellement avant d’autoriser le compositing (d’où le « Error: Software Rasterizer in use »), ce qui me paraît tout à fait logique et même souhaitable, pour les raisons de performance évoquées ci-dessus.

Non, justement. C’est super fluide. Comme quand j’active compiz avec les drivers proprio (sur Ubuntu).

GlxGears semble me dire aussi que je suis en “Software Rasterizer” :

$ glxgears -info GL_RENDERER = Software Rasterizer GL_VERSION = 2.1 Mesa 7.11 GL_VENDOR = Mesa Project GL_EXTENSIONS = GL_ARB_multisample GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_logic_op GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_copy_texture GL_EXT_paletted_texture GL_EXT_polygon_offset GL_EXT_subtexture GL_EXT_texture_object GL_EXT_vertex_array GL_EXT_compiled_vertex_array GL_EXT_texture GL_EXT_texture3D GL_IBM_rasterpos_clip GL_ARB_point_parameters GL_EXT_draw_range_elements GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_separate_specular_color GL_EXT_texture_edge_clamp GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_ARB_multitexture GL_IBM_multimode_draw_arrays GL_IBM_texture_mirrored_repeat GL_3DFX_texture_compression_FXT1 GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_transpose_matrix GL_EXT_blend_func_separate GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_secondary_color GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_INGR_blend_func_separate GL_MESA_resize_buffers GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_env_combine4 GL_SUN_multi_draw_arrays GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_EXT_framebuffer_object GL_EXT_shared_texture_palette GL_EXT_texture_env_dot3 GL_MESA_window_pos GL_NV_packed_depth_stencil GL_NV_texture_rectangle GL_NV_vertex_program GL_ARB_depth_texture GL_ARB_occlusion_query GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_window_pos GL_ATI_envmap_bumpmap GL_ATI_fragment_shader GL_EXT_stencil_two_side GL_EXT_texture_cube_map GL_NV_depth_clamp GL_NV_fragment_program GL_NV_point_sprite GL_NV_vertex_program1_1 GL_APPLE_packed_pixels GL_APPLE_vertex_array_object GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_shader GL_ARB_shader_objects GL_ARB_vertex_program GL_ARB_vertex_shader GL_ATI_draw_buffers GL_ATI_texture_env_combine3 GL_EXT_depth_bounds_test GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_MESA_pack_invert GL_MESA_ycbcr_texture GL_ARB_depth_clamp GL_ARB_fragment_program_shadow GL_ARB_half_float_pixel GL_ARB_occlusion_query2 GL_ARB_point_sprite GL_ARB_shading_language_100 GL_ARB_sync GL_ARB_texture_non_power_of_two GL_ARB_vertex_buffer_object GL_ATI_blend_equation_separate GL_EXT_blend_equation_separate GL_OES_read_format GL_ARB_pixel_buffer_object GL_ARB_texture_compression_rgtc GL_ARB_texture_rectangle GL_ATI_texture_compression_3dc GL_EXT_pixel_buffer_object GL_EXT_texture_compression_rgtc GL_EXT_texture_mirror_clamp GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_shared_exponent GL_ARB_framebuffer_object GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_packed_depth_stencil GL_NV_fragment_program_option GL_APPLE_object_purgeable GL_ARB_vertex_array_object GL_ATI_separate_stencil GL_ATI_texture_mirror_once GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_gpu_program_parameters GL_EXT_texture_array GL_EXT_texture_compression_latc GL_EXT_texture_env_combine GL_EXT_texture_sRGB_decode GL_MESA_texture_array GL_ARB_copy_buffer GL_ARB_draw_instanced GL_ARB_half_float_vertex GL_ARB_map_buffer_range GL_ARB_texture_rg GL_ARB_texture_swizzle GL_ARB_vertex_array_bgra GL_EXT_separate_shader_objects GL_EXT_texture_swizzle GL_EXT_vertex_array_bgra GL_NV_conditional_render GL_ARB_draw_elements_base_vertex GL_ARB_explicit_attrib_location GL_ARB_fragment_coord_conventions GL_ARB_provoking_vertex GL_EXT_provoking_vertex GL_ARB_robustness

Chez moi :

[code]$ glxinfo | grep renderer
OpenGL renderer string: GeForce 9100/PCI/SSE2

$ aptitude search ‘~i’ | grep libgl1
i A libgl1-mesa-dev - free implementation of the OpenGL API – G
i A libgl1-mesa-dri - implémentation libre de l’API OpenGL - mod
i A libgl1-mesa-glx - implémentation libre de l’API OpenGL - exé
i A libgl1-nvidia-alternatives - transition libGL.so* diversions to glx-alt
i A libgl1-nvidia-glx - NVIDIA binary OpenGL libraries[/code]
Peux-tu nous dire quels paquets sont installés de ton côté ?

Non, justement. C’est super fluide. Comme quand j’active compiz avec les drivers proprio (sur Ubuntu).[/quote]
J’avoue que je suis assez étonné par cette réponse. Enfin, tant mieux pour toi après tout ! :wink:

Non, justement. C’est super fluide. Comme quand j’active compiz avec les drivers proprio (sur Ubuntu).[/quote]
J’avoue que je suis assez étonné par cette réponse. Enfin, tant mieux pour toi après tout ! :wink:[/quote]
Sur le bureau, ça va c’est très fluide. Par contre si je lance un screensaver utilisant OpenGL (après avoir installé xscreensaver-gl), là ça rame en plein écran.