当我的电脑上同时存在IGD和DIS时,我想禁用DIS,因此我创建了一个服务来打开和关闭DIS。它可以工作。最后,我决定在/etc/rc.local中添加服务命令,以便DIS自动关闭。不幸的是,它失败了。文件/etc/rc.local中只有一条我自己添加的命令,所以我可以肯定失败是由该添加的命令引起的。
之前我直接在/etc/rc.local中添加了命令“echo OFF >/sys/kernel/debug...”,重启后系统启动失败。所以我想可能是在执行这个命令的时候DIS还没有通电或者准备好工作,所以发生了冲突!这只是我的猜测。后来我在“echo OFF ...”前面添加了一行命令“sleep 1s”,几乎每次启动或重启电脑时都能成功,但有时也会失败。
cat /sys/kernel/debug...输出结果如下: 0:IGD:+:Pwr:0000:00:02.0 1:DIS: :Pwr:0000:01:00.0
我想知道 0000:00:02.0 是什么意思?第一次开机的时间?如果真的是时间,我可以设置命令“sleep 2s”等待 DIS 开机然后“echo OFF > ...”
谢谢你的建议!
答案1
没关系。有关更多信息,请参阅这一页。
您可以编辑/etc/rc.local
并添加下一行:
sleep 6
echo ON > /sys/kernel/debug/vgaswitcheroo/switch
echo IGD > /sys/kernel/debug/vgaswitcheroo/switch
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
然后保存文件并重新启动。
对我来说,这很有效。sleep 1
或2
太早了,导致系统冻结。
尝试一下,然后告诉我结果如何。(使用时请自担风险。我只在我的系统中进行了测试。)