Xinerama + 合成

Xinerama + 合成

我正在使用 KUbuntu 9 和两个显示器:CRT+DVI。Nvidia 的 TwinView 运行良好,但启用 Xinerama 扩展会禁用 KDE 中的合成。

有没有办法使用 Xinerama 进行合成(桌面效果)?为什么会出现这种情况?

答案1

合成需要某些图形扩展(最常见的是 GLX)在您的显卡上可用并在您的 X 服务器中启用。但是,很少有驱动程序同时支持驱动 Xinerama 和 GLX 的技术 - 启用其中一种往往会禁用另一种。

最新的(GeForce 7 左右及更新版本)Nvidia 显卡能够启用此类功能,如果 GPU足够相似如果不是,官方 Nvidia 驱动程序将仅禁用不支持 Xinerama+GLX 的卡上的 GLX 扩展,而不是在所有屏幕上禁用它。据我所知,开源 nv 驱动程序根本不支持 Xinerama+GLX(或者如果它支持,它会受到与官方 nvidia 驱动程序相同的限制)。

如果你确实没有办法让这两个在你的硬件上正常工作,你可能需要看看台面库 - 它是一个软件 3D 渲染工具,可以替代硬件 GLX 并允许合成,尽管性能会受到很大影响。

答案2

你通常不要使用 TwinView 时启用常用的 Xorg Xinerama 扩展,因为 nVidia 驱动程序已经提供了与 TwinView 兼容的 Xinerama 扩展。

从司机自述

窗口管理器是否能够适当地放置窗口(例如,避免将窗口放置在两个显示设备上,或放置在虚拟桌面无法访问的区域)?

是的。NVIDIA X 驱动程序提供了 Xinerama 扩展,X 客户端(例如窗口管理器)可以使用它来发现当前的 TwinView 配置。请注意,Xinerama 协议无法在配置发生变化时通知客户端,因此如果您切换到不同的 MetaMode,您的窗口管理器仍会认为您使用的是以前的配置。使用 Xinerama 扩展,结合 XF86VidMode 扩展来获取模式切换事件,窗口管理器应该能够随时确定 TwinView 配置。

相关内容