Come posso rimuovere lo strappo dello schermo in 16.04 con nvidia GTX 960 M?


12

La mia installazione 16.04 soffre di una brutta lacerazione dello schermo. Se trascino una finestra, ad esempio, lateralmente sullo schermo, si frammenta in modo che la parte inferiore di essa sia un po 'dietro la parte superiore e quando si guarda un video, la parte inferiore dello schermo è di alcuni fotogrammi dietro la parte superiore.

Ho provato le soluzioni fornite nelle seguenti domande, ma nessuno dei due ha purtroppo aiutato:

La mia scheda grafica è una Nvidia GeForce GTX 960M, che sto usando NVIDIA binary driver - version 361.42 from nvidia-361.

Questo problema era presente anche quando correvo il 15.10.


letteralmente nulla sembra funzionare per risolvere questo problema. Passare solo alla grafica Intel, il che fa schifo.
Riki137,

@ Riki137 Come si ritorna alla grafica Intel?
user3728501

Ciò che è accaduto il 15.10 / 16.04 per impedire il funzionamento delle modifiche locali era dovuto a un presunto bug di mesa. La cosiddetta correzione era passare alla modalità di impostazione per Intel mentre si utilizzavano i driver nvidia tramite nvidia-prime. L'opzione tearfree non può funzionare con la modalità di impostazione e non è possibile passare a sna. È possibile aggirare questo problema modificando ubuntu-drivers-common e alterando il tempo di sospensione affinché il programma di benvenuto di unità possa aggirare il bug di mesa. Ma non inserirò qui una risposta come soluzione pulita al 100%. (potrebbe avere un post in UF) C'è una correzione in xserver, potrebbe apparire l'anno prossimo in Ubuntu. (o usa 14.04
doug il

1
Ho avuto anche questo problema con Nvidia Quadro M1200, anche dopo aver aggiornato il driver (alla versione 381.09), che è stato risolto solo passando alla GPU Intel come nella risposta di @ qwr di seguito.
Garrett,

Risposte:


16

Soluzione semplice che ho trovato su / g /. Aggiungi questo comando ai tuoi comandi di avvio

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

Ovviamente questo funziona se stai usando i driver Nvidia.

EDIT: Quindi per le configurazioni multimonitor suggerirei di usare il Nvidia X server settingsprogramma, andare su X Server Display Configuratione usare Save to X configuration file. Ora cerca /etc/X11/xorg.confe aggiungi { ForceCompositionPipeline = On}dopo ogni impostazione del monitor (+ 0 + 0 e + qualcosa + qualcosa)

Inoltre puoi fare sudo apt install comptone aggiungere comptonai tuoi comandi di avvio.

EDIT: Non so da quanto tempo è successo, ma il programma Impostazioni server NVIDIA X nvidia-settingsha un'opzione per eseguire graficamente ForceFullCompositionPipeline. Nel menu "Configurazione display X Server" fare clic su "Avanzate ...", selezionare "Forza pipeline a composizione completa" e premere "Salva nel file di configurazione X". Se non si dispone di un percorso predefinito per il file di configurazione, digitare /etc/X11/xorg.confnella casella di testo percorso file e salvare.


1
Grazie, ha funzionato ma ha anche reso nero uno dei miei monitor ..
nana

... Quindi, se ciò accade, vai avanti e abilita nuovamente quel display in Display.
nana,

Cosa intendi con /g/?
Garrett,

3
Per altri rumori là fuori, tieni presente che puoi testarlo nel tuo terminale per vedere se funziona (prima di aggiungerlo allo script di avvio e accedere nuovamente). Sfortunatamente, questo non ha funzionato per me (Nvidia Quadro M1200, nVidia versione 381.09).
Garrett,

Inoltre non ha funzionato per me. Esecuzione di GF940M. Sembra che M chip o computer con grafica integrata abilitata non possano farlo.
dat tutbrus

4

L'unica soluzione che ho provato finora che ha fatto qualcosa non è eccezionale, ma è qualcosa: usa la GPU Intel anziché la GPU Nvidia . Riduce la maggior parte dello strappo dello schermo.

Nelle impostazioni di Nvidia X Server ( nvidia-settings) vai su Profili PRIME e seleziona Intel (modalità di risparmio energetico) . In alternativa sudo prime-select intel.

Sto usando nvidia-370, che è l'attuale versione ufficiale, con Nvidia 940MX. Ironia della sorte, il loro driver è ancora peggio dei driver Intel. Il lato positivo è che la durata della batteria è quasi raddoppiata, quindi è stato un ottimo compromesso.

Aggiornamento: usando i driver Intel predefiniti per il kernel 4.7.0, non ci sono problemi di strappo dello schermo. nvidia-387 con nomodeset in grub sembra andare bene ma il cambio di luminosità è disabilitato, quindi per ora non lo sto usando.


1

Questo arriva un po 'in ritardo, ma sinceramente ti suggerirei di passare a XFCE4 o DE non-compositing simili. Almeno nel mio caso (Lenovo Y580, opensuseLeap 42.1 + bumblebee), è così che mi sono liberato dello strappo dello schermo e dello scorrimento lento in Firefox. Saluti!!!!


2
Inviare un problema e risolverlo sono cose diverse. ma è bello condividere la tua esperienza qui. Benvenuto in AskUbuntu!
mook765,

Grazie per il suggerimento: anche XFCE non è riuscito a risolvere i miei problemi di lacerazione dello schermo. Penso che il mio laptop potrebbe essere maledetto. Spero che questa soluzione alternativa possa aiutare qualcun altro però.
Gilly,

1

Ho avuto questo problema da anni, ora ho appena installato il driver nouveau. Prova la soluzione da questo post, sarei interessato a sapere se funziona: http://ubuntuforums.org/showthread.php?t=2235382

Anche questo forse? Ma non ha funzionato per me ... https://psyq123.wordpress.com/2015/09/20/another-way-to-fix-tearing-and-vsync-issues-using-the-nvidia-driver /

Ok, ho fatto qualcosa, ma l'ho risolto come segue:

Apri una CLI ed esegui:

sudo nvidia-xconfig

Poi:

sudo nvidia-settings

Imposta la risoluzione dello schermo e la frequenza di aggiornamento nelle Xserverimpostazioni (ho impostato il mio su 1920x1200 a 60hz) e salvalo suxorg.conf

Quindi fa:

sudo nano /etc/X11/xorg.conf

Modifica la sezione del dispositivo in questo modo:

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 650"
Option "RegistryDwords" "PerfLevelSrc=0x2222"
Option "TripleBuffer" "True"
EndSection

Ciò imposta la scheda in modalità prestazioni e abilita il triplo buffering.

Nel nvidia-settings/OpenGLset:

Sync to Vblank
Allow Flipping
Use Conformant Texture Clamping

Salva la tua configurazione e riavvia l'X-server.


3
Non sono riuscito a trovare un'opzione per modificare la frequenza di aggiornamento nelle impostazioni di nvidia, né ho trovato l'opzione per impostare Sincronizza su Vblank, Consenti capovolgimento o Usa serraggio trama conforme. Cambiare il mio xorg.conf non ha aiutato, forse perché ho più di una Devicesezione. Grazie per la risposta però!
Gilly,

Problema davvero frustrante ... maggiori informazioni qui: youtube.com/watch?v=-55y5sgHcbo (anche per me non funziona)
draoi

Purtroppo non ha funzionato neanche per me. Sto solo usando la grafica Intel per ora e spero che questo venga risolto in un aggiornamento. Sembra che ci siano molte persone colpite da questo e problemi simili.
Gilly,

Dov'è il "Vblank Consenti al flip che usa il bloccaggio della trama conforme"?
user3728501

Non lo so, sembra che se questa opzione sia mai esistita, non c'è più. Almeno dal driver nvidia che si installa tramite il gestore driver. Forse potresti provare a installare il driver nvidia dal sito Web nvidia, ma corri il rischio di perdere il sistema.
Draoi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.