Intel / AMD Hybrid图形Ubuntu 18.04

目前在一个雷区工作,需要帮​​助。

我有戴尔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: 1920x1080@60.00hz OpenGL: renderer: Mesa DRI Intel HD Graphics 530 (Sk 

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

另外,我在这里安装了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的

我现在已经完成了一个全新的安装,一切都回到了香草,没有其他戳 – 寻求建议。

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

以下是我的经历:

虽然我在安装过程中标记了安装图形和Wi-Fi硬件及其他媒体格式的第三方软件 ,但软件和更新中附加驱动程序选项卡(在终端中达到此类型software-properties-gtk )声称没有其他驱动程序可用。 你有同样的经历吗? 也许有人知道为什么。 在安装任何专有驱动程序之前,我决定在执行任何其他操作之前测试vanilla安装。

 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 

我想关于内核模块amdgpu的最后一行意味着安装了OpenSource驱动程序(任何人都可以确认这个吗?)。 有关Ubuntu的AMD驱动程序的更多信息,请参阅Ubuntu帮助wiki 。

除了switcheroo之外,还有另一种可能使用xrandr在GPU之间切换:

  • 混合图形| Ubuntu帮助维基
  • PRIME | 拱维基

使用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。 例如,您可以使用命令(使用glxinfosudo apt install mesa-utils )测试这个,我在Ubuntu论坛上找到了这个 :

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

所以我使用以下命令为两个GPU做了基准测试(使用glmark2sudo apt install glmark2 ):

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

得分为:

  • 英特尔集成GPU 507
  • AMD descrete GPU367

这很奇怪,因为我认为AMD GPU应该比集成的Intel GPU更高性能。 你对此有何结果? 你能证实一下吗?

您还可以使用声明的xrandr命令在离散GPU上测试启动Steam。

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

你已经完成了和我一样完全相同的道路!

“软件和更新”中的“其他驱动程序”选项卡(要在终端中访问此类型的software-properties-gtk)声称没有其他可用的驱动程序。 你有同样的经历吗?

这对我来说很重要。

我想关于内核模块amdgpu的最后一行意味着安装了OpenSource驱动程序(任何人都可以确认这个吗?)。

正确,我的理解是从17.xx开始,Ubuntu随开源AMD驱动程序一起提供。 多重驱动程序源中不再提供专有驱动程序以进行其他驱动程序安装 – 您需要手动执行此操作。

我还使用PRIME方法完成了GPU切换。 IE

 DRI_PRIME=1 steam 

我已经测试了这个背靠背运行像Portal这样的轻量级游戏,在英特尔显卡上显示约40 FPS,在AMD显示约100 FPS。

不理想,但我可以忍受的解决方法!

正确,我的理解是从17.xx开始,Ubuntu随开源AMD驱动程序一起提供。 多重驱动程序源中不再提供专有驱动程序以进行其他驱动程序安装 – 您需要手动执行此操作。

那是对的。 但是使用的Kernel driver in use: radeon告诉我,旧的radeon驱动程序正在使用而不是amdgpu。 为了对开源AMD驱动程序进行另一个基准测试,我强制我的系统通过编辑grub来使用amdgpu内核模块。

/etc/default/grub我将amdgpu.si_support=1 radeon.si_support=0到grub,这是在arch wiki中提出的 。 现在整条线对我来说都是这样的:

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.si_support=1 radeon.si_support=0" 

然后我更新了grub并重新启动:

 sudo update-grub 

现在lspci -k | grep -EA3 'VGA|Display' lspci -k | grep -EA3 'VGA|Display' sais, 使用中的内核驱动程序amdgpu 。 所以我重复了AMD gpu的基准测试:

 DRI_PRIME=1 glmark2 --fullscreen 

结果是:

  • 356 for AMD descrete GPU

所以radeon驱动程序没有明显的改进。 因此,我将切换回旧的radeon驱动程序。 只是为了完整性,你还可以测试你的蒸汽游戏,它是否也使用amdgpu驱动程序在AMD上运行100 FPS?

 Just for completeness, can you also test your steam game, whether it also runs on 100 FPS on AMD using amdgpu driver? 

我已经做到这一点并且可以确认蒸汽游戏(Portal)将很容易达到100 FPS同时使用radeon和amdpgu驱动程序 – 没有明显的差别 – 但使用Ubuntu附带的radeon驱动程序而不是专有的amdgpu驱动程序更不用说了。