Laptop: Acer Predator PH315-52 OS : UBUNTU 18.04.2 LTS Nvidia Driver : 418.87 Kernel : 5.0.0-37-generic Processors : Intel UHD 630 and Nvidia 1660 Ti bbswitch version: 0.8-4ubuntu1 bumblebee version: 3.2.1+git20181231-103~bionicppa1
$ grep bumblebeed /var/log/syslog
输出:
Predator bumblebeed[3353]: Received Terminated signal. Predator bumblebeed[3353]: Unable to disable discrete card. Predator bumblebeed[7981]: /usr/sbin/bumblebeed started Predator bumblebeed[7981]: Unable to disable discrete card.
$ lsmod | grep -i nouveau
输出:(空白输出)##显示 nouveau 未加载
$ lsmod | grep nvidia
输出:
i2c_nvidia_gpu ## 通过“$ modprobe -r i2c_nvidia_gpu”处理,但问题仍然存在 ## 并且所有输出仍然相同 ## 使用 ablove 命令卸载后,“lsmod | grep nvidia”输出为空白
$ cat /proc/acpi/bbswitch
输出:0000:01:00.0 开启
$ sudo tee /proc/acpi/bbswitch <<<**OFF**
输出:关闭
$ dmesg | grep bbswitch
[ 6.659422] bbswitch: loading out-of-tree module taints kernel.
[ 6.660407] bbswitch: module verification failed: signature and/or required key missing - tainting kernel
[ 6.661578] bbswitch: version 0.8
[ 6.662580] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[ 6.663575] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP
[ 6.665690] bbswitch: detected an Optimus _DSM function
[ 6.667873] bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
[ 18.818552] bbswitch: disabling discrete graphics
[ 114.697607] bbswitch: disabling discrete graphics
[ 114.697852] acpi_thermal_rel intel_pch_thermal wmi_bmof acer_wmi
acer_wireless intel_lpss mac_hid soundcore sparse_keymap acpi_pad sch_fq_codel parport_pc ppdev lp parport bbswitch(OE) ip_tables x_tables autofs4 hid_generic usbhid i915 kvmgt vfio_mdev mdev vfio_iommu_type1 vfio kvm irqbypass i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm alx ahci mdio i2c_hid libahci i2c_nvidia_gpu hid wmi video pinctrl_cannonlake pinctrl_intel
[ 114.697897] bbswitch_off+0xbb/0x230 [bbswitch]
[ 114.697898] bbswitch_proc_write+0xb5/0xcc [bbswitch]
[ 446.444365] bbswitch: disabling discrete graphics
$ cat /proc/acpi/bbswitch
输出:0000:01:00.0 ON #############这是问题所在,它应该显示 OFF
$ optirun --status
输出:大黄蜂状态:就绪()。X 未激活。独立显卡已开启。
还有视频 LNXVIDEO:00:无法将电源状态更改为 D3hot
安装步骤:
$ sudo apt update
从 nvidia 网站安装了 Cuda 10.1 .deb 包,并且驱动程序 418.87 随包一起自动安装(prime-select 也随之安装)
$ sudo nano /etc/default/grub
已更改 - GRUB_CMDLINE_LINUX_DEFAULT='pcie_port_pm=off acpi_backlight=none acpi_osi=Linux acpi_osi=!acpi_osi=\"Windows 2009\"'
$ sudo add-apt-repository ppa:bumblebee/testing
$ sudo apt update
安装 synaptics 包管理器,然后通过它安装 bumblebee、bumblebee-nvidia 和 primus(以及所有默认与它们一起安装的其他包,如 bbswitch)
$ sudo nano /etc/bumblebee/bumblebee.conf
Changed 'Driver=' to 'Driver=nvidia' Bridge=primus KernelDriver=nvidia PMMethod=bbswitch LibraryPath=/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu XorgModulePath=/usr/lib/x86_64-linux-gnu/xorg,/usr/lib/xorg/modules XorgConfFile=/etc/bumblebee/xorg.conf.nvidia
$ sudo nano /etc/modprobe.d/bumblebee.conf
blacklist nvidia blacklist nvidia-current blacklist nvidia-current-updates blacklist nvidia_drm blacklist nvidia_uvm blacklist nvidia_modeset blacklist nvidiafb blacklist i2c-nvidia-gpu blacklist i2c-nvidia-gpu blacklist nouveau blacklist nvidia-current
$ sudo nano /etc/modules-load.d/modules.conf
添加了以下内容:
i915
bbswitch
选择英特尔作为主要资料
重新启动笔记本电脑后,上述问题又出现了。
启动时 grep bumblebeed /var/log/syslog 显示- Predator bumblebeed[864]: /usr/sbin/bumblebeed 已启动 Predator bumblebeed[864]: 无法禁用独立卡。
请帮我解决这个问题。
答案1
我在 msi 笔记本电脑(GS65 stealth)上也遇到了完全相同的问题。
我刚刚查看了 lsmod 输出,现在也尝试手动删除模块。我本来想顶一下你的帖子,但我刚刚创建了这个帐户。
在自适应电源模式下使用 nvidia 卡至少可以节省更多的电池(续航时间大约是原来的两倍)。
编辑:禁用或将 i2c_nvidia_gpu 模块列入黑名单不会产生任何效果。即使您没有安装 nouveau 或 nvidia 驱动程序,此模块也会默认加载,显然它与 bumblebee/bbswitch 无关。
乍一看,Bumblebee/prime 工作正常,但 nvidia 驱动程序已被停用,并且您正在使用英特尔集成显卡,问题似乎是,nvidia GPU 仍在消耗计算机大量电量,即使它没有被使用(应该关闭)。
编辑2:
我找到了另一篇关于关闭专用 gpu 的帖子,也许这对你有用。我稍后会尝试:
https://www.reddit.com/r/linux/comments/78is1r/complete_disable_of_discrete_gpu/
EDIT3:对我来说,从 nvidia xserver 设置(或)中选择 Intel prime 配置文件prime-select intel
,注销然后重新登录,然后运行
$ sudo tee /proc/acpi/bbswitch <<<**OFF**
手动工作。
你确定 nouveau 完全被列入黑名单了吗?我不得不在 中添加选项balcklist=nouveau
,然后运行,因为 blacklist.conf 文件似乎不起作用。GRUB_CMDLINE_LINUX_DEFAULT
/etc/default/grub
update-grub