Разорвать (не Vsync) в кино (проприетарный драйвер Nvidia)

18

Это скорее вопрос KDE, чем вопроса Ubuntu, но ...
у меня на экране видны разрывы. Композиция KDE, флеш-видео в Firefox и простые игры, такие как kpat, vsynced, но в паровых играх и в фильмах наблюдается четкое постоянное разрывание. Если я везде отключу vsync, разрыв будет в два раза заметнее, так что это не просто игнорирование настроек графическим процессором.
Что меня больше всего беспокоит, так это то, что у меня одна и та же проблема на разных установках. У всех есть эта проблема и никому нет дела?
Моя настройка

  • Kubuntu (последние несколько версий) или OpenSuse или Gentoo.
  • KDE 4.12 - 4.13
  • Nvidia GTX 260, 570, TITAN, разные версии драйверов.
  • Я смотрю фильмы в SMplayer с бэкэндом mplayer2. VLC имеет ту же проблему.

Что я попробовал (и это не помогло)

  • Включение и выключение в разных конфигурациях настроек Vsync в настройках nvidia и эффектов рабочего стола KDE.
  • Переключение вывода Mplayer и direct renderingнастроек.
  • Отключение режима адаптивного питания в nvidia-settings.
  • Отключение композитинга
  • Смена монитора Гц
  • Запуск mplayer из CLI
  • Выполнение ритуалов и жертвоприношений

Что сработало (но не является и приемлемым решением)

  • Отключение KDE и запуск Mplayer в чистом сеансе X
  • Переключение в нуво И выключение композиции И открытие видео в полноэкранном режиме - без какой-либо части оно все еще рвется.

Пожалуйста посоветуй.

ОБНОВЛЕНИЕ 1 Я обнаружил, что если я перейду к Desktop Effects - Advanced и изменим там что-нибудь ценное (версия OpenGL, алгоритм масштабирования) и нажму «Применить», разрыв останется до перезагрузки. Тем не менее, никакие настройки не решают это раз и навсегда. После перезагрузки мне нужно снова что-то изменить. Думаю, достаточно обвинить в этом ошибку, а не мои ошибки, поэтому я отправлю отчет об ошибке.

Барафу Альбино
источник

Ответы:

8

Простое руководство для решения этой назойливой проблемы :)

  1. Создать файл:

    /etc/profile.d/Tearing.sh
    
  2. Вставьте этот код:

    export __GL_YIELD="USLEEP"
    
  3. Затем сделайте его исполняемым с помощью:

    chmod +x /etc/profile.d/Tearing.sh
    
  4. Как только это будет сделано, перезагрузите компьютер или нажмите Ctrl + Alt + F2, войдите в систему и запустите sudo service lightdm restart Или перезапустите, какой бы ни был ваш менеджер дисплея.

GL_YIELD работал для меня, и теперь вертикальная синхронизация работает, как и должно.

( https://www.kubuntuforums.net/showthread.php?63946-No-vertical-sync-with-NVIDIA&highlight=tearing )

Доминик Найберг
источник
Это сработало отлично, спасибо! Больше нет
слез
1
Мне тоже удалось, nVidia GeForce 210 через HDMI на телевизор
K0D4
8

Источником проблемы были (конечно) неисправные драйверы nvidia. Решение простое. Добавьте переменные среды:

export __GL_YIELD="USLEEP"
export __GL_THREADED_OPTIMIZATIONS=1

где-то до начала X Общесистемный /etc/profile/работает нормально.

Барафу Альбино
источник
2
Это не помогло ни в 14.04, ни в 16.04
Джованни Торальдо
5

Я прибил это ...

Итак, прежде всего убедитесь, что проблема не устранена после выключения эффектов рабочего стола (Alt + Shift + F10). Я могу гарантировать, что проблема уже может исчезнуть.

Перейдите в настройки системы и откройте эффекты рабочего стола:

  • Метод масштабирования к чему-то другому, чем установлено в настоящее время <- фактическое исправление

Я знаю, что варианты могут быть названы не так, как указано выше. Извините, но я пользуюсь польской версией Kubuntu.

Шаги выше решили проблему для меня. Но только после новой установки. :)

РЕДАКТИРОВАТЬ: В текущей версии 14.04 Kubuntu проблема связана с методом масштабирования. Изменение его на что-то другое, чем выбрано в настоящее время, помогает решить проблему ВРЕМЕННО.

Доминик Найберг
источник
Я попытался установить «Метод масштабирования для сглаживания» в одиночку, и это, похоже, решить проблему! Но я буду ждать выходных, прежде чем закрывать ответ. Слезы уже давно исчезли и снова появились, и более того, эта «плавная» вещь не должна влиять на время воспроизведения фильма. Weird. Знаете, даже жутко.
Барафу Альбино
Так что, похоже, это так: когда я изменяю метод масштабирования на что-либо, разрывание исчезает. Но после перезагрузки он вернулся, и мне нужно снова изменить его на что-то другое.
Барафу Альбино
Это исправило проблему для меня. Я думаю, что не все шаги были необходимы, но вместе они, кажется, покрывают это, и я получаю прекрасную производительность HD-видео (в VLC) как в окне, так и в максимизированном режиме. Комбинация настроек nvidia плюс отключение эффектов рабочего стола также исправили это, но таким образом я могу оставить эффекты рабочего стола включенными. Также я ранее установил пакет с ограниченным набором дополнений ubuntu - не уверен, вступил ли он в игру или нет.
gregtczap
И я могу «гарантировать», что если вы выключите свой монитор, проблема «может» также исчезнет :) Человек без обид, но если проблема просто «может» исчезнуть, гарантии нет вообще. В любом случае, я хочу сказать, что это неприемлемое разрешение для меня и, возможно, для многих других, однако может помочь, если кто-то захочет просто посмотреть один фильм и не тратить на него много времени.
Томасб
5

Я перепробовал все приемы и ничего не решил в Ubuntu 15.04 (вместе с xorg-edgers и nvidia-355), пока не попал на страницу nvidia archlinux .

Тест с:

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

Чтобы сделать изменение постоянным, вам необходимо добавить следующую строку в раздел «Экран» вашего файла конфигурации Xorg, например, в /etc/X11/xorg.conf.d/20-nvidia.conf.

Option  "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
Джованни Торальдо
источник
Копирование и вставка одного и того же ответа на многие вопросы не очень хорошо. Вы должны были отметить как дубликат, тот факт, что на эти вопросы уже есть ответы. Спасибо :)
Митч
Спасибо, у меня был разрыв, и другие решения (например, установка переменной __GL_YIELD) не работали. Кроме того, ранее у меня были проблемы с настройкой файла Xorg, но приведенная выше командная строка работала успешно. Я попытаюсь добавить командную строку в мой ~ / .xprofile. Это взлом, но это должно сработать.
Крис
1
Не могу дать вам достаточно очков :-) Для справки, я на Xubuntu 15.10 с nvidia-355.
Маркус
1
Это сработало для меня и меня 14.04 :)
Нил
1
Это работало для меня на KDE Neon User LTE.
tejzpr
0

Удаление драйвера NVIDIA решено для меня. Для XFCE единственной вещью, которая помогла, была замена оконного менеджера.

Waterscroll
источник
1
Для XFCE это так. Для других WM, однако, удаление драйвера не является необходимым, и я или не могу решить проблемы.
Барафу Альбино
Мне это кажется довольно необходимым, потому что драйвер глючит, а nouveau выдает vsync, который мне нужен.
Waterscroll
Какой оконный менеджер вы использовали вместо этого?
Ярно
Комптон, но я понял источник моей проблемы. Существует проблема с nvidia optimus и xorg, которая вызывает разрыв при использовании карты nvidia.
Waterscroll
Что касается vsync, то помогла сборка Xfwm4 из Git; инструкции здесь ). Однако в текущей версии Git, похоже, есть некоторые другие проблемы с рисованием.
Ярно
0

Я испробовал каждое предложение, чтобы попытаться исправить разрыв экрана при просмотре видео в Unity, Gnome и Gnome Classic на двух компьютерах (один с Nvidia Titan X, а другой со старой картой Radeon). Ничего не получалось.

Затем я заметил, что когда я переключил видеовыход в настройке VLC с OpenGL на X11, разрыв исчез, но я начал получать много случайных черных / белых квадратов или «шум».

Чтобы начать воспроизведение видео, я установил Lubuntu Desktop, который использует OpenBox вместо OpenGL. Lubuntu - это производная от Ubuntu, в которой по умолчанию установлен LXDE. Он очень легкий и идеально подходит для работы в фоновом режиме, когда вы используете Kodi и Steam или просто смотрите видео.

При быстром перетаскивании окон может произойти разрыв окна, но для меня это не имеет значения в этой ситуации, поскольку я использую только Kodi и Steam в полноэкранном режиме на этом компьютере.

Выполните следующую команду, чтобы установить в Ubuntu настроенный Lubuntu LXDE и vanilla LXDE:

sudo apt-get install lubuntu-desktop

Вместо этого используйте эту команду для установки только vanilla LXDE:

sudo apt-get install lxde

Вы также можете попробовать LXDE, загрузив  Lubuntu live CD .

Каждая среда отличается только настройками по умолчанию. Они приходят с различными темами, обоями и макетами панелей. Например, браузер Chromium используется по умолчанию в Lubuntu, а Mozilla Firefox - по умолчанию в ванильном LXDE. Конечно, вы можете использовать любой браузер, который вам нравится. Они оба используют файловый менеджер PCManFM, облегченную замену файлового менеджера Nautilus, найденного в GNOME.

После установки любого пакета выйдите из системы и выберите сеанс Lubuntu или LXDE на экране входа в систему.

Мои видео никогда не выглядели лучше, чем в Lubuntu. Я смог увеличить частоту до 120 Гц, чтобы соответствовать телевизору. Воспроизведение было удивительно плавным для 1920x1080p.

guttermonk
источник
OpenBox вместо OpenGL? Они для одной и той же задачи?
Ярно
Нет, я предлагаю вам использовать менеджер окон компоновки, такой как Openbox, который не использует OpenGL. en.m.wikipedia.org/wiki/Compositing_window_manager
guttermonk
Xfce4 по умолчанию использует Thunar в качестве файлового менеджера, а не PCManFM.
Ярно
Запуск LXDE не останавливал разрыв видео в браузере Chromium при воспроизведении YouTube. У меня есть графика Intel и Ubuntu 14.04.
Ярно
@ Ярно, XFCE - опечатка. Я отредактировал его и заменил на LXDE. По поводу разрывания экрана пробовали ли вы другой браузер? Есть ли у вас разрыв экрана при воспроизведении видеофайлов с жесткого диска?
guttermonk