linux自动切换核显和独显,在Ubuntu 18.04上切换独显/集显 | 您所在的位置:网站首页 › 独显不工作默认核显 › linux自动切换核显和独显,在Ubuntu 18.04上切换独显/集显 |
对于笔记本来说,独立显卡太耗电了,非常影响续航;但有时候我们又需要用它来运行一些计算密集型程序。这里推荐两种方法来实现显卡切换。 查看独立显卡是否正在使用 在终端输入 lspci | grep NVIDIA 如果跟在显卡型号最后的括号中是rev ff,那么独立显卡已被禁用。 如果是其他数字(如rev 07), 那么独立显卡已被启用。 prime-select / nvidia-settings切换显卡 我是使用ubuntu-drivers autoinstall安装的Nvidia显卡驱动。安装完显卡驱动后,这两个软件就同时安装了。这时你可以在命令行输入 nvidia-settings 之后通过GUI的PRIME Profiles页面来选择使用集显或独显。 等价地,你可以在命令行使用prime-select: 查询当前选择的显卡 prime-select query 切换独显 sudo prime-select nvidia 切换集显 sudo prime-select intel 你需要重启使得上述选择生效。 这种方案的弊端: 当你启动独显时,所有图形程序(比如系统UI)都会在独显上运行;而启用集显时,又完全无法访问独显。因此不能实现集显负责显示,独显负责计算。 每次更改需要重启生效。 为了实现更灵活的管理,你需要Bumblebee。 Bumblebee 安装和使用 安装方法参考这里。 简单来说,如果你使用Ubuntu 14.04以后的系统,那么直接执行 sudo apt-get install bumblebee bumblebee-nvidia primus linux-headers-generic 然后重启就可以了。 此后默认情况下独立显卡被禁用。此时运行 lspci | grep NVIDIA 你应该看到末尾显示rev ff。要使用显卡运行程序,在要运行的程序钱加上optirun, 例如 optirun python 保持python解释器的运行状态,在另一个terminal窗口中执行lspci检查显卡状态,应该发现此时显卡已经被启动了。当使用显卡的程序全部结束后,显卡又随之被禁用. trouble shooting 然而事情可能并没有这么顺利,我使用Ubuntu18.04 + nvidia-430驱动,运行optirun时遇到了下面的错误: [ERROR]Cannot access secondary GPU - error: [XORG] (EE) No devices detected. 如果你的情况类似,那么可以继续参考下面的部分解决。 在/etc/environment最后添加一行 __GLVND_DISALLOW_PATCHING=1 编辑/etc/bumblebee/bumblebee.conf, 修改对应的两行配置: LibraryPath=/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu XorgModulePath=/usr/lib/x86_64-linux-gnu/nvidia-430/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules/input 你最好检查上面配置的各个路径在你的系统中是否都存在,如果不存在则对应修改。比如,根据你所安装的驱动,/usr/lib/x86_64-linux-gnu/nvidia-430/xorg可能要改为其它值。 编辑/etc/modprobe.d/blacklist-nvidia.conf(如果不存在则创建它)如下: blacklist nvidia blacklist nvidia-drm blacklist nvidia-modeset #alias nvidia off alias nvidia-drm off #alias nvidia-modeset off 然后记得执行 sudo update-initramfs 如果不执行,那么下次开机时,/etc/modprobe.d/blacklist-nvidia.conf 就消失了。至于为什么你可以man update-initramfs 查看改命令的description。 编辑/etc/default/grub,添加 nogpumanager 到GRUB_CMDLINE_LINUX_DEFAULT参数,然后 update-grub 执行 sudo systemctl disable nvidia-persistenced 参考 |
CopyRight 2018-2019 实验室设备网 版权所有 |