混合显卡问题 radeon

混合显卡问题 radeon

我有一台戴尔 Inspiron 5567 笔记本电脑,正在双启动 Windows 10 和 Ubuntu 16.04。我已经尝试了一段时间让集成显卡工作,Windows 将其视为 Radeon R7 M440,但 Ubuntu 显示 Topaz XT [Radeon R7 M260/M265]。我在这里尝试了 vgaswitcheroo:https://help.ubuntu.com/community/HybridGraphics,但它什么也没做。当我尝试了这里第一篇文章所建议的操作时vgaswitcheroo 没有选择独立卡它只是关闭屏幕,直到我强制关机。PRIME (https://wiki.archlinux.org/index.php/PRIME) 似乎可以工作,不过我使用 glmark2 进行了测试,集成卡的性能明显好于独立卡,集成卡在第一次测试中达到了 1076 FPS,而独立卡只有 478 FPS。sudo lshw -C video 显示独立卡使用了 amdgpu 驱动程序。

从 glmark2 的输出(如下所示)来看,独立显卡可以正常工作,但与英特尔显卡配合使用效率不高。有没有办法让机器只使用独立显卡而不使用 VGAswitcheroo?还是我使用 vgaswitcheroo 的方式不正确?我对 ubuntu 还比较陌生,所以任何帮助我都非常感谢。

sudo lshw -C video 的完整输出是:

  *-display               
   description: VGA compatible controller
   product: Intel Corporation
   vendor: Intel Corporation
   physical id: 2
   bus info: pci@0000:00:02.0
   version: 02
   width: 64 bits
   clock: 33MHz
   capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
   configuration: driver=i915 latency=0
   resources: irq:280 memory:de000000-deffffff memory:b0000000-bfffffff ioport:f000(size=64) memory:c0000-dffff
  *-display
   description: Display controller
   product: Topaz XT [Radeon R7 M260/M265]
   vendor: Advanced Micro Devices, Inc. [AMD/ATI]
   physical id: 0
   bus info: pci@0000:01:00.0
   version: c3
   width: 64 bits
   clock: 33MHz
   capabilities: pm pciexpress msi bus_master cap_list rom
   configuration: driver=amdgpu latency=0
   resources: irq:281 memory:c0000000-cfffffff memory:d0000000-d01fffff ioport:e000(size=256) memory:df200000-df23ffff memory:df240000-df25ffff

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:Unknown AMD Radeon GPU @ pci:0000:01:00.0

glmark2 的前几个结果如下:glmark2 给出:

=======================================================
    glmark2 2014.03+git20150611.fa71af2d
=======================================================
    OpenGL Information
    GL_VENDOR:     Intel Open Source Technology Center
    GL_RENDERER:   Mesa DRI Intel(R) HD Graphics 620 (Kaby Lake GT2) 
    GL_VERSION:    3.0 Mesa 17.2.8
=======================================================
[build] use-vbo=false: FPS: 1076 FrameTime: 0.929 ms
[build] use-vbo=true: FPS: 1223 FrameTime: 0.818 ms
[texture] texture-filter=nearest: FPS: 1176 FrameTime: 0.850 ms
[texture] texture-filter=linear: FPS: 1206 FrameTime: 0.829 ms
[texture] texture-filter=mipmap: FPS: 1172 FrameTime: 0.853 ms
[shading] shading=gouraud: FPS: 1082 FrameTime: 0.924 ms
[shading] shading=blinn-phong-inf:^C

DRI_PRIME=1 glmark2

=======================================================
    glmark2 2014.03+git20150611.fa71af2d
=======================================================
    OpenGL Information
    GL_VENDOR:     X.Org
    GL_RENDERER:   AMD ICELAND (DRM 3.18.0 / 4.13.0-41-generic, LLVM 5.0.0)
    GL_VERSION:    3.0 Mesa 17.2.8
=======================================================
[build] use-vbo=false: FPS: 478 FrameTime: 2.092 ms
[build] use-vbo=true: FPS: 506 FrameTime: 1.976 ms
[texture] texture-filter=nearest: FPS: 470 FrameTime: 2.128 ms
[texture] texture-filter=linear:^C

答案1

产品字符串可能与实际不匹配。我认为只要字符串显示相同的产品系列就没问题。混合卡确实很复杂,当涉及到在 Steam 上玩游戏时,选择正确的卡可能会出现很多错误。例如,带有混合 RADV 的 Dota 无法与 Mesa 17.2 及以下版本兼容,至少对我来说是这样。

那么首先尝试从内核将 radeon 模块列入黑名单。 如何将 radeon 模块列入黑名单?

尝试 Oibaff 的 Mesa 堆栈,如果没有问题就使用它们。

安装 radeon-profile 及其守护进程。https://github.com/marazmista/radeon-profile 这是 AMD 卡的一个实用控制中心。将卡设置为性能/高模式。您也可以超频,就像我经常做的那样。

最后使用 glxinfo | grep "OpenGL" 获取 GLStrings,这是更合适的方法但产生相同的结果。

相关内容