Драйвер Radeon: невозможно запустить без "nomodeset" на MacPro6,1 с двумя видеокартами AMD R9 280X Tahiti

Убунту Гуру,

У меня редкая конфигурация MacPro6,1 2016 года с двумя видеокартами AMD Radeon R9 280X Tahiti и тремя мониторами 4K, подключенными через порты DisplayPort / Thunderbolt.

Система устанавливается успешно, но и для LiveCD (для установки), и для установленной системы требуется опция nomodeset, в противном случае процесс загрузки зависает с черным экраном.

С помощью "nomodeset" система обнаруживает и работает только на одном мониторе, подключенном через HDMI. Все мониторы, подключенные через DisplayPorts, остаются пустыми.

Я пробовал разные версии Ubuntu (14.04.4, 14.04.5, 15.10, 16.04, 16.04.1, 16.10), у всех есть эта проблема, а также несколько версий Linux Mint с одинаковым результатом. Я также попробовал более новые версии ядра ядра (4.6, 4.7.3, 4.8) на Ubuntu 16.04.1, все с тем же результатом.

Но я нашел один дистрибутив Linux под названием KaOS ( https://kaosx.us/), который хорошо работает на моем оборудовании. Вскоре после нажатия он успешно обнаруживает и включает все три монитора, подключенных через порты дисплея, а затем представляет обычный рабочий стол KDE на всех трех мониторах.

Я сравнил записи журнала загрузок Ubuntu и KaOS, и кажется, что KaOS успешно обнаруживает и активирует обе карты AMD, а затем продолжает нормально загружаться. Он использует драйвер "Radeon" с открытым исходным кодом.

Ubuntu, с другой стороны (все версии и ядра, перечисленные выше), с тем же драйвером "radeon" обнаруживает только первую карту и завершает работу на второй карте, что вызывает немедленное отключение драйвера "radeon", и процесс загрузки зависает после тот.

Вот соответствующие сообщения из журналов. Полные журнальные журналы доступны во вложениях.

Kaos:

Первая карта:

[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
.....

Вторая карта:

[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

(Обратите внимание на эти ошибки "Недопустимая подпись заголовка ПЗУ PCI", но карта успешно инициализировалась, несмотря на их, и разработчики KaOS подтвердили, что эти ошибки являются нормальными для карт ATI и безвредны)

Ubuntu:

Первая карта:

[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

Вторая карта:

[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

Обратите внимание на те же ошибки "Недопустимое содержимое ПЗУ" (немного другие сообщения, но я проверил в источниках, что они означают одно и то же - неожиданная сигнатура ПЗУ). После этих ошибок сбой драйвера radeon/drm с ОШИБКОЙ Невозможно найти ПЗУ BIOS и затем "завершить" устройство ".

KaOS использует более новое ядро ​​4.7.3-1, но я попытался 4.6, 4.7.3, 4.8 на Ubuntu, но безуспешно.

Еще одна вещь, которую я заметил из журналов: в KaOS правила udev загружаются до установки режима ядра, а в Ubuntu - после установки режима. Может ли это быть причиной?

Информация о видеокартах:

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]

Полные выходы "lspci -vvv" и "lshw" также прилагаются для полноты.

Мне действительно нужно, чтобы эта рабочая станция работала под Linux, не хочу соглашаться на MacOS.

Если бы кто-то компетентный мог взглянуть на это и дать некоторые предложения, я был бы очень признателен.

Спасибо хай

Обновление от 08-ноя-2016:

Привет ник,

Спасибо за ответ, попробую radeon.pm=0 вариант.

Но я нашел обходной путь или решение, которое сработало для меня, а также может сработать для вас.

Система должна быть загружена с помощью загрузчика systemd-boot (или, возможно, любого другого, поддерживающего загрузку UEFI)

Когда я загружаю Ubuntu на моем MacPro со стандартным, установленным во время установки grub2, драйвер radeon не обнаружит внешние дисплеи, подключенные через порты дисплея.

Но когда я загружаю систему, используя systemd-boot, установленный Arch Linux (или KaOS), он обнаруживает дисплеи нормально и работает правильно, поддерживая все внешние дисплеи, как и ожидалось.

Я думаю, что это связано с некоторыми аспектами аппаратного обеспечения, которые не отображаются в режиме загрузки BIOS, а отображаются в режиме загрузки EFI/UEFI.

Предпочтительным решением будет работать драйвер Radeon в режиме BIOS, если это возможно, или, если это невозможно, какое-то значимое сообщение в системном журнале, объясняющее, что некоторые функции (например, внешние мониторы через порт отображения) не будут поддерживаться, если система не загружена в Режим EFI/UEFI.

Я отправил сообщение об ошибке в radeon bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98523

Надеюсь, это будет исправлено, чтобы работать из коробки в какой-то момент.

Спасибо хай

1 ответ

Одна проблема, о которой я узнал, - это управление питанием Radeon (вы можете отключить его в grub с помощью radeon.pm=0) который, по-видимому, закрывает 2-й графический процессор при загрузке.

Я использую основные драйверы Radeon с двумя D700. Работает только с одним дисплеем дисплея.

Я пытаюсь заставить свои два D700 работать с несколькими дисплеями, но пока безуспешно.

Другие вопросы по тегам