Tearing (sem Vsync) em filmes (driver proprietário da Nvidia)


18

Esta é mais uma pergunta do KDE do que do Ubuntu, mas ...
Tenho rasgos visíveis na tela. A composição do KDE, o vídeo em flash no Firefox e os jogos simples como o kpat são sincronizados, mas nos jogos a vapor e nos filmes há um rasgo constante distinto. Se eu desativar o vsync em todos os lugares, o rasgo será o dobro perceptível, por isso não é apenas a GPU que ignora as configurações.
O que mais me incomoda é que eu estou tendo o mesmo problema em muitas configurações diferentes. Todo mundo tem esse problema e ninguém se importa?
Minha configuração

  • Kubuntu (últimas versões) ou OpenSuse ou Gentoo.
  • KDE 4.12 - 4.13
  • Nvidia GTX 260, 570, TITAN, diferentes versões de driver.
  • Eu assisto filmes no SMplayer com o mplayer2 backend. O VLC tem o mesmo problema.

O que eu tentei (e não ajudou)

  • Ligar e desligar em diferentes configurações as configurações do Vsync nas configurações da nvidia e nos efeitos da área de trabalho do KDE.
  • Alternando saída e direct renderingconfigurações do Mplayer .
  • Desativando o modo de energia adaptável nas configurações da nvidia.
  • Desativando a composição
  • Alterando o monitor Hz
  • Executando o mplayer a partir da CLI
  • Realizando rituais e sacrifícios

O que funcionou (mas não é e solução aceitável)

  • Desabilitando o KDE e executando o Mplayer na sessão pura do X
  • Mudando para o nouveau E desativando a composição E abrindo o vídeo em tela cheia - sem nenhuma parte, ainda está rasgando.

Conselho por favor.

ATUALIZAÇÃO 1 Descobri que, se eu for para o Desktop Effects - Advanced e alterar alguma coisa valiosa (versão OpenGL, algoritmo de escala) e pressionar o botão Apply, o rasgo desaparecerá até a reinicialização. No entanto, nenhuma configuração resolve isso de uma vez por todas. Após a reinicialização, tenho que mudar alguma coisa novamente. Acho que é o suficiente para culpar isso por um bug, não pelos meus erros, por isso arquivarei o relatório de erros.

Respostas:


8

Guia simples para resolver este problema irritante :)

  1. Criar arquivo:

    /etc/profile.d/Tearing.sh
    
  2. Insira este código:

    export __GL_YIELD="USLEEP"
    
  3. Em seguida, torne-o executável com:

    chmod +x /etc/profile.d/Tearing.sh
    
  4. Feito isso, reinicie ou pressione ctrl + alt + F2, faça o login e execute sudo service lightdm restart Ou reinicie o que quer que seja o seu gerenciador de exibição.

O GL_YIELD funcionou para mim e agora a sincronização vertical parece estar funcionando como deveria.

( https://www.kubuntuforums.net/showthread.php?63946-No-vertical-sync-with-NVIDIA&highlight=tearing )


Isso funcionou muito bem, obrigado! Não
precisa

11
Fez o truque para mim também, nVidia GeForce 210 por HDMI a uma TV
K0D4

8

A fonte do problema foi (é claro) os drivers da nvidia com defeito. A solução é simples. Adicione variáveis ​​ambientais:

export __GL_YIELD="USLEEP"
export __GL_THREADED_OPTIMIZATIONS=1

em algum lugar antes do X começar. Todo o sistema /etc/profile/funciona bem.


2
Isso não ajuda em 14,04 nem 16.04
Giovanni Toraldo

5

Eu tinha pregado ...

Portanto - antes de tudo, verifique se o problema persiste depois de desligar os Efeitos da área de trabalho (Alt + Shift + F10). Eu posso garantir que o problema já pode ter desaparecido.

Vá para Configurações do sistema e abra Efeitos da área de trabalho:

  • Método de dimensionamento para algo diferente de definido atualmente <- correção real

Eu sei que as opções não podem ser nomeadas exatamente como acima. Desculpe por isso, mas estou usando a versão polonesa do Kubuntu.

As etapas acima corrigiram o problema para mim. Mas somente após uma nova instalação. :)

EDIT: Na versão atual do Kubuntu 14.04, o problema está relacionado ao método de dimensionamento. Mudá-lo para qualquer outra coisa além da selecionada no momento ajuda a resolver o problema TEMPORARIAMENTE.


Eu tentei definir o "Scaling Method to Smooth" sozinho e parecia resolver o problema! Mas vou esperar o fim de semana antes de fechar a resposta. As lágrimas desapareceram por um tempo já e apareceram novamente; além disso, essa coisa "suave" não deve ter efeito quando o filme é reproduzido. Esquisito. Mesmo assustador, você sabe.
Barafu Albino

Parece que é assim: quando eu mudo o método da escala para qualquer coisa, o rasgo desaparece. Mas após a reinicialização, ela está de volta e eu tenho que mudar novamente para algo diferente.
Barafu Albino

Isso corrigiu o problema para mim. Eu acho que nem todas as etapas foram necessárias, mas juntas elas parecem ter sido cobertas e eu estou obtendo um ótimo desempenho de vídeo hd (em VLC) na janela e no modo maximizado. A combinação das configurações da nvidia e a desativação dos efeitos da área de trabalho também a corrigiram, mas dessa forma eu posso deixar os efeitos da área de trabalho ativados. Também instalei o pacote extras restritos do ubuntu anteriormente - não tenho certeza se isso entrou em jogo ou não.
gregtczap

E posso "garantir" que, se você desligar o monitor, o problema "pode" desaparecer também :) Nenhum homem ofendido, mas se o problema "desaparecer", não há garantia alguma. De qualquer forma, o que quero dizer é que isso não é uma resolução aceitável para mim e provavelmente para muitos outros, no entanto, pode ajudar se alguém quiser apenas assistir a um filme e não gastar muito tempo com ele.
tomasb

5

Eu tentei todos os truques e nada resolvido no Ubuntu 15.04 (junto com xorg-edgers e nvidia-355), até chegar na página nvidia archlinux .

Teste com:

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

Para tornar a alteração permanente, você precisa adicionar a seguinte linha à seção "Tela" do seu arquivo de configuração do Xorg, por exemplo, em /etc/X11/xorg.conf.d/20-nvidia.conf

Option  "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

Copiar e colar a mesma resposta para muitas perguntas não é muito bom. Você deveria ter marcado como duplicado o fato de que essas perguntas já têm respostas. Obrigado :)
Mitch

Obrigado, eu estava tendo lacrimejamento, e as outras soluções (como definir a variável __GL_YIELD) não funcionaram. Além disso, eu já tive problemas com a configuração do arquivo Xorg, mas a linha de comando acima funcionou com êxito. Vou tentar adicionar a linha de comando ao meu ~ / .xprofile. É um truque, mas deve funcionar.
Chris

11
Não posso lhe dar pontos suficientes :-) Para referência, estou no Xubuntu 15.10 com nvidia-355.
Marcus

11
Isso funcionou para mim e im em 14,04 :)
Neil

11
Isso funcionou para mim no KDE Neon User LTE.
Tejzpr 29/09/19

0

Removendo o driver NVIDIA resolvido para mim. Para o XFCE, a única coisa que ajudou foi a substituição do gerenciador de janelas.


11
Para o XFCE é. Para outros WMs, no entanto, remover o driver é desnecessário e o meu pode ou não resolver os problemas.
Barafu Albino

Parece-me bastante necessário, porque o motorista está com problemas e o nouveau fornece o vsync de que eu preciso.
Waterscroll

Qual gerenciador de janelas você usou?
22415 jarno

Compton, mas eu descobri a fonte do meu problema. Há um problema com a nvidia optimus e o xorg que causa lacrimejamento quando você usa sua placa nvidia.
Waterscroll

Quanto ao vsync, a criação do Xfwm4 a partir do Git ajudou; instruções estão aqui ). No entanto, a versão atual do Git parece ter outros problemas de desenho.
24315 jarno

0

Tentei todas as sugestões para tentar consertar a tela rasgando enquanto assistia vídeos no Unity, Gnome e Gnome Classic em dois computadores (um com Nvidia Titan X e outro com uma placa Radeon antiga). Nada funcionou.

Percebi então que quando troquei a saída de vídeo na minha configuração VLC do OpenGL para o X11, o rasgo desapareceu, mas comecei a receber muitos quadrados aleatórios em preto / branco ou "ruído".

Para que a reprodução de vídeo funcione, instalei o Lubuntu Desktop, que usa o OpenBox em vez do OpenGL. O Lubuntu é um derivado do Ubuntu que possui o LXDE instalado por padrão. É extremamente leve e perfeito para rodar em segundo plano enquanto você usa o Kodi e o Steam, ou apenas assiste a vídeos.

O rompimento das janelas pode ocorrer ao arrastar as janelas rapidamente, mas isso não me interessa nessa situação, pois apenas uso o Kodi e o Steam no modo de tela cheia neste computador.

Execute o seguinte comando para instalar o LXDE personalizado do Lubuntu e o LXDE vanilla no Ubuntu:

sudo apt-get install lubuntu-desktop

Use este comando para instalar apenas o LXDE vanilla:

sudo apt-get install lxde

Você também pode dar uma olhada no LXDE baixando um  CD ao vivo do Lubuntu .

Cada ambiente difere apenas em suas configurações padrão. Eles vêm com diferentes temas, papéis de parede e layouts de painel. Por exemplo, o navegador Chromium é o padrão no Lubuntu, enquanto o Mozilla Firefox é o padrão no LXDE de baunilha. Obviamente, você pode usar qualquer navegador que desejar. Ambos usam o gerenciador de arquivos PCManFM, um substituto leve para o gerenciador de arquivos Nautilus encontrado no GNOME.

Após instalar qualquer pacote, efetue logout e selecione a sessão Lubuntu ou LXDE na tela de login.

Meus vídeos nunca pareciam melhores do que no Lubuntu. Consegui aumentar minha frequência em até 120Hz para corresponder à minha TV. A reprodução foi notavelmente suave para 1920x1080p.


OpenBox em vez de OpenGL? Eles são para a mesma tarefa?
6125 jarno

Não, estou sugerindo que você use um gerenciador de janelas de composição, como o Openbox, que não use o OpenGL. en.m.wikipedia.org/wiki/Compositing_window_manager
guttermonk

O Xfce4 usa o Thunar como gerenciador de arquivos por padrão, não o PCManFM.
Jarno

A execução do LXDE não parou de rasgar o vídeo no navegador Chromium ao reproduzir o YouTube. Eu tenho gráficos Intel e ubuntu 14.04.
9105 jarno

@Jarno, o XFCE foi um erro de digitação. Eu o editei e substituí pelo LXDE. Em relação à tela rasgando, você tentou outro navegador? Você rasga a tela quando reproduz arquivos de vídeo no disco rígido?
guttermonk
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.