O modesetting do kernel suspende minha inicialização, mas o driver ATI exige

12

Eu tenho um MacBook Pro no final de 2011. Ele tem uma placa de vídeo integrada da Intel e uma placa de vídeo ATI discreta. Idealmente, gostaria que meu Xorg usasse a placa ATI com o driver gratuito (sem Catalyst).

Aqui está o problema: o modesetting do kernel trava minha inicialização (verificado adicionando nomodeset aos parâmetros do kernel), e não consigo descobrir por quê. No entanto, o driver ATI requer KMS, assim como o driver Intel. Quais são minhas opções para obter gráficos com a configuração desejada, conforme descrito acima?

Estou no kernel 3.13.8, Arch GNU / Linux. Eu também tentei com o kernel 3.10.35, AKA o kernel LTS. Sem sorte. Como sugerido nos comentários, tentei fazer o ping na máquina afetada depois que ela foi bloqueada. Eu não posso dizer com certeza, mas parece que está completamente congelado, não apenas a tela.

Eu também tentei inicializar no Mac OS X e usar o gfxCardStatus para forçar o uso do cartão Intel. Isso não fez nada.

Para tentar obter mais informações, inicializei o MacBook com os seguintes parâmetros de kernel anexados à minha linha de kernel normal (o kernel regular, não o kernel LTS e com quiet removido) e com gfxCardStatus definido para comutação on-the-fly (isso pareceu reverter automaticamente em uma reinicialização do OS X):

rootwait ignore_loglevel debug debug_locks_verbose=1 sched_debug initcall_debug mminit_loglevel=4 udev.log_priority=8 loglevel=8 earlyprintk=vga,keep log_buf_len=10M print_fatal_signals=1 apm.debug=Y i8042.debug=Y drm.debug=1 scsi_logging_level=1 usbserial.debug=Y option.debug=Y pl2303.debug=Y firewire_ohci.debug=1 hid.debug=1 pci_hotplug.debug=Y pci_hotplug.debug_acpi=Y shpchp.shpchp_debug=Y apic=debug show_lapic=all hpet=verbose lmb=debug pause_on_oops=5 panic=10 sysrq_always_enabled

Quando tento iniciar o GDM usando os drivers ATI ou Intel, inicializado sem o KMS, o Xorg falha com uma mensagem sobre não encontrar um driver adequado (esperado, já que os drivers Intel / AMD precisam do KMS). Eu também tentei usar o pacote xf86-video-vesa , mas isso falha com uma mensagem sobre ter um driver adequado mas não ter uma configuração adequada - algo sobre o BIOS não estar certo.

Eu tentei usar PRIME , mas como não consigo fazer o Xorg subir mesmo sem aceleração ou qualquer coisa extravagante, xrandr não funciona e eu não consigo nem passar do primeiro passo.

Eu pensei em usar vgaswitcheroo ou algo relacionado, mas não acho que isso vá fazer nada, devido ao fato de que o problema subjacente é, acredito, o fato de o KMS estar pendurado.

A última coisa que tentei é usar o driver Catalyst proprietário, devido ao fato de ter sua própria implementação KMS, mas não consegui instalá-lo devido a uma incompatibilidade de versão do servidor Xorg. E honestamente, eu tenho menos do que zero desejo de usar um driver proprietário, se eu puder ajudar, então eu não tentei muito.

Enviei a Lista de Discussão do Kernel do Linux um e-mail sobre isso e espero que alguém receba de volta para mim.

É possível que eu tenha encontrado um bug do kernel ou um relatório de bug do Xorg?

Eu pesquisei no Google, mas nada de útil surgiu.

    
por strugee 05.04.2014 / 03:21

2 respostas

0

  • Você não forneceu nenhuma versão da placa ATI. "MacBook Pro final de 2011" com Intel e ATI dentro não é uma designação suficientemente boa. Inicialize o console, inicie o comando lspci -nn | grep VGA para obter a versão exata, assim:

    $ lspci -nn | grep VGA
    01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Park [Mobility Radeon HD 5430/5450/5470] [1002:68e0]
    

    Com isso, você pode pesquisar no Google por "configurações de modos de execução do Linux no ATI xyz"

  • Tente inicializar no console usando kernels diferentes, por exemplo de 2.6.32, 3.0.last, 3.2.last, 3.4.last, 3.16.last. Não há necessidade de verificar todas as versões pares do kernel entre 3.0 e 3.16, mas no seu lugar eu tentaria algo com certeza. E se a inicialização for bem, então inicie a GUI com startx (maneira antiga). (. último significa a última versão desse ramo do kernel)

  • Quando você está bloqueado por hardware (usando o notebook), você não tem muita escolha se não for capaz de escrever / depurar o (s) driver (s) do Linux - você precisa usar os drivers que estão disponíveis . Eu estou escrevendo a partir da experiência, como um usuário Linux muito tempo. Portanto, use qualquer driver ATI que funcione, se não houver, use o cartão Intel. Quando você der a versão exata da placa ATI, esperamos que o Google ou algum usuário aqui lhe diga que essa placa coopera bem com o Linux (assim teria bug de hardware) ou não (falta de driver funcionando). Se o jogo não é sua principal preocupação (você provavelmente não trocaria o Mac OSX pelo Linux com a intenção de jogar), a placa Intel deve funcionar bem, mas eu entendo seu desejo de usar o Intel / NVIDIA no notebook que eu uso de tempos em tempos. :)

  • Por fim, você não precisa inicializar o UEFI: link "A Apple oficialmente suporta apenas a inicialização EFI para Mac OS X, embora tecnicamente seja possível inicializar o Mac OS X usando o firmware da BIOS.A inicialização do Linux usando (U) EFI em Intel Macs tem as seguintes vantagens: ... "

por 04.07.2014 / 18:07
0

Leia este Post nos Fóruns do Gentoo. Eu ajudei outros usuários lá com uma instalação idêntica da NVIDIA. Em suma, você não pode escolher:

  1. Você deve usar o driver intel para "dirigir seu servidor XOrg.
  2. Você só pode usar a placa ATI para renderizar a saída, mas não gerá-la.

Alguma explicação aqui: (peço desculpas por ter que explicar isso em termos de NVIDIA, como eu poderia projeto da ATI para este - Ironhide - é descontinuado. Acredito que a ATI espera que você use a opção CONFIG_VGA_SWITCHEROO )

Alguém mais esperto do que eu construiu o Bumblebee Project , a fim de interagir com a Linha Optimus de Notebooks que usam o sistema gráfico híbrido, muito parecido com a ATI. Descobrir a referência oculta aos transformadores em ambos os casos :)

Continuando, todos os sistemas híbridos funcionam da mesma maneira:

  1. A Intel Graphics Board inicializa a área computacional e calcula as instruções para desenhar polígonos, telas, etc.
  2. Se for solicitado, a Intel Graphics Board transferirá os cálculos concluídos para a placa discreta ATI / NVIDIA. Um driver de terceiros deve ser instalado e configurado, para informar ao seu sistema quais aplicativos podem solicitar que o driver de gráficos Intel descarregue os cálculos para esse aplicativo específico. Os projetos Bumblebee e Ironhide são equivalentes ao Windows Driver em um SO baseado em Linux.
  3. A placa discreta ATI / NVIDIA não possui capacidade de processamento computacional. Ele só pode aceitar solicitações para extrair a saída em um nível de aplicativo, portanto, você deve configurar o XOrg para usar o driver Intel e sempre usar o Intel com o XOrg. Depois que o XOrg inicia o driver de terceiros, ele inicia e controla o XOrg no nível do aplicativo. Ainda está usando o driver Intel para a matemática computacional.

Eu sabia de tudo isso quando publiquei o link acima, e fui dinged por apenas fornecer o link. Espero que minha explicação ajude. Se você tiver alguma dúvida, atualizarei esta resposta com novas respostas /

    
por 15.04.2014 / 18:53