戴尔XPS 15 9570(2018)禁用nvidia GPU

我最近购买了戴尔XPS 15 9570并成功安装了Ubuntu 18.04。

事情大部分都按预期工作,但是有一些与电源和nvidia GPU有关的问题。

目前,我有两个我认为重要的问题:

  1. 默认情况下,即使我运行sudo prime-select intel Nvidia GPU也会默认启动。 我可以使用bbswitch和终端上的sudo tee /etc/acpi/bbswitch <<<OFF禁用它。 我希望能够在启动时禁用显卡,因为我只在Linux下使用笔记本电脑提高工作效率。
  2. 使用交流电源时笔记本电脑无法进入睡眠状态, 并且 bbswitch报告GPU已关闭。 它在使用电池时正常进入睡眠状态,但在交流电源上它会进入睡眠状态但在再次打开笔记本电脑盖时会挂起,只留下硬断电。

建立

我在配备16G RAM,NVidia 1050 TI显卡和i7-8750H处理器的戴尔XPS 15 9570上运行Ubuntu 18.04。

按时间顺序排列的系统设置操作

  • 使用nouveau.modeset=0安装Ubuntu 18.04,以便能够首次运行实时映像和已安装的系统
  • Additional Drivers面板安装适当的nvidia驱动Additional Drivers 。 这将安装驱动程序以及nvidia-prime
  • 使用sudo prime-select intel选择intel卡。 重启。 这确保了intel卡是系统使用的卡。 但是,即使没有使用,谨慎的卡仍然可以使用。 这是由cat /proc/acpi/bbswitch 。 此命令返回0000:01:00 ON ,表示GPU已打开。 此外,当我通过bbswitch手动关闭GPU时,powertop显示~20W的放电率与~10W相比。
  • 安装bbswitch以确保我可以实际禁用离散卡,并使用sudo tee /etc/acpi/bbswitch <<<OFF

我尝试过的事情

  • 尝试安装大黄蜂,因为这应该控制bbswitch并在需要时禁用/启用离散GPU。 安装大黄蜂会导致我无法加载的系统。 我必须通过转到根控制台并清除大黄蜂来恢复系统*
  • 我已经尝试修改/etc/modules/以包含bbswitch load_state=0 unload_state=1如bbswitch GitHub页面上所建议的那样 。 这不起作用,只有当我离开bbswitch它加载bbswitch,但然后我需要手动禁用GPU。

欢迎任何想法。 也可以随时向我询问更多详情。 令人沮丧的是,这种完美的笔记本电脑在Ubuntu下遇到了这些问题。

在运行Ubuntu 18.04的9750上,无论何时在登录或启动之前使用bbswitch关闭dgpu,我的系统都会死机。

在尝试了许多不同的方法和许多重新启动后,我决定采用一种解决方法:在重新启动一段时间(60秒)后安排一个cron作业来激活bbswitch,这样我就可以在bbswitch启动之前登录。

在终端中以root身份打开crontab:

 sudo crontab -e 

添加到cron:

 @reboot sleep 60 && /sbin/modprobe bbswitch 

将/ sbin / modprobe替换为modprobe可执行文件所在的位置,这假设已安装bbswitch。

还要添加到/etc/modprobe.d/bbswitch.conf:

 options bbswitch load_state=0 unload_state=1 

这会在加载bbswitch时关闭dgpu并在卸载bbswitch时打开。 有关详细信息,请参阅此处 。

对于盖子问题,我不得不编辑logind.conf:

 sudo nano /etc/systemd/logind.conf 

更改以下行:

 HandleLidSwitchDocked=ignore 

 HandleLidSwitchDocked=suspend 

奇怪的是,如果您保留默认设置(=忽略),请连接外部显示器并关闭计算机在重新打开时不会冻结的盖子。 使用= ignore并使用外部显示器,当您关闭盖子时计算机将暂停,但您可以使用鼠标/键盘唤醒外接显示器。

查看我的post在这里查看我的博客文章 – https://medium.com/@pwaterz/how-to-dual-boot-windows-10-and-ubuntu-18-04-on-the-15-inch-戴尔XPS-9570-与-NVIDIA-1050ti-GPU-4b9a2901493d

我已经记录了使用XSP 9570和Ubuntu 18.04解决大多数问题