Настройка режима ядра зависает при загрузке, но драйвер ATI требует этого


13

У меня в конце 2011 года MacBook Pro. Он имеет встроенную видеокарту Intel и дискретную видеокарту ATI. В идеале я бы хотел, чтобы мой Xorg использовал карту ATI с бесплатным драйвером (без Catalyst).

Вот проблема: установка режима ядра зависает при загрузке (проверяется путем добавления nomodesetк параметрам ядра), и я не могу понять, почему. Тем не менее, драйвер ATI требует KMS, как и драйвер Intel. Какие есть варианты получения графики с нужной настройкой, как описано выше?

Я на ядре 3.13.8, Arch GNU / Linux. Я также попробовал это с ядром 3.10.35, AKA ядро ​​LTS. Неудачно. Как предлагается в комментариях, я пытался пропинговать уязвимую машину после ее блокировки. Я не могу сказать наверняка, но кажется, что он полностью заморожен, а не только дисплей.

Я также попытался загрузить Mac OS X и использовать gfxCardStatus для принудительного использования карты Intel. Это ничего не сделало.

Чтобы попытаться получить больше информации, я загрузил MacBook со следующими параметрами ядра, добавленными к моей обычной строке ядра (обычное ядро, а не ядро ​​LTS, и с quietудаленным), и с gfxCardStatus, установленным на on-the- переключение на лету (это, кажется, автоматически восстанавливается при перезагрузке 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

Самый конец журнала процесса загрузки Весь конец загрузочного журнала

Когда я пытаюсь запустить GDM, используя драйверы ATI или Intel, загруженные без KMS, Xorg выдает сообщение о невозможности найти подходящий драйвер (ожидается, поскольку драйверы Intel / AMD нуждаются в KMS). Я также пытался использовать xf86-video-vesaпакет, но это не дает сообщения о наличии подходящего драйвера, но о том, что у него нет подходящей конфигурации - что-то в BIOS не так.

Я пытался использовать PRIME , но, поскольку я не могу заставить Xorg подняться даже без ускорения или чего-то необычного, xrandrне работает, и я даже не могу пройти первый шаг.

Я думал об использовании vgaswitcheroo или чего-то связанного, но я не думаю, что это что-то сделает из-за того факта, что основной проблемой является, я полагаю, тот факт, что KMS зависает.

Последнее, что я попробовал, это использование проприетарного драйвера Catalyst из-за того, что он имеет собственную реализацию KMS, но я не смог его установить из-за несоответствия версий сервера Xorg. И, честно говоря, у меня меньше нуля желания использовать проприетарный драйвер, если я могу помочь, поэтому я не очень старался.

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

Возможно ли, что я столкнулся с ошибкой ядра или ошибкой Xorg, о которой стоит сообщить?

Я гуглил, но ничего полезного не получилось.


IMO KMS должен позаботиться о настройках nomodeset. Вы пробовали radeon.modeset=0или какой драйвер вы используете?
Брайам

1
@Braiam, как я уже сказал, загружает машину, но отключает обязательный компонент драйвера ATI. wiki.archlinux.org/index.php/ATI#Kernel_mode-setting_.28KMS.29
стружка

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

1
Люди с клеверным загрузчиком все время занимаются подобными вещами для толпы хакентошей. Может быть, это применимо наоборот: clover-wiki.zetam.org/Configuration/SMBIOS
mikeserv

1
Из-за того, что стоит, попробовав себя, я не верю, что можно получить проприетарные драйверы nvidia / fglrx, если вы загрузите ядро ​​в режиме EFI (как это было бы для MBP).
CmdrMoozy

Ответы:


1

Прочтите этот пост на форумах Gentoo. Я помог другим пользователям с идентичной установкой NVIDIA. Короче говоря, вы не можете выбирать:

  1. Вы должны использовать драйвер intel для управления вашим сервером XOrg.
  2. Вы можете использовать только плату ATI для рендеринга вывода, но не для его генерации.

Некоторое объяснение здесь: (Я прошу прощения за необходимость объяснить это с точки зрения NVIDIA, поскольку проект ATI для этого - Ironhide - прекращен. Я полагаю, ATI ожидает, что вы воспользуетесь этой CONFIG_VGA_SWITCHEROOопцией)

Кто-то умнее меня создал проект Bumblebee , чтобы взаимодействовать с линейкой ноутбуков Optimus, использующих гибридную графическую систему, во многом как ATI. Выясните скрытую ссылку на трансформаторы самостоятельно в обоих случаях :)

Продолжая, все гибридные системы работают одинаково, а именно:

  1. Графическая плата Intel инициализирует вычислительную область и вычисляет инструкции для рисования полигонов, экранов и т. Д.
  2. Если указано, графическая плата Intel выгружает выполненные вычисления на дискретную плату ATI / NVIDIA. Драйвер стороннего производителя должен быть установлен и настроен, чтобы сообщить вашей системе, какие приложения могут запросить, чтобы графический драйвер Intel выгружал вычисления для этого конкретного приложения. Проекты Bumblebee и Ironhide являются эквивалентом драйвера Windows для ОС на базе Linux.
  3. Дискретная плата ATI / NVIDIA не обладает вычислительной мощностью. Он может принимать запросы только на вывод данных на уровне приложения, поэтому необходимо настроить XOrg на использование драйвера Intel и всегда использовать Intel с XOrg. После запуска XOrg запускается сторонний драйвер и контролируется XOrg на уровне приложений. Он все еще использует драйвер Intel для вычислительной математики.

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


0
  • Вы не дали версию карты ATI. «MacBook Pro конца 2011 года» с Intel & ATI внутри не достаточно удачное обозначение. Загрузитесь в консоль, запустите lspci -nn | grep VGA, чтобы получить точную версию, например:

    $ 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]
    

    С этим вы можете Google для "зависания режима Linux на ATI XYZ"

  • Попробуйте загрузить консоль с использованием разных ядер, например, из 2.6.32, 3.0.last, 3.2.last, 3.4.last, 3.16.last. Не нужно проверять каждую четную версию ядра между 3.0 и 3.16, но на вашем месте я бы попробовал 2.6. И если загрузка прошла успешно, запустите GUI с помощью startx (по-старому). (.last означает последнюю версию этой ветки ядра)

  • Когда вы заблокированы аппаратно (используя ноутбук), у вас не будет большого выбора, если вы не сможете самостоятельно написать / отладить драйвер (ы) Linux - вы должны использовать, какие драйверы существуют и работают. Я пишу из опыта, как давний пользователь Linux. Так что используйте любой драйвер ATI, который работает, если нет, используйте карту Intel. Когда вы даете точную версию карты ATI, надеюсь, Google или кто-то из пользователей здесь скажут вам, хорошо ли эта карта взаимодействует с Linux (так будет аппаратная ошибка) или нет (отсутствие работающего драйвера). Если игра не является вашей основной задачей (вы, вероятно, не захотите переключать Mac OSX для Linux с намерением играть в нее), карта Intel должна работать нормально, но я понимаю ваше желание иметь комбо Intel / NVIDIA в ноутбуке, который я использую время от времени. :)

  • Наконец, вам не нужно загружать UEFI: https://help.ubuntu.com/community/UEFIBooting. «Apple официально поддерживает только загрузку EFI для Mac OS X, хотя технически возможно загрузить Mac OS X с помощью прошивки BIOS. Использование Linux (U) EFI на Intel Mac имеет следующие преимущества: ... »

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.