Drivers de placas gráficas diferentes durante a inicialização de mídia externa

0

Eu estou inicializando um certo sistema meu com o Ubuntu 9.10 do HDD externo. Estou satisfeito com a configuração e funciona bem, no entanto, gostaria de modificá-lo para que eu possa escolher quais drivers de placa gráfica carregar durante o tempo de inicialização. Especificamente, eu gostaria de escolher entre:

  • driver proprietário da nvidia
  • driver proprietário do ati
  • driver genérico

Atualmente, se eu estiver usando drivers proprietários, não inicialize no X, exclua xorg.conf, inicie o gdm e reconfigure o sistema usando o jockey (para drivers de hardware).

Quais seriam os passos para tornar isso (semi-) automático e evitar reiniciar o X?

Onde alguém poderia encontrar exemplos de tais scripts?

    
por Unreason 14.09.2010 / 13:41

4 respostas

1
  1. Faça 3 entradas diferentes no grub para cada kernel com driver1 , driver2 , driver3 como opções.
  2. Crie 3 xorg.conf diferentes (cada um com um dos três drivers) e nomeie-os como xorg.conf1 , xorg.conf2 , xorg.conf2 .
  3. Escreva um script que seja executado antes do X que usa /proc/cmdline para driver1 , driver2 oder driver3 e, em seguida, links simbólicos xorg.conf1 , xorg.conf2 ou xorg.conf2 para xorg.conf

Eu fiz algo semelhante para alternar entre screensetup dualheaded e não dual-head nos tempos anteriores ao xrandr. Infelizmente os scripts e a documentação já se foram há muito tempo.

Possíveis melhorias:

  • use as regras do udev
  • deixe o initscript detectar automaticamente a placa gráfica atual
por 14.09.2010 / 14:32
1

Você sempre pode criar um script de shell que automatize esse processo para você.

    
por 28.05.2010 / 22:59
1

Os itens a seguir podem fornecer algumas dicas de como você pode conseguir o que deseja por meio do grub:

link

    
por 15.09.2010 / 14:46
1

Crie versões diferentes do seu xorg.conf com base nas coisas que você deseja. Diga:

/etc/X11/xorg.conf.nvidia
/etc/X11/xorg.conf.ati
/etc/X11/xorg.conf.generic

Em seguida, configure várias configurações de inicialização em /boot/grub/grub.cfg e coloque um parâmetro de kernel diferente (por exemplo, xconfig = myconfig) em todas as linhas em que o kernel é especificado. Em algum lugar ao longo das linhas de:

menuentry "Ubuntu, Linux 2.6.31-17 nvidia" {
  ...
  linux   /vmlinuz-2.6.31-17 root=UUID=885a6a07-fd6c-4638-aa17-d38997d477e1 xconfig=nvidia ro single
 ...
} 

menuentry "Ubuntu, Linux 2.6.31-17 ati" {
  ...
  linux   /vmlinuz-2.6.31-17 root=UUID=885a6a07-fd6c-4638-aa17-d38997d477e1 xconfig=ati ro single
 ...
}

menuentry "Ubuntu, Linux 2.6.31-17 generic" {
  ...
  linux   /vmlinuz-2.6.31-17 root=UUID=885a6a07-fd6c-4638-aa17-d38997d477e1 xconfig=generic ro single
 ...
}

Os parâmetros do kernel que não são reconhecidos são ignorados, mas ainda estarão disponíveis em / proc / cmdline. Com base nisso, você pode escrever um pequeno script de shell que escolha o arquivo de configuração correto:

#!/bin/bash
rm -f /etc/X11/xorg.conf
config='cat /proc/cmdline |sed -e 's/.*xconfig=\([a-z]*\).*//g'
ln -s /etc/X11/xonfig.conf.$config /etc/X11/xconfig.conf

Em seguida, coloque isso em algum lugar na ordem de inicialização, antes de iniciar o gdm.

    
por 18.09.2010 / 20:57