我的电脑上有一个“AMD Radeon R5 M330”GPU 和一个“Intel HD Graphics 5500”GPU。
我检查了正在使用哪个 GPU:
lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA
它仅打印了我的英特尔 GPU。
做了以下事情:
sudo su
echo ON > /sys/kernel/debug/vgaswitcheroo/switch
echo DIS > /sys/kernel/debug/vgaswitcheroo/switch
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
再次运行:
lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA
但我得到的输出与以前相同。
重启电脑后也是一样。
笔记:vga_switcheroo 已启用,如下sudo ls -l /sys/kernel/debug/vgaswitcheroo/switch
所示:
-rw-r--r-- 1 root root 0 五月 3 17:10 /sys/kernel/debug/vgaswitcheroo/switch
答案1
我的设置几乎和你的 PC 一模一样。我让它与 PRIME 配合使用。
DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
如图运行这里。它应该显示 AMD GPU。现在您应该能够通过DRI_PRIME=1
在每个程序前面添加来使用您的 dGPU。(是的,您必须手动执行此操作,因为它无法自动更改它)