|
首发于微信公众号:ManjaroLinux
目录
- 1 概述
- 2 自动检测和安装显卡驱动
- 3 手动检测和安装显卡驱动
- 3.1 识别可用的显卡驱动程序
- 3.2 安装显卡驱动程序
- 3.3 强制重新安装显卡驱动程序
- 4 删除已安装的显卡驱动程序
- 4.1 识别已安装的显卡驱动程序
- 4.2 删除已安装的显卡驱动程序
- 5 检查配置
- 6 双显卡
- 7 NVIDIA闭源驱动程序
- 7.1 英伟达Optimus
- 7.2 配置分辨率/刷新率
- 7.3 配置X屏幕设置(OpenGL设置等)
- 7.4特殊情况下的Nvidia设置
- 7.5 nvidia-prime显卡驱动
- 7.6 Bumblebee显卡驱动
- 8 更简单的方法
- 9 如何检查驱动程序
概述
注意:mhwd仍在开发中,目前仅能安装内部pci连接的显卡驱动。
如果安装了完整版本的Manjaro(即预装了桌面环境,编/解码器和软件应用程序),则GUI和CLI安装程序将自动运行mhwd命令,以自动检测你的显卡并安装最合适的显卡驱动程序。是否安装开源或闭源驱动程序取决于你在安装系统时择使用开源还是闭源显卡驱动程序。若你安装了精简NET版的Manjaro,则安装之后有必要手动运行mhwd命令来安装显卡驱动。
对于初学者,建议使用Manjaro Settings Manager(系统设置)中的“硬件检测”来更改或安装新的显卡驱动程序。对于高级用户,也可以用mhwd命令安装,重新安装和删除已安装的显卡驱动程序。
自动检测和安装显卡驱动
这是检测和安装显卡驱动程序的推荐方法。自动安装方法的命令语法为:
sudo mhwd -a [pci或usb连接] [开源或闭源驱动程序] 0300自动安装驱动命令的详细介绍如下:
- -a:自动检测并安装适当的驱动程序
- [pci或usb]:为通过pci内部连接或通过usb外部连接的设备安装适当的驱动程序(同样,mhwd当前在其开发阶段仅支持pci连接)
- [开源或闭源]:安装开源驱动程序(例如,Linux社区提供)或闭源驱动程序(例如,硬件制造商提供,尤其英伟达显卡)
- 0300:代表安装显卡驱动程序(0300是显卡的代号,随着mhwd命令的发展,新的代号将用于其他硬件)
例如,以下命令将自动检测和安装pci连接显卡的最佳可用闭源驱动程序:
sudo mhwd -a pci nonfree 0300相反,以下命令将自动检测和安装用于pci连接显卡的最佳开源驱动程序:
sudo mhwd -a pci free 0300手动检测和安装显卡驱动
使用mhwd命令,自己动手安装也不难。应该分两个阶段进行:
识别可用的显卡驱动程序
在手动安装显卡驱动程序之前,有必要确定哪些驱动程序可用于你的系统。要列出可用且合适的驱动程序用以下命令:
mhwd -l [可选:详细视图] [可选:-pci或--usb连接]使用不带附加选项的此命令将列出连接到系统的设备的所有可用驱动程序的基本信息。驱动程序中,显卡驱动程序的名称都带有前缀(video-)。列出的驱动程序提供以下信息:
可以通过以下命令获取所有已安装驱动程序的列表:
mhwd -l -d列表将会提供以下信息:
- 驱动名称
- 版本号
- PCI或USB连接
- 相关描述
- 优先级
- 开源或闭源
- 依赖关系
- 矛盾冲突
- 硬件代号(例如,图形卡驱动程序为“ 0300”)
- 供应商代号
此外,在以下示例中使用--pci过滤器将只列出使用内部PCI连接的设备(比如显卡)可用的驱动程序的详细信息:
mhwd -l -d --pci
安装显卡驱动程序
要手动安装显卡驱动程序,命令语法是:
sudo mhwd -i pci [驱动程序名称]手动安装驱动程序的命令的细分如下:
- -i:安装驱动程序
- [pci]:为通过pci内部连接的设备(例如图形卡)安装驱动程序
- [驱动程序名称]:要安装的驱动程序名称
例如,要安装专有的英伟达显卡驱动程序,将使用以下命令:
sudo mhwd -i pci video-nvidia强制重新安装显卡驱动程序
强制重新安装现有驱动程序且不先删除驱动程序,语法为:
sudo mhwd -f -i pci [驱动程序名称]警告:请谨慎使用此命令! 例如,要强制重新安装以前安装的英伟达显卡驱动程序,将使用以下命令:
sudo mhwd -f -i pci video-nvidia
删除已安装的显卡驱动程序
有时可能需要删除已安装的显卡驱动程序。与手动安装显卡驱动程序类似,应执行以下两个步骤来卸载:
毕竟如果你不知道显卡驱动的名子,那么你怎么来删除已安装的驱动程序呢?
识别已安装的显卡驱动程序
要识别并列出Manjaro已安装的显卡驱动程序,语法为:
mhwd -li [可选:详细视图] [可选:仅适用于pci或usb设备]使用不带附加选项的此命令将列出系统上当前安装的所有驱动程序的基本信息。所有显卡驱动程序的名称都将带有前缀(video-)。与列出系统可用的驱动程序一样,以下命令中使用的-d选项将列出详细信息:
mhwd -li -d该信息可能有助于确定在卸下驱动程序时产生的其他无法预料的后果。同样,也可以将已安装的驱动程序根据是否通过pci或usb连接来对已安装的驱动程序进行筛选。下面的命令,只会列出通过PCI连接的硬件上所使用的驱动程序的详细列表:
mhwd -li -d --pcimhwd配置文件“ video-linux”对应于可用于您的硬件的最新开源驱动程序。
mhwd配置文件“ video-vesa”是备用驱动程序,在通常情况下不应使用。
删除已安装的显卡驱动程序
要删除已安装的驱动程序,命令语法为:
sudo mhwd -r [pci或usb] [驱动程序名称]例如,要删除英伟达显卡(通过pci内部连接)驱动程序,将使用以下命令:
sudo mhwd -r pci video-nvidia检查配置
您可以使用以下方法检查配置:
mhwd-gpu --check
mhwd-gpu --status并根据需要解决以下问题:
mhwd-gpu --setmod
mhwd-gpu --setxorg [PATH]确保指向xorg配置文件的路径有效。 双显卡
如果你的电脑是双显卡,则可以利用PRIME来卸载。PRIME是一项用于管理台式机和笔记本电脑双显卡的技术。PRIME会检测到两个显卡,默认情况下会自动选择集成显卡,当需要使用独立显卡时时,可以通过命令来调用独立显卡。
你可以选择使用特定的显卡来运行程序,只需要在运行应用程序的命令前加上DRI_PRIME = x,其中x是显卡的优先级编号。例如,要使用独立显卡运行应用程序,请在应用程序命令前添加DRI_PRIME = 1
DRI_PRIME = 1 glxspheres64 # glxspheres64是运行的程序要使用集成显卡运行某个程序,执行以下命令:
DRI_PRIME = 0 glxspheres64如果你希望始终使用独立显卡运行某些应用程序,则可以将该应用程序的.desktop文件复制到:~/.local/share/applications/并编辑“ Exec”属性
Exec = DRI_PRIME = 1 inkscape某些应用程序(通常是Steam之类的游戏)可能有集成显卡选项来指定命令行,在这种情况下,首选使用这种方式。例如,在Steam中,从Steam客户端的“库”页面中选择一个您要使用独立显卡运行的游戏,右键单击并选择“属性”。单击“设置启动选项...”按钮,并为命令行选项指定,然后用以下命令指定默认的启动挂钩%command%。
DRI_PRIME = 1%command%NVIDIA专有(闭源)驱动程序
如果你是英伟达显卡,则可以选择使用专有(闭源)驱动程序,而不选择开源nouveau驱动程序。对于比较老的英伟达显卡,Manjaro会维护旧版驱动程序以实现兼容性。在这些情况下,驱动程序名称需要注意,不是nvidia,而是nvidia-390xx或nvidia340xx。当您安装专有(闭源)驱动程序时,mhwd会安装一个Nvidia实用程序,即“ Nvidia设置实用程序”,可以帮助你进行相关配置。你可以在GUI应用程序菜单中找到该实用程序,也可以从终端用以下命令来启动它。
sudo nvidia-settings如果你使用的是bumblebee驱动程序,则“nvidia实用程序”需要一个特殊的命令:
sudo optirun -b none nvidia-settings -c :8
英伟达Optimus显卡
对于使用Optimus的笔记本电脑或Intel和Nvidia双显卡的电脑,你可以根据自己的喜好或硬件功能使用以下三个选项配置驱动程序。
- PRIME(MHWD默认)
- Bumblebee
- Optimus Manager
当你从Grub菜单中选择了闭源显卡驱动选项来安装Manjaro时,或者当你使用自动驱动程序安装时,默认情况下会安装PRIME或Bumblebee,具体取决于对GPU的支持(首选PRIME)。在这些情况下,mhwd驱动程序名为“ video-hybrid-intel-nvidia-***xx-prime”或“video-hybrid-intel-nvidia-***xx-bumblebee”。
配置分辨率/刷新率
1.启动nvidia-settings实用程序2.在“ X服务器显示配置”选项卡中更改分辨率和刷新率。3.点击“保存到X配置文件”按钮,然后保存到/etc/X11/mhwd.d/nvidia.conf4.启动你的终端并输入以下命令以完成该过程:
sudo mhwd-gpu --setmod nvidia --setxorg /etc/X11/mhwd.d/nvidia.conf警告:所提供的方法当前不适用于Cinnamon Edition。
配置X屏幕设置(OpenGL设置等)
1.启动nvidia-settings实用程序2.在“ X屏幕”选项卡的“ X服务器XVideo设置”,“ OpenGL和抗锯齿”中更改设置。3.单击“ nvidia设置配置”选项卡,然后单击“保存当前配置”按钮。4.将.nvidia-settings-rc保存到指定的默认位置(/home/[你的帐户名称])5.使用文本编辑器编辑.xinitrc文件。例如,如果您使用gedit编辑器,请在终端中运行以下命令:
gedit~ /.xinitrc6.打开后,将以下行添加到配置文件中:
exec nvidia-settings --load-config-only7.保存并退出。
特殊情况下的Nvidia设置
如果你的显示器未进入省电模式(DPMS),请尝试在Xorg显示器部分中添加'Option “HardDPMS” “ true”'。例如:
Section "Monitor" # HorizSync source: edid, VertRefresh source: edid Identifier "Monitor0" VendorName "Unknown" ModelName "BenQ ZOWIE XL LCD" HorizSync 30.0 - 160.0 VertRefresh 56.0 - 144.0 Option "DPMS" Option "HardDPMS" "true" EndSection
nvidia-prime显卡驱动
Manjaro还提供了一种将PRIME与专有(闭源)Nvidia驱动程序结合使用的简便方法:只需通过MSM或MHWD选择并安装 “nvidia-prime” 配置文件(例如video-hybrid-intel-nvidia-440xx-prime),并确保已安装软件包nvidia-prime。然后,当要使用独立显卡,在应用程序命令前添加prime-run。例如:
prime-run glxspheres64
Bumblebee显卡驱动
Bumblebee配置主要是为了帮助最大程度地减少笔记本电脑的电池消耗,因为Nvidia通常消耗大量电能,而Intel显卡(集成显卡)则具有更高的能源效率。因此,Bumblebee会同时检测到两张显卡并自动选择Intel卡,并且可以将英伟达显卡(独立显卡)用于要求更高的应用程序。要使应用程序使用英伟达显卡,请在应用程序命令前添加optirun或者primusrun。例如:
optirun glxspheres64
primusrun inkscape如果要使用英伟达显卡驱动程序专门运行某些应用程序,则可以编辑该应用程序的.desktop文件“ Exec”属性,或像这样在终端中运行它
Exec=primusrun chromium #以chromium浏览器为例某些应用程序(通常是Steam之类的游戏)可能具有嵌入选项来指定命令行,在这种情况下,首选这种方式。例如,在Steam中,从Steam客户端的“库”页面中选择一个你要使用独立显卡运行的游戏,右键单击并选择“属性”。单击“设置启动选项...”按钮,并为命令行选项指定,然后指定默认的启动挂钩%command%。
primusrun%command%如何检查驱动程序
glxinfo | grep OpenGL
输出命令示例
英伟达显卡驱动程序(闭源驱动程序):
$ glxinfo | grep OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 660/PCIe/SSE2
OpenGL core profile version string: 4.3.0 NVIDIA 331.49
OpenGL core profile shading language version string: 4.30 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.4.0 NVIDIA 331.49
OpenGL shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
Nouveau显卡驱动程序(开源的驱动程序):
$ glxinfo | grep OpenGL
OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NVE6
OpenGL core profile version string: 3.1 (Core Profile) Mesa 9.2.5
OpenGL core profile shading language version string: 1.40
OpenGL core profile context flags: (none)
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 9.2.5
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
Mesa的Intel驱动程序(开放式驱动程序):
$ glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Desktop
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.0.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.0.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.0.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions: |
|