Ubuntu não usará minha GPU

Ubuntu não usará minha GPU

Pessoal, estou pesquisando há dias sobre como fazer isso funcionar. Acabei de começar com uma nova instalação para consertar qualquer bobagem que possa ter sido complicada nesse meio tempo. Agora, pelo que eu sei, DRI_PRIME=1 é 'suposto' para tornar o DGPU o principal se você usar isso linha de código antes de executar um programa.
lspci -k | grep -EA2 'VGA|3D' mostra

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

então o sistema "vê" meu gpu, simplesmente não o usa.

: $DRI_PRIME=1 glxinfo | grep "Renderizador OpenGL"

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

estou no Kernel Linux 6.2.0-20-genérico Ubuntu 23.04 Wayland

Pessoal, fiz downgrade para LTS e imediatamente executei DRI_PRIME=1 antes de executar qualquer atualização e ele reconhece a placa ... Não tenho certeza de por que alguns sistemas operacionais farão isso e outros não, já que tentei muitas distros. mas não vou reclamar.

Responder1

Costumava definir a opção de energia para "desempenho" para definir o DGPU como primário, mas um dia, minhas amostras CUDA pararam de funcionar, porque as demos estavam tentando rodar na GPU Intel. Um laptop normalmente está no modo híbrido, o DGPU faz o trabalho pesado e passa para a GPU Intel para a exibição. Veja a saída do xrandr ao executar o X (o modeseting é o 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

ou talvez pareça:

$ 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

A primeira parece que a fonte e o coletor estão invertidos e precisam das variáveis ​​de ambiente __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia que podem ser usadas na frente de um programa que você deseja forçar a usar a nvidia.

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia <prog>

informação relacionada