Nvidia ja videon repeily (voi kökkö)
December 2nd, 2015
Ehdin jo tottua Intelin integroidun näyttiksen kanssa siihen, että video toistuu nätisti repeilemättä VLC:llä, mutta nyt palasin Nvidia-maahan ja ongelmia ilmeni saman tien. Alla on Mint/MATE ja ikkunamanagerina vsyncin päälle huonosti ymmärtävä Marco. Useamman tunnin googletuksella tuli vastaan seuraavia paremmin ja huonommin toimivia ehdotuksia:
- Käsienheiluttelut. Laita Nvidian asetuksista täydet tehot päälle, poista käytöstä X-palvelimelta backing store jne. Ei auta.
- VLC:n videoulostulo. Xvideo repeilee pahasti, normaali X11 on kohtuuttoman hidas ja vielä GLX:kin repeilee tarpeettoman paljon. Ei auta.
- Compiz. Marcon vaihtaminen Compiziin tosiaankin auttoi asiaa, koska jälkimmäinen kompositoi koko ruudun. Valitettavasti bugeja tuli vastaan lyhyelläkin käytöllä ihan liikaa, enkä saanut asetuksia muutenkaan mieleisikseni.
- Compton. Marcon kanssa toimiva pelkkä komposiittori (kompostori?) ratkaisi sekin repeilyn kunnialla, mutta vei valitettavasti aivan liikaa tehoa, minkä lisäksi päivitystaajuus lerpahti.
- Nvidian kikkale. Nvidiakin tukee kaikessa hiljaisuudessa kompositointia, vaikkei sitä saakaan normaaleista asetuksista päälle. Jonkin verran vie tehoja sekin, mutta vähemmän kuin Compton.
Kohta 5 vaatii seuraavanlaisen, ei aivan ilmeisen /etc/X11/xorg.confin:
Section "Screen" Identifier "nvidia" Device "nvidia" Option "TripleBuffer" "True" Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }" EndSection
Tämän jälkeen Nvidian ajuri kompositoi ja synkronoi ruudunpiirron ja videot toistuvat kauniisti, eivätkä ikkunatkaan splittaile liikutellessa. Pienenä kauneusvirheenä Xvideo on hidas, joten VLC:hen kannattaa vaihtaa ulostuloksi GLX. Ei tämäkään mikään täydellinen ratkaisu ole, sillä X vie nyt tyhjän panttina jonkin verran prosessoritehoa ja kuormitettuna enemmän, minkä lisäksi OpenGL hidastuu jonkin verran. Riittää kuitenkin tähän hätään tilapäisratkaisuksi parempaa etsiessä — vinkkejä otetaan mielellään vastaan.
edit: eihän tämä ollut tietenkään koko kuva vielä. Kävi ilmi, että Nvidian ajuri hukkaa kompositoinnin, jos kone käy nukkumassa. Tilannetta voi korjailla palauttamalla kompostorin nvidia-settingsin avulla. Itse laittoin paikkaan /etc/pm/sleep.d ajettavan tiedoston 20_nvidia seuraavilla sisuksilla:
#!/bin/sh case "${1}" in resume|thaw) nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline=Off }" nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline=On }" ;; esac
Hieman kludge, mutta tuntuu toimivan toistaiseksi.
edit 2: Ruudunsäästäjä tuhoaa kompositoinnin myös! Tämän saa kierrettyä poistamalla ruudunsäästäjän kokonaan käytöstä ja pimentämällä näytön virransäästöasetuksilla.
Kommentin kirjoitus
You must be logged in to post a comment.
RSS feed for comments on this post.