У меня есть та проблема, которая по-видимому сокрушает многих использующих собственный драйвер Nvidia:
Видео разрыв: прекрасные горизонтальные строки (обычно около вершины моего дисплея), когда существует большое панорамирование или действие в видео.
(Примечание: переключение назад на значение по умолчанию nouveau драйвер не является опцией, поскольку ее на вид несуществующее управление питанием истощает мою батарею несколько раз быстрее),
Я попробовал Тотем, Досрочное условное освобождение и VLC, и разрыв происходит со всеми ними. Лучший результат должен был использовать X11 output
в VLC, но там все еще рвется с относительно умеренным действием.
Оборудование: MacBook Air 3,2 - который имеет Nvidia GeForce 320M.
Существует два общих мер для разрыва с драйверами опоры Nvidia:
Выключите составление композита, начиная с Nvidia собственные драйверы обычно не играют по правилам с составлением композита менеджеров окон на Linux (Compiz является исключением, о котором я знаю). Но я использую чрезвычайно легкий менеджер окон (Потрясающий менеджер окон), который даже не способен к составлению композита (или никакие прохладные эффекты). У меня также есть эта проблема в Xfce, где у меня есть отключенное составление композита.
Включение синхронизации к VBlank. Для включения этого я установил опцию в nvidia-settings
и затем автоматически запустите его как nvidia-settings -l
с моими другими программами автоматического запуска. Это, кажется, работает, потому что, когда я работаю glxgears
, Я добираюсь:
$ glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
303 frames in 5.0 seconds = 60.500 FPS
300 frames in 5.0 seconds = 59.992 FPS
И когда я проверяю использование частоты обновления nvidia-settings
:
$ nvidia-settings -q RefreshRate
Attribute 'RefreshRate' (wampum:0.0; display device: DFP-2): 60.00 Hz.
Все это предполагает, что синхронизация к VBlank включена. Насколько я понимаю это точно разработано, чтобы прекратить рваться, и большая проблема людей даже получает что-то как glxgears
производить корректную информацию. Я не понимаю, почему это не работает на меня.
xorg.conf: http://paste.ubuntu.com/992056/
Пример наблюдаемого разрыва::
Я использую 64-разрядную элементарную ОС Luna (на основе Ubuntu 12.04 LTS), и у меня возникла та же проблема. Поискав вокруг, я наконец нашел метод, который РАБОТАЕТ, и, очевидно, он включает решение «Powermizer settings to Performance», как уже говорили многие другие люди.
Проблема в том, что после перезапуска эти настройки восстанавливаются до значений по умолчанию Настройка «Авто» и, по-видимому, приложение Nvidia-Settings не сохраняет должным образом новые настройки Powermizer. НЕ БЕСПОКОИТЬСЯ !!!
ПРОСТО СЛЕДУЙТЕ НИЖЕ ИНСТРУКЦИЯМ, ЭТО ТАКОЕ ПРОСТО:
Как говорится в статье, создайте приложение для запуска, и все готово !!!! ПОВЕРЬ МНЕ ЭТО РАБОТАЕТ!!! Большое спасибо Aquablue за публикацию этого и, конечно же, Майку из службы поддержки клиентов Nvidia, который предоставил решение !!!
К вашему сведению, у меня есть Phenom II X4, 8 ГБ оперативной памяти DDR3, SSD Corsair, GTX 650, Elementary Luna 64- бит.
Вы можете исправить это для VLC, изменив видеовыход на «OpenGL GLX».
Нажмите на
Kudos You are Done if you set right
- - Вы сделали это, если вы установите правильную настройку -. 121---901804-Одно дело попробовать, что может сработать. Откройте настройки nvidia и перейдите в секцию powermizer. Выберите "Максимальная производительность" в выпадающем списке, и вы увидите, что ваш порошок перескакивает на самую быструю скорость.
После этого попробуйте видео.
Раньше я обнаружил, что vsync не работает, когда на карте nvidia установлена самая медленная настройка порошка.
Извините за этот ответ для openSuSE, а не для Ubuntu, но я наконец-то заставил его работать с этими изменениями,
Надеюсь, это поможет! Я думаю, что есть некоторые настройки, которые заставят его работать с композитингом, но я рекомендую, по крайней мере, отключить композитинг для тестирования. Моя настройка - 4K монитор и видеокарта GTX 650.
Похоже, у вас запущен какой-то легкий оконный менеджер (предположительно openbox). Если это так, возможно, вы используете xcompmgr как составной менеджер для получения эффектов рабочего стола, таких как тени, прозрачность и т. Д. В моем случае отключение xcompmgr решило ту же проблему: разрыв при просмотре видео, особенно в HD (которые интенсивно используют процессор). Очевидно, разрыв произошел из-за ошибки в xcompmgr, который давно заброшен. Чтобы выключить xcompmgr, вы можете выполнить «killall xcompmgr». Это должно сработать. Надеюсь, поможет! Салудо! Пабло.
Я мог выбрать окно курсором, переместить окно, и это исправило разрыв. Так что, похоже, некоторые проблемы с обратным вызовом в X.
Для меня исправление vlc было:
vlc -> инструменты -> настройки -> видео -> в раскрывающемся списке «вывод» выберите
Видеовыход x11 (XCB)
В дополнение к предыдущему посту Дэвида: если вы хотите установить последние проприетарные драйверы NVidia с помощью X-swat PPA, вы также можете добавить его в свои источники:
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current
Это установит последнюю версию и будет держать вас в курсе их поставок.
Я использую 64-битную версию Ubuntu 12.04LTS и nvidia gtx 660ti.
Я мучился разрывом видео более месяца, пока не нашел решение.
Откройте Настройки сервера nvidia x -> PowerMizer -> Настройки PowerMizer (внизу) и там написано: «Предпочитаемый режим, "измените настройку с Adaptive на Prefer Maximum Performance.
Если вы не используете двойной монитор, есть еще одна возможность. Существует два разных типа синхронизации с vblank: один для XVideo и один для OpenGL. В настройках nvidia один находится в разделе «Настройки X Server XVideo», а другой - в разделе «OpenGL / Настройки». Какой из них действительно влияет на ваше программное обеспечение для воспроизведения видео, может зависеть от того, какой плагин вывода он использует.
У меня были те же проблемы с разрывом видео. В моем случае я заметил, что удаление происходит только в полноэкранном режиме. Проблема, по всей видимости, заключается в масштабировании видео до полноэкранного. Если исходный размер воспроизводимого видео и разрешения экрана не совпадают, в видео происходит разрыв. Установка соотношения сторон в smplayer к соотношению сторон дисплеев устранил проблему для меня.
например, я воспроизводил видео размером 1280x714 в полноэкранном режиме, видео было разорвано. io видео до 16: 9, воспроизведение было плавным.
Я должен отметить, что основная причина проблемы остается там и раздражает. Поскольку соотношение сторон не сохраняется исходным, видео будет искажаться. Однако лучше смотреть без слез;)
Судя по вашему описанию, я не уверен, действительно ли вы видите слезы; Обычно разрыв выглядит так, как будто изображение разделено по горизонтали на две или три части, причем части не совпадают. Это происходит потому, что верхняя часть изображения и нижняя часть не принадлежат одному и тому же кадру видео. В Википедии есть хороший смоделированный пример разрыва экрана . Тонкие горизонтальные линии звучат иначе, больше похоже на расчесывание артефактов из-за плохого деинтерлейсинга, хотя, может быть, это просто сложно описать.
Вы не упоминаете никаких деталей видео, которое пытаетесь посмотреть, например, его разрешение, кодирование, чересстрочная или прогрессивная развертка, и включен ли деинтерлейсинг в VLC. Также, возможно, стоит проверить, выгружается ли обработка видео на GPU , или же CPU выполняет всю работу. Подтвердили ли вы, что можете успешно просматривать одно и то же видео на другом оборудовании или на MacBook с OS X?
Вы говорите, что пробовали отключить композитинг на XFCE, но, вероятно, не помешало бы попробовать добавить:
Section "Extensions"
Option "Composite" "Disable"
EndSection
в ваш /etc/X11/xorg.conf на всякий случай. Кроме того, еще одно предложение, не упомянутое до сих пор, - это добавить:
Option "UseEvents" "True"
в разделы Device или Screen вашего xorg.conf.
ОБНОВЛЕНИЕ:
Приложенный снимок экрана определенно показывает разрыв! Если в остальном проигрыватель не отставал от декодирования видео (то есть, без заиканий, замедлений, только разрывов), то, вероятно, не имеет значения, выполняет ли декодирование процессор или графический процессор. VLC имеет опцию на странице настроек видео в настройках для включения и выключения «Ускоренного вывода видео»; если он включен, для декодирования должен использоваться графический процессор. Если вы переключите этот параметр в VLC и запустите top
в терминале во время воспроизведения видео, вы должны увидеть разницу в использовании ЦП между двумя настройками. Вы также можете попробовать отключить деинтерлейсинг в VLC, чтобы увидеть, имеет ли это значение.
У меня есть два других предложения:
Я не вижу ничего явно неправильного с вашим xorg.conf, но вы можете удвоить -проверьте, что обе настройки синхронизации с vblank (на X Server XVideo Settings и OpenGL Settings) правильно сохранены в .nvidia-settings-rc. Некоторые люди запускают nvidia-settings как root или с помощью gksudo (чтобы он мог обновлять /etc/X11/xorg.conf), но это может привести к тому, что настройки будут храниться в /root/.nvidia-settings-rc, а не в ~ /. nvidia-settings-rc. Это должна быть ваша собственная копия, но, чтобы избежать каких-либо сомнений, вы должны проверить оба параметра vblank при запуске nvidia-settings от имени вас; не забудьте нажать «Сохранить текущую конфигурацию» на нижней странице настроек. Если вы запустите:
nvidia-settings -q=XVideoTextureSyncToVBlank -q=SyncToVBlank
, то вы должны увидеть, что оба параметра установлены на 1. Вероятно, вам также следует проверить, работает ли автоматическая загрузка настроек, перезагрузившись и снова выполнив указанную выше команду.
Еще одна вещь, которую вы можете попробуйте обновить / понизить версию драйверов nvidia. Раньше у меня возникали разрывы при обновлении некоторых второстепенных версий драйверов; Определенно существуют «хорошие» и «плохие» версии драйверов nvidia, и последние не всегда самые лучшие. Вы можете попробовать выполнить обновление с помощью X-swat PPA:
https://launchpad.net/~ubuntu-x-swat/+archive/x-updates
И вы можете попробовать вернуться к более ранней версии, доступной для 12.04:
https://launchpad.net/ubuntu/precise/ amd64 / nvidia-current или же https://launchpad.net/ubuntu/precise/i386/nvidia-current
в зависимости от того, установлен ли у вас amd64 или i386. Щелкните номер версии справа, которую вы хотите попробовать, загрузите файл .deb и затем установите его с помощью:
sudo dpkg --install <name of file>.deb
Например, из-за несвязанной ошибки nvidia мне пришлось загрузить это:
http: // launchpadlibrarian.net/90395807/nvidia-current_290.10-0ubuntu2_amd64.deb[12187 providedfrom
https://launchpad.net/ubuntu/precise/amd64/nvidia-current/290.10-0ubuntu2
и установил его, используя :
sudo dpkg --install nvidia-current_290.10-0ubuntu2_amd64.deb
Еще один крошечный момент: еще один ответ упоминает об изменении частоты обновления с Авто на 60 Гц, а вы говорите, что она уже установлена на 60 Гц. Однако ваш прикрепленный xorg.conf имеет nvidia-auto-select в метамодах (в разделе Screen), что говорит о том, что он не исправлен. Однако ваше определение монитора предлагает только 60.0, так что, возможно, это несущественно. Может быть интересно создать резервную копию и переместить ваш xorg.conf, а также повторно запустить nvidia-xconfig и nvidia-settings, чтобы увидеть, не получите ли вы другую конфигурацию.
Не уверен, что это поможет вам, но у меня это сработало. Откройте настройки nvidia и измените Frecuency с Auto на 60. И нажмите "Применить". Это решило мои проблемы с разрывом видео и общим мерцанием рабочего стола. К сожалению, мне приходится делать это каждый раз при перезапуске.
У меня это сработало с драйвером ATI radeon, поэтому оно может сработать и для вас:
Добавьте файл конфигурации (например, case /etc/X11/xorg.conf.d/20- nouveau.conf)
, состоящий из следующего:
Section "Device"
Option "EXAVsync" "True"
Option "GLXVBlank" "True"
Identifier "Nvidia card"
Driver "nouveau"
EndSection
EXA - это фреймворк для композитинга видео; По-видимому, по умолчанию он не использует vsnc.
Возможно, также стоит попробовать другое программное обеспечение (например, vlc) для воспроизведения видео.
Вот как я решил проблемы с vsync для видео на ноутбуке ASUS K50IN с помощью NVIDIA GeForce G102M. Я знаю, что ваш пробег может отличаться, так как карты разные, но вы можете попробовать.... Фокусом для меня было использование barebones MPlayer (но не MPlayer2!). Он не работает ни с одним из других плееров.
Сделайте обычный композит в ccsm
Делайте обычное волшебство nvidia-настроек:
Установите mplayer и vdpau (НЕ mplayer2!!!!! Это новое и экспериментальное решение и, по крайней мере, для меня, было запаздывающим с VDPAU)
Set up MPlayer (Я тоже пробовал gnome-mplayer, но результат не такой большой, как я пробовал)
[default] ao=импульс vo=vdpau
Замените ao на alsa, если вы удалили импульсное звучание.
Перезапустите X, выйдя/входя снова.
Попробуйте, YMMV, как всегда. Я обнаружил, что, особенно в не-LTS-релизах или с бета-драйверами, это может больше не работать в зависимости от кодека видео.
Я тоже страдал от разрывов видео в моем процессоре Intel Sandy Bridge. Это сработало для меня. Я поместил следующие строки в «/ etc / environment» -
CLUTTER_PAINT = disable-clipped-redraws: disable-culling
CLUTTER_VBLANK = True
, и это сработало. Нажмите Enter в конце и скопируйте и вставьте эти строки. Может потребоваться перезагрузка. Попробуйте.
Если вы используете два монитора, драйвер nvidia может синхронизироваться только с vblank одного из дисплеев, если они не используют точно такую же частоту обновления. И я имею в виду именно . Это фактически невозможно, если оба монитора не относятся к одному и тому же типу. В случае, если драйвер nvidia синхронизируется с неправильным дисплеем (например, синхронизируется со встроенным дисплеем, когда вы хотите посмотреть фильм на внешнем телевизоре), вы можете отменить его выбор. Из документации драйвера nvidia:
При использовании __GL_SYNC_TO_VBLANK с TwinView OpenGL может синхронизироваться только с одним из устройств отображения; это может вызвать разрывное повреждение устройства отображения, с которым не синхронизируется OpenGL. Вы можете использовать переменную среды __GL_SYNC_DISPLAY_DEVICE, чтобы указать, с каким устройством отображения OpenGL должен синхронизироваться. Вы должны установить эту переменную среды на имя устройства отображения; например «ЭЛТ-1». Найдите строку «Подключенные устройства отображения:» в файле журнала X, чтобы получить список имеющихся устройств отображения и их имена.
Я установил это постоянно в / etc / environment - просто добавьте что-то подобное в новая строка:
__ GL_SYNC_DISPLAY_DEVICE = "DFP-0"
Обновление до версии 319 из PPA решило проблему:
Если после загрузки , он работает в отказоустойчивом режиме, войдите в режим восстановления и запустите sudo nvidia-xconfig
. Удачного воспроизведения видео!