Экран, рвущийся на Nvidia GTX960m

Я недавно купил MSI GP72 7QF (i5-7300HQ + Nvidia GTX960m), и я испытываю раздражающий экран, рвущийся после установки Ubuntu 17.04. У меня есть последний драйвер Nvidia, установленный (384.59), но он все еще рвется. Я предполагаю, что проблемой является ГЛАВНАЯ синхронизация.

Как я могу зафиксировать его?

6
задан 10 December 2017 в 14:34

5 ответов

У меня есть два гибридных ноутбука, работающие 17.04, старый ThinkPad и P50 (2016). Это машины Optimus Nvidia, и с 'классом предприятия' Quadro графическое и надлежащее аппаратное мультиплексирование, которое не имеют более дешевые ноутбуки. Это представляет проблемы с Optimus в немного спорном Linux, однако, у меня есть Optimus, работающий так или иначе.

Я провел некоторое время, работая через эту проблему, и я представляю Ответ. Если у Вас есть мои машины, так или иначе.

Мои ноутбуки имеют установку BIOS, чтобы отключить графику Intel и использовать только карту Nvidia, которую она описывает как режим Discrete. Это требует аппаратного мультиплексирования, которое мобильную рабочую станцию имеют ThinkPads. В этом режиме легко избавиться от разрыва. Это - решение (1). Но это не может быть опцией.

Если панель управления Nvidia позволяет Вам выбрать Nvidia или Intel, Вы находитесь в гибридном режиме.

Если Вы хотите использовать гибридную графику, или если у Вас нет выбора, легко постараться не рваться на внешних мониторах, так как они управляются от аппаратных средств Nvidia. Находится разрыв только на панели ноутбука, или на внешних мониторах? Разрыв внешнего монитора фиксируется конвейерным составом силы, по моему опыту, этих двух машин. Полный pipleline не нужен. Это - решение (2a), но оно не прекращает рваться на панели ноутбука. Можно включить его от панели управления Nvidia или через командную строку (хороший для сценария запуска). См. снимок экрана ниже. Существует прием: необходимо выбрать внешний монитор, не внутреннюю панель, и затем нажать Advanced... Сценарий командной строки ниже.

Но прекратить рвать на панели Intel в Nvidia главный режим, Вам нужна Главная синхронизация. Это - самая трудная вещь получить работу. Я использую рабочий стол гнома на 17,04, но забываю об использовании gdm3. Останьтесь с lightdm в качестве менеджера по оформлению. gdm3 имеет ошибку в данный момент, это, кажется, вызывает сессию Уэйленда, и это не работает. С lightdm можно включить главную синхронизацию для слезы свободный опыт, с помощью очень последних драйверов Nvidia (которые находятся в PPA, я предполагаю, что Вы обнаружили). Необходимо создать новый modprobe файл, названный для загрузки после существующей Nvidia один, и затем Вы восстанавливаете свой initramfs для этого (производящие чистку и переустанавливающие драйверы Nvidia делает это как побочный эффект, но это берет немного дольше). Я обновлю этот ответ с полными инструкциями, если это будет Вашей ситуацией. Это работает хорошо теперь с последними драйверами (приблизительно неделя). До тех пор это работало, но мы получили панику ядра. Теперь это кажется стабильным. Существует форум в Nvidia для драйверов Linux, которая имеет очень активный поток. Так получение главной синхронизирующей работы является решением (2b)

Я не уверен, что существует много точки Главной синхронизации на моем ноутбуке; я могу также получить то, что я хочу при помощи дискретного режима при использовании мультимониторов (почти все время), и когда я хочу продолжительный срок использования батарей, я подкачиваю к главно-избранному Intel под гибридным режимом. Это означает прохождение в настройки BIOS, но изменение главного режима требует перезагрузки так или иначе. Другими словами, мне никогда действительно нужен он, но это действительно работает (теперь).

При выполнении гибридной графики в режиме Intel легко закрепить разрыв на панели ноутбука, так как карта Nvidia исчезает из изображения (буквально). Главная синхронизация поэтому не важна. Никакие внешние мониторы, в этом случае, конечно. На моем ноутбуке я должен использовать установку для включения Intel без слезы; это - установка Xorg. У меня есть сценарий, главный-select_tim, который восстанавливает ту установку при выполнении в режиме Intel и удаляет его при выполнении в режиме Nvidia. Поэтому x не запустился бы в главной избранной Nvidia, если бы эта конфигурация была все еще активна в /usr/share/X11/xorg.conf.d Вы сказали, что испытали затруднения при попытке использовать профиль Intel. Я нашел X быть очень суетливым с содержанием/usr/share/X11 при выполнении в гибридном режиме Nvidia. Это работает, если Вы ничего не добавляете (который является, почему у меня есть сценарий, который скрывает мой 20-intel.conf файл, если я изменяюсь на гибридный режим Nvidia).

Также обратите внимание, что необходимо удостовериться, что у Вас есть пакет xserver-xorg-video-intel установленный. Описание пакета подразумевает, что Вам не будет нужно оно ("препятствовавший, если Ваш hw будет достаточно новым (приблизительно 2007 и более новым)". Несмотря на это, это важно.

Это - решение (3). Обратите внимание, что я не знаю при отъезде этого файла в xorg.conf.d, когда в режиме гибридной Nvidia все еще вызывает проблемы, я не протестировал это некоторое время.

Это - мой 20-intel.conf для закрепления разрыва на панели ноутбука когда в режиме гибридного Intel. Это не закрепляет разрыв на панели ноутбука, когда в режиме гибридной Nvidia (на самом деле, даже просто оставляя этот файл там может мешать X запуститься). Только Главная синхронизация может помочь Вам.

Section "Device"
     Identifier  "Intel Graphics"
        Driver      "intel"
        Option      "TearFree"    "true"
 EndSection

~

Я разработал все это при использовании xfce, таким образом, я знаю, что это работает там также. Но гном в 17,04 так хорош, я изменился. Я не протестировал это в Единице.

== Гибридный режим Nvidia ==

Таким образом уточнить получение никакого разрыва в гибридном режиме Nvidia: В этом режиме карта Nvidia представляет все. Это может записать непосредственно во внешние экраны, таким образом, любой разрыв на внешних экранах является просто проблемой Nvidia. ForceCompositionPipeline был фиксацией, в которой я нуждался.

Можно активировать это из командной строки. Вот то, что я делаю.

#!/bin/bash
nvidia-settings --assign CurrentMetaMode="$(nvidia-settings -q CurrentMetaMode -t|tr '\n' ' '|sed -e 's/.*:: \(.*\)/\1\n/g' -e 's/}/, ForceCompositionPipeline = On}/g')" > /dev/null

Я не автор того отрывка, слишком волшебного для меня. Можно также сделать это от Усовершенствованной панели управления Nvidia, но удостовериться, что Вы нажимаете на представление внешнего монитора. Панель PRIME, то есть, панель ноутбука, не показывает эту установку

enter image description here

Если это не фиксирует разрыв, я не могу помочь, но это означает, что Вашей проблемой является проблема с драйвером Nvidia, ничто, чтобы сделать с главной или главной синхронизацией. Я использую драйвер 384.59 от PPA. См. http://ubuntuhandbook.org/index.php/2017/02/how-to-install-nvidia-375-39-378-13-via-ppa-in-ubuntu/

Для привлечения панели ноутбука карта Nvidia пишет в память, используемую картой Intel, которая затем отображает ее на экране. Это является "Главным". Наверняка у Вас есть эта работа, иначе на Вашей панели ноутбука не было бы никакого изображения.

Но Главная Синхронизация затем находится на одном уровне. Заставляя эти две карты, синхронизировавшие стараться не рвать потребности Главная Синхронизация, что-то столь новое, которые только за прошлые несколько недель имеют нас замеченный стабильное решение. Драйвер Nvidia должен работать в установке привилегированного режима, которую он не делает по умолчанию.

sudo vi /etc/modprobe.d/zz-nvidia-modeset.conf

и использование это содержание:

 options nvidia_384_drm modeset=1

который, очевидно, предполагает, что у Вас есть 384 драйвера.

затем sudo обновляют-initramfs-u

иначе новый текстовый файл не будет иметь никакого эффекта. Я не забочусь о том, что любой говорит о настройках в grub2, использование этого текстового файла является единственной вещью, которая работала на меня, и это - принятое решение на Nvidia Главный Синхронизирующий поток.

Не используйте gdm3, используйте lightdm при текущем использовании gdm3. Надо надеяться, gdm3 ошибка будет исправлена перед Ubuntu 17.10, где это, вероятно, будет менеджер по оформлению по умолчанию :) Если Вы не уверены, таким образом, это:

dpkg-reconfigure lightdm 

затем перезагрузка.

tim@raffles:~$ xrandr --properties | grep PRIME
    PRIME Synchronization: 1 
12
ответ дан 23 November 2019 в 07:19

Это учебное руководство объясняет, почему это происходит и как зафиксировать его: https://m.youtube.com/watch? v=91AQ_EzgNMk

0
ответ дан 2 November 2019 в 20:57

Протест с принятым ответом в соответствии с Ubuntu 16.04

Я не протестировал разветвления, но принять ответы говорит для создания файла /etc/modprobe.d/zz-nvidia-modeset.conf и использование это содержание:

options nvidia_384_drm modeset=1

Однако это противоречит существующему файлу в том же каталоге:

$ cat /etc/modprobe.d/nvidia-graphics-drivers.conf
# This file was installed by nvidia-384
# Do not edit this file manually

blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-current
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current-updates
blacklist nvidia-173-updates
blacklist nvidia-96-updates
blacklist nvidia-384-updates
alias nvidia nvidia_384
alias nvidia-uvm nvidia_384_uvm
alias nvidia-modeset nvidia_384_modeset
alias nvidia-drm nvidia_384_drm
alias nouveau off
alias lbm-nouveau off

options nvidia_384_drm modeset=0

Просто что-то необходимо не упустить...

Более короткий ответ

Более короткий ответ на основе ответа Tim Richardson. Для систем с процессором Skylake и Nvidia GTX 970M управление HDMI. Чистая установка Ubuntu 16.04 и не делает ни одного из других шагов в ответе, просто использует Dash запускаться NVIDIA X-Server Settings:

NVIDIA x-server settings

Нажмите Advanced кнопка для создания Force Composition Pipeline доступная опция. Затем проверьте его и примените изменения.

Примечание там является опцией сохранить конфигурационный файл:

nVidia X Server Settings save

Следующий шаг, который заставит Ваш Экранный Разрыв зафиксировать постоянный, детализирован в ArchLinux. В оболочке гайки:

  1. Переместиться /etc/X11/xorg.conf кому: /etc/X11/xorg.conf.d/20-nvidia.conf
  2. Отредактируйте файл и вставьте 3 строки (шоу ниже)
  3. Сохраните файл и перезагрузку (я должен был сделать это дважды и заменить 3-й экран в горячем режиме на Ударе молнии 3 USB-C.

Эти 3 строки для добавления к /etc/X11/xorg.conf.d/20-nvidia.conf:

 Option         "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
 Option         "AllowIndirectGLXProtocol" "off"
 Option         "TripleBuffer" "on"
1
ответ дан 23 November 2019 в 07:19

Принятый ответ действительно хорош, но он не делает работавший для меня, пока я не изменился (моя версия драйвера Nvidia 390),

options nvidia_390_drm modeset=1

кому:

options nvidia_drm modeset=1

После перезагрузки наконец исчез экран, рвущийся.

2
ответ дан 23 November 2019 в 07:19

На Linux Mint 19.1, ни одно из этого не было постоянной фиксацией для меня. Но это было близко. Таким образом, я сделал исполняемый файл и поместил следующее содержание в него:

sleep 20
nvidia-settings --assign CurrentMetaMode="$(nvidia-settings -q CurrentMetaMode -t|tr '\n' ' '|sed -e 's/.*:: \(.*\)/\1\n/g' -e 's/}/, ForceCompositionPipeline = On}/g')" > /dev/null

Затем я поместил ссылку на этот файл в приложениях запуска. Причина я поместил sleep 20 там должен дать системное время, которое будет полностью загружено и перед той выполняемой командой, потому что, для меня, по крайней мере, без этого sleep 20 это надежно повредило звуковые настройки. Никакая идея, почему. Но ожидание немного для выполнения команды решило тот вопрос. Надежда, которая помогает кому-то.

1
ответ дан 23 November 2019 в 07:19

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

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