即使存在独立显卡,内部显卡仍被视为主要显卡

即使存在独立显卡,内部显卡仍被视为主要显卡

我有一台联想 Ideapad 300,它有 Intel 内置显卡和 AMD Radeon 独立显卡。但是很多时候我都无法在 Linux 中获得正确的图形优化(在 Linux mint 中尤其如此,这迫使我回到 Ubuntu,但又出现了更多问题)。很多时候系统无法检测到独立显卡,而是在内置显卡上运行所有东西。经过一番搜索,我找到了这个。

lsmod | grep amd在我的 Ubuntu 22.04 中返回

amdgpu               9863168  0
iommu_v2               24576  1 amdgpu
gpu_sched              45056  1 amdgpu
drm_ttm_helper         16384  2 amdgpu,radeon
ttm                    86016  4 amdgpu,radeon,drm_ttm_helper,i915
drm_kms_helper        311296  3 amdgpu,radeon,i915
i2c_algo_bit           16384  3 amdgpu,radeon,i915
drm                   622592  14 gpu_sched,drm_kms_helper,amdgpu,radeon,drm_ttm_helper,i915,ttm

这清楚地表明我的独立显卡对于操作系统是可见的,甚至 -dpkg -l xserver-xorg-video-amdgpu返回

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                      Version           Architecture Description
+++-=========================-=================-============-=======================================
ii  xserver-xorg-video-amdgpu 22.0.0-1ubuntu0.1 amd64        X.Org X server -- AMDGPU display driver

这也找到了我的独立显卡。但是当我glxinfo | grep -iE 'vendor:|device:|version:'安装后运行时mesa-utils,我遇到了:

GLX version: 1.4
    Vendor: Intel (0x8086)
    Device: Mesa Intel(R) HD Graphics 520 (SKL GT2) (0x1916)
    Version: 22.0.5
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2

这表明它无法检测到独立显卡,而是检测其中存在的内部英特尔显卡。

我在这里遗漏了什么?

此外,Linux 中是否没有任何htop适用于 AMD 显卡的 GUI 或至少基于终端的图形实用程序软件?

答案1

笔记本电脑通常使用英特尔的显卡进行显示,使用独立 GPU 进行繁重的工作,但我也注意到我的 Nvidia GPU 不再像我期望的那样被使用

应显示的情况:

$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x45 cap: 0x9, Source Output, Sink Offload crtcs: 4 outputs: 3 associated providers: 1 name:modesetting
Provider 1: id: 0x250 cap: 0x2, Sink Output crtcs: 4 outputs: 6 associated providers: 1 name:NVIDIA-G0

这与您通常想要的正好相反。当我在 22.04 中首次发现此问题时,似乎性能的电源选项会反转卸载,但这种情况不再发生。您可以使用以下方法强制切换单个程序:

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia <program>  

也许只需在 .profile 中设置这些环境变量并导出它们即可捕获每个程序,但我还没有这样做。CUDA 示例之类的程序现在需要添加环境变量才能运行。

我猜是切换到 amd 而不是 nvidia。


如果 xrandr 的输出与上述不同,那么你可能运行的不是 X,而是 Wayland。尝试在登录密码提示时单击右下角的小齿轮,切换到 xorg 或非 wayland 选项。

相关内容