A configuração de modo do kernel trava minha inicialização, mas o driver ATI exige

13

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

Aqui está o problema: o modo de configuração do kernel trava minha inicialização (verificado adicionando nomodesetaos parâmetros do kernel) e não consigo entender o porquê. No entanto, o driver ATI requer KMS, assim como o driver Intel. Quais são as 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, também conhecido como kernel LTS. Sem sorte Conforme sugerido nos comentários, tentei executar o ping na máquina afetada depois que ela trava. Não sei ao certo, mas parece que está completamente congelado, não apenas a tela.

Também tentei inicializar no Mac OS X e usar o gfxCardStatus para forçar o uso da placa Intel. Isso não fez nada.

Para tentar obter mais informações, inicializei o MacBook com os seguintes parâmetros do kernel anexados à minha linha normal de kernel (o kernel regular, não o kernel LTS e com quietremovido) e com o gfxCardStatus definido como on-the- comutação instantânea (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

Final do log do processo de inicialização Fim inteiro do log de inicialização

Quando tento iniciar o GDM usando os drivers ATI ou Intel, inicializados sem o KMS, o Xorg falha com uma mensagem sobre não encontrar um driver adequado (esperado, pois os drivers Intel / AMD precisam do KMS). Eu também tentei usar o xf86-video-vesapacote, 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 o PRIME , mas como não consigo fazer com que o Xorg apareça mesmo sem aceleração ou algo sofisticado, xrandrnão funciona e nem consigo passar do primeiro passo.

Pensei em usar o vgaswitcheroo ou algo relacionado, mas acho que isso não fará nada devido ao fato de que o problema subjacente é, acredito, o fato de o KMS estar suspenso.

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

Enviei à lista de discussão do kernel do Linux um e-mail sobre isso, e espero que alguém volte para mim.

É possível que eu tenha encontrado um bug do kernel ou um bug do Xorg que vale a pena relatar?

Eu pesquisei no Google, mas nada de útil veio à tona.

strugee
fonte
O KMS da IMO deve cuidar das configurações do conjunto de nós. Você já tentou radeon.modeset=0ou qualquer driver que você usa?
Braiam
1
@Braiam, como eu disse, faz com que a máquina inicialize, mas desativa um componente necessário do driver da ATI. wiki.archlinux.org/index.php/ATI#Kernel_mode-setting_.28KMS.29
strugee
Você já confirmou que realmente trava, e não apenas o vídeo é interrompido? Por exemplo, você pode participar? Caso contrário, ele ao menos executa ping? Se assim for, você precisa de um netconsole ...
derobert
1
O pessoal do gerenciador de inicialização do trevo lida com esse tipo de coisa o tempo todo para a multidão hackintosh. Talvez seja aplicável vice-versa: clover-wiki.zetam.org/Configuration/SMBIOS
mikeserv
1
Pelo que vale a pena, por ter me tentado, não acredito que seja possível obter drivers proprietários da nvidia / fglrx em execução se você inicializar o kernel no modo EFI (como seria o caso de um MBP).
CmdrMoozy

Respostas:

1

Leia este post nos Fóruns do Gentoo. Ajudei outros usuários lá com uma instalação NVIDIA idêntica. Em resumo, você não pode escolher:

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

Alguma explicação aqui: (Peço desculpas por ter que explicar isso em termos da NVIDIA, pois o projeto da ATI para isso - Ironhide - foi descontinuado. Acredito que a ATI espera que você use a CONFIG_VGA_SWITCHEROOopção)

Alguém mais esperto que eu construiu o Projeto Bumblebee , a fim de interagir com a linha de notebooks Optimus que usam o sistema gráfico híbrido, bem como a ATI. Descobrir a referência velada aos transformadores em ambos os casos :)

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

  1. A placa gráfica Intel inicializa a área computacional e calcula as instruções para desenhar polígonos, telas etc.
  2. Se solicitado, a placa gráfica Intel transferirá os cálculos concluídos para a placa discreta ATI / NVIDIA. Um driver de terceiros deve ser instalado e configurado para informar ao 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 driver do Windows em um sistema operacional baseado em Linux.
  3. A placa discreta ATI / NVIDIA não possui poder de processamento computacional. Ele só pode aceitar solicitações para extrair saída no nível do aplicativo; portanto, você deve configurar o XOrg para usar o driver Intel e sempre usar a Intel com o XOrg. Depois que o XOrg inicia, o driver de terceiros inicia e controla o XOrg no nível do aplicativo. Ele ainda está usando o driver Intel para a matemática computacional.

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

eyoung100
fonte
0
  • Você não forneceu nenhuma versão do cartão ATI. "Final de 2011 MacBook Pro" com Intel e ATI no interior não é uma designação suficiente. Inicialize no console, inicie 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 procurar no google por "Modo de configuração do Linux trava na 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 2.6. E se a inicialização for bem, inicie a GUI com startx (maneira antiga). (.last significa a versão mais recente dessa ramificação do kernel)

  • Quando você está bloqueado por hardware (usando o notebook), não tem muita opção se não conseguir gravar / depurar os drivers do Linux - precisará usar os drivers disponíveis e funcionando. Estou escrevendo por experiência própria, como um usuário Linux de longa data. Portanto, use qualquer driver ATI que funcione, se não houver, use a placa Intel. Quando você fornece a versão exata da placa ATI, esperamos que o Google ou algum usuário aqui diga que essa placa coopera bem com o Linux (portanto, haveria um bug de hardware) ou não (falta de driver em funcionamento). Se o jogo não é sua principal preocupação (você provavelmente não trocaria o Mac OSX para Linux com a intenção de jogar), a placa Intel deve funcionar bem, mas entendo que você deseja ter um conjunto Intel / NVIDIA no notebook que eu uso de tempos em tempos. :)

  • Por fim, você não precisa inicializar o UEFI: https://help.ubuntu.com/community/UEFIBooting "A Apple suporta oficialmente apenas a inicialização por EFI no Mac OS X, embora tecnicamente seja possível inicializar o Mac OS X usando o firmware do BIOS. O Linux usando (U) EFI em Intel Macs tem as seguintes vantagens: ... "

stemd
fonte