Driver Radeon: Não é possível executar sem “nomodeset” no MacPro6,1 com duas placas de vídeo AMD R9 280X Tahiti

1

Ubuntu Gurus,

Eu tenho uma configuração rara de 2016 MacPro6,1 com dois Placas de vídeo AMD Radeon R9 280X Tahiti e três monitores 4K conectado via portas DisplayPort / Thunderbolt.

O sistema é instalado com sucesso, mas tanto o LiveCD (para instalação) quanto o sistema instalado Exigir "nomodeset" opção, caso contrário, o processo de inicialização trava com uma tela preta.

Com o sistema "nomodeset" detecta e funciona apenas em um monitor, conectado via HDMI. Todos os monitores conectados via DisplayPorts permanecem em branco.

Eu tentei diferentes versões do Ubuntu (14.04.4, 14.04.5, 15.10, 16.04, 16.04.1, 16.10), todos têm esse problema, e também várias versões do Linux Mint, com o mesmo resultado. Eu também tentei novos kernels upstream (4.6, 4.7.3, 4.8) no Ubuntu 16.04.1, todos com o mesmo resultado.

Mas eu encontrei uma distro do Linux, chamada KaOS ( link ) que funciona bem na minha hardware. Logo após a intrusão, ele detecta e ativa com sucesso os três monitores conectado via Display Ports e, em seguida, apresenta a área de trabalho normal do KDE em todos os três monitores.

Eu comparei entradas de diário do Ubuntu e do KaOS, e parece que O KaOS detecta e ativa com sucesso ambas as placas AMD, e então continua a inicializar normalmente. Ele usa o driver "radeon" de código aberto.

Ubuntu, por outro lado (todas as versões e kernels listados acima), com o mesmo driver "radeon" detecta apenas o primeiro cartão e falha no segundo cartão, o que causa o desligamento imediato do driver "radeon", e o processo de inicialização trava depois disso.

Aqui estão as mensagens relevantes das revistas. Logs completos de diário são disponível nos anexos.

KaOS:

Primeiro cartão:

[drm] radeon kernel modesetting enabled.
[drm] initializing kernel modesetting (TAHITI 0x1002:0x6798 0x106B:0x0128 0x00).
[drm] register mmio base: 0xA0700000
[drm] register mmio size: 262144
[drm] ACPI VFCT contains a BIOS for 02:00.0 1002:6798, size 65536
[drm:radeon_get_bios] ATOMBIOS detected
ATOM BIOS: Tahiti
[drm] Loading tahiti Microcode
[drm] Initialized radeon 2.45.0 20080528 for 0000:02:00.0 on minor 0
fb: switching to radeondrmfb from EFI VGA
.....

Segunda carta:

[drm] ACPI VFCT contains a BIOS for 02:00.0 1002:6798, size 65536
[drm] ACPI VFCT table is not for this card
radeon 0000:06:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x0000
radeon 0000:06:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x0000
[drm:radeon_get_bios] ATOMBIOS detected
ATOM BIOS: Tahiti
[drm] Loading tahiti Microcode
[drm] radeon: dpm initialized
[drm] Initialized radeon 2.45.0 20080528 for 0000:06:00.0 on minor 1

(Observe estes erros "Assinatura de cabeçalho ROM ROM inválido", mas o cartão inicializou com sucesso apesar deles, e os desenvolvedores do KaOS confirmaram que esses erros são normais para placas ATI, e são inofensivos)

Ubuntu:

Primeiro cartão:

[drm] radeon kernel modesetting enabled.
[drm] initializing kernel modesetting (TAHITI 0x1002:0x6798 0x106B:0x0128).
[drm] register mmio base: 0xA0700000
[drm] register mmio size: 262144
[drm] ACPI VFCT contains a BIOS for 02:00.0 1002:6798, size 65536
[drm:radeon_get_bios] ATOMBIOS detected
ATOM BIOS: Tahiti
[drm] Loading tahiti Microcode
[drm] radeon: dpm initialized
[drm] Initialized radeon 2.43.0 20080528 for 0000:02:00.0 on minor 0
fb: switching to radeondrmfb from EFI VGA

Segunda carta:

[drm] initializing kernel modesetting (TAHITI 0x1002:0x6798 0x106B:0x0127).
[drm] register mmio base: 0xA0600000
[drm] register mmio size: 262144
[drm] ACPI VFCT contains a BIOS for 02:00.0 1002:6798, size 65536
[drm] ACPI VFCT table is not for this card
radeon 0000:06:00.0: Invalid ROM contents
radeon 0000:06:00.0: Invalid ROM contents
[drm:radeon_get_bios [radeon]] *ERROR* Unable to locate a BIOS ROM
radeon 0000:06:00.0: Fatal error during GPU init
[drm] radeon: finishing device.
radeon: probe of 0000:06:00.0 failed with error -22

Observe os mesmos erros "Conteúdo da ROM inválido" (mensagens ligeiramente diferentes, mas eu verifiquei em fontes que eles significam o mesmo - assinatura ROM inesperado) Após esses erros, o driver radeon / drm falha com ERROR Não é possível localizar uma ROM do BIOS, e depois "dispositivo de acabamento".

O KaOS usa o novo kernel 4.7.3-1, mas eu tentei 4.6, 4.7.3, 4.8 no Ubuntu, sem sucesso.

Outra coisa que eu notei nos jornais: no KaOS, as regras do udev são carregadas antes do modesetting do kernel, mas no Ubuntu - depois de modesetting. Isso pode ser um motivo?

Informações das placas gráficas:

lspci | grep VGA
02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X]
06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X]

As saídas completas "lspci -vvv" e "lshw" também estão anexadas para serem completas.

Eu realmente preciso fazer esta estação de trabalho funcionar no Linux, não quero se contentar com o MacOS.

Se alguém competente pudesse dar uma olhada nisso e dar algumas sugestões, Eu apreciaria muito isso.

Obrigado Heigh

Atualização de 08 de novembro de 2016:

Oi Nick,

Obrigado pela resposta, vou tentar a opção radeon.pm = 0.

Mas encontrei uma solução alternativa ou solução que funcionou para mim e também pode trabalhar para você.

O sistema precisa ser inicializado com o bootloader systemd-boot (ou talvez qualquer outra inicialização de UEFI de suporte)

Quando inicializo o Ubuntu no meu MacPro com padrão, instalado durante a instalação do grub2, o driver radeon não detecta exibições externas conectado via Display Ports.

Mas quando eu inicializo o sistema usando o systemd-boot instalado pelo Arch Linux (ou KaOS), ele detecta telas normalmente e funciona corretamente, suportando todas as exibições externas conforme o esperado.

Eu acho que isso está relacionado a alguns aspectos do hardware não sendo exposto no modo de inicialização do BIOS e exposto no modo de inicialização EFI / UEFI.

A solução preferida seria o funcionamento do driver radeon no modo BIOS se possível, ou, se isso não for possível, alguma mensagem significativa no diário do sistema, explicando que certos recursos (por exemplo, monitores externos via porta de exibição) não serão suportados a menos que o sistema seja inicializado no modo EFI / UEFI.

Eu enviei um bug para o radeon bugzilla: link

Espero que isso seja corrigido para funcionar fora da caixa em algum momento.

Obrigado Heigh

    
por Heigh Leigh 29.10.2016 / 23:30

1 resposta

0

Um problema que vi foi o gerenciamento de energia do radeon (você pode desativar isso no grub com radeon.pm=0 ) que aparentemente encerra o segundo gpu na inicialização.

Estou executando os drivers básicos do radeon com dois D700. Funciona apenas com uma tela de exibição.

Estou tentando fazer com que meus dois D700 funcionem com vários monitores, sem sorte até o momento.

    
por Andrew 02.11.2016 / 19:20