我在一台戴尔 XPS 9560 笔记本电脑上使用 Ubuntu 16.04,这台笔记本电脑与 Linux 高度兼容。这台笔记本电脑提供两张显卡:
- NVIDIA GeForce GTX 1050
- 英特尔高清显卡 630
我只想将 NVIDIA 卡用于 CUDA,因为它只有 4GB RAM 和用于图形用户界面的 Intel 卡。
问题:
- 如果可以,nvidia 卡将不再可见。因此,如果我调用 nvidia-smi,视频卡将被禁用。
- 如果不工作,我就会得到黑屏。
答案1
该解决方案基于这个 GitHub 要点
我的系统信息:
- 戴尔 XPS 9560
- 我已经安装了 CUDA 9.2 和 Nvidia 显示驱动程序 396.37
- Ubuntu 内核是 4.15.0-24-generic
- 我正在使用 gd3
步骤1
通过编辑此文件来修改 GRUB 配置:
sudo vim /etc/default/grub
并改变:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
到:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_rev_override=1"
最后使用此命令更新 GRUB:
sudo update-grub
如果你愿意,你可以使用这个工具grub 定制器通过添加蓝色突出显示的文本:
重新启动计算机-非常重要!!
第2步
创建一个在计算机关闭时选择英特尔 GPU 的服务,为此创建一个新文件:
sudo vim /etc/init.d/intel-gpu
包含此内容:
#!/bin/bash
# /etc/init.d/intel-gpu
### BEGIN INIT INFO
# Provides: intel-gpu
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Selects the intel GPU over the NVIDIA
### END INIT INFO
case "$1" in
start)
;;
stop)
/usr/bin/prime-select intel
;;
*)
echo "Usage: /etc/init.d/intel-gpu start|stop"
exit 1
;;
esac
exit 0
添加可执行权限:
sudo chmod +x /etc/init.d/intel-gpu
并注册新服务:
sudo update-rc.d intel-gpu defaults
步骤3
现在,我们确保在启动计算机时,lightdm、gdm3 等将使用 Intel GPU,因为上次关闭计算机时我们已启用此 GPU。现在,我们必须在登录帐户时启用 NVIDIA GPU。但是,我们需要 root 访问权限才能执行此操作,并且我们不想每次登录时都提示一个要求输入密码的窗口。为了解决这个问题,我们将在 sudo 配置文件中创建一个命令别名。
首先使用以下命令打开 sudo 配置文件:
sudo visudo
然后将此内容附加到文件末尾:
User_Alias ADMINS = <your_user>
Cmnd_Alias PRIME_SELECT = /usr/bin/prime-select
ADMINS ALL = NOPASSWD: PRIME_SELECT
<your_user>
您的用户名在哪里?
这使得我们无需输入密码即可调用 prime-select。
步骤4
添加自动启动脚本,一旦 lighdm 已经开始使用 Intel 的 GPU,即可将显卡更改为 NVIDIA。为此,附加此命令创建一个新文件,如下所示:
vim ~/.config/autostart/nvidia-gpu.desktop
并添加如下内容:
[Desktop Entry]
Name=NVIDIA GPU
Exec=sudo prime-select nvidia
Type=Application
Terminal=false
重启电脑
现在,您可以使用 NVIDIA GPU 中的所有内存。您可以通过调用命令“nvidia-smi”来验证这一点:
答案2
为了避免在某些情况下注销和登录时出现问题,建议避免执行第 4 步。如果只在需要时激活 NVIDIA 卡,还有助于延长笔记本电脑的电池寿命。但是,这不太实用,因为sudo prime-select nvidia
每次都必须打开终端并写入。为了克服这个“问题”,我做了一个 gnome 3 扩展来解决这个问题。
为了使其工作,你只需要转到此文件夹:
cd ~/.local/share/gnome-shell/extensions/
然后克隆这个存储库:
git clone https://github.com/marcvivet/enable_cuda
mv enable_cuda [email protected]
然后按Alt+ F2,输入“r”(重新启动桌面)或直接重新启动。
完成后,转到 gnome 3 Tweak Tool 并启用扩展。
禁用时结果应为 NVIDIA 灰色图标:
当您单击图标启用 CUDA 时,则显示绿色。
此扩展非常简单,我不会对 NVIDIA 卡的当前状态进行任何检查。因此,如果您使用此图标,请不要使用终端...