Intel/AMD 混合显卡 Ubuntu 18.04

Intel/AMD 混合显卡 Ubuntu 18.04

目前正在处理大量信息,需要帮助。

我有一台 Dell Latitude E5570,它配备了混合显卡,Intel/AMD 如下:

$inxi -Fzx 
Graphics:  Card-1: Intel HD Graphics 530 bus-ID: 00:02.0
       Card-2: Advanced Micro Devices [AMD/ATI] Mars [Radeon HD 8670A/8670M/8750M] bus-ID: 01:00.0
       Display Server: x11 (X.Org 1.19.6 ) drivers: i915,radeon Resolution: [email protected]
       OpenGL: renderer: Mesa DRI Intel HD Graphics 530 (Sk

我尝试过使用 switcheroo,但似乎不起作用。 https://www.dell.com/support/article/au/en/auchn1/sln298475/a-guide-to-hybrid-video-on-dell-pcs-with-an-ubuntu-operating-system?lang=en

另外,我在这里安装了 AMD 的专有驱动程序: https://support.amd.com/en-us/kb-articles/Pages/Radeon-Software-for-Linux-18.20-Early-Preview-Release-Notes.aspx

这似乎有效,但在启动 Steam 游戏时,我收到了有关 OpenGL 不兼容的错误。为了修复这个问题,我最终遇到了启动循环和非常不稳定的系统。

编辑-这就是我最终启动循环的方式...... https://linuxconfig.org/how-to-install-the-latest-amd-radeon-drivers-on-ubuntu-18-04-bionic-beaver-linux

我现在已经完成了全新安装,并且一切都恢复正常,没有其他问题 - 寻求建议。


只是为了完整性,您还可以测试您的 Steam 游戏,它是否也使用 amdgpu 驱动程序在 AMD 上以 100 FPS 运行?

我已经这样做了,并且可以确认 Steam 游戏(Portal)使用 radeon 和 amdpgu 驱动程序都可以轻松达到 100 FPS - 没有明显的区别 - 但使用 Ubuntu 附带的 radeon 驱动程序而不是专有的 amdgpu 驱动程序会少很多麻烦。

答案1

我有完全相同的设置(Intel Latitude E5570/混合显卡,Intel/AMD)。我最近安装了 Ubuntu 18.04。

以下是我的经历:

虽然我标记了安装用于图形和 Wi-Fi 硬件以及其他媒体格式的第三方软件在安装过程中,附加驱动程序选项卡软件与更新software-properties-gtk(在终端中输入此命令)声称没有可用的附加驱动程序。你遇到过同样的情况吗?也许有人知道原因。在安装任何专有驱动程序之前,我决定先测试原始安装,然后再做其他事情。

lspci -k | grep -EA3 'VGA|Display'

给出以下输出

00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
    Subsystem: Dell HD Graphics 530
    Kernel driver in use: i915
    Kernel modules: i915
--
01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Mars [Radeon HD 8670A/8670M/8750M] (rev 81)
    Subsystem: Dell Mars [Radeon HD 8670A/8670M/8750M]
    Kernel driver in use: radeon
    Kernel modules: radeon, amdgpu

我猜最后一行是关于内核模块的图形处理器意味着 OpenSource 驱动程序已安装(有人可以确认这一点吗?)。有关 Ubuntu 的 AMD 驱动程序的更多信息,请参见在 Ubuntu 帮助 wiki 上

除了 switcheroo 之外,还有另一种方法可以在 GPU 之间切换xrandr

使用xrandr(如第二个链接所述)使用以下命令来显示提供商:

xrandr --listproviders

我的输出是

Providers: number : 2
Provider 0: id: 0x6b cap: 0x9, Source Output, Sink Offload crtcs: 3 outputs: 7 associated providers: 1 name:modesetting
Provider 1: id: 0x41 cap: 0x6, Sink Output, Source Offload crtcs: 2 outputs: 0 associated providers: 1 name:OLAND @ pci:0000:01:00.0

为了能够通过更强大的独立显卡来渲染 GPU 密集型应用程序

xrandr --setprovideroffloadsink 1 0

现在你应该能够为你的应用程序选择一个 GPU。例如,你可以使用命令(使用glxinfo, sudo apt install mesa-utils)进行测试,我发现在 Ubuntu 论坛上

DRI_PRIME=0 glxinfo | grep "OpenGL renderer"
DRI_PRIME=1 glxinfo | grep "OpenGL renderer"

所以我做了一个基准测试(使用glmark2sudo apt install glmark2)使用以下命令对两个 GPU 进行操作:

DRI_PRIME=0 glmark2 --fullscreen
DRI_PRIME=1 glmark2 --fullscreen

最终得分为:

  • 507为了英特尔集成 GPU
  • 367为了AMD 独立 GPU

这很奇怪,因为我认为 AMD GPU 的性能应该比集成的 Intel GPU 更好。你对此的结果是什么?你能证实这一点吗?

您还可以使用所述命令在独立 GPU 上测试启动 Steam xrandr

也许我还会安装专有的 AMD GPU 驱动程序(amdgpu-pro)并重复基准测试。我希望这会有所帮助,尤其是有关切换 GPU 的替代方法的部分。

答案2

就我而言(HP 15-N,Radeon 8670m),我遇到了同样的问题,但我修复了它。之前是:

$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x64 cap: 0x9, Source Output, Sink Offload crtcs: 3 
outputs: 2 associated providers: 1 name:modesetting
Provider 1: id: 0x3f cap: 0x4, Source Offload crtcs: 0 outputs: 0 
associated providers: 1 name:HAINAN @ pci:0000:0a:00.0

$ lspci -k | grep -EA3 'VGA|3D|Display'
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT 
Integrated Graphics Controller (rev 09)
Subsystem: Hewlett-Packard Company Haswell-ULT Integrated Graphics 
Controller
Kernel driver in use: i915
Kernel modules: i915
--
0a:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun 
XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430] (rev ff)
Kernel driver in use: radeon
Kernel modules: radeon, amdgpu
      

amdgru-pro安装修复后,我以为它有用,但我错了。原因很简单,amdgru-pro它不适用于 Unix 系统上的旧视频卡。如果你安装它,你可能会遇到和我一样的错误。(抱歉,我没有截图。有一个黑屏,上面有一些文字,上面说我没有正确安装驱动程序。)

重新安装 Ubuntu 后,我按照以下步骤解决了该问题listproviders

$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x64 cap: 0x9, Source Output, Sink Offload crtcs: 3 
outputs: 2 associated providers: 1 name:modesetting
Provider 1: id: 0x3f cap: 0x4, Source Offload crtcs: 0 outputs: 0 
associated providers: 1 name:HAINAN @ pci:0000:0a:00.0

在那之后:

$ xrandr --setprovideroffloadsink 0x3f 0x64

Steam 测试显示结果(例如 cs 在最低-中等~60 +- fps 上进行),

但是在调用需要 AMD Radeon 的某个程序之前,我关闭了它并在终端中写道:

$ DRI_PRIME=1 steam     # or some program (e.g. openshot)

您也可以这样做或通过以下方式检查您的错误关联

相关内容