Ubuntu 17.10 将不使用 nvidia 驱动程序,而是使用 nouveau

Ubuntu 17.10 将不使用 nvidia 驱动程序,而是使用 nouveau

我已经运行 Ubuntu 17.10 一段时间了。我有一台联想 Ideapad 510-15ISK,配有 Nvidia Geforce 940MX 和一些英特尔集成显卡。这台电脑运行 Dota 2 时效果很好,我玩的是 Dota 2。我安装了 Nvidia 专有驱动程序 384.111。

但我突然发现,在玩 Dota 2 时,帧率下降了很多,从稳定的 100 下降到 30-40 左右。我当然认为这是驱动程序的问题。所以我发现不再使用 Nvidia 驱动程序,而是使用 nouveau 驱动程序:

03:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940MX] (rev a2)
Subsystem: Lenovo GM108M [GeForce 940MX]
Flags: bus master, fast devsel, latency 0, IRQ 11
Memory at 93000000 (32-bit, non-prefetchable) [size=16M]
Memory at 80000000 (64-bit, prefetchable) [size=256M]
Memory at 90000000 (64-bit, prefetchable) [size=32M]
I/O ports at 3000 [disabled] [size=128]
Expansion ROM at <ignored> [disabled]
Capabilities: <access denied>
Kernel modules: nvidiafb, nouveau

我发现“nvidiafb”不是 Nvidia 专有驱动程序。

但是,当我查看“软件和更新”时,它显示我正在使用专有驱动程序。请参阅此屏幕截图:nvidia 驱动程序

如您在屏幕截图中看到的,我更改了驱动程序版本。我已经尝试清除所有 nvidia 驱动程序并重新安装。我使用了 384.111 和 390.12,但在所有情况下,我的 Ubuntu 安装仍然使用 nouveau 驱动程序。

我也尝试将新型驱动程序添加到黑名单,但这并没有什么区别。

可能是什么问题?我怎样才能让 Ubuntu 再次使用专有驱动程序?希望我提供了足够的信息,如果需要提供更多信息,请告诉我。

(可能由于这个原因,Nvidia X Server 应用程序无法启动。)

答案1

一个常见问题是没有加载正确的内核模块。您遇到了这个问题(见下文):

Kernel modules: nvidiafb, nouveau

请遵循

Elder_Geek

在关于此主题的原始文章中:安装 Nvidia 驱动程序而不是 nouveau

0)下载最新的 NVIDIA 驱动程序

1)使用 Ctrl+Alt+F1 关闭登录管理器,然后输入

sudo service lightdm stop

2)通过编辑将非专有驱动程序列入黑名单/etc/modprobe.d/blacklist.conf

blacklist nouveau
blacklist nvidiafb

3) 删除现有的 nvidia 驱动程序并清除所有旧的状态和模块条目

sudo apt-get remove --purge nvidia-*

4)重建当前内核

sudo update-initramfs -u

5)重启

6) 从命令行安装新的 NVIDIA 驱动程序:退出登录屏幕并停止 x-server [参见步骤 (1)],运行从 NVIDIA 下载的驱动程序,安装该驱动程序,然后重新启动

7)执行lshw -c videomodprobe nvidia确保正确的内核模块正在运行:

modinfo nvidia
filename:       /lib/modules/4.13.0-36-generic/kernel/drivers/video/nvidia.ko
alias:          char-major-195-*
version:        390.25
supported:      external
license:        NVIDIA
srcversion:     B5B1CA3087B567ADFADC070
alias:          pci:v000010DEd00000E00sv*sd*bc04sc80i00*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
depends:        ipmi_msghandler
name:           nvidia
vermagic:       4.13.0-36-generic SMP mod_unload 
parm:           NVreg_Mobile:int
parm:           NVreg_ResmanDebugLevel:int
parm:           NVreg_RmLogonRC:int
parm:           NVreg_ModifyDeviceFiles:int
parm:           NVreg_DeviceFileUID:int
parm:           NVreg_DeviceFileGID:int
parm:           NVreg_DeviceFileMode:int
parm:           NVreg_UpdateMemoryTypes:int
parm:           NVreg_InitializeSystemMemoryAllocations:int
parm:           NVreg_UsePageAttributeTable:int
parm:           NVreg_MapRegistersEarly:int
parm:           NVreg_RegisterForACPIEvents:int
parm:           NVreg_CheckPCIConfigSpace:int
parm:           NVreg_EnablePCIeGen3:int
parm:           NVreg_EnableMSI:int
parm:           NVreg_TCEBypassMode:int
parm:           NVreg_UseThreadedInterrupts:int
parm:           NVreg_EnableStreamMemOPs:int
parm:           NVreg_EnableBacklightHandler:int
parm:           NVreg_EnableUserNUMAManagement:int
parm:           NVreg_EnableIBMNPURelaxedOrderingMode:int
parm:           NVreg_MemoryPoolSize:int
parm:           NVreg_IgnoreMMIOCheck:int
parm:           NVreg_RegistryDwords:charp
parm:           NVreg_RegistryDwordsPerDevice:charp
parm:           NVreg_RmMsg:charp
parm:           NVreg_AssignGpus:charp

lshw -c video

  *-display
       description: VGA compatible controller
       product: NVIDIA Corporation
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:04:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:64 memory:f2000000-f2ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:2000(size=128) memory:c0000-dffff

如果条目licensenameconfiguration: driver对您来说与此处的相同,则表示一切顺利且专有驱动程序正在运行。

相关内容