长期以来,我一直使用 NVIDIA 专有驱动程序。附加驱动程序NVIDIA 驱动程序已激活。但是,我刚刚“删除”了该驱动程序,因为出于其他原因我想使用 Nouveau 驱动程序。然而,我有理由相信我仍然在使用 NVIDIA 驱动程序,因为输出modprobe -l
如下:
$ modprobe -l | grep 'nvidia'
kernel/drivers/video/nvidia/nvidiafb.ko
我如何真的确定我正在使用什么驱动程序,以及如何启用 Nouveau?
答案1
nvidiafb
是 Linux 内核中的帧缓冲区驱动程序。不是 nvidia 的专有模块。(nvidia.ko)。
如果要查看模块的简短描述,请在终端中发出以下命令
modinfo nvidiafb | grep description
如果你想阅读更多关于帧缓冲区的内容,请阅读Ubuntu Wiki 上的 FrambeBuffer。
你可以通过以下命令查看是否安装了某些 nvidia 包
dpkg -l | grep -i nvidia
如果你想搜索 nouveau 模块是否已加载,你可以应用
lsmod | grep nouveau
如果加载了 nvidia 限制模块,那么 nouveau 模块也无法加载(相互冲突)。
Nvidia 的(受限)模块名称是nvidia
。而不是 nvidiafb 或类似名称。
您也可以从“附加驱动程序”页面进行搜索。以下示例中,没有使用专有驱动程序
另一个命令可以显示正在使用的驱动程序:
lspci -nnk | grep -iA2 vga
你会看到这样一行
kernel driver in use: *****
如果是 nvidia ,则表示您已安装并使用了 nvidia 驱动程序。如果是 nouveau ,则表示您未安装。
答案2
您可以使用优秀的inxi
工具。从存储库安装它:
sudo apt install inxi
或者来自 github:https://github.com/smxi/inxi
然后通过以下方式进行查询:
$ inxi -Gx
Graphics: Card: NVIDIA GP104 [GeForce GTX 1080] bus-ID: 01:00.0
Display Server: X.Org 1.19.5 driver: nvidia Resolution: [email protected]
OpenGL: renderer: GeForce GTX 1080/PCIe/SSE2 version: 4.5.0 NVIDIA 390.25 Direct Render: Yes
在第三行您可以看到字符串NVIDIA 390.25
,这意味着我正在使用 Nvidia 二进制驱动程序。
答案3
这是一个老问题,但这里有一个可靠的答案,以防其他人正在寻找相同的答案,您可以信赖它。
运行以下命令:
sudo lshw -class video | grep driver=
示例输出:
configuration: driver=nouveau latency=0
如果您想获得更多详细信息,请运行:
sudo lshw -class video
以下是示例输出:
*-display
description: VGA compatible controller
product: GP106M [GeForce GTX 1060 Mobile 6GB]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nouveau latency=0
resources: irq:124 memory:db000000-dbffffff memory:90000000-9fffffff memory:a0000000-a1ffffff ioport:e000(size=128) memory:c0000-dffff
答案4
在任何安装了NVIDIA驱动并且加载到内核的linux系统,可以执行:
cat /proc/driver/nvidia/version