Como posso executar o X em 1 de 2 GPUs conectadas?

6

Eu tenho 2 GPUs conectadas ao meu PC, uma AMD Radeon HD 7770 e uma nVidia GeForce 8600GT, e gostaria de executar o servidor X somente na placa nVidia.

Como posso fazer isso?

Edit: Como a minha placa nVidia é um não-eu troquei por uma Radeon HD 4770, a questão permanece a mesma, embora agora eu gostaria de usar a HD 4770.

Esta é a saída de lspci -nnk | grep -iEA3 vga :

    01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI   Device [1002:683d]
Subsystem: PC Partner Limited Device [174b:e215]
Kernel driver in use: fglrx_pci
Kernel modules: fglrx, radeon

   02:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI       Radeon HD 4770 [RV740] [1002:94b3]
Subsystem: XFX Pine Group Inc. Device [1682:2900]
Kernel modules: radeon
   02:00.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI RV710/730 HDMI Audio [Radeon HD 4000 series] [1002:aa38]

E esta é a saída de lspci -v , é bastante longa, então colei em aqui .

    
por Uri Herrera 03.02.2013 / 23:28

1 resposta

3

Qual é a saída de um lspci -v simples? (sem o grep mencionado acima?)

Verifique se o seu BIOS está configurado para usar o cartão que você deseja usar como placa principal VGA. Provavelmente tem uma opção como "Vídeo principal: PCIE16-slot1, PCIE-slot2, ..". Certifique-se de que isso esteja definido no slot da placa NVidia.

A lista negra dos módulos pode funcionar, mas imagino que o servidor Xorg ainda tentará executar um driver vesa na outra placa. Outra opção pode ser usar o driver pci-stub para essencialmente 'esconder' o dispositivo do Linux. Veja aqui:

link

.. Você pode precisar adicionar esses comandos a scripts executados no início da inicialização.

Ao falhar, você precisaria de um /etc/X11/xorg.conf personalizado para forçar o xserver a rodar em apenas uma GPU. Caso contrário, o servidor Xorg varrerá o barramento PCI e carregará, de forma útil, todos os drivers que encontrar e (presumivelmente) tentará utilizá-los. Execute man xorg.conf e, em seguida, execute Xorg -configure para gerar um xorg.conf.new no diretório atual. Em seguida, edite a partir dos dados gerados, prestando especial atenção ao campo BusID na seção Dispositivo. Em seguida, examine a seção "screen" da configuração e remova todas as telas com uma referência ao dispositivo (provavelmente Card0 ou Card1) que você não deseja usar.

No entanto, convém reconsiderar seu caso de uso. Do seu comentário:

  

Gostaria de usar o HD 4770 e os drivers radeon para X e o HD 7770 para uma máquina virtual Windows ou apenas para o HD 4770 e ignorar o HD 7770.

Essa é uma ordem muito, muito alta, apesar de parecer simples. O problema é que você precisa de um sistema que possua um IOMMU que possa suportar o reencaminhamento do barramento PCI (-E) usando virtualização de hardware (isso requer suporte a CPU, BIOS e chipset). Muito poucas placas-mãe têm o suporte completo necessário (a maioria tem tabelas borked BIOS). Aqui está uma conta de alguém tentando fazer com que sua placa mãe asus funcione com o VirtualBox e se deparando com problemas de BIOS:

link

Mesmo sistemas que têm um IOMMU funcionando o suficiente para suportar coisas como passagem de placa de rede falham ao trabalhar com placas de vídeo, já que as placas de vídeo ainda são tratadas como especiais pelo barramento pci por razões legadas (particularmente o cartão primário marcado por o bios).

Caso contrário, você está preso usando hacks experimentais para vários hipervisores que tentam fazer coisas como esta funcionar usando o suporte a passagem PCI-paravirt. O Xen afirma suportar o uso de placas radeon em convidados que não sejam primários (e ocultos usando o driver PCIback). Eles também afirmam ser capazes de passar um cartão de intel para um convidado, mesmo que seja o cartão principal no host. Eu pessoalmente nunca consegui que funcionasse. Os cartões NVidia são sempre mais difíceis de lidar neste caso devido à falta de documentação. É bem possível que VMWare, KVM ou virtualbox possam ter melhor suporte para isso, não sei.

Você pode encontrar informações sobre a passagem de gráficos do Xen aqui: link

Realmente, se você não tem suporte IOMMU em funcionamento, desista de tentar executar uma VM com a passagem da placa de vídeo, salve a dor.

    
por clemej 14.02.2013 / 05:47

Tags