我使用的是KUbuntu 9和两个显示器:CRT + DVI。 Nvidia的TwinView工作正常,但启用Xinerama扩展function将禁用KDE中的合成。
有没有办法使用Xinerama启用合成(桌面效果)? 为什么会这样呢?
合成需要某些graphics扩展(通常是GLX)在您的graphics卡上可用,并在X服务器中启用。 然而,很less有驱动程序同时支持驱动Xinerama和GLX的技术 – 使一个趋向于禁用另一个。
最近(GeForce 7或更新的版本)如果GPU 足够相似的话,Nvidia显卡能够实现这样的function 。 如果没有,官方的Nvidia驱动程序将只禁用不支持Xinerama + GLX的卡上的GLX扩展,而不是在所有屏幕上禁用它。 AFAIK,开放源代码的nv驱动程序根本不支持Xinerama + GLX(或者,如果是这样的话,它与官方nvidia驱动程序的限制相同)。
如果你完全没有办法让你的硬件很好地工作,你可能需要看一下mesa库 – 它是一个软件3D渲染工具,可以替代硬件GLX,并允许合成发生,虽然有一个相当大的性能受到打击
由于nVidia驱动程序已经提供了与TwinView兼容的Xinerama扩展,所以在使用TwinView时通常不会启用通常的Xorg Xinerama扩展。
从驱动程序的自述文件 :
窗口pipe理器是否能够适当放置窗口(例如,避免在两个显示设备上放置窗口,或者在虚拟桌面的不可访问的区域放置窗口)?
是。 NVIDIA X驱动程序提供X客户端(如窗口pipe理器)可用于发现当前TwinViewconfiguration的Xinerama扩展。 请注意,Xinerama协议没有办法在发生configuration更改时通知客户端,所以如果您切换到不同的MetaMode,窗口pipe理器仍然会认为您拥有以前的configuration。 使用Xinerama扩展,结合XF86VidMode扩展来获取模式切换事件,窗口pipe理器应该能够在任何给定时间确定TwinViewconfiguration。