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.