Je viens d'installer Linux sur mon MacBookPro 2010 (triple démarrage à l'aide de refind) et d'obtenir le fameux écran noir après l'installation des pilotes nvidia.
J'ai essayé d'appliquer la solution décrite ici: https://askubuntu.com/a/613573/48842 sans succès.
Je me demande si j'ai bien identifié les identifiants pour setpci. Tout le monde peut confirmer?
Je colle en dessous de la sortie d'affichage lshw et de mon fichier /etc/grub.d/01_enable_vga.conf.
Merci!
mint@mint-MacBookPro ~ $ Sudo lshw -businfo -class bridge -class display
información del Bus Dispositivo Clase Descripción
===========================================================
pci@0000:00:00.0 bridge Core Processor DRAM Controller
pci@0000:00:01.0 bridge Core Processor PCI Express x16 Root Port
pci@0000:01:00.0 display GT216M [GeForce GT 330M]
pci@0000:00:02.0 display Core Processor Integrated Graphics Controller
pci@0000:00:1c.0 bridge 5 Series/3400 Series Chipset PCI Express Root Port 1
pci@0000:00:1c.1 bridge 5 Series/3400 Series Chipset PCI Express Root Port 2
pci@0000:00:1c.2 bridge 5 Series/3400 Series Chipset PCI Express Root Port 3
pci@0000:00:1c.3 bridge 5 Series/3400 Series Chipset PCI Express Root Port 4
pci@0000:00:1e.0 bridge 82801 Mobile PCI Bridge
pci@0000:00:1f.0 bridge Mobile 5 Series Chipset LPC Interface Controller
pci@0000:ff:00.0 bridge Core Processor QuickPath Architecture Generic Non-core Registers
pci@0000:ff:00.1 bridge Core Processor QuickPath Architecture System Address Decoder
pci@0000:ff:02.0 bridge Core Processor QPI Link 0
pci@0000:ff:02.1 bridge Core Processor QPI Physical 0
pci@0000:ff:02.2 bridge Core Processor Reserved
pci@0000:ff:02.3 bridge Core Processor Reserved
mint@mint-MacBookPro ~ Sudo cat /etc/grub.d/01_enable_vga.conf
cat << EOF
setpci -s "00:01.0" 3e.b=8
setpci -s "01:00.0" 04.b=7
EOF
J'ai finalement résolu le problème lorsque setpci ne modifiait pas la valeur du pont PCI-E.
Si vous ne parvenez pas à définir la valeur des registres Brigde PCI-E à l’aide de la commande setpci afin d’obtenir les pilotes nVidia GeForce fonctionnant sur votre ordinateur MacBook Apple, procédez comme suit:
lshw -businfo -class bridge -class display
[root@kernelLinux]# lshw -businfo -class bridge -class display
Bus info Device Class Description
========================================================
pci@0000:00:00.0 bridge MCP89 Host Bridge
pci@0000:00:03.0 bridge MCP89 LPC Bridge
pci@0000:00:15.0 bridge NVIDIA Corporation
pci@0000:00:17.0 bridge MCP89 PCI Express Bridge
pci@0000:02:00.0 display MCP89 [GeForce 320M]
Vous aurez besoin des identifiants de PCI Express Bridge et de votre affichage au format XX: XX.X
Votre identifiant peut être différent.
Dans cet exemple, nos identifiants sont 00: 17.0 pour PCI-E brige et 02: 00.0 pour l'affichage [GPU].
Notre script sera légèrement différent de celui mentionné ci-dessus.
J'ai remarqué deux choses. Le processus d’installation de Grub2 à l’aide de distro (le mien est Centos) ne contient pas le module setpci . C'est la raison pour laquelle grub ne change pas de registre au démarrage. Ensuite, il est nécessaire de charger le module setpci dans grub avant de lancer des commandes pour changer de registre.
Télécharger les modules grub2-efi
Ubuntu Linux
Sudo apt-get install grub-efi-AMD64-bin
Fedora Linux
Sudo dnf install grub2-efi-modules
CentOS Linux
Sudo yum install grub2-efi-modules
Les modules seront installés dans/usr/lib/grub/x86_64-efi/mais les fichiers du module setpci doivent être présents dans/boot/efi/EFI/centos/x86_64-efi /
Créer un dossier x86_64-efi
Sudo mkdir /boot/EFI/centos/x86_64-efi
Copier les fichiers du module setpci dans le dossier grub2
Sudo cp /usr/lib/grub/x86_64-efi/setpci.* /boot/EFI/centos/x86_64-efi
Créez le fichier 01_enable_vga.conf.
Le fichier doit contenir ces lignes de code:
N'oubliez pas de remplacer 00: 17.0 pour le pont PCI et 02: 00.0 pour l'affichage [GPU] par vos valeurs.
Sudo nano /etc/grub.d/01_enable_vga.conf
cat << EOF
insmod setpci
setpci -s "00:17.0" 3e.b=8
setpci -s "02:00.0" 04.b=7
EOF
Puis réparer les autorisations
Sudo chmod 755 /etc/grub.d/01_enable_vga.conf
et mettez à jour le fichier /boot/efi/EFI/centos/grub.cfg
Ubuntu Linux
Sudo update-grub
Ne faites cette commande que sur d'autres distributions (pas nécessaire sur Ubuntu après update-grub):
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
Redémarrez votre ordinateur et vérifiez s'il fonctionne. Remplacez les identifiants par le vôtre. Votre terminal devrait enfin afficher 08 (pont PCI-E) et 07 (GPU).
Sudo setpci -s "00:17.0" 3e.b
08
Sudo setpci -s "02:00.0" 04.b
07
Capture d'écran: http://imgur.com/a/YiBXi
En comparant votre sortie lshw
avec mon approche originale, il semble que vous utilisiez un Macbook Pro différent - votre version est plus récente et comporte une carte graphique intégrée et une carte graphique distincte (NVIDIA GT 330M). Je doute que ma solution pour Macbook Pro 7.1 (mi-2010, avec uniquement NVIDIA 320M) s’applique à votre matériel.
En fait, je soupçonne que la cause fondamentale de votre écran noir est que le NVIDIA 330 GT discret est désactivé pendant le démarrage EFI Linux. Par conséquent, vous devriez plutôt explicitement activer la carte NVIDIA discrète à l’aide d’un script _ différentGRUB. Les indications initiales sur la manière d'atteindre cet objectif seraient https://discussions.Apple.com/message/19065782#19065782 et https://help.ubuntu.com/community/UEFIBooting .
En raison du fait que je ne possède pas ce matériel particulier, je ne suis pas sûr que ce soient les bons paramètres.
Vous pouvez essayer de supprimer les commentaires de l'option spoof_osx_version
dans refind.conf
. Ceci pourrait faire fonctionner la vidéo pour votre système, mais je ne peux pas vous promettre que cela fonctionnera. Voir les commentaires dans refind.conf
ou dans la documentation rEFInd pour plus de détails sur le fonctionnement de cette option.
Notez que cette option peut fonctionner différemment en fonction de la manière dont vous lancez Linux: via GRUB en mode BIOS, GRUB en mode EFI, lancement direct du noyau, etc. Notez également que le GRUB Cela ne fonctionnera que si vous démarrez Linux via GRUB. Ce n'est pas clair si vous faites cela. Veuillez consulter la section Méthodes de démarrage de Linux de la documentation de rEFInd pour en savoir plus sur les différentes façons de lancer Linux à partir de rEFInd.