Здравейте! Вероятно използвате блокиращ рекламите софтуер. В това няма нищо нередно, много хора го правят.

     Но за да помогнете този сайт да съществува и за да имате достъп до цялото съдържание, моля, изключете блокирането на рекламите.

  Ако не знаете как, кликнете тук

How to: Linux накъсване на картината (tearing) при Nvidia. Решение

feed Актуални новини от IT сферата.
Информационни технологии, изчислителна техника, комуникационни мрежи, софтуер, хардуер, информатика.
Правила на форума
Поради реконструкция на сайта, за известно време няма да бъдат добавяни IT новини в раздела.
Аватар
Mozo
Skynet Cyber Unit
Skynet Cyber Unit
Мнения: 308737
Регистриран на: Пет Юни 01, 2007 14:18
Репутация: 388610
Местоположение: Somewhere In Time

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от Mozo »

UNSUPPORTED:
VSYNC is not available on the Linux platform.
:lol: :lol: :lol:

Без да пипам нищо :mrgreen:
Прочетено: 2581 пъти
Изображение
Аватар
beggginer
Доктор
Доктор
Мнения: 6684
Регистриран на: Нед Апр 13, 2008 18:33
Репутация: 38324
пол: Мъж

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от beggginer »

Това е долна лъжа на капиталистите :lol:

Смени user agent-а и си направи теста. :) Или не го сменяй, тестът е един и същ.
Как да си върнем контрола над Windows 10 Home :violent1:
Изображение
Валсо написа: Съб Яну 21, 2023 12:28 Знам какво правя.
Аватар
beggginer
Доктор
Доктор
Мнения: 6684
Регистриран на: Нед Апр 13, 2008 18:33
Репутация: 38324
пол: Мъж

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от beggginer »

лек bump

59.933 hz е оптималният режим на опресняване за браузване в интернет. Следователно видеа в youtube, скролинг в браузъри и въобще всичко преработено за 60 hz (NTSC) ще работи перфектно на 59.94 херца, но не и на 60.00 - има jitter при panning. За разлика, PAL работи идеално на 50.00 херца, не иска 47.952. :-s

Подозирам, че interlacing не работи добре в линукс с нвидия драйвъри и затова всяка девиация от източника, създава артефакти, между които накъсване. След като форсираме Full / composition pipeline, това се замазва, но не съвсем.

И от там широко-разпространеното разбиране, че vsync не работи с Nvidia видеокарти под Линукс.

Работи, но трябва да сте изпълнили три условия:

Никакъв Composition pipeline в Xorg конфигурацията. Само тройно буфериране, но от нвидия (спираме това на kwin с kwin.sh самоизпълняващ се скрипт в /etc/profile.d/)
xorg.conf:

Код за потвърждение: Избери целия код

    Option         "metamodes" "nvidia-auto-select +0+0"
    Option         "AllowIndirectGLXProtocol" "off"
    Option         "TripleBuffer" "on"
kwin.sh:

Код за потвърждение: Избери целия код

#!/bin/sh

export KWIN_TRIPLE_BUFFER=0
В OpenGL включени:
Sync to VBlank
Allow flipping (ако записвате геймплей или десктоп видеа, трябва да го изключвате, защото създава лаг)

и най важното - да сме задали 59.94 херца Modeline (отговаря на 59.933хх, в зависимост от монитора ви - трябва да експериментирате), като копирате съдържанието в kwinrc в ~/.config

Код за потвърждение: Избери целия код

[Compositing]
MaxFPS=59.94
OpenGLIsUnsafe=false
RefreshRate=59.94
Резултатът е абсолютно същия performance на хардуерно ускорен vsync, както и в уиндоус среда. Елиминиране на tearing без performance hit. При всяка друга честота на опресняване, това е невъзможно или поне няма да е bit perfect. 60fps видеа в youtube, стриймове, тестери, два дни съм си играл, докато му хвана цаката.. Всичко е 1 към 1 с бозата.

При игрите няма такива ограничения и могат да се използват всякакви резолюции. 200+фпс на Counter Strike Go тестван на 1ms 144 херца с тези настройки на същия принцип. Върви като нож по масло, няма tearing. Няма нужда от форсиране на vsync и т.н.

Game changer е това. Или това, или ATi и Freesync.. :lol: Дерзайте. :съгласен:

П.П: Това е за КДЕ разбира се. С Xfce ще е същото, но без kwin галимациите. Там compton работи коректно с nvidia драйвъра в glx режим. Само се настройва правилната честота на опресняване.
Как да си върнем контрола над Windows 10 Home :violent1:
Изображение
Валсо написа: Съб Яну 21, 2023 12:28 Знам какво правя.
Аватар
Mozo
Skynet Cyber Unit
Skynet Cyber Unit
Мнения: 308737
Регистриран на: Пет Юни 01, 2007 14:18
Репутация: 388610
Местоположение: Somewhere In Time

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от Mozo »

Не разбрах, modeline задава ли се в xorg.conf или само kwinrc?

И защо ATI и Freesync? Nvidia и G-Sync?
Изображение
Аватар
Mozo
Skynet Cyber Unit
Skynet Cyber Unit
Мнения: 308737
Регистриран на: Пет Юни 01, 2007 14:18
Репутация: 388610
Местоположение: Somewhere In Time

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от Mozo »

Не сработва при мен. На оня онлайн тест в по-голямата си част е зелено, но има и червено:

Изображение

Изображение
Изображение
Аватар
beggginer
Доктор
Доктор
Мнения: 6684
Регистриран на: Нед Апр 13, 2008 18:33
Репутация: 38324
пол: Мъж

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от beggginer »

Абе Мозич, зеленото и червеното са едно върху друго. Трябва да виждаш СИВО и нищо повече. :toothy10:

И от скрийншота ти се вижда, че не си на 59.933, а на 60.002. Как да стане :lol:

Код за потвърждение: Избери целия код

    Option "UseEDIDFreqs" "FALSE"
    Option "NoBandWidthTest" "TRUE"
    Option "ExactModeTimingsDVI" "TRUE"
    Option "ModeValidation" "AllowNonEdidModes, NoMaxPClkCheck, NoVertRefreshCheck, NoHorizSyncCheck, NoEdidMaxPClkCheck"
Сложи тези флагове в xorg конфигурацията -> ctrl+alt+backspace -> отиди в нвидия контрол панела -> advanced и виж дали на съответната рез. (1920х1080, предполагам) имаш опции за refresh rate 60(1), 60(2....) и т.н. Тествай всичките, като гледаш каква е реалната стойност тук:

Изображение

Когато стане 59.94, ще дойдеш на моето. Ако с нито един от тези по подразбиране не се доближаваш, трябва да му направиш съответния Modeline със cvt и да го добавиш в Xorg. Реалната честота не отговаря на търсената/зададената. Например 143 херца, спрямо моя монитор извежда 142.89, както виждаш. :)

Нямам машина с Линукс тук, утре вечер ще ти снимам видео, за да знаеш какво трябва да постигнеш. :thumbright:
Как да си върнем контрола над Windows 10 Home :violent1:
Изображение
Валсо написа: Съб Яну 21, 2023 12:28 Знам какво правя.
Аватар
Mozo
Skynet Cyber Unit
Skynet Cyber Unit
Мнения: 308737
Регистриран на: Пет Юни 01, 2007 14:18
Репутация: 388610
Местоположение: Somewhere In Time

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от Mozo »

При мен в инфото пише 59.81. Нямам обаче различни стойности за задаване на херцовете. Откъде ще разбера, че съм нацелил с modeline? Или задавам cvt 1280 800 59.81?

А това:

Код за потвърждение: Избери целия код

Option "ExactModeTimingsDVI" "TRUE"
трябва ли ми, при положение че съм с DP?
Изображение
Аватар
Mozo
Skynet Cyber Unit
Skynet Cyber Unit
Мнения: 308737
Регистриран на: Пет Юни 01, 2007 14:18
Репутация: 388610
Местоположение: Somewhere In Time

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от Mozo »

Тц, с cvt 1280 800 59.81 не ще. Зададох му 59.81, но не го приема и пак си е на 60 и малко. Не работи при мен и това е. Не, че е болка за умиране, ама се дразня :mrgreen:
Изображение
Аватар
beggginer
Доктор
Доктор
Мнения: 6684
Регистриран на: Нед Апр 13, 2008 18:33
Репутация: 38324
пол: Мъж

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от beggginer »

На 3 различни монитора тествах през уикенда и работи - HP 22', LG 24', Acer 23' - HP-то е IPS и два VA панела, един от които поддържа 50 херца native.

Вариант е да не е активен modeline, който си задал или мониторът ти хардуерно да не може да възпроизведе получения output от видеокартата.
Как да си върнем контрола над Windows 10 Home :violent1:
Изображение
Валсо написа: Съб Яну 21, 2023 12:28 Знам какво правя.
Аватар
Mozo
Skynet Cyber Unit
Skynet Cyber Unit
Мнения: 308737
Регистриран на: Пет Юни 01, 2007 14:18
Репутация: 388610
Местоположение: Somewhere In Time

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от Mozo »

Е, задавал съм херцове още на времето с CRT. Просто не иска. Зададох му това:

Код за потвърждение: Избери целия код

Modeline "1280x800_59.81"   83.25  1280 1352 1480 1680  800 803 809 831 -hsync +vsync
Но не го отразява :mrgreen:
Изображение
Аватар
beggginer
Доктор
Доктор
Мнения: 6684
Регистриран на: Нед Апр 13, 2008 18:33
Репутация: 38324
пол: Мъж

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от beggginer »




Изображение

Код за потвърждение: Избери целия код

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 1050 Ti"
    Option "UseEDIDFreqs" "FALSE"
    Option "NoBandWidthTest" "TRUE"
    Option "ExactModeTimingsDVI" "TRUE"
    Option "ModeValidation" "AllowNonEdidModes, NoMaxPClkCheck, NoVertRefreshCheck, NoHorizSyncCheck, NoEdidMaxPClkCheck"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-1"
    Option         "metamodes" "nvidia-auto-select +0+0"
    Option         "AllowIndirectGLXProtocol" "off"
    Option         "TripleBuffer" "on"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
\:D/
Как да си върнем контрола над Windows 10 Home :violent1:
Изображение
Валсо написа: Съб Яну 21, 2023 12:28 Знам какво правя.
Аватар
Mozo
Skynet Cyber Unit
Skynet Cyber Unit
Мнения: 308737
Регистриран на: Пет Юни 01, 2007 14:18
Репутация: 388610
Местоположение: Somewhere In Time

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от Mozo »

Не ти виждам modeline, къде задаваш херцовете? Или те си излизат от падащия панел при теб?
Изображение
Аватар
beggginer
Доктор
Доктор
Мнения: 6684
Регистриран на: Нед Апр 13, 2008 18:33
Репутация: 38324
пол: Мъж

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от beggginer »

Modеline е в Section "Monitor", но и да ти го дам, няма да ти свърши работа. Направи си свой собствен за монитора. В същата секция има:

HorizSync 30.0 - 160.0
VertRefresh 56.0 - 144.0

Няма как да зададеш под 60 херца ако ти започва от 60.0 поддържаната. Опитай да я смениш, но за да ти е активен Modeline-а и nvidia да прилага настройките, останалата част трябва да е както посочената в кода, който съм дал по-нагоре.

А това е много сполучливо видео, където можеш да си тестваш реалния резултат, когато успееш да го постигнеш :lol:


1080 / 1440p 50fps и трябва да върви по мед и масло :)

При youtube парадокса е, че цялата платформа е NTSC и е съобразено да върви на 60 херца, което означава, че ако гледаш 50 fps на 50 херца, ще имаш лаг от активен downscaling, а когато гледаш 50fps на 59.933 херца. губиш микрокадри.. :lol: Същото е с футболни мачове, защото са снимани и предавани в PAL 50 херца (25 кадъра). Много лесно се забелязват несъвършенствата заради panning-а при движението на камерата.

https://4kmedia.org/sony-mont-blanc-hdr-uhd-4k-demo/ Тук може да се свали източника в оригинален формат и да се види на 50 херца, стига да се поддържат от монитора.
Как да си върнем контрола над Windows 10 Home :violent1:
Изображение
Валсо написа: Съб Яну 21, 2023 12:28 Знам какво правя.
Аватар
Mozo
Skynet Cyber Unit
Skynet Cyber Unit
Мнения: 308737
Регистриран на: Пет Юни 01, 2007 14:18
Репутация: 388610
Местоположение: Somewhere In Time

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от Mozo »

Ами според xrandr може под 60:

Код за потвърждение: Избери целия код

1920x1080     60.00    59.94    50.00    23.98 

beggginer написа: Сря Ное 28, 2018 00:48 HorizSync 30.0 - 160.0
VertRefresh 56.0 - 144.0
Да, това какво за него? Само, разбира се, при мен е различно:

Код за потвърждение: Избери целия код

   HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
Изображение
Аватар
beggginer
Доктор
Доктор
Мнения: 6684
Регистриран на: Нед Апр 13, 2008 18:33
Репутация: 38324
пол: Мъж

Re: How to: Linux накъсване на картината (tearing) при Nvidia. Решение

Мнение от beggginer »

Не виждам защо не го приема, тогава.. Ако си сложил всичките флагове в xorg, би трябвало да можеш да форсираш неподдържани резолюции и refresh rate, дори мониторът ти да не може да ги възпроизведе.. Ето, току-що си направих експеримент и го пуснах на неподдържан режим на опресняване, извеждайки черен екран, но настройката се прилага коректно.
Как да си върнем контрола над Windows 10 Home :violent1:
Изображение
Валсо написа: Съб Яну 21, 2023 12:28 Знам какво правя.
Нова тема Публикувай отговор

  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “IT Новини”