我使用以下脚本来初始化多屏设置:
#!/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 内核模块似乎对我来说很有效。