Ubuntu 14.04 e Gnome 3.12, GTK Apps falha áreas pretas?

0

Eu fiz a mesma pergunta na seção Linux e Unix, mas suspeito que isso seja principalmente destinado a scripts, então também deixarei aqui.

Minha configuração é:

  • gnome do Ubuntu 14.04
  • gnome 3.12
  • gtk2 (versão 2.24.24) e gtk3 (versão 3.12.2) instalados
  • Intel Graphics 4400 integrado

Ocasionalmente, tenho um comportamento gráfico estranho com alguns aplicativos: partes clicáveis deles são completamente preto / transparente e pressupõem cores corretas apenas se eu clicar nelas .

As duas imagens abaixo mostram o antes / depois com o GTKwave (um software que devo usar para uma aula de design de sistemas digitais). Antes e após poucos cliques (observe a barra preta sem itens clicáveis que persistem no canto superior direito).

Este não é o único aplicativo que mostra esse comportamento, mas é bastante irritante nesse caso. Além disso, se eu redimensionar a janela, o bug aparece novamente e eu tenho que "repintar" a coisa toda.

Eu encontrei apenas uma pergunta semelhante, mas que o KDE relatou e estou usando o GNOME.

Eu tentei alterar o tema do gnome-shell de volta ao padrão (estava usando o numix), mas nada aconteceu.

Alguma chance de consertar isso? Aguardo sua sugestão porque estou um pouco preso no momento e não quero executar as simulações em uma máquina virtual.

Obrigado antecipadamente, Andrea

    
por a_bet 02.10.2017 / 20:07

3 respostas

0

Eu consertei a falha. Eu encontrei a solução aqui no fórum em esta pergunta pesquisando em mais termos gerais. A resposta é geral também, já que é o

% bl0ck_qu0te%

Isso pode ser feito no terminal:

sudo apt-get install --install-recommends linux-generic-lts-utopic xserver-xorg-lts-utopic libqt5gui5 libgles1-mesa-lts-utopic libgles2-mesa-lts-utopic libgl1-mesa-glx-lts-utopic libgl1-mesa-glx-lts-utopic:i386 libglapi-mesa-lts-utopic:i386 libegl1-mesa-drivers-lts-utopic

Eu ainda não sei qual era o problema específico, mas isso resolveu para mim. Espero que isso ajude.

Atenciosamente, Andrea

    
por a_bet 10.11.2017 / 12:54
0

Eu nunca vi isso antes e sou o cara que escreveu o programa. É provavelmente algo estranho acontecendo com qualquer que seja o seu back-end gráfico, já que ambas são áreas que são o GdkPixmap. Fico feliz em saber que não é apenas o gtkwave. Observe que essas áreas ignoram temas, portanto, é provável que não, a menos que o compositor / renderizador tenha algum tipo de efeito nessas áreas, por exemplo, configurando um canal alfa ou algo que não é típico do gtk2.

Essas áreas são copiadas de volta para a área principal automaticamente em eventos de exposição do servidor X. Eu não sei se você está usando Wayland ou algo assim e o que quer que esteja acontecendo no backend de renderização do Gdk para o gtk2 está faltando eventos de exposição que são copiados da loja particular do gtkwave para o que é visível na tela.

Em wavearea_configure_event () de wavewindow.c, você verá um printf de depuração. remova o DEBUG () para expor o printf para ver se há eventos de configuração sendo enviados para o Gdk. Estes devem ocorrer quando uma parte da área ondulada ou sinalizada estiver coberta / descoberta / redimensionada / etc. O redimensionamento parece indicar que os eventos de configuração estão se perdendo.

Tudo soa como um bug interessante no backend Gdk do gtk2 para mim. Se for algo assim, você poderá usar o Xephyr / Xnest / whatever para obter uma representação sã do X11. O mesmo vale para o lançamento do vncserver e do vncviewer na mesma sessão e o direcionamento do gtk para isso.

NOTA: O gtkwave não foi convertido para o gtk3 principalmente porque o gtk3 está faltando muita função que eu preciso e reescrever grandes partes do visualizador não é uma prioridade na minha lista de tarefas.

-Tony

    
por Tony Bybell 02.10.2017 / 21:02
0

Tais falhas gráficas são, na minha experiência, geralmente relacionadas ao driver gráfico - e isso é um campo amplo. No entanto, sintomas similares foram relatados corrigidos (ou pelo menos contornados) adicionando COGL_ATLAS_DEFAULT_BLIT_MODE=framebuffer ao seu / arquivo etc / environment. Efetue logout e login novamente e verifique se a variável está definida corretamente via env | grep -i cogl .

É um tiro longo devido aos muitos componentes (software e hardware) envolvidos, mas acho que vale a pena tentar, já que é simples. Boa sorte.

    
por b3nmore 20.10.2017 / 16:08