# Écran noir avec SMBIOS iMac17,1 : LA solution !?



## Barijaona (20 Septembre 2016)

Bonjour à tous,

Je crois que j'ai trouvé une solution au problème d'écran noir lié à l'utilisation des drivers Nvidia avec un SMBIOS iMac17,1, *sans avoir à modifier le dossier /System* (SIP, nous voilà !)

L'idée de base a été trouvée grâce à Spiffy sur InsanelyMac : http://www.insanelymac.com/forum/to...ea-but-still-does-not-seem-to-work/?p=2189114

Il s'agit de modifier FakeSMC dans le dossier Clover en y recopiant une partie de ce qu'on trouve dans /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist

On modifie ensuite les valeurs pour que les définitions d'écrans (EDID) spécifiques aux vrais iMacs ne soient pas chargées…
J'ai remplacé la valeur correspondant à la définition de la carte mère (Mac-B809C3757DA9BB8D) de "Config2" vers "none", et pour faire bonne mesure et être sûr que macOS ne trouve pas ces fameux EDID, j'ai renommé l'entrée "Config2" en "Config9"






Résultat des courses dans Informations Système et Préférences Système : mon écran est enfin reconnu !





De mémoire, il m'a fallu redémarrer deux fois pour activer complètement les drivers Nvidia.

Plus de détails dans la branche video12 de mon référentiel Clover (oui, oui, il y a eu beaucoup d'essais ; heureusement que Git permet de revenir en arrière de manière sûre !)


----------



## Barijaona (20 Septembre 2016)

Pour faire ce genre de tests, je recommande d'avoir une seconde machine et d'activer le partage d'écran sur le hack pour pouvoir reprendre la main et observer


----------



## spooner (20 Septembre 2016)

Si je comprend bien le début du problème c'est que si on est en iMac17,1 et qu'on installe les webdrivers on a un écran noir ? Et pour remédier à ça il fallait faire des modifs ?

En tout cas bravo pour la solution.


----------



## Barijaona (20 Septembre 2016)

Oui, la solution standard jusqu'ici est de faire tourner un script (agpfix) qui va modifier le dossier système extensions. Mais il faut alors réappliquer le script après chaque mise à jour (par un accès à distance ou en désactivant provisoirement les drivers Nvidia afin d'avoir un écran utilisable).

Cette nouvelle solution permettrait de ne plus rencontrer ce problème d'écran noir après une mise à jour. Je vais vérifier si elle se suffit à elle même ou si elle dépend de certaines autres modifications que j'ai faites.


----------



## spooner (20 Septembre 2016)

ahhhh oui effectivement j'avais vu ce agpfix, mais je ne savais pas que c'était pour ça.


----------



## Barijaona (20 Septembre 2016)

Après vérification : l'astuce se suffit à elle-même… Du coup, je reprends toute ma config vidéo en partant de ce seul commit, en généralisant au MacPro6,1 (fin 2013) et à tous les iMac 15 et 17 (4K et 5K).

J'aurais probablement d'autres optimisations à faire, mais le dernier gros obstacle à une installation _vanilla_ est semble-t-il levé…


----------



## Barijaona (20 Septembre 2016)

Avantage annexe sur ma config : la veille écran fonctionne désormais…


----------



## gradou (20 Septembre 2016)

Bon, cher Barijaona, j'ai donc modifié FakeSMC en intégrant les lignes concernées, vérifié que les valeurs config.. correspondaient, redémarré deux fois : résultat, chez moi : black screen (Geforce GTX 960 2047mo) tant sur Sierra que sur El Capitan.
Ai je mal modifié le kext ? Est ce dû au fait que j'ai un patch installé pour activer Airplay, DRM iTunes... ? Je ne sais...
Si je disposais d'un kext modifié correctement peut être pourrais je éliminer l'hypothèse 1, mais pour ça il faudrait que j'ai un kext modifié 
En tout cas bravo, une fois de plus, pour ton travail !!! 

PS : pour ceux qui chercheraient : ce n'est pas ag*p*fix mais ag*d*fix


----------



## spooner (20 Septembre 2016)

wowwww la veille fonctionne, parfait parce que j'ai tendance à ne jamais éteindre mon ordi. La ça me posait problème mon hack se mettait bien en veille, se réveille mais sans écran...... :

@gradou, dans le lien que Barijaona il y'a ses kext et config.plist, tu n'a qu'a les ouvrir pour comparer avec les tiens, vous avez (on) a la même carte mère en plus.


----------



## Barijaona (20 Septembre 2016)

spooner a dit:


> @gradou, dans le lien que Barijaona il y'a ses kext et config.plist, tu n'a qu'a les ouvrir pour comparer avec les tiens, vous avez (on) a la même carte mère en plus.



En téléchargeant, il faut juste faire attention à ne pas se tromper de branche : prendre par exemple le lien de téléchargement qui figure ici : https://github.com/barijaona/CLOVER_GA-Z170X-Gaming5/tree/video14

Il ne faut pas oublier d'effacer toutes traces d'autres méthodes :
- réinstaller les versions d'origine d' AppleGraphicsControl.kext et AppleGraphicsDevicePolicy.kext
- par précaution, réparer les permissions :

```
sudo /usr/libexec/repair_packages --verify --standard-pkgs --volume /
```
avant de redémarrer.


----------



## Barijaona (21 Septembre 2016)

Barijaona a dit:


> Après vérification : l'astuce se suffit à elle-même… Du coup, je reprends toute ma config vidéo en partant de ce seul commit, en généralisant au MacPro6,1 (fin 2013) et à tous les iMac 15 et 17 (4K et 5K).





gradou a dit:


> j'ai donc modifié FakeSMC en intégrant les lignes concernées, vérifié que les valeurs config.. correspondaient, redémarré deux fois : résultat, chez moi : black screen (Geforce GTX 960 2047mo) tant sur Sierra que sur El Capitan.
> Ai je mal modifié le kext ?



Bon, je dois rectifier un peu ce que j'ai écrit : la continuité de l'astuce sur ma branche video14 (qui ne contient que des modifications de kext) n'est pas aussi bonne que sur la branche video12 (qui contient également d'autres modifications). Et je me rends compte que même si "Nvidia Web Driver" est sélectionné, après un redémarrage, je me retrouve avec "OS X Default Graphics Driver". Il va falloir approfondir cela…

Je suis en Clover 3726. Les versions récentes introduisent des changements. J'ai essayé la 3761, mais sans succès…

@spooner : confirmes tu que ça marche bien chez toi ? As tu regardé ce que ça donne avec IORegistry Explorer ou IOJones. Chez moi, en cherchant ce qui est en lien avec "display", je me retrouve avec cette arborescence.


----------



## gradou (21 Septembre 2016)

Si ça intéresse quelqu'un , moi j'ai çà :


Je précise que c'est sans le patch de barijaona...
Mon problème, moi, c'est plutôt que j'arrive à l'éteindre, ça tient 3" et puis il redémarre tout seul : ça m'énerve. Bon, je contourne en quittant la session ouverte et depuis la page d'ouverture de session je clique sur "éteindre" et l'extinction est alors durable...


----------



## Barijaona (22 Septembre 2016)

Bon, je suis toujours en train de chercher les conditions exactes à réunir pour que ça marche.

Une des leçons durement apprises de la soirée : ça ne marche que sur le port DVI de la Nvidia (au moins pour le moniteur principal : je n'ai pas pu tester en multi-écran)


----------



## spooner (22 Septembre 2016)

Chez moi ça marche pas.


----------



## Barijaona (22 Septembre 2016)

@gradou et @spooner, vous pouvez m'envoyer par mail (barijaona chez gmail point com) vos config.plist "anonymisés" (changez les numéros de série) et j'essaierai d'y jeter un coup d'oeil


----------



## Barijaona (22 Septembre 2016)

Avec Clover 3761, il semble qu'il faut à la fois

nvda_drv=1 dans Boot/Arguments
NvidiaWeb : true dans SystemParameters,


----------



## Barijaona (23 Septembre 2016)

Bon, je viens de faire une mise à jour El Capitan vers Sierra en prenant le risque de faire comme sur un vrai Mac… puisque mon macOS jusqu'ici est pure vanilla.

Bonne nouvelle : la mise à jour se passe très bien. Il faut juste faire attention à bien sélectionner l'installateur dans Clover au moment où la machine reboote
Mauvaise nouvelle : l'astuce du kext ne suffit plus… Mais je n'ai pas dit mon dernier mot.


----------



## spooner (23 Septembre 2016)

Effectivement, moi aussi je suis passé sur sierra. J'ai par contre pas osé faire la mise à jour directement. Mais je me suis posé la question.....J'ai un ssd avec encore el capitan dessus, je me suis dit qu'une fois sierra bien configuré je ferai la mise à jour depuis le mac app store


----------



## artmotion (23 Septembre 2016)

Ben flute !!! ça fonctione pas chez !
J'arrive à booter (6,1 avec affichage low def) uniquement si je met nv_disable=1 
sinon, je perd le signal. j'ai pourtant tout essayé ce que je trouvais sur le web... je comprends pas.
Conf : i7-5930, x99, GTX-970, Sierra 16a323, clover 3763.
3 jours que je seche dessus...


----------



## gradou (23 Septembre 2016)

Pour ma part, mise à jour de Sierra beta à Sierra 16a323, Sierra beta qui était elle même un passage depuis El capitan. Sur la carte Gigabyte Z170 : tout bien (plusieurs écrans gérés)  pas de Handoff, mais Airdrop, iMessage, DRM iTunes gérés, airplay direct saccadé, bonne gestion d'airplay avec quicktime, iTunes etc. Veille normale , USB(s), audio, wifi, BT, toujours au top : quasi parfait hormis Handoff donc.
Mêmes résultats sur l'Asus Z170 (installation "clean" de Sierra) avec Handoff en plus, mais seulement gestion d'un seul écran, un deuxième branché en HDMI fait "disjoncter" les "webdrivers" et il n'y a plus moyen de remettre "Nvidia driver manager" en position Nvidia web driver (figé sur "OSX default Graphics driver"); à part faire une réinstallation complète à partir du clone du disque, je n'ai pas su comment rectifier cette situation...


----------

