Como definir as configurações padrão do xrandr?


17

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

Isso envolve uma placa Nvidia, talvez?
Windigo

Absolutamente não. Atualizei as informações com especificações relevantes.
Jbeard4

Você pode postar uma saída dos erros que estão acontecendo quando você está enfrentando isso? Ajudaria a isolar o problema. Obrigado.

Respostas:


3

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:

mkdir src
cd src
apt-get source gnome-settings-daemon

3) edite src / gnome-settings-daemon-2.30.1 / plugins / xrandr / gsd-xrandr-manager.c, na linha 1349, altere

#if 1

para

#if 0

4) no terminal, instale dependências de compilação:

sudo apt-get install build-dep gnome-settings-daemon

5) forneça ao seu pacote um novo número de versão:

dch -i "enable monitor.xml default values"

6) construa e instale seu pacote:

debuild
cd ..
sudo dpkg -i gnome-settings-daemon*.deb

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.


1

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.


Doce! Eu já vi posts aqui no askubuntu.com e muitas perguntas estão relacionadas a isso. Obrigado por apontar isso!
Faron 27/03

0

O programa "inteligente" não é apenas uma falha de compiz caindo no gerenciador de janelas de fallback? Seu compizcomando 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.

xrandr --output VGA1 --above LVDS1 ; compiz --replace &
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.