大家好,我知道这是一个热门话题,很多人都有和我一样的问题,但是当我尝试应用我读到的解决方案时,它们似乎并不适合我的问题,所以这是我的问题:
我最近买了一台戴尔 Inspiron 5567,配有 r7 显卡
lspci | grep 显示
01:00.0 显示控制器:Advanced Micro Devices, Inc. [AMD/ATI] Topaz XT [Radeon R7 M260/M265] (rev c3)
我已经安装了 AMDPRO 17.30(或者我认为我已经安装了)
dpkg -l amdgpu-pro
期望=未知/安装/删除/清除/保留 |
Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ 名称 版本 架构 描述 +++-===============-===============-==================================== ii amdgpu-pro 17.30-465504 amd64 用于安装 amdgpu Pr 的元包
它的发行说明上说它支持我的显卡 17.30 发行说明
安装驱动程序后,我陷入了登录循环,在社区的帮助下我解决了这个问题,但问题是,当我转到“详细信息”选项卡上的“系统设置”时,我看到英特尔®高清显卡 620(Kabylake GT2)作为默认显卡。
问题是,我是否正确安装了驱动程序?如果是,为什么自从安装了驱动程序后,Ubuntu 不默认使用 AMD 卡?最后我该如何让它工作?
PS:我读到过降级到 Ubuntu 14.04 是一个可行的解决方案,但是使用 17.30 驱动程序,更多的 AMD 卡变得与 Ubuntu 16,04 兼容,所以在降级到 14.04 之前我想向社区寻求一个可能的解决方案。
先感谢您。
答案1
这是因为通常默认情况下拥有更强大的 GPU 是不需要的(更多内容是关于笔记本电脑,关于台式电脑的内容较少)。它毫无理由地消耗更多电量,因为集成 GPU 足够强大,可以运行桌面等轻量级图形工作负载,即使启用了抖动或燃烧窗口等效果。
要在 dGPU 上运行应用程序,您可以使用DRI_PRIME
变量。例如这是我的笔记本电脑的输出:
$ glxinfo | grep evice
Device: AMD SUMO (DRM 2.50.0 / 4.13.3-1-zen, LLVM 6.0.0) (0x9641)
$ DRI_PRIME=1 glxinfo | grep evice
Device: AMD TURKS (DRM 2.50.0 / 4.13.3-1-zen, LLVM 6.0.0) (0x6741)
如果你确实想在 dGPU 上运行整个桌面,你可以全局覆盖该变量(我认为你甚至可以覆盖一些内核参数,但我没有探索过这一点). 添加/etc/environment
此行:
DRI_PRIME=1
顺便说一下,直接赋值一个变量可能会很有用,就像我在 glxinfo 的例子中所做的那样,可能并不总是有效export
。但是该文件/etc/environment
专门接受语法,无需导出。
请注意,AMD 专注于 radeonsi 驱动程序,专有驱动程序仍然存在,只是因为 CAD 软件使用的 OpenGL 兼容性配置文件。Mesa 不支持该配置文件,因为它是可选的,并且将旧版 OpenGL 与现代 OpenGL 混合使用是不可接受的。无论如何,我想说的是,默认驱动程序比 AMDGPU-pro 快得多 (好吧,假设你最近还在使用它)。
更新:关于命名约定 — 从驱动程序的角度来看,不同型号的 GPU 通常基于相同的架构构建,即中断、寄存器、汇编…… 不同之处通常在于某些特定内容的数量,如 VRAM、ALU、总线等。在这些情况下,驱动程序通常不进行比较if gpu_model=x then do y because the number of ALUs smaller or bigger
,而是直接比较数量。原因是,任何时候都可能出现一种新的 GPU 型号,其可能仅在 VRAM 数量方面有所不同(但不包括中断或其他重要的事情)— 你能想象因为这个原因必须重写所有驱动程序吗?更糟糕的是,人们必须更新驱动程序才能支持 GPU,而通过与 VRAM 数量进行通用比较,“新 GPU”甚至会得到 GPU 不存在时的驱动程序支持。
因此,尽管没有看到您期望的型号名称令人感到遗憾,但这并不一定意味着发生了不好的事情。