我有一台戴尔 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,这是更合适的方法但产生相同的结果。