Решение для разрыва экрана не работает для меня

Я создаю новый вопрос, потому что мне нужно 50rep, чтобы комментировать. Первоначально я намеревался прокомментировать здесь первый ответ: Драйверы Nvidia - Невозможно установить флажок «Принудительно использовать полный конвейер компоновки»

. Это решение делает то, что делает мой ноутбук неспособным обнаружить внешний монитор. Отмена решения восстанавливает способность обнаружить второй монитор. Я до сих пор оставляю слезы на любом типе воспроизведения видео. Youtube, видеоплеер и т. Д.

i7-8750H, RTX 2070 (nvidia-driver-430), 18.04lts

Любая помощь будет высоко цениться, я бы действительно предпочел провести в Windows как можно меньше времени.

Редактировать: Похоже, что возрождение повысило мою репутацию выше 50, но вопрос уже здесь, так что ...

3
задан 2 September 2019 в 18:23

1 ответ

Обновление 09.08.2019:

Кажется, что gord0 (OP) является правильным в его комментарии. Вы не должны проходить все шаги, которые я ранее описал (я не удаляю их, на всякий случай что кто-то находка их полезный) избавиться от разрыва.

То, к чему необходимо сделать:

  1. Откройте NVIDIA X Server Settings.

  2. Перейдите к конфигурации дисплея X-сервера.

  3. Выберите экран, который Вы хотите.

  4. Нажмите кнопку Advanced.

  5. Включите Конвейер Состава Силы, или Сила Полный Конвейер Состава (попробуйте обоих и включите того, который дает Вам лучшие результаты).

С другой стороны, можно включить Конвейеру Состава Силы или Силе Полный Конвейер Состава путем выполнения следующих команд в терминале:

  • Для конвейера состава силы:

    nvidia-settings --assign CurrentMetaMode="$(xrandr | sed -nr '/(\S+) connected (primary )?([0-9]+x[0-9]+)(\+\S+).*/{ s//\1: \3 \4 { ForceCompositionPipeline = On }, /; H}; ${ g; s/\n//g; s/, $//; p }')"
    
  • Для силы полный конвейер состава:

    nvidia-settings --assign CurrentMetaMode="$(xrandr | sed -nr '/(\S+) connected (primary )?([0-9]+x[0-9]+)(\+\S+).*/{ s//\1: \3 \4 { ForceFullCompositionPipeline = On }, /; H}; ${ g; s/\n//g; s/, $//; p }')"
    

Эти команды использование xrandr и sed с некоторыми регулярными выражениями, чтобы получить текущие настройки монитора в соответствующем формате и использовать его в качестве входа к nvidia=settings --assign команда, которая включает желаемую установку.

У Вас не должно теперь быть экранного разрыва.

Однако в моем случае, обе из вышеупомянутых опций отключить после перезагрузки.

Чтобы иметь Конвейер Состава Силы или Силу, Полный Конвейер Состава включил после перезагрузки, сделайте следующее:

  • Выполните соответствующее, для Вашего случая, команды от команд выше и удостоверьтесь, что это работает правильно, который является Вами, не имеют никакого экрана, рвущегося в Ваших мониторах.

  • Добавьте одну из следующих команд (в зависимости от того, что работало лучше всего на Вас) к Вашим приложениям запуска:

    • Для конвейера состава силы:

      bash -c "sleep 10 && nvidia-settings --assign CurrentMetaMode=\"$(xrandr | sed -nr '/(\S+) connected (primary )?([0-9]+x[0-9]+)(\+\S+).*/{ s//\1: \3 \4 { ForceCompositionPipeline = On }, /; H}; ${ g; s/\n//g; s/, $//; p }')\""
      
    • Для силы полный конвейер состава:

      bash -c "sleep 10 && nvidia-settings --assign CurrentMetaMode=\"$(xrandr | sed -nr '/(\S+) connected (primary )?([0-9]+x[0-9]+)(\+\S+).*/{ s//\1: \3 \4 { ForceFullCompositionPipeline = On }, /; H}; ${ g; s/\n//g; s/, $//; p }')\""
      

    sleep 10 команда просто добавляет 10-секундную задержку, чтобы гарантировать, что рабочий стол полностью загрузился прежде, чем работать nvidia=settings --assign команда. Вы, возможно, должны добавить большую задержку, если Ваш рабочий стол занимает больше времени, чтобы полностью загрузиться.


Старый ответ. Попробуйте их, если вышеупомянутый метод не работает на Вас.

То, что предлагается в ответе, который Вы отправили, корректно для Ubuntu 16.04.

Для Ubuntu 18.04 и более поздних версий, необходимо измениться options nvidia_387_drm modeset=1 кому: options nvidia-drm modeset=1 (версия драйвера Nvidia больше не необходима).

Таким образом, то, что необходимо сделать для Ubuntu 18.04 и более поздних версий:

  • Создайте файл в Вашем /etc/modprobe.d каталог называют zz-nvidia-modeset.conf.

  • Добавьте следующие строки к нему:

    #enable prime-sync
    options nvidia-drm modeset=1
    
  • От выполненного терминала:

    sudo update-initramfs -u
    
  • Перезагрузка.

Для включения адаптера Nvidia, после перезагрузки, необходимо работать

sudo prime-select nvidia

затем выйдите из системы и войдите в.

Править: При использовании Gnome необходимо будет использовать другого менеджера по оформлению, такой как lightdm, с тех пор gdm не позволяет внешним мониторам работать с nomodeset=1.

Устанавливать lightdm выполненный:

sudo apt install lightdm

После установки lightdm выполненный

sudo dpkg-reconfigure lightdm

и выберите его в качестве своего менеджера по оформлению в окне терминала, которое появляется.

3
ответ дан 1 December 2019 в 16:15

Другие вопросы по тегам:

Похожие вопросы: