我正在运行 Debian Stretch,但在运行需要 3d 的程序(Unity3d for Linux,测试版)时遇到问题。启动它时,我收到一条消息“无法初始化统一图形”。
我认为这是由旧的显卡驱动程序引起的。
我的显卡:
lspci -nn | egrep -i "3d|display|vga"
00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 18)
我应该更新它,安装专有驱动程序吗?我怎样才能做到这一点?
显卡驱动程序是否通过通用apt upgrade
命令更新?
答案1
这几乎可以肯定是硬件问题而不是驱动程序问题。 Linux 包括对 Intel 显卡的支持(Intel 非常擅长为 Linux 提供和更新源代码以支持其显卡)。但是您的特定版本的 Intel Graphics 可能太旧,无法提供 Unity 所需的 openGL 功能。 Intel 对 openGL 3.2+ 的支持始于 2012 年的 HD 4000 GPU。
PCI ID8086:0046
是 2010 年的 Intel HD 显卡。通过一些快速谷歌搜索,我认为它甚至不支持 OpenGL 版本 2,而 Unity 在 Linux 上需要 OpenGL 3.2 到 4.5。
要验证这一点,请尝试运行glxinfo | grep -i opengl.version
以了解您的 Intel HD GPU 支持哪个版本的 openGL。例如,在我的系统上(使用古老的 Nvidia GTX-560 Ti),它返回:
$ glxinfo | grep -i opengl.version
OpenGL version string: 4.5.0 NVIDIA 384.111
这意味着它是 OpenGL 版本 4.5.0,驱动程序是专有的 nvidia 驱动程序版本 384.111。
如果 openGL 版本的数字小于 3.2,则 Unity 将无法在您的 GPU 上运行。
如果这是在带有备用 PCI-e 插槽的台式机上,您可以安装 AMD 或 Nvidia GPU(即使是当前最便宜的型号也将是许多比古老的英特尔高清显卡快数倍,比任何英特尔显卡都快。英特尔 GPU 并不以其速度而著称 - 它们足以满足基本的 2D 图形(例如台式机),甚至一些轻量级 3D 图形,仅此而已)。
如果这是在笔记本电脑上,那么您无能为力。它们不太可升级。