Estou tentando ativar dois monitores no Ubuntu. Isso está funcionando bem, mas sempre que o faço, os efeitos da área de trabalho são desativados. Eu acho que encontrei o motivo pelo qual:
https://wiki.ubuntu.com/X/Config/Multihead/
Assim como no método de configuração do GNOME XRandR, definir Virtual como um valor muito grande pode resultar em perda de aceleração de hardware e, portanto, incapacidade de usar o Compiz e seus efeitos na área de trabalho.
Quando uso o applet de monitor GNOME ou a configuração Monitores no menu Sistema, as configurações padrão do xrandr colocam o segundo monitor à direita do primeiro e, como descobri esse bug , para a maioria dos monitores, isso cria uma área de trabalho virtual maior que a resolução horizontal máxima de 2048 necessária para a aceleração de hardware no hardware de meu netbook.
Portanto, parece que eu posso modificar as configurações padrão do xrandr para que ele coloque a nova área de trabalho acima ou abaixo (norte ou sul da) tela principal do LVDS, a aceleração do hardware e, portanto, o compiz continuará funcionando. Alguém pode me dizer, qual é a maneira mais fácil de conseguir isso?
ATUALIZAR:
Confirmei que o suporte a vários cabeçotes com efeitos na área de trabalho e a aceleração de hardware funcionam quando movo a tela do monitor externo para o norte da tela principal do LVDS. No momento, isso envolve o seguinte processo: conectar o monitor externo, iniciar o menu de configuração Monitores, os efeitos da área de trabalho são desativados automaticamente (e todas as janelas dos meus espaços de trabalho são movidas para o primeiro espaço de trabalho), reposicionando o monitor externo para que ele seja ao norte de LVDS, clique em Aplicar e, em seguida, navegue até o menu Aparência e diga para reativar os efeitos da área de trabalho. Existe uma maneira mais simples de fazer isso?
ATUALIZAÇÃO 2:
OK, então eu pensei que talvez a tela de configuração do GNOME Monitors estivesse tentando ser inteligente e pudesse estar afetando os efeitos da área de trabalho. Portanto, tentei usar o cliente de linha de comando xrandr, da seguinte maneira:
xrandr --output VGA1 --above LVDS1
Quando faço isso, os efeitos da área de trabalho ainda estão desativados e preciso reativá-los manualmente. Isso, apesar do fato de a aceleração de hardware funcionar, e nunca há um ponto em que a aceleração de hardware para de funcionar porque a dimensão horizontal da tela virtual é muito grande. Então, qual programa está tentando ser inteligente e está desativando os efeitos da área de trabalho quando não precisa? E como faço para parar?
Se houvesse uma maneira de reativar os efeitos da área de trabalho a partir da linha de comando, que eu poderia colocar em um script junto com a chamada adequada do xrandr, aceitaria isso como uma solução alternativa.
ATUALIZAÇÃO 3:
OK, aqui está o meu script para ativar um segundo monitor com efeitos na área de trabalho. Pode ser ruim, não tenho certeza:
second-monitor.sh
xrandr --output VGA1 --above LVDS1
sleep 3
compiz --replace &
A declaração de suspensão pode não ser necessária.
Se houver uma maneira melhor de fazer isso, entre em contato.
ATUALIZAÇÃO 4:
Este é um Dell Mini Inspiron 1012.
Aqui estão as especificações do meu sistema:
lspci -vv
00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller
Subsystem: Dell Device 041a
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 29
Region 0: Memory at f0b00000 (32-bit, non-prefetchable) [size=512K]
Region 1: I/O ports at 18d0 [size=8]
Region 2: Memory at d0000000 (32-bit, prefetchable) [size=256M]
Region 3: Memory at f0900000 (32-bit, non-prefetchable) [size=1M]
Capabilities: <access denied>
Kernel driver in use: i915
Kernel modules: i915
00:02.1 Display controller: Intel Corporation N10 Family Integrated Graphics Controller
Subsystem: Dell Device 041a
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Region 0: Memory at f0b80000 (32-bit, non-prefetchable) [size=512K]
Capabilities: <access denied>
lsmod | grep i915
i915 287458 2
drm_kms_helper 29329 1 i915
drm 162409 3 i915,drm_kms_helper
intel_agp 24375 2 i915
i2c_algo_bit 5028 1 i915
video 17375 1 i915
fonte
Respostas:
Colocá-los da esquerda para a direita não é o padrão xrandr, mas o padrão do gnome-settings-daemon. A partir do gnome-settings-daemon 2.32 em diante, a última configuração deve ser carregada apenas de monitors.xml; portanto, se você tiver feito o layout vertical uma vez, na próxima vez ele o selecionará automaticamente sem abrir o Compiz.
Então você está executando o 10.04 Lucid por acaso? Nesse caso, você pode seguir estas instruções para ativar esse recurso no gnome-settings-daemon 2.30.1.
1) abrir um terminal
2) obtenha a fonte:
3) edite src / gnome-settings-daemon-2.30.1 / plugins / xrandr / gsd-xrandr-manager.c, na linha 1349, altere
para
4) no terminal, instale dependências de compilação:
5) forneça ao seu pacote um novo número de versão:
6) construa e instale seu pacote:
Por favor, deixe-me saber se isso funciona para você, reproduzi as etapas da memória. Além disso, deixe-me saber se você precisou executar etapas extras, para que eu possa atualizar esta resposta.
fonte
Ou você pode simplesmente obter o ícone de fusão do compiz, que permite que você clique com facilidade para recarregar o compiz. Muito obrigado, tive os mesmos problemas, nunca pensei em recarregar o compiz, apenas pensei em ter que conviver com isso no modo dual. Apenas tentei com o ícone de fusão, voila! Cubo, tudo normal novamente.
fonte
O programa "inteligente" não é apenas uma falha de compiz caindo no gerenciador de janelas de fallback? Seu
compiz
comando reiniciar o gerenciador de janelas 3D depois de corrigir as configurações incorretas.Em vez de dormir, você provavelmente pode encadear o comando
;
(o segundo espera que o primeiro seja concluído) para obter o efeito desejado.fonte