Включить вертикальную синхронизацию linux

How to fix Nvidia vsync on Linux with proprietary drivers

I used different Debian distributions and this is the common solution to almost every common Linux distro.
Most Linux distributions come with the xserver-xorg-video-nouveau package pre installed. It’s basically the reverse engineered version on Nvidia’s proprietary(closed source) driver. nouveau is opensource but has problems when it comes to compositing and doing heavy tasks.

There are two ways to install the drivers: Ubuntu repositories or Nvidia’s website. Here’s how to install the driver from nvidia’s website The latter one is recommended the most; but for the sake of this tutorial, the first one is used :

The first step is to add the Nvidia proprietary drivers’ repository with

sudo add-apt-repository ppa:graphics-drivers

and then updating the package manager with

And finally installing it.
Right now, as of 19th of September 2018, the latest driver is the nvidia-driver-396 package. it can be installed with the following command:

sudo apt-get install nvidia-driver-396.

Or you can download and install the driver

If you have problems installing the driver regarding blacklisting the nouveau kernel module; do the following:

sudo bash -c 'echo -e "blacklist nouveau \n options nouveau modeset=0" > /etc/modprobe.d/blacklist-nouveau.conf'

Then update the “initial ram file system” file for the blacklisting to take place:

then reboot for it to take effect:

A reboot is a must after the installation.

2. Enabling “Force Full Composition Pipeline” With nvidia-settings

what you

After the reboot, a program called “NVIDIA X Server Settings” is installed with a simple GUI, the command line is sudo nvidia-settings (Because you can’t save to /etc/X11/xorg.conf without root permissions) . For the sake of startup process and ease of use, I’ll use the GUI.
First, head over to the ‘X Server Display Configuration’ section, there are a few things which need to be altered; First, choose your resolution then press on the Advanced button in the bottom and check the «Force Full Composition Pipeline» option.
Then click the «Save to X Configuration File» button to make this permanent.

This option is also available from the command line using

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 < ForceFullCompositionPipeline = On >"

You have to make this an startup command using a bash script, i prefer using the GUI and saving the ‘X Configuration File’ in the /etc/X11/xorg.conf file so the config will start with startup. Do this with the Save to X Configuration File option in the above picture.

Читайте также:  Astra linux драйвер radeon

If you don’t have access to the nvidia-settings software; You can just edit the /etc/X11/xorg.conf file and add the metamodes line to the Screen Section.

*IMPORTANT*
If you’re getting errors while trying to Save to X Configuration File; execute nvidia-settings as root:

Now click that button and save the settings.

3. Disabling no-ubb

And another thing is to disable UBB as root:

This will automatically edit the /etc/X11/xorg.conf file with the no UBB option.

OVERALL , the configuration file should look like(Only add the red line to the “Screen” Section):

Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "AllowEmptyInitialConfiguration" "True" Option "Coolbits" "28" Option "Stereo" "0" Option "nvidiaXineramaInfoOrder" "DFP-4"  Option "metamodes" "1920x1080_60 +0+0 "  Option "SLI" "Off" Option "MultiGPU" "Off" Option "BaseMosaic" "off" Option "UBB" "False" SubSection "Display" Depth 24 EndSubSection EndSection

3. Disabling Allow Flipping and Sync to VBlank with Command Line or GUI

Uncheck OpenGL flipping and SynctoVBlank

I myself had problems with some default settings that Nvidia set for OpenGL; they even document this issue but there never seems to be a patch to fix this out of the box. To do so, go into OpenGL Settings and disable Allow Flipping and Sync to VBlank :

To set this with A command line for startup purposes, etc. :

/usr/bin/nvidia-settings -a 'SyncToVBlank=0' /usr/bin/nvidia-settings -a 'AllowFlipping=0'

Now that’s taken care of, we have to enable compositing through the compizconfig application from the store or with. This is only if you’re using ubuntu with Gnome.

sudo apt-get install compizconfig-settings-manager

options you must change in compizconfig

command and then entering its GUI. We only have to enable ‘Compositing’ and set the refresh rate to what you saved in nvidia x server settings.

remember to uncheck the «Detect Refresh Rate» option and set it manually.

After the «Force Full Composition PipeLine» option is it, one thing is lacking; Games don’t have any tearing even with their VSync options turned off. Which yields input lag and FPS capped at the monitor’s refresh rate. To fix this, the «Force Full Composition PipeLine» needs to be turned off while in game. To do this automatically and not having to turn it on and off ourselves. I wrote a script to help with this:

5. Fixing Performance decrease and lagging in games.

PROGS=('csgo_linux64' 'hl2_linux' 'hl_linux' 'RocketLeague' 'rust' 'GTA5.exe') while sleep 1; do for p in $; do if [[ -n $(pgrep $p) ]]; then nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 < ForceFullCompositionPipeline = Off >" while [[ -n $(pgrep $p) ]]; do sleep 5 done nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 < ForceFullCompositionPipeline = On >" fi done done 

All this script does is to check if the processes in the PROGS array are running; If any of them are running; turns the «Force Full Composition PipeLine» option off; then while it’s running, sleep for 5 seconds to keep the if condition alive and prevent overloading the cpu; Then after the process is no longer running, turns the «Force Full Composition PipeLine» option on to make the desktop tear-free; this will go on and on forever and is fault tolerant. You can add this to a startup job using systemd or /etc/rc.local . Google can help on that.
You can add other processes in the array with any other process name you don’t want «Force Full Composition PipeLine» to be run with it.

Читайте также:  Linux iptables one to one nat

Now good luck playing any game you want!

Источник

nvidia + вертикальная синхронизация = как включить?

Добрый день!Имеется карта GF GTS250 дрова NVIDIA 195.30 В систем присутствует жесткий tearing(разрыв картинки по вертикали) при перемещении окон, просмотре видео и тд. Включение vsync to blank в nvidia settings ни на что не влияет.

# nvidia-xconfig: X configuration file generated by nvidia-xconfig # nvidia-xconfig: version 1.0 (buildmeister@builder58) Fri Dec 18 18:35:05 PST 2009 Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" 0 0 InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" EndSection Section "Files" FontPath "/usr/share/fonts/default/Type1" EndSection Section "Module" Load "glx" # 3D layer Load "dbe" EndSection Section "InputDevice" # generated from data in "/etc/conf.d/gpm" Identifier "Mouse0" Driver "mouse" Option "Protocol" Option "Device" "/dev/input/mouse0" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" # generated from default Identifier "Keyboard0" Driver "kbd" Option "XkbLayout" "ru,us" Option "XkbModel" "pc105" Option "XkbOptions" "grp:caps_toggle,grp_led:scroll" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Unknown" ModelName "Unknown" HorizSync 28.0 - 33.0 VertRefresh 43.0 - 72.0 EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "TripleBuffer" "True" Option "AddARGBGLXVisuals" "true" Option "RenderAccel" "true" Option "AllowGLXWithComposite" "true" Option "CoolBits" "1" SubSection "Display" Depth 24 EndSubSection EndSection 

compizconfig-settings-manager, в разделе General. Нужно отключить автоматическое определение частоты, включить Sync to VBlank и выставить частоту больше либо равную частоте своего монитора (автоопределение не работает).

compiz вобще выключен. Но пробовал с включенным компизом раньше и с теми настройками как вы и говорили, тоже самое.

Источник

Решение проблемы с вертикальной синхронизацией в видео на Ubuntu 10.04

Этот топик я писал в песочницу, однако благодаря @BSDaemon, я получил инвайт еще до его (топика) публикации.
Продолжительное время Ubuntu я обходил стороной. Но недавно решил поставить. Все хорошо, красиво и вроде бы стабильно, но столкнулся я с одной неприятностью: при просмотре видео в полноэкрнном режиме, при ярких динамичных сценах, картинка будто бы делиться на части, и эти части не состыковываются между собой:

image

Сразу оговорюсь: у меня видеокарта GeForce, поэтому проблема, а также ее решение будет актуальна для пользователей видеокарт компании Nvidia. Подобный рассинхрон появляется только при включенном Compiz. По скольку Compiz меня радует не только красотой, но и удобством, отказываться от него я не собирался, вследствие чего стал искать решение. Русский форум forum.ubuntu.ru однозначным ответом не порадовал, а все решения, что там предлагались у меня не сработали (позже, как выяснилось, одно решение было очень близким к решению проблемы, но там не хватало нескольких важных пунктов).

Читайте также:  Linux and virtual machines

В итоге немного помучившись, вот к какому решению я пришел:
1) У кого не установлен, устанавливаем compizconfig-settings-manager
2) Запускаем, переходим в «Общие настройки» (General Options) — «Настройки изображения» (Display Settings)
— Снимаем галочку напротив «Определить частоту обновления» (Detect Refresh Rate)
— Ставим галочку напротив «Синхронизировать с VBlank» (Sync To VBlank)
— Открываем вкладку «Общие» и ставим галочку напротив «Отменить перенаправление окон в полноэкранном режиме» (Undirect Fullscreen Windows)
3) Открываем nvidia-settings, переходим в X Server XVideo Settings:
— Ставим галочку Video Texture Adaptor: Sync To VBlank
Переходим на Open GL Settings
— Так же ставим галочку напротив Sync To VBlank
— В терминале выполним nvidia-settings -l
4) В настройках видеоплееров ставим устройство вывода XV (как правило, уже стоит).

Все, теперь картинка в видео радует глаз. Можно запасаться попкорном и ставить свой любимый фильм. Приятного просмотра!

UPD: На некоторых ATI видеокартах способ тоже действует. Настраиваем только Compiz, вывод делаем через gl2.
UPD2: Проблема есть не у всех. Но она имеет место. У кого ее нет, вовсе не обязательно об этом отписываться.

Источник

Включить вертикальную синхронизацию linux

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

Вообще, для включения вертикальной синхронизации нужно залезть в файл xorg.conf, и внести в него необходимые правки. Однако, такого файла в Linux Mint больше нет, поэтому придется использовать обходной путь.

Открываем терминал, и создаем папку xorg.conf.d :

sudo mkdir /etc/X11/xorg.conf.d

И там создаем текстовый файл 20-intel.conf :

sudo nano /etc/X11/xorg.conf.d/20-intel.conf

Identifier «Intel Graphics»

Перезагружаемся и наслаждаемся отсутствием разрывов в видео.

  • Часть книги «Драйверы устройств в Linux»
  • Глава 2. Драйверы устройств.
  • Распознанная книга «Драйверы устройств Linux», третья редакция
  • Написание драйверов под Linux: рекомендации, типичные ошибки и ловушки.
  • Драйвера для микропроцессора Intel Core i7 KabyLake
  • Программирование последовательных портов для ОС семейства POSIX
  • Настройка скорости клавиатуры в Linux
  • Как в Linux настроить скроллинг с помощью регулятора громкости на клавиатуре DasKeyboard
  • Как менять яркость экрана в Debian Linux 9 для ноутбуков HP 450 ProBook
  • Включение вертикальной синхронизации в Linux для видеокарточек Intel
  • Почему линукс использует swap-файл (Как работает SWAP-файл)
  • Какой планировщик ввода-вывода лучше всего подходит для дисков SSD
  • Какие опции монтирования SSD дисков нужны чтобы уменьшить на них нагрузку
  • Как ускорить работу раздела подкачки (SWAP) в Linux
  • Как переподключить все USB-устройства в Linux

Источник

Оцените статью
Adblock
detector