Po změně refresh rate blikají řádky obrazovky

Pit

  • ****
  • 427
    • Zobrazit profil
    • karlos.cz
    • E-mail
Po změně refresh rate blikají řádky obrazovky
« kdy: 14. 12. 2019, 18:20:31 »
Dobrý den, pozoruji na distrubucích linuxu (Fedora, Armbian, Ubuntu,Manjaor) a na různých mašinách (Dell Laptop, Raspberry pi), že při změně refresh rate obrazovky z default 60Hz na jinou hodnotu (24,25,30) začnou blikat řádk, jako kdyby vibrrrovaly verrrtikálně. Jak to opravit?

Další související věc, jak nastavi na linuxu rozlišení 2560x1440 při 30fps na HDMI 1.3 LCD? Chtěl bych, aby to bylo možnost ve volbě rozlišení, protože neustále googlení různých příkazů generátorů pro cvt režim xrandr- a následtně xrandr set by umořilo vola.


Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #1 kdy: 15. 12. 2019, 08:57:47 »
Otázka je, proč ten refresh rate měnit? Většina displejů má nativní refresh rate, při kterém obraz vypadá nejlíp a netřese se. Většinou je to těch 60Hz.

Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #2 kdy: 15. 12. 2019, 19:51:45 »
Vibrují řádky? To mi připadá jako nějaký efekt prokládaného režimu, ale čekal bych ho spíš na CRT než na LCD.

Co je zač displej? Podporu 50, 30, 25 a 24 Hz bych čekal možná spíš u televize než u počítačového monitoru...

Modulo nedokonalosti a bugy v implementaci konverze rozlišení a refresh rate v displeji. Ono zkonvertovat to žůžasně a vyhlazeně napříč širokým rozsahem snímkových frekvencí a rozlišení stojí dost výpočetního výkonu (v příslušném subsystému řadiče displeje / AD boardu).

Buďte rád, že to v Linuxu jde centrálně systematicky konfigurovat. Pod Widlema to chce kliku na ovladače, jinak smolík.

Zkusil jste zadat to rozlišení na kernel command line? V bootloaderu. Syntax bych viděl na
video=2560x1440@30
Mám ale podezření, že to závisí na nějaké interní databázi videorežimů. Tzn. pokud kernel ten režim nezná "předem" (odkud? z nějaké compile-time tabulky + DDC?) tak asi smolík. Možná by to šlo nějak poeditovat/upravit/vysvětlit/vnutit... Rychlý google říká že to jde buď vnucením custom EDID bloku jakožto souboru po namountování kořenového FS, nebo dokonce že s pokročilejší syntaxí video= by kernel dokonce uměl spočítat podrobnosti videorežimu dle CVT nebo CVT-R. Kdybyste potřeboval zjistit jména video-portů (výstupů) tak existuje kernel cmdline argument drm.debug=0xe (a pak hledejte v dmesg). Pozor, ta jména zařízení zřejmě nejsou shodná s X.org/xrandr, přestože vypadají podobně.

Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #3 kdy: 18. 12. 2019, 00:59:00 »
Deje sa mi to, keď som mal pripojený monitor cez displayport, kde po uspaní monitoru a znovuprebudení sa nastavilo 30 Hz a nešlo s tým hýbať (teda šlo, ale len dole na myslím 24 alebo 25 Hz), jedine odpojiť kábel, znovu pripojiť a nastaviť monitor (laptop používaný ako "desktop", takže dosť nepríjemné).

A pri 30 Hz blikali (ako autor píše) všetky horizontálne riadky, najmä 1px široké. Bohužiaľ som neprišiel na to ako to obísť, aj keď by som riešenie našiel rád. Kábel to nie je, skúsil som 2 + zdá sa že to ani nie je ojedinelý problém naviazaný na HW (GPU / monitor).

P.S.: iný laptop s tým istým HW (technicky, i5-2520 + i3000 gpu) s HDMI namiesto DP funguje s rovnakým monitorom OK, prejavuje sa len na DP, VGA viac-menej funguje na oboch laptopoch v poriadku (monitor má VGA, HDMI, DP)

Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #4 kdy: 18. 12. 2019, 16:45:01 »
neustále googlení různých příkazů generátorů pro cvt režim xrandr- a následtně xrandr set by umořilo vola.
si to vygooglete jednou, napište do skriptu a pak už jen volejte skripty...


Pit

  • ****
  • 427
    • Zobrazit profil
    • karlos.cz
    • E-mail
Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #5 kdy: 18. 12. 2019, 23:05:50 »
Ve windows to funguje bez problému, takže chyba monitoru natož hardwaru to není.

Důvod: HDMI 1.3 na monitoru nepodporuje 60Hz při daném rozlišení. A Displayport Raspberry pí nemá.Opět, ve windows jde nastavit v driveru intel HD vlastní režim  (je to také trochu martyrium zvolit režim cvt,gtf, cvt-rb a zjišťovat, který jde).

Nicméně to byla odbočka. Ty vibrace  se dějou furt při stejném rozlišení (tudíž když bandwidth zmenším na polovinu a méně ještě { 24/60 }) a dokonce se dějou i na interním displeji jiného notebooku, takže je to spíš nějak problém linuxu, který nezávisí na HW.

A podle mě to opravdu nějak souvisí s tím podělaným archaickým morem prokládanosti.

RDa

  • *****
  • 2 041
    • Zobrazit profil
    • E-mail
Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #6 kdy: 19. 12. 2019, 03:05:33 »
Ve windows to funguje bez problému, takže chyba monitoru natož hardwaru to není.

Důvod: HDMI 1.3 na monitoru nepodporuje 60Hz při daném rozlišení. A Displayport Raspberry pí nemá.Opět, ve windows jde nastavit v driveru intel HD vlastní režim  (je to také trochu martyrium zvolit režim cvt,gtf, cvt-rb a zjišťovat, který jde).

Nepiste blbosti, HDMI 1.3 podporuje 297MHz ~ 297 MPx/s, tj FHD120 nebo 2560*(1440-1600) @ 60 Hz., nebo 4K30. Pokud vam tohle nefunguje, tak mate nejaky kram, ktery nedodrzuje specifikace. Ale bez toho aniz bychom vedeli konkretni modely, je tezko identifikovat problem.

Takze prosim o vystup z xrandr, at vidime co mate ve vasem systemu nastaveno. A presne typy monitoru a pocitacu, ze kterych to zkousite.

ByCzech

  • *****
  • 1 830
    • Zobrazit profil
    • E-mail
Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #7 kdy: 19. 12. 2019, 12:26:04 »
Ve windows to funguje bez problému, takže chyba monitoru natož hardwaru to není.

Důvod: HDMI 1.3 na monitoru nepodporuje 60Hz při daném rozlišení. A Displayport Raspberry pí nemá.Opět, ve windows jde nastavit v driveru intel HD vlastní režim  (je to také trochu martyrium zvolit režim cvt,gtf, cvt-rb a zjišťovat, který jde).

Nepiste blbosti, HDMI 1.3 podporuje 297MHz ~ 297 MPx/s, tj FHD120 nebo 2560*(1440-1600) @ 60 Hz., nebo 4K30. Pokud vam tohle nefunguje, tak mate nejaky kram, ktery nedodrzuje specifikace.

Já si myslím, že to je ještě o cosi více, viz. https://en.wikipedia.org/wiki/HDMI jsou tam přehledné tabulky.

Každopádně určitě bez toho, aniž by jste řekl přesnější informace, tak vám těžko někdo poradí. Vysypte přesně jaký HW a jaké hodnoty kam cpete, pak se vám dostane přesné informace.

Osobně si myslím, že používáte nevhodně vygenerované modeline hodnoty a monitor to pak při nízkých obnovovacích frekvencích nedává a vy vidíte problikávání některých řádků. Nicméně jak vám píšou i výše, na HDMI 1.3 je v rozlišení 2.5K možné dosáhnout min. 60 Hz vertical refresh, takže na těch nižších frekvencích to trápíte zbytečně.

Pit

  • ****
  • 427
    • Zobrazit profil
    • karlos.cz
    • E-mail
Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #8 kdy: 19. 12. 2019, 22:39:30 »
Nevymýšlím si. Tabulku znám a vím, že by HDMI mělo umět 2560x1440x60, ale monitor to vyloženě neumí, ač by měl. Na órech a blozích lidi píšou, jak přes HDMI tam rozhchodili  támhle 30 Hz, někde 40 a jinde 50 Hz ale 60 ne.  Vše ale s CVT-RB.
Nesouvisí s tím nějak to, že Single link DVI toto 2560x1440x60 nezvládne také? A DVI a HDMI má dost společného.

RDa

  • *****
  • 2 041
    • Zobrazit profil
    • E-mail
Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #9 kdy: 20. 12. 2019, 04:07:49 »
Nevymýšlím si. Tabulku znám a vím, že by HDMI mělo umět 2560x1440x60, ale monitor to vyloženě neumí, ač by měl. Na órech a blozích lidi píšou, jak přes HDMI tam rozhchodili  támhle 30 Hz, někde 40 a jinde 50 Hz ale 60 ne.  Vše ale s CVT-RB.
Nesouvisí s tím nějak to, že Single link DVI toto 2560x1440x60 nezvládne také? A DVI a HDMI má dost společného.

Proc jednoduse nenapisete jaky to je presne monitor a melete tu ted zas nejakym DVI.
Pokud to jede takhle "divoce" (30,40,50, ne 60), tak bych to videl na hodne spatnej kabel (a nebo priserne dlouhej).

Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #10 kdy: 20. 12. 2019, 07:11:51 »
Tak moment. Nepsal jste v původním dotazu, že v defaultním 60Hz režimu v Linuxu to jede, a jenom když do toho začnete drbat (jiný/nižší refresh) tak se obraz začne sypat? Dále jste psal, že "ve windows to chodí". Chodí co? 60 Hz? Nebo nějaký nižší refresh, třeba 30 Hz?

To je dost důležitá věc = zda víme předem, že existuje režim / skladba softwaru, ve které to chodí... a co vlastně chodí :-)

Ano původní DVI mělo bandwidth tak akorát na 1600x1200, případně 1920x1080. HDMI a DVI používají prakticky shodný formát na fyzické vrstvě a mohou používat shodné linkové budiče a přijímače (křemík) a novější verze HDMI podporují vyšší hodinové takty = pro Vás vyšší rozlišení x snímkový refresh. Pokud dnes vidíte někde DVI port, klidně taky může umět vyšší takty, pokud je na boardu odpovídající linkový budič (vlastně level-shifter). Pak občas vidím, že kvůli EMC (hlavně v průmyslových strojích) je šířka pásma reálně poněkud omezena LC filtrem těsně u konektoru - klidně DDC/EDID něco tvrdí (vzdušné zámky) ale reálně to není pravda, proleze jenom co dovolí ten filtr. A pak jsem viděl bugy toho typu, že se monitor neprobudí ze suspendu, nebo po probuzení počítač z něj nedokáže vyčíst DDC/EDID... A pokud se týče rozdílů HDMI/DP (což tu zmiňoval někdo jiný) tak zatímco VGA/DVI/HDMI používá na "metadata" starý dobrý I2C kanál, tak DP má už nějakou svoji novější "sběrnici". Tuším jenom ten EDID blok na vyšší vrstvě zůstal stejný nebo podobný...

Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #11 kdy: 20. 12. 2019, 07:33:37 »
Jo aha... od Windowsů na Intelu to monitor vezme (2560x1440@30) ale máte problém to vymačknout z Maliny. O kterou generaci RPi se jedná?

Neutrousil byste aspoň vzorek modeline, kterou jste zkoušel?
« Poslední změna: 20. 12. 2019, 07:35:37 od František Ryšánek »

RDa

  • *****
  • 2 041
    • Zobrazit profil
    • E-mail
Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #12 kdy: 20. 12. 2019, 10:05:30 »
... klidně DDC/EDID něco tvrdí (vzdušné zámky) ale reálně to není pravda, proleze jenom co dovolí ten filtr ...
Podpora pixel frekvenci nad urcitou mez vyzaduje EDID CEA extension blok.

Vlastne je EDID z monitoru dalsi point-of-failure, takze krome modelu PC, grafiky, dumpu modeline / xrandr, by pan mel dodat i raw EDID jak ho vidi jeho OS.

A pokud se týče rozdílů HDMI/DP (což tu zmiňoval někdo jiný) tak zatímco VGA/DVI/HDMI používá na "metadata" starý dobrý I2C kanál, tak DP má už nějakou svoji novější "sběrnici". Tuším jenom ten EDID blok na vyšší vrstvě zůstal stejný nebo podobný...
Pouziva se DPAUX kanal, puvodni DDC I2C je do nej tunelovano skrze operace ktere nastavaji na i2c zbernici. Takze krome stejneho formatu EDID dat, zustava i zpetna kompatibilita na nizsi urovni.

ByCzech

  • *****
  • 1 830
    • Zobrazit profil
    • E-mail
Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #13 kdy: 20. 12. 2019, 10:59:14 »
Osobně nechápu, proč tazatel prostě rovnou nevysype přesný typ HW o který se jedná, ani nedá ukázky modeline, které do toho cpe a další věci (např. výše zmíněné raw EDID data by taky bodly). Mám pocit, že odpověď vlastně asi nechce.

Pit

  • ****
  • 427
    • Zobrazit profil
    • karlos.cz
    • E-mail
Re:Po změně refresh rate blikají řádky obrazovky
« Odpověď #14 kdy: 20. 12. 2019, 11:58:58 »
Při 60HeZech jde jen 1920x1080 na HDMI.