Para mim, inicializar o Ubuntu no modo UEFI com os drivers da Nvidia carregados também sempre resultou na conhecida tela preta quando o X foi iniciado.
Isso foi até ontem!
Depois de encontrar informações muito promissoras no outro tópico sobre a instalação do Windows 7 em Modo UEFI em um Mac. As pessoas de lá lutaram com o suporte legado int de 10h do Windows 7 e descobriram que, para contornar isso, é possível executar uma instalação autônoma (porque a exibição não funciona durante a instalação). A informação crucial para inicializar com sucesso o Ubuntu no modo UEFI, mesmo com drivers da Nvidia , foi que, no início da inicialização EFI (ao passar para o grub), o firmware da Apple não ativa a placa VGA como PCI -E mestre de barramento . Os caras do Windows explicaram como contornar isso usando um shell EFI que sobrecarrega o gerenciador de inicialização do Windows para, pelo menos, executar a instalação no modo autônomo. E aqui está a boa notícia: é fácil fazer isso no GRUB !
Na verdade, estou digitando isso agora em um MacBook Pro 7,1 (meados de 2010) rodando o Ubuntu Vivid inicializado no modo UEFI ( Xorg. 0.log ). No entanto, deve ser fácil de executar ou adaptar isso a qualquer distribuição Linux que forneça uma versão EFI do GRUB, por ex. Ubuntu 14.04.2 LTS.
~$ dmesg | grep -i efi
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.19.0-15-generic.efi.signed root=UUID=7843c644-e6f4-4d64-9317-0b854cb524f2 ro quiet splash intremap=off acpi_osi=! acpi_osi=Darwin nomodeset vt.handoff=7
[ 0.000000] efi: EFI v1.10 by Apple
[ 0.000000] efi: ACPI=0xbf96a000 ACPI 2.0=0xbf96a014 SMBIOS=0xbf71a000
Para encurtar a longa história, temos que configurar dois registradores PCI-E: um que habilite o barramento-mestre na placa de vídeo e o outro que permita o suporte a VGA na ponte PCI-E da placa de vídeo. Então, na verdade, não tem nada a ver com os drivers da Nvidia e, dependendo do ponto de vista, nem mesmo com a implementação de EFI desatualizada / aleijada / de nome da Apple.
Foi assim que resolvi isso. Claro, o kudo vai principalmente para os caras no fórum MacRumors. EXONERAÇÃO DE RESPONSABILIDADE As instruções a seguir são fornecidas como estão, sem garantias nem assumem qualquer responsabilidade. FAÇA ISSO POR SUA CONTA E RISCO!
1. Instale o Ubuntu no modo UEFI com os drivers da Nvidia
Eu não vou entrar em detalhes aqui porque há muitos artigos na web mostrando como fazer isso e acabar com os drivers nouveau rodando sua máquina a quente ou com a tela preta depois de instalar os drivers Nvidia (por exemplo www.rodsbooks.com/ubuntu-efi ).
Observe, no entanto, que as instruções a seguir supõem que você instalou e inicializou com êxito no modo UEFI. Você pode verificar isso verificando a existência do diretório / sys / firmware que é criado apenas após a inicialização no modo EFI.
2. Encontre os identificadores de barramento PCI-E corretos
Precisamos dos IDs da placa gráfica e da ponte PCI-E à qual ela está conectada. Emita o seguinte comando em um shell:
~$ sudo lshw -businfo -class bridge -class display
pci@0000:00:00.0 bridge MCP89 HOST Bridge
pci@0000:00:03.0 bridge MCP89 LPC Bridge
pci@0000:00:0e.0 bridge NVIDIA Corporation
pci@0000:00:15.0 bridge NVIDIA Corporation
pci@0000:00:16.0 bridge NVIDIA Corporation
pci@0000:00:17.0 >!!< bridge MCP89 PCI Express Bridge
pci@0000:04:00.0 >!!< display MCP89 GeForce 320M
Dê uma olhada em (1) a linha que indica a exibição e (2) a linha com a ponte antes dessa linha de exibição. Anote os IDs de barramento PCI-E (formato XX: YY.Z) do dispositivo de ponte (aqui 00: 17.0) e o dispositivo de exibição (aqui 04: 00.0) e lembre-se de qual é qual. Nota : esses IDs podem ser diferentes na sua máquina, dependendo do seu modelo e revisão do Mac.
3. Crie um script GRUB para configurar os registradores PCI-E durante a inicialização
Abra um editor de texto com o sudo nano /etc/grub.d/01_enable_vga.conf e copie / cole o conteúdo abaixo. Substitua 00: 17.0 pelo ID PCI-E do dispositivo de bridge anotado na etapa 2. Substitua 04: 00.0 com o ID PCI-E do seu dispositivo de exibição anotado na etapa 2.
cat << EOF
setpci -s "00:17.0" 3e.b=8
setpci -s "04:00.0" 04.b=7
EOF
Por fim, torne o arquivo criado executável e atualize seus arquivos de configuração do grub usando os seguintes DOIS comandos.
~$ sudo chmod 755 /etc/grub.d/01_enable_vga.conf
~$ sudo update-grub
4. Reinicie e verifique
Se, após a reinicialização, os valores de registro foram definidos como 8 (dispositivo de ponte) e 7 (dispositivo de exibição), tudo correu bem:
~$ sudo setpci -s "00:17.0" 3e.b
08
~$ sudo setpci -s "04:00.0" 04.b
07
5. Instale os drivers da Nvidia e divirta-se!
Use a GUI Drivers adicionais do Ubuntu para instalar os drivers da Nvidia. Eu recomendo seguir este artigo sobre como habilitar controles de brilho porque não trabalhe fora da caixa.