如何重新加载 Nvidia 驱动程序,(Nvidia Optimus/多屏:如何在休眠/挂起后重新启动 optirun)

如何重新加载 Nvidia 驱动程序,(Nvidia Optimus/多屏:如何在休眠/挂起后重新启动 optirun)

我使用以下脚本来初始化多屏设置:

#!/bin/bash
# Initializes Nvidia Optimus for multi-screen functionality.

sudo modprobe bbswitch
optirun true
intel-virtual-output

但是当我的机器挂起时,它会返回到单个屏幕。我尝试通过终止并再次初始化来重新启动。我终止并显示以下内容:

sudo kill -15 $xorg_process
sudo rmmod nvidia
sudo tee /proc/acpi/bbswitch <<<OFF

然后我再次运行初始化脚本,但收到以下消息:

[16929.676769] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) Server terminated successfully (0). Closing log file.

[16929.676811] [ERROR]Aborting because fallback start is disabled.

手动测试表明此错误来自optirun true初始化脚本中的命令。 有没有什么方法可以在机器休眠后重新加载第二个屏幕?(或者更具体地说,如何重新加载 Nvidia 驱动程序?)

我参考了 Optimus 多屏显示器问题的解决方案(针对输出硬连线到独立 GPU 的机器), 这里

答案1

以下内容适用于 Thinkpad T520:

暂停之前:

killall Xorg
sudo rmmod nvidia
sudo modprobe bbswitch
sudo tee /proc/acpi/bbswitch <<< OFF
sudo systemctl stop bumblebeed

恢复后:

sudo rmmod nvidia
sudo modprobe nvidia
sudo modprobe bbswitch
sudo systemctl start bumblebeed
sudo tee /proc/acpi/bbswitch <<< ON
optirun true
intel-virtual-output

特别是重新加载 nvidia 内核模块似乎对我来说很有效。

相关内容