Nvidia-prime не работает | AMD + Nvidia | XMG-Core 4800H+RTX2060

Nvidia-prime не работает | AMD + Nvidia | XMG-Core 4800H+RTX2060

Я купил новый ноутбук и установил на него Ubuntu 20.04. Это XMG Core 15 с 4800H и 2060. У меня возникли некоторые проблемы с интегрированным Prime. Внешние порты подключены только к карте nvidia, а внутренний экран подключен только к iGPU. Я использую предустановленный gdm3.

После новой установки Ubuntu я установил новейший nvidia-driver450. nvidia-settingsработает и так же prime-select. Итак, вот проблемы:

  1. При запуске nvidia-settingsтам указано

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

Таким образом, я не могу выбрать основной профиль. Я также не могу использовать основной-run для задач рендеринга или бенчмарков prime-run: command not found. Они всегда работают на amdgpu. Основной-run установлен. Задания CUDA работают и выполняются на Nvidia-gpu.

  1. Я не могу расширить рабочий стол на внешний дисплей. Nvidia-settingsперечисляет его, но не показывает мне инструмент для настройки мониторов. Настройки Ubuntu не определяют внешний дисплей. Изменение xorg.confне помогло. Я пробовал разные конфигурации. Это та, которую я использую в данный момент.
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

Ниже приведен вывод glxinfo -B. Правильно ли устройство использует llvmpipe? Не должно ли оно использовать amdgpu?

llvmpipe

Поскольку у меня почти всегда есть зарядное устройство. Приемлемым решением было бы использование только карты nvidia.

Спасибо за помощь. Я с радостью предоставлю больше информации, если потребуется.

Редактировать: Нижеприведенный xorg.conf дал мне рабочие внешние дисплеи. Внутренний не отвечает и просто показывает логотип производителя.

Section "Module"
    Load "modesetting"
EndSection

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

решение1

Я наконец решил это. Видимо, 4800h слишком новый для ядра 5.4.Я обновил ядро ​​до 5.8.1в дальнейшем дисплеи распознавались, ноостался черным.

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

Затем я последовал описанию следующего поста на форумах nvidia.(Прочитайте внимательно, в этом посте описано 2 метода).

https://forums.developer.nvidia.com/t/nvidia-xconfig-не-делает-то-что-я-хочу-и-не-делает-настроек-nvidia/107883/7

Теперь внешние дисплеи и внутренние дисплеиработающий.

Удалите xorg.conf. Он вам не нужен и вы не получите с ним работающего решения.

  1. В /usr/share/X11/xorg.conf.d/10-amdgpu.conf замените Driver "amdgpu"наDriver "modesetting"

  2. Затем добавьте Option "PrimaryGPU" "Yes"к/usr/share/X11/xorg.conf.d/10-nvidia.conf

  3. Создайте два файла с именами optimus.desktopin /etc/xdg/autostart/и /usr/share/gdm/greeter/autostart/with:

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

Это очень важно. Эти файлы будут выполнены при запуске.

Связанный контент