最近,在安装 ubuntu 16.04 大约 2 个月后,我从终端运行的所有游戏都会向终端发送以下消息:
../../../../src/intel/isl/isl.c:232: FINISHME: isl_surf_choose_tiling: gen6
有什么办法可以解决这个问题吗?我正在使用 Oibaf 图形驱动程序,正在考虑切换回 Windows。
从那时起,我在 Minecraft 中遇到了奇怪的 fps 问题。我从来没有在 Minecraft 中遇到过 fps 问题...
答案1
我matlab
在终端中运行时遇到了这个问题。具体来说,运行matlab -nodesktop -nosplash
该plot
函数(或任何使用 OpenGL 的函数)会给出一堆../../../../src/intel/isl/isl.c:242: FINISHME: isl_surf_choose_tiling: gen6
消息。
您之所以看到这些消息,是因为您正在使用 Oibaf PPA。https://patchwork.freedesktop.org/patch/107575/这将删除这些消息,但尚未被接受。因此,如果您确实想删除这些消息,您ppa-purge
现在可以通过运行以下命令来删除 Oibaf PPA:
sudo apt install ppa-purge # do this if you don't have ppa-purge
sudo ppa-purge ppa:oibaf/graphics-drivers
抑制这些警告的一种方法是/dev/null
通过启动感兴趣的程序将 stderr 重定向到,如下所示:
program-of-interest 2> /dev/null
正如 @Zanna 指出的那样,您也可以将 stderr 重定向到一个文件,然后grep
将该文件重定向到感兴趣的错误:
program-of-interest 2> /path/to/file
matlab
在终端中充当 REPL的特定情况下,将 stderr 重定向到/dev/null
会导致有用的警告(例如语法错误、未定义变量等)被抑制。将 stderr 重定向到文件然后grep
-ping 该文件也在某种程度上违背了使用 REPL 的目的。如果您感兴趣的程序不是 REPL 而是游戏,那么这两种方式仍然有用。
答案2
该终端消息看起来像是某种状态。如果您从终端运行程序,它们将输出消息。
由于您是从终端运行游戏,因此您将会看到很多这样的情况,因为游戏往往会渲染一些东西并报告渲染操作的成功或失败。我真的想不出从终端运行游戏的充分理由,而且您还没有提供您做出这一决定背后的思考过程。如果是因为您想要状态报告,那么,您已经得到了。
如果您希望终端不报告任何内容(这并不总是有效),您可以使用以下命令:
PROGRAMNAME &> /dev/null &
末尾的 & 符号将使终端返回提示符。如果您希望能够使用终端中的Ctrl+退出游戏,只需将其删除即可。C
至于 Minecraft 的 FPS 问题,你真的应该在单独的问题中提出这个问题,并真正提出如何修复它的问题,而不是仅仅说它不起作用。如果你想让我们帮助你,你需要先帮助我们,向我们提供详细信息、原因和背景。也许可以尝试卸载 Oibaf 的驱动程序并使用默认的英特尔驱动程序。