Composite

From ArchWiki

Jump to: navigation, search


Contents

[edit] Introduction

The Composite extension for X causes an entire sub-tree of the window hierarchy to be rendered to an off-screen buffer. Applications can then take the contents of that buffer and do whatever they like. The off-screen buffer can be automatically merged into the parent window or merged by external programs, called compositing managers.

[edit] Configuration

[edit] NVIDIA drivers

If you have an NVIDIA, install the latest NVIDIA drivers. Their newer versions (>= 96xx) support the long awaited "GLX_Texture_From_Pixmap" extension. If you have a legacy card with older versions (< 96xx) of the driver, you need XGL.

[edit] Automatically

[edit] nvidia (current)

nvidia-xconfig --composite

[edit] nvidia-96xx

nvidia-xconfig --composite --add-argb-glx-visuals

[edit] nvidia-71xx

nvidia-xconfig isn't available.

[edit] Manually

Edit the /etc/X11/xorg.conf file:

Section "Module"
  [...]
  Load "dbe"
  Load "extmod"
  Load "type1"
  Load "freetype"
  Load "glx"
  #Load "dri"    #should be removed/commented out
  #Load  "GLcore"    #should be removed/commented out
  [...]
EndSection

[...]

Section "Screen"
  [...]
  Option "AddARGBGLXVisuals" "True"  #recommended if using nvidia-71xx or nvidia-96xx, enabled by default with newer drivers
  Option "RenderAccel" "True"    #recommended if using the nvidia-71xx driver, enabled by default with newer drivers
  Option "AllowGLXWithComposite" "True"    #only if using the nvidia-71xx driver
  [...]
EndSection

[...]

Section "Extensions"
  Option "Composite" "Enable"
EndSection

[edit] AMD ATI drivers

[edit] Open-source driver + AIGLX

AIGLX currently works with the open source Intel and Radeon drivers, and maybe others. Add the following to your /etc/X11/xorg.conf file to enable AIGLX:

Section "Module"
  [...]
  Load "glx"
  Load "dri"
EndSection

[...]

Section "Device"
  [...]
  Option "XAANoOffscreenPixmaps" "true"
  Option "DRI" "true"
EndSection

[...]

Section "ServerLayout"
  [...]
  Option "AIGLX" "true"
EndSection

[...]

Section "Extensions"
  Option "Composite" "Enable"
EndSection

If your xorg driver doesn't support AIGLX, then the effects won't work.

[edit] fglrx/Catalyst driver

ATI's proprietary fglrx driver enables compositing by default. If for some reason you would like to manually disable compositing, you can do so by adding this to /etc/X11/xorg.conf:

Section "Extensions"
  Option "Composite" "Disable"
EndSection

[edit] Other drivers + Xgl

Users of other video drivers will need to use Xgl in order to enable compositing. Refer to the Xgl wiki for detailed instructions.

[edit] Additional Resources

  • AIGLX
  • Xgl
  • Composite -- A Xorg extension required by composite managers
  • Compiz Fusion -- A composite and window manager offering a rich 3D accelerated desktop environment
  • Compiz -- The original composite/window manager from Novell
  • Xcompmgr -- A simple composite manager capable of drop shadows and primitive transparency
  • Beryl -- A composite/window manager forked from Compiz (since merged to become Compiz Fusion)
  • Wikipedia: Compositing Window Managers
Personal tools