Драйвер 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 работать с несколькими дисплеями, но пока безуспешно.