Docs/Desktop/Accelerated Desktop
From Mandriva Community Wiki
Mandriva integrates many solutions to accelerate the graphical desktop, including Xgl and AIGLX, which allow to create 3D effects using the compiz compositing manager
Contents |
[edit] Quick installation
- run drak3d to configure the 3D desktop effects (it's available in the MandrivaLinuxControlCenter)
- start a new X session
[edit] Usage (compiz plugin list and keyboard shortcuts)
Decoration Enables Window Manager. You need to start gnome-window-decorator or kde-window-decorator for gnome/kde, only support of gnome for this time
Move Move a window anywhere within its canvas.
- Move window = Alt + left-click
Resize Resize a window anywhere within its canvas.
- Resize window = Alt + right-click
Place Places windows at the appropriate positions when mapped.
Fade Windows/tooltips/menus fade in/out when opened/closed.
Switcher Alt+Tab Application switcher replacement.
- Switch windows = Alt + Tab
Wobbly Makes windows wobble like jelly when moved or resized.
Minimize Renders windows from and to the Window list during minimizing and maximizing them.
Cube Provides the cube the virtual desktop is mapped upon. You can also configure svg slides on the top (as shown in the offical xgl presentation). This is (currently) a necessary prerequisite for rotate.
- Switch desktops on cube = Ctrl + Alt + Left/Right Arrow
- Switch desktops on cube - with active window following = Ctrl + Shift + Alt + Left/Right Arrow
Rotate Enables 3d desktop rotating via keyboard+mouse shortcuts.
- Rotate desktop cube = Ctrl + Alt + Left-click on wallpaper and drag
Zoom Enables zooming in and around desktop.
- Zoom-in once = Alt + right-click
- Zoom-in manually = Alt + wheel mouse up
- Zoom-out manually = Alt + wheel mouse down
Scale Exposé-like window-switcher.
Opacity The plugin allows you to change the currently focused window's opacity
- Make window translucent/opaque = Ctrl+Shift+Mouse wheel
Other keyboard shortcuts
- Snap Move window (will stick to borders) = Ctrl during move (either by Alt + left-click or by title bar)
- Arrange and View All Windows = F12 turns on or off; clicking a window will zoom it to the front
[edit] Components
To have a 3D desktop in Mandriva 2007, an accelerated X server and a compositing manager are required. They can be installed by using the task-3ddesktop meta-package.
[edit] Accelerated X servers
[edit] AIGLX
AIGLX is directly integrated in the Xorg server.
[edit] Xgl
Xgl is a modified Xorg server that is running on top of an other Xorg server. Applications have to be run on the Xgl server display. 3D applications can't be run on top of Xgl, while it's possible with AIGLX.
[edit] Compositing manager
[edit] Compiz
Compiz is an OpenGL compositing manager and acts as a window manager. The Composite extension in the accelerated X servers allows to render window to buffers, which are then transformed to OpenGL textures in compiz, using the GLX_EXT_texture_from_pixmap extension. This allows to render a 3D desktop.
See Compiz shortcuts for keyboard shortcuts.
Compiz needs a window decorator, which is gnome-window-decorator by default.
[edit] Configuration
[edit] Automatic detection
[edit] AIGLX
The Xorg server automaticaly enables AIGLX whenever possible.
[edit] Xgl
The x11-server-xgl package provides a /etc/X11/xinit.d/01_xgl script that is run when a new X session start. If XGL is set to auto in /etc/sysconfig/xgl, the script performs the following checks using glxinfo:
- direct rendering must be available
- the GLX_EXT_texture_from_pixmap extension must not be available in both client and server GLX extensions (this would mean AIGLX may be preferred). If the conditions are met, an Xgl server is started, the DISPLAY variable is set to the Xgl server display and exported, and LD_LIBRARY_PATH is modified so that compiz use Mesa libraires instead of proprietary OpenGL libraries.
[edit] Compiz
The compiz package provides a /etc/X11/xinit.d/02_compiz script that is run when a new X session start (after the Xgl script). If COMPIZ is set to auto in /etc/sysconfig/compiz, the script performs the following checks using glxinfo:
- direct rendering must be available
- the _GLX_EXT_texture_from_pixmap_ extension must be available
If the conditions are met, compiz is started with its window decorator.
When AIGLX is used, compiz normally needs the --indirect-rendering and --strict-binding options. This is automatically detected by the compiz binary in the Mandriva package.
[edit] Manual configuration
- set XGL to yes/no/auto in /etc/sysconfig/xgl
- set COMPIZ to yes/no/auto in /etc/sysconfig/compiz
- boot with the no3ddesktop command line option to disable both Xgl and compiz (if in automatic mode)
[edit] Supported chipsets
[edit] AIGLX
- Intel cards, with the free i810 driver
- ATI cards, with the free Radeon driver
[edit] Xgl
- Nvidia cards using the nvidia proprietary driver
- ATI cards using the fglrx proprietary driver