Ubuntu 不使用我的 GPU

Ubuntu 不使用我的 GPU

伙计们,我研究了好几天如何让它工作。我刚刚重新开始安装,以修复在此期间可能出现的任何混乱,现在据我所知,如果您在运行程序之前使用该行代码,DRI_PRIME=1“应该”使 DGPU 成为主。lspci
-k | grep -EA2 'VGA|3D' 显示

00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07)
DeviceName:  Onboard IGD
Subsystem: Dell Latitude E7470
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X] (rev e5)
Subsystem: Dell Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]
Kernel driver in use: amdgpu

因此系统“看到”了我的 gpu,但不会使用它。

:$DRI_PRIME=1 glxinfo | grep “OpenGL 渲染器”

OpenGL renderer string: Mesa Intel(R) HD Graphics 520 (SKL GT2)

我在内核 Linux 6.2.0-20-generic Ubuntu 23.04 Wayland 上

伙计们,我降级到 LTS 并在运行任何更新之前立即运行 DRI_PRIME=1 并且它识别了该卡.....我非常不确定为什么有些操作系统会这样做而其他的不会,因为我已经尝试过很多发行版。但我不会抱怨。

答案1

以前将电源选项设置为“性能”会将 DGPU 设置为主 GPU,但有一天,我的 CUDA 示例停止工作,因为演示试图在 Intel GPU 上运行。笔记本电脑通常处于混合模式,DGPU 完成艰苦的工作,并将显示交给 Intel GPU。运行 X 时查看 xrandr 的输出(模式设置为 Intel):

 $ 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: 0x26e cap: 0x2, Sink Output crtcs: 4 outputs: 6 associated providers: 1 name:NVIDIA-G0

或者看起来像:

$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x1b7 cap: 0x1, Source Output crtcs: 4 outputs: 6 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x1e7 cap: 0x6, Sink Output, Source Offload crtcs: 4 outputs: 3 associated providers: 1 name:modesetting

第一个似乎源和接收器是相反的,并且需要__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia 环境变量,该变量可能在您想要强制使用 nvidia 的程序前面使用。

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia <prog>

相关内容