Starting Xgl by default with DISPLAYMANAGER_XSERVER will not work with current drivers including 8.23.7, because 'DISPLAY=:93 Xgl :0' wrongly tries to XOpenDisplay (:0.0) due to a xglQueryVersion, and as the Xgl's server port is already open, the connection does not immediately fail. This is a deadlock. ATI has been investigating, a fix is pending (see openSUSE bugzilla entry #129999
(https://bugzilla.novell.com/show_bug.cgi?id=129999)).
If you are using gdm, the problem can be worked around by changing the line 0=Standard to 1=Standard in /etc/opt/gnome/gdm/gdm.conf. You can also start Xgl manually by yourself. Log into the system with a trivial window manager (e.g. twm), open an xterm, and start Xgl -fullscreen :1 & sleep 2 && DISPLAY=:1 kde
Substitute kde by gnome or fvwm2 or your other favorite desktop you would like to start.
When no composite manager (e.g. compiz) is running, the driver can be pretty slow. Do not use Xgl without a composite manager.
Driver has neither pBuffer nor FBO support. When using a composite manager all windows are rendered in software and only compositing is hardware accelerated. Astonishingly, this works well enough for most use cases. FBO support is supposed to be added to the driver in the near future.
XVideo YV12 surfaces are hardware accelerated (when no composite manager is used or for fullscreen unredirected windows), but due to a bug in the driver the video will miss one of the color channels, leading to false greenish/purple colors. This has to be investigated.
OpenGL acceleration does not work well with Composite being active. This option in /etc/X11/xorg.conf should be disabled if it had been enabled before. Note: Xgl supports Composite anyway, even if it is disabled in xorg.conf. FBO's can be used with this driver instead of pbuffers for XVideo acceleration. Enable this by changing
DISPLAYMANAGER_XGL_OPTS="-accel glx:pbuffer -accel xv:pbuffer" to
DISPLAYMANAGER_XGL_OPTS="-accel glx:pbuffer -accel xv:fbo" in /etc/sysconfig/displaymanager.
The NVIDIA driver installer typically removes all libglx.so in /usr/X11R6, including /usr/X11R6/lib/xorg/modules/xgl/libglx.so -- which is part of the xgl package. Thus you currently have to reinstall xgl after installing the NVIDIA driver.
[ 编辑
]
Glossary
Composite Extension
This extension to 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.
FBO
Frame Buffer Object (FBO) is an OpenGL extension that defines a simple interface for drawing to rendering destinations other than the buffers provided to the GL by the window system. This interface is newer and cleaner than pBuffers, but considered less stable at the moment.
pBuffer
Pixel buffers (pBuffers for short) are additional non-visible rendering buffers for an OpenGL renderer.
取自" http://www.opensuse.org.cn/index.php/Xgl_%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3
"