更改 Debian Stretch 中的图形驱动程序

更改 Debian Stretch 中的图形驱动程序

我有一个Debian 拉伸带有两个图形控制器的笔记本电脑:

[0]~>lspci | fgrep 'VGA compatible controller' 
00:02.0 VGA compatible controller: Intel Corporation Iris Pro Graphics P580 (rev 09)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Venus XTX [Radeon HD 8890M / R9 M275X/M375X] (rev 83)

现在Intel控制器似乎用于GLX渲染:

[0]~>glxinfo | fgrep Device:
Device: Mesa DRI Intel(R) Iris Pro Graphics P580 (Skylake GT4e)  (0x193d)
[0]~>glxgears -info | fgrep GL_RENDERER
GL_RENDERER   = Mesa DRI Intel(R) Iris Pro Graphics P580 (Skylake GT4e)
[0]~>glmark2 | fgrep GL_RENDERER:
GL_RENDERER:   Mesa DRI Intel(R) Iris Pro Graphics P580 (Skylake GT4e) 

加载这些模块:

[0]~>fgrep LoadModule: /var/log/Xorg.0.log 
[    10.301] (II) LoadModule: "glx"
[    10.312] (II) LoadModule: "ati"
[    10.312] (II) LoadModule: "radeon"
[    10.314] (II) LoadModule: "modesetting"
[    10.315] (II) LoadModule: "fbdev"
[    10.316] (II) LoadModule: "vesa"
[    10.349] (II) LoadModule: "fbdevhw"
[    10.350] (II) LoadModule: "glamoregl"
[    10.987] (II) LoadModule: "fb"
[    10.988] (II) LoadModule: "fb"
[    10.988] (II) LoadModule: "dri2"
[    10.988] (II) LoadModule: "glamoregl"
[    12.980] (II) LoadModule: "ramdac"
[    13.195] (II) LoadModule: "libinput"

我有X.Org 配置文件/etc/X11/xorg.conf

如何配置 X.Org 以使用 AMD 控制器?

答案1

很酷,您的两个 GPU 驱动程序都可以处理输出源/接收器和渲染卸载源/接收器操作。所以...试试这个:

xrandr --setprovideroffloadsink "VERDE @ pci:0000:01:00.0" "modesetting"

或使用提供商号码:

xrandr --setprovideroffloadsink 1 0

这告诉 Intel 控制器将其渲染任务卸载到 AMD GPU。它的效率不如将输出切换到 AMD GPU,但它是在当前配置下使用两个 GPU 的最简单方法。

如果它适合您,请将该命令放入/etc/X11/Xsession.d目录中的脚本中,例如/etc/X11/Xsession.d/15custom_xrandr

#!/bin/sh
xrandr -setprovideroffloadsink "VERDE @ pci:0000:01:00.0" "modesetting"

如果您debugfs安装了虚拟文件系统/sys/kernel/debug并且/sys/kernel/debug/vgaswitcheroo/存在目录,并且您的硬件包含所需的多路复用器芯片,则您可以将输出切换到 AMD GPU 的控制。它应该像安排运行一些东西一样简单

echo "DIS" >>/sys/kernel/debug/vgaswitcheroo/switch

在启动 X 服务器之前。然后,X 服务器应该自动检测到所有活动显示器现在都在 AMD GPU 上,并且应该保留 Intel GPU。

相关内容