这就是我遇到的奇怪问题。(如果这超出了 Ubuntu 的范围,请告诉我)
我最近购买了一款采用 Nvidia Optimus 技术的全新三星 7 系列 Chronos。我安装了 Bumblebee,还添加了 Bumblebee 指示器。作为《指环王》在线版玩家,我安装了 Wine (1.5) 和 PyLotro(Windows 版本,因为 Linux 原生版本不再适用于最新更新)。奇怪的是,当我使用 Bumblebee 指示器或 optirun 使用 PyLotro 启动 Lotro 时,输出框仅显示“*完成的*' 没有任何其他详细信息,它就不会运行。但是,如果我在 bumblebee 之外运行 PyLotro,它会给我很多输出并启动游戏。
有人知道我该如何通过 NVidia 卡实现这个功能吗?谢谢
答案1
对于那些遇到同样问题的人(无论是否使用 Lotro),这就是我能够使其运行的方法。
首先,您需要安装 primus。它位于 Bumblebee PPA 中,因此如果您正在使用它,请跳过以下命令。
要添加 PPA,请打开终端并输入以下命令:
sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
添加 PPA 后,使用以下命令安装 Primus:
sudo apt-get install primus
如果您有一个 64 位系统(可能),那么您也想使用此命令:
sudo apt-get install primus-libs-ia32:i386
和 optirun (Bumblebee) 一样,Primus 也使用 primusrun。从技术角度来说,这里有一段引文来解释两者之间的区别:
Bumblebee 使用 VirtualGL 将第二个(更快)GPU 生成的图像复制到您的显示器。VirtualGL 旨在通过网络使用,因此需要很多步骤才能启用此功能(压缩、通过网络链接发送图像、解压缩等)。
Primus 不会执行所有这些“额外”步骤,而是采用更直接的路径(将内存中的渲染图像复制到另一个 GPU,然后在那里显示)。理论上,这应该会为您带来更好的性能和更好的兼容性。正在运行的应用程序将“看到”您真实硬件的 OpenGL 实现,不会向它们呈现任何虚拟内容。
我采取的下一步是使用 Windows 版本的 PyLotro,因为 Riders of Rohan 更新导致 Linux 原生 PyLotro 应用程序出现问题。我设置了窗口模式,并使用命令“primusrun wine pylotro.exe”启动了 PyLotro。
这会像过去一样启动 Pylotro,但一旦我单击登录,它就不会收到烦人的“完成”消息,而是启动游戏,问题就消失了。
因此,如果您在通过 optirun 运行 Wine 应用程序时遇到问题,我建议您尝试 primusrun,因为它似乎运行得更好一些。
(找到的解决方案要感谢 webupd8,请参阅此处的页面:WebUpd8 Primus 页面)