Nvidia Prime não funciona | AMD + Nvidia | Núcleo XMG 4800H+RTX2060

Nvidia Prime não funciona | AMD + Nvidia | Núcleo XMG 4800H+RTX2060

Comprei um novo laptop e instalei o Ubuntu 20.04 nele. É um XMG Core 15 com 4800H e 2060. Tenho alguns problemas com o Prime integrado. As portas externas são conectadas apenas à placa nvidia e a tela interna é conectada apenas ao iGPU. Estou usando o pré-instalado gdm3.

Após a nova instalação do Ubuntu, instalei o mais novo nvidia-driver450. nvidia-settingsestá funcionando e também prime-select. Então aqui estão os problemas:

  1. Ao correr, nvidia-settingsestá listado

    Message: 10:15:53.707: PRIME: No offloading required. Abort 
    Message: 10:15:53.707: PRIME: is it supported? no
    

Assim não posso escolher um perfil prime. Também não consigo usar o prime-run para renderização de jobs ou benchmarks prime-run: command not found. Eles estão sempre rodando no amdgpu. O Prime-run está instalado. Os trabalhos CUDA estão funcionando e rodando na Nvidia-gpu.

  1. Não consigo estender a área de trabalho para um monitor externo. Nvidia-settingslista, mas não me mostra a ferramenta para configurar monitores. As configurações do Ubuntu não detectam o monitor externo. Mudar o xorg.confnão ajudou. Tentei várias configurações. Este é o que estou usando no momento.
Section "ServerLayout"
    Identifier "layout"
    Screen 0 "amd"
    Screen 1 "nvidia"
EndSection

Section "Device"
    Identifier "amd"
    Driver "amdgpu"
    BusID "PCI:05:00:0"
EndSection

Section "Screen"
    Identifier "amd"
    Device "amd"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:05:0:0"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
EndSection

Abaixo está a saída de glxinfo -B. Está correto o dispositivo usando llvmpipe? Não deveria estar usando amdgpu?

llvmpipe

Como quase sempre tenho um carregador disponível. Uma solução aceitável seria usar apenas a placa nvidia.

Obrigado pela ajuda. Fico feliz em fornecer mais informações, se desejar.

Editar: O xorg.conf abaixo me deu monitores externos funcionais. O interno não responde e apenas mostra o logotipo do fabricante.

Section "Module"
    Load "modesetting"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:01:00:0"
    Option "AllowEmptyInitialConfiguration"
EndSection

Responder1

Eu finalmente resolvi isso. Aparentemente o 4800h é muito novo para o kernel 5.4.Eu atualizei para o kernel 5.8.1a seguir, os monitores foram reconhecidos, masficou preto.

https://wiki.ubuntu.com/Kernel/MainlineBuilds

Segui então a descrição da postagem a seguir nos fóruns da nvidia.(Leia com atenção, existem 2 métodos descritos neste post).

https://forums.developer.nvidia.com/t/nvidia-xconfig-doesnt-do-what-i-want-it-to-nor-does-nvidia-settings/107883/7

Agora os monitores externos e internos sãotrabalhando.

Exclua o xorg.conf. Você não precisa dele e não obterá uma solução funcional com ele.

  1. Em /usr/share/X11/xorg.conf.d/10-amdgpu.conf substitua Driver "amdgpu"porDriver "modesetting"

  2. Em seguida, adicione Option "PrimaryGPU" "Yes"a/usr/share/X11/xorg.conf.d/10-nvidia.conf

  3. Crie os dois arquivos nomeados optimus.desktopem /etc/xdg/autostart/e /usr/share/gdm/greeter/autostart/com:

[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer

Isto é muito importante. Esses arquivos serão executados na inicialização.

informação relacionada