The official workaround is not to use the composite extension at all.
The unofficial workaround (for Beryl) is this:
Originally posted by djdoo
So to make a resume after your really valuable feedback kriko and all of you guys:
The suggestion finally is:
With driver 9755 and older or 9631 legacy(no info about 7185)or betas 100(03,06) under hood...
First in your xorg.conf you should have the following options in order to run beryl best:
Under "ServerLayout" section:
Option "AIGLX" "true"->(Maybe it does nothing but give it a try! If you don't notice any difference remove it! )
Under "Screen" section:
Option "NvAGP" "0" -> (terryxela's suggestion FOR PCI Express CARDS ONLY!!!!)
Option "AddARGBGLXVisuals" "True" ->(For betas 100 drivers this one is not necessary)
Option "DamageEvents" "True" ->(Jupiter1tx suggestion really helps a lot!!)
Option "TripleBuffer" "True"
Option "BackingStore" "True" ->See NOTE below...
NOTE: Use BackingStore option with CAUTION it may NOT work on all systems especially 6 series Geforce cards!!! (freezes when load beryl-manager as kriko said and other strange stuff, too low performance) but give it a try cause it helps performance when works properly otherwise PLEASE REMOVE IT!! If you get any kind of strange stuff with the settings remove this option and try again!!
Under "Extensions" section:
Option "DAMAGE" "Enable"
Option "Composite" "Enable"
Option "RENDER" "Enable"
See my xorg.conf too!!
If you have an AGP card add the following options in your modprobe.conf.local or any name this file has in your distro:
options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1 NVreg_EnableBrightnessControl=1 NVreg_DevicesConnected=1 NVreg_VbiosFromROM=1 NVreg_SaveVBios=1 NVreg_SoftEDIDs=0 NVreg_VideoMemoryTypeOverride=0 NVreg_NvAGP=3 NVreg_ReqAGPRate=8->(8=for 8X AGP, 4=for 4X AGP)
Also try to use kernel's agpgart module(NvAGP=2 or 3) instead of internal nvidia agp if possible.
If you have a PCI express card here are the options for you:
options nvidia NVreg_VideoMemoryTypeOverride=0 NVreg_NvAGP=0 NVreg_ReqAGPRate=0 NVreg_SoftEDIDs=0 NVreg_DevicesConnected=1 NVreg_VbiosFromROM=1 NVreg_SaveVBios=1 NVreg_EnableBrightnessControl=1
Second after rebooting or just logout->login(to reload the driver):
In Beryl's Advanced Options use the following setup:
"Texture from Pixmap" "Don't Use COW or Automatic" "force AIGLX" "XGL binding" "Indirect rendering or Automatic"
DON'T STOP HERE CONTINUE READING!!
For beta 100 drivers if you upgrade to one of them and have beryl-manager settings pre-setted from the previous driver as mentioned above you may face the bug!!
Just switch from "force AIGLX"(all the others leave them as above) to "force Nvidia" and then back to "force AIGLX" and everything would be as with 9755 driver.
MORE IMPORTANT NOTE!!!!:
If you are using KDE and have beryl starting automatically with the 2 links(the first straight to beryl and the second to beryl-manager at /home/****/.kde/Autostart/ folder) do the following:
PLEASE REMOVE THE ONE WHICH SHOWS STRAIGHT TO BERYL AND LEAVE THE ONE THAT LINKS TO BERYL-MANAGER!!! Cause if beryl.bin is loaded first you WILL face the bug cause it autodetects nVidia mode NOT AIGLX!!! and so it does not load our settings!! Beryl-manager is enough to load beryl automatically and with our settings on!!
ANOTHER IMPORTANT NOTE!!: (kriko's founding)
Custom kernels maybe can cause serious problems to beryl!!! Lagging, too slow or even freezes!! Be careful with those stuff for more info look here: