kolypto Asked: 2009-07-09 08:01:19 +0800 CST2009-07-09 08:01:19 +0800 CST 2009-07-09 08:01:19 +0800 CST Xinerama + 合成 772 我正在使用 KUbuntu 9 和两台显示器:CRT+DVI。Nvidia 的 TwinView 工作正常,但启用 Xinerama 扩展会禁用 KDE 中的合成。 有没有办法使用 Xinerama 启用合成(桌面效果)?为什么会这样? linux xorg monitors 2 个回答 Voted Best Answer Tim 2009-07-09T08:35:05+08:002009-07-09T08:35:05+08:00 合成需要某些图形扩展(最常见的是 GLX)在您的显卡上可用并在您的 X 服务器中启用。然而,很少有驱动程序同时支持驱动 Xinerama 和 GLX 的技术——启用一个往往会禁用另一个。 如果 GPU足够相似,最新的(GeForce 7 或更高版本)Nvidia 卡能够启用此类功能。如果没有,Nvidia 官方驱动程序只会禁用不支持 Xinerama+GLX 的卡上的 GLX 扩展,而不是在所有屏幕上禁用它。AFAIK,开源 nv 驱动程序根本不支持 Xinerama+GLX(或者如果支持,它会受到与官方 nvidia 驱动程序相同的限制)。 如果你绝对没有办法让这两者在你的硬件上很好地工作,你可能想看看mesa库——它是一个软件 3D 渲染工具,它取代了硬件 GLX 并允许进行合成,尽管它的体积很大性能受到打击。 Juliano 2009-07-09T09:04:27+08:002009-07-09T09:04:27+08:00 使用 TwinView 时,您通常不会启用通常的 Xorg Xinerama 扩展,因为 nVidia 驱动程序已经提供了与 TwinView 兼容的 Xinerama 扩展。 从驱动程序的自述文件中: 窗口管理器是否能够适当地放置窗口(例如,避免将窗口放置在两个显示设备上,或放置在虚拟桌面的不可访问区域)? 是的。NVIDIA X 驱动程序提供了一个 Xinerama 扩展,X 客户端(例如窗口管理器)可以使用它来发现当前的 TwinView 配置。请注意,Xinerama 协议无法在配置更改发生时通知客户端,因此如果您将模式切换到不同的 MetaMode,您的窗口管理器仍会认为您具有以前的配置。使用 Xinerama 扩展,结合 XF86VidMode 扩展来获取模式切换事件,窗口管理器应该能够在任何给定时间确定 TwinView 配置。
合成需要某些图形扩展(最常见的是 GLX)在您的显卡上可用并在您的 X 服务器中启用。然而,很少有驱动程序同时支持驱动 Xinerama 和 GLX 的技术——启用一个往往会禁用另一个。
如果 GPU足够相似,最新的(GeForce 7 或更高版本)Nvidia 卡能够启用此类功能。如果没有,Nvidia 官方驱动程序只会禁用不支持 Xinerama+GLX 的卡上的 GLX 扩展,而不是在所有屏幕上禁用它。AFAIK,开源 nv 驱动程序根本不支持 Xinerama+GLX(或者如果支持,它会受到与官方 nvidia 驱动程序相同的限制)。
如果你绝对没有办法让这两者在你的硬件上很好地工作,你可能想看看mesa库——它是一个软件 3D 渲染工具,它取代了硬件 GLX 并允许进行合成,尽管它的体积很大性能受到打击。
使用 TwinView 时,您通常不会启用通常的 Xorg Xinerama 扩展,因为 nVidia 驱动程序已经提供了与 TwinView 兼容的 Xinerama 扩展。
从驱动程序的自述文件中: