对于 3D 扫描仪实现,我需要精确控制连接到显卡的投影仪的输出,该投影仪是第二台显示器。我需要使用第二个 X 服务器实例在第二台显示器上全屏环境下发出 OpenGL 命令。我在 Ubuntu 13.04 上安装了一台包含 AMD V7900 GPU 的 Dell Precision T3600 工作站。
如何在主屏幕上获取一个带有 Unity 的 X 服务器,并为投影仪获取仅包含全屏 OpenGL 上下文的第二个 X 服务器实例?
答案1
好的,我想到了一个解决方案,尽管它有点棘手。我已经为多显示器设置配置了我的图形驱动程序。这样,每个“显示器”都表示为一个单独的 X 屏幕。Ubuntu Unity 无法很好地处理这种情况,因为它目前需要具有单个虚拟屏幕的 XrandR 设置。但是,通过从我的 xorg.conf 中删除相对屏幕位置信息,Unity 会完全忽略第二个屏幕。现在,我可以在第二个 X 屏幕上创建全屏 OpenGL 上下文,而不会受到操作系统的任何干扰。我的 xorg.conf 的顶部如下所示:
部分“ServerLayout”标识符“amdcccle Layout”屏幕 0“amdcccle-Screen[5]-0”0 0 屏幕“amdcccle-Screen[5]-1”结束部分
在旧式多屏幕设置中,第二个屏幕会有位置说明符(例如 1920 0 或“屏幕右侧 0”)。通过删除它们,第二个屏幕将被忽略。