未检测到 NVIDIA,但检测到 llvmpipe(LLVM 6.0,256 位)

未检测到 NVIDIA,但检测到 llvmpipe(LLVM 6.0,256 位)

起初,由于固件问题,我无法安装 NVIDIA 驱动程序。修复此问题后,我从命令行安装了 NVIDIA 驱动程序,但当我重新启动时,“关于此计算机”中显示的不是 NVIDIA,而是 llvmpipe(LLVM 6.0,256 位)。

我已经尝试了所有方法,请帮忙,我不想再次格式化。

显示系统详细信息的屏幕截图

alex@alex:~$ lspci -k | grep -EA3 'VGA|3D|Display'
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
    Subsystem: Acer Incorporated [ALI] Device 1193
    Kernel modules: i915
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
    Subsystem: Acer Incorporated [ALI] Device 1193
    Kernel modules: i915
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)

终端截图

答案1

在 UEFI 又名 BIOS 中禁用安全启动,驱动程序应该可以正常加载。

答案2

当我更新发行版并使用脚本安装最新的 NVIDIA 驱动程序时,我在 OpenSUSE Tumbleed(64 位)中遇到了类似的问题.run

问题是所有原生 32 位游戏都使用了这个渲染器:

GL_RENDERER: llvmpipe (LLVM 12.0.0, 256 bits) 

而且它们的运行速度非常慢,最多只有 5 到 15 fps。

这是因为软件渲染器是唯一检测到的渲染器,并且在系统中没有其他加速渲染器的情况下使用。这就是我的情况。

事实证明,驱动程序安装在:

/usr/lib32 instead of /usr/lib

(我的发行版中的标准路径)。

Mesa 软渲染器(32 位)位于:

/usr/lib/libGLX_mesa.so.0

并且 NVIDIA 32 位库位于:

/usr/lib32/libGLX_nvidia.so.465.31

解决方法是导出库路径:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib32"; doom3

doom3是我在本例中测试的 32 位游戏,现在可以与 NVIDIA 加速库一起使用。

为了使其适用于整个系统和所有用户,我添加了这个文件:

/etc/ld.so.conf.d/32bitlibs.conf

使用以下行:

/usr/lib32

然后我跑了:

ldconfig

并且所有 32 位应用程序现在都使用 NVIDIA 驱动程序。


对于 Ubuntu 来说,32 位的系统库位于:

/usr/lib/i386-linux-gnu

对于 64 位:

/usr/lib/x86_64-linux-gnu

/lib/i386-linux-gnu也用于 32 位库。

我希望这可以帮助其他遇到类似问题的 Linux 用户。

相关内容