Das Kernel-Modesetting hängt meinen Boot, aber der ATI-Treiber benötigt es


13

Ich habe Ende 2011 ein MacBook Pro. Es verfügt über eine integrierte Intel-Grafikkarte und eine diskrete ATI-Grafikkarte. Idealerweise möchte ich, dass mein Xorg die ATI-Karte mit dem kostenlosen Treiber (ohne Katalysator) verwendet.

Hier ist das Problem: Beim Einstellen des Kernel-Modus bleibt mein Boot hängen (überprüft durch Hinzufügen nomodesetvon Kernel-Parametern), und ich kann nicht herausfinden, warum. Der ATI-Treiber erfordert jedoch KMS, ebenso wie der Intel-Treiber. Welche Möglichkeiten habe ich, um wie oben beschrieben Grafiken mit dem gewünschten Setup zu erhalten?

Ich arbeite mit Kernel 3.13.8, Arch GNU / Linux. Ich habe es auch mit Kernel 3.10.35 versucht, AKA den LTS-Kernel. Kein Glück. Wie in den Kommentaren vorgeschlagen, habe ich versucht, den betroffenen Computer zu pingen, nachdem er abgestürzt ist. Ich kann nicht sicher sagen, aber es scheint, dass es komplett eingefroren ist, nicht nur das Display.

Ich habe auch versucht, in Mac OS X zu booten und gfxCardStatus zu verwenden, um die Verwendung der Intel-Karte zu erzwingen. Das hat nichts gebracht.

Um weitere Informationen zu erhalten, habe ich das MacBook mit den folgenden Kernel-Parametern gestartet, die an meine normale Kernel-Zeile angehängt wurden (der reguläre Kernel, nicht der LTS-Kernel, und mit quietentferntem Kernel ), und mit gfxCardStatus auf on-the-the- Fly Switching (dies schien sich nach einem Neustart von OS X automatisch zurückzusetzen):

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

Ganz am Ende des Startvorgangsprotokolls Gesamtes Ende des Startprotokolls

Wenn ich versuche, GDM mithilfe der ATI- oder Intel-Treiber zu starten, die ohne KMS gestartet wurden, schlägt Xorg mit der Meldung fehl, dass kein geeigneter Treiber gefunden wurde (zu erwarten, da die Intel / AMD-Treiber KMS benötigen). Ich habe auch versucht, das xf86-video-vesaPaket zu verwenden, aber das schlägt fehl mit der Meldung, dass ein geeigneter Treiber, aber keine geeignete Konfiguration vorhanden ist - etwas, dass das BIOS nicht stimmt.

Ich habe versucht, PRIME zu verwenden , aber da ich Xorg auch ohne Beschleunigung oder etwas Besonderes xrandrnicht zum Aufrufen bringen kann, funktioniert das nicht und ich komme nicht einmal über den ersten Schritt hinaus.

Ich habe darüber nachgedacht, vgaswitcheroo oder ähnliches zu verwenden, aber ich glaube nicht, dass dies etwas bewirken wird, da das zugrunde liegende Problem meines Erachtens die Tatsache ist, dass KMS hängt.

Das Letzte, was ich versucht habe, ist die Verwendung des proprietären Catalyst-Treibers, da er eine eigene KMS-Implementierung hat, aber ich konnte ihn nicht installieren, weil die Xorg-Serverversion nicht übereinstimmt. Und ehrlich gesagt, ich habe weniger als null Lust, einen proprietären Treiber zu verwenden, wenn ich helfen kann, also habe ich mich nicht sehr angestrengt.

Ich habe der Linux-Kernel-Mailingliste eine E-Mail darüber gesendet , und hoffentlich meldet sich jemand bei mir.

Ist es möglich, dass ich auf einen Kernel-Bug oder einen Xorg-Bug gestoßen bin, der es wert ist, gemeldet zu werden?

Ich habe gegoogelt, aber es ist nichts hilfreiches aufgetaucht.


IMO KMS sollte sich um die Nomodeset-Einstellungen kümmern. Hast du versucht radeon.modeset=0oder welchen Treiber du verwendest?
Braiam

1
@Braiam wie gesagt, das macht die Maschine booten, aber es deaktiviert eine erforderliche Komponente des ATI-Treibers. wiki.archlinux.org/index.php/ATI#Kernel_mode-setting_.28KMS.29
strugee

Hast du bestätigt, dass es tatsächlich hängt und nicht nur das Video ausbricht? Können Sie z. B. einsteigen? Wenn nicht, pingt es wenigstens? Wenn ja, brauchen Sie eine Netzkonsole ...
derobert

1
Die Leute vom Clover Bootloader kümmern sich die ganze Zeit um diese Sachen für die Hackintosh-Menge. Vielleicht ist es umgekehrt anwendbar: clover-wiki.zetam.org/Configuration/SMBIOS
mikeserv

1
Ich glaube nicht, dass es möglich ist, proprietäre nvidia / fglrx-Treiber zum Laufen zu bringen, wenn Sie den Kernel im EFI-Modus booten (wie bei einem MBP).
CmdrMoozy

Antworten:


1

Lesen Sie diesen Beitrag in den Gentoo-Foren. Ich habe anderen Benutzern dort mit einem identischen NVIDIA-Setup geholfen. Kurz gesagt, Sie können nicht auswählen:

  1. Sie müssen den Intel-Treiber verwenden, um Ihren XOrg-Server zu "fahren".
  2. Sie können die ATI-Karte nur zum Rendern der Ausgabe verwenden, aber nicht zum Generieren.

Hier einige Erklärungen: (Ich entschuldige mich dafür, dass ich dies in Bezug auf NVIDIA erklären muss, da ATIs Projekt hierfür - Ironhide - eingestellt wurde. Ich glaube, ATI erwartet, dass Sie diese CONFIG_VGA_SWITCHEROOOption nutzen.)

Jemand, der schlauer ist als ich, hat das Bumblebee-Projekt entwickelt , um eine Schnittstelle zu den Optimus-Notebooks herzustellen, die das Hybrid-Grafiksystem verwenden, ähnlich wie ATI. Finden Sie in beiden Fällen selbst den versteckten Verweis auf Transformatoren heraus :)

Wenn Sie fortfahren, arbeiten alle Hybridsysteme auf die gleiche Weise:

  1. Die Intel-Grafikkarte initialisiert den Rechenbereich und berechnet die Anweisungen zum Zeichnen von Polygonen, Bildschirmen usw.
  2. Wenn Sie dazu aufgefordert werden, überträgt die Intel-Grafikkarte die abgeschlossenen Berechnungen auf die eigenständige ATI / NVIDIA-Karte. Es muss ein Treiber von Drittanbietern installiert und konfiguriert werden, um Ihrem System mitzuteilen, welche Anwendungen verlangen können, dass der Intel-Grafiktreiber die Berechnungen für diese bestimmte Anwendung auslagert. Die Projekte Bumblebee und Ironhide entsprechen dem Windows-Treiber auf einem Linux-basierten Betriebssystem.
  3. Die diskrete ATI / NVIDIA-Karte hat keine Rechenleistung. Es können nur Anforderungen zum Zeichnen von Ausgaben auf Anwendungsebene akzeptiert werden. Daher müssen Sie XOrg für die Verwendung des Intel-Treibers konfigurieren und Intel immer mit XOrg verwenden. Sobald XOrg gestartet ist, startet und steuert der Treiber von Drittanbietern XOrg auf Anwendungsebene. Es wird immer noch der Intel-Treiber für die Rechenmathematik verwendet.

Ich wusste das alles, als ich den Link oben gepostet habe, und wurde dafür nur gebeten, den Link zur Verfügung zu stellen. Ich hoffe meine Erklärung hilft. Wenn Sie Fragen haben, aktualisiere ich diese Antwort mit neuen Antworten /


0
  • Sie haben keine Version der ATI-Karte angegeben. "Ende 2011 MacBook Pro" mit Intel & ATI im Inneren ist nicht gut genug Bezeichnung. Booten Sie die Konsole und starten Sie lspci -nn | grep VGA, um die genaue Version zu erhalten:

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

    Damit kannst du nach "Linux Modesetting hängt bei ATI xyz" googeln

  • Versuchen Sie, mit verschiedenen Kerneln von der Konsole aus zu booten, z. B. von 2.6.32, 3.0.last, 3.2.last, 3.4.last, 3.16.last. Keine Notwendigkeit, jede gerade Version des Kernels zwischen 3.0 und 3.16 zu überprüfen, aber in Ihren Schuhen würde ich 2.6 versuchen. Und wenn das Booten gut geht, dann starte GUI mit startx (alter Weg). (.last bedeutet die neueste Version dieses Kernel-Zweigs)

  • Wenn Sie hardwaregesperrt sind (mit Notebook), haben Sie keine große Auswahl, wenn Sie Linux-Treiber nicht selbst schreiben / debuggen können - Sie müssen die Treiber verwenden, die verfügbar sind und funktionieren. Ich schreibe aus Erfahrung als langjähriger Linux-Benutzer. Verwenden Sie daher einen beliebigen ATI-Treiber. Verwenden Sie, falls dieser nicht funktioniert, eine Intel-Karte. Wenn Sie eine genaue Version der ATI-Karte angeben, werden Sie hoffentlich von Google oder einem Benutzer hier darüber informiert, ob diese Karte gut mit Linux zusammenarbeitet (Hardware-Fehler) oder nicht (fehlender funktionierender Treiber). Wenn das Spielen nicht Ihr Hauptanliegen ist (Sie würden wahrscheinlich nicht Mac OSX für Linux mit der Absicht des Spielens wechseln), sollte die Intel-Karte einwandfrei funktionieren, aber ich verstehe, dass Sie sich selbst eine Intel / NVIDIA-Kombination in einem Notebook wünschen, das ich von Zeit zu Zeit verwende. :)

  • Schließlich müssen Sie UEFI nicht booten: https://help.ubuntu.com/community/UEFIBooting "Apple unterstützt offiziell nur EFI-Booten für Mac OS X, obwohl es technisch möglich ist, Mac OS X mit BIOS-Firmware zu booten Linux mit (U) EFI auf Intel Macs bietet folgende Vorteile:

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.