Mac OS X on x86 Hardware 2008–2024 Technical Archive
InfiniteMac OSx86 › International Dispatches › Δημιουργία EFI Strings για κάρτα γραφικών nVidia
33,787 reads · 2010-03-15 – 2011-10-27
Dossier International Chameleon / Boot-132 NVIDIA GeForce

Δημιουργία EFI Strings για κάρτα γραφικών nVidia

Για την κάρτα γραφικών που δεν βρίσκεις πάντα κάποιον Installer έτοιμο για να την εγκαταστήσης ή κάποιον NVEnabler ώστε να παίζει απροβλημάτιστα στο σύστημα (Leopard ή Snow) και στη μέγιστη ανάλυσή της, παραθέτω έναν οδηγό για να προσθέσει…

Primary Author
@tangon Published 2010-03-15
Collection
International Dispatches
Archival Footprint
33,787 historical reads · 7 curated field notes (from 14 dispatches) · 2010-03-15 – 2011-10-27
Credited Voices (5)
@tangon (6)@dimaslan (3)@SomniusX (2)@ipodtouchpro (2)@Dejangs

Για την κάρτα γραφικών που δεν βρίσκεις πάντα κάποιον Installer έτοιμο για να την εγκαταστήσης ή κάποιον NVEnabler ώστε να παίζει απροβλημάτιστα στο σύστημα (Leopard ή Snow) και στη μέγιστη ανάλυσή της, παραθέτω έναν οδηγό για να προσθέσει κάποιος με EFI Strings τα στοιχεία της κάρτα του στο σύστημα. Με αυτό τον τρόπο μπορείτε να πάρετε από την κάρτα γραφικών όλες τις δυνατότητές της (αναλύσεις/συχνότητες, ripples στο dashboard) και να τη δει το σύστημα με την σωστή VRam.

Τα στοιχεία του EFI Strings που θα φτιάξουμε τα περνάμε στο com.apple.Boot.plist ώστε να δει το σύστημα την κάρτα γραφικών κατά την εκκίνηση του συστήματος.
Το com.apple.Boot.plist βρίσκεται μέσα στο root του δίσκου μας και στο φάκελο Extra από την εγκατάσταση του EFI Chameleon.

[Εδώ να συμπληρώσω ότι το όλο εγχείρημα αρχικά το προσπάθησα στο Snow, αλλά επειδή τα παρακάτω εργαλεία δεν λειτούργησαν σωστά βγάζοντας πολλά errors και κάποια από τα παράθυρα δεν άνοιγαν εκεί, γύρισα στο 10.5.8.]

Θα χρησιμοποιήσουμε δύο βοηθητικά εργαλεία: το OSx86Tools και το EFIStudio. Αν κάποιος μπορέσει να δημιουργήσει EFI Strings με το OSx86Tools τότε τα πράγματα είναι πολύ απλά και με το Apply changes to com.apple.Boot.plist θα έχει καταφέρει να εισάγετε την κάρτα γραφικών του στο σύστημα με επιτυχία. Επειδή στην δική μου περίπτωση αυτό δεν έγινε, ακολούθησα την παρακάτω διαδικασία:

Ανοίγουμε το OSx86Tools και πατάμε το Add EFI Strings/Boot Flag

όπου μας ανοίγει το παράθυρο Boot Editor.

Εκεί επιλέγουμε το GFX Strings που βρίσκεται στο πάνω μέρος του toolbar.

Στο παράθυρο που εμφανίζεται πατάμε το αναδυόμενο παράθυρο Choose… (κάτω από το Graphics Card)

Στη περίπτωση που η κάρτα μας βρίσκεται σε αυτή τη λίστα τότε την επιλέγουμε.

Αν δεν υπάρχει στη λίστα, τότε πηγαίνουμε στο κάτω μέρος του αναδυόμενου αυτού παραθύρου και επιλέγουμε Custom GeForce... (στη δική μου περίπτωση η κάρτα γραφικών είναι η nVidia GeForce GT220 1GB VRam)
Στο πρώτο παράθυρο που εμφανίζεται γράφουμε το όνομα της κάρτας και πατάμε ΟΚ. Μετά στο επόμενο παράθυρο επιλέγουμε την VRAM της κάρτας μας [στη δική μου περίπτωση το 1024ΜΒ (1GΒ)] και πατάμε πάλι ΟΚ. Στο επόμενο παράθυρο μας λέει να επιλέξουμε την έξοδο της κάρτας μας, που στη συγκεκριμένη περίπτωση εγώ επέλεξα το DVI / VGA (προσοχή να επιλεγεί, αν έχετε δύο εξόδους στην κάρτα σας, πρώτα την έξοδο που έχετε συνδέσει τον υπολογιστή σας με την οθόνη και μετά την δεύτερη έξοδο της κάρτας γραφικών) και ΟΚ.
(Στις εικόνες φαίνεται η σειρά που ακολουθούμε)

Κάτω από το Property List File (plist) εμφανίζονται τα στοιχεία της κάρτας γραφικών όπως θα πρέπει να είναι μέσα στο αρχείο com.apple.Boot.plist. Από κάτω ακριβώς στο Hexadecimal EFI Strings (device-properties) εμφανίζεται ο δεκαεξαδικός κώδικας της κάρτας που και αυτός πρέπει να συμπεριλαμβάνεται στο αρχείο com.apple.Boot.plist.

Τώρα είμαστε έτοιμοι να αποθηκεύσουμε τα στοιχεία αυτά στο com.apple.Boot.plist πατώντας στο πάνω μέρος του Toolbar το Import String to Boot Editor. Με την επιλογή αυτή μας γυρνάει στην προηγούμενη κάρτα Boot Editor.

Πηγαίνουμε κάτω κάτω και πατάμε το Apply changes to com.apple.Boot.plist για να αποθηκευθούν οι αλλαγές στο αρχείο com.apple.Boot.plist. Θα μας ζητηθεί το password που έχουμε ορίσει για να προχωρήσει η αποθήκευση. Σύμφωνα με το OSx86Tools θα πρέπει να αποθηκευθεί η όλη διαδικασία στο αρχείο com.apple.Boot.plist.
Στη δική μου περίπτωση έβγαλε ότι το αρχείο δεν μπόρεσε να το βρει και κατά συνέπεια δεν μπόρεσα να αποθηκεύσω το αρχείο com.apple.Boot.plist.

Προσοχή. Δεν κλείνουμε το OSx86Tools αλλά το αφήνουμε στο παράθυρο Boot Editor.

Τώρα είναι η στιγμή να χρησιμοποιήσουμε το άλλο εργαλείο, το EFIStudio.

Αυτό μας δίνει την δυνατότητα να ανοίξουμε το αρχείο com.apple.Boot.plist από τη επιλογή που βρίσκεται στο πάνω μέρους του toolbar Boot.plist Editor (αφού δώσουμε τον κωδικό μας). Θα πρέπει να μας ανοίξει ένα τέτοιο παράθυρο:

το μόνο που πρέπει να κάνουμε τώρα είναι να αφήσουμε αυτό το παράθυρο ανοικτό, να επιστρέψουμε στο OSx86Tools και στο παράθυρο Boot Editor όπου έχουμε αφήσει και εκείνο ανοικτό και να πάρουμε με copy τον δεκαεξαδικό κώδικα που φαίνεται στο κάτω μέρος του Boot Editor παραθύρου. Επιστρέφουμε τώρα στο EFIStudio και στο παράθυρο com.apple.Boot.plist Editor και κάνουμε paste τον κώδικα ανάμεσα στα <string><string> (πχ <string>6802000001000…b4546495d <string>).

Πάλι όμως δεν αποθηκεύεται στο σωστό σημείο το αρχείο com.apple.Boot.plist το μόνο που έχουμε να κάνουμε είναι να πάμε στο δίσκο μας στο φάκελο Extra όπου μέσα εκεί υπάρχει το αρχείο com.apple.Boot.plist όπως το έχει βάλει ο εγκαταστάτης του EFI Chameleon. Ανοίγουμε το com.apple.Boot.plist με τον Text Edit κάνουμε ένα Copy/Paste (όλα) από το EFIStudio στο αρχείο com.apple.Boot.plist που μόλις ανοίξαμε.

Αποθηκεύουμε και κάνουμε επανεκκίνηση.

Θα πρέπει να μας ανοίξει στην μέγιστη ανάλυση η οθόνη στην επόμενη φορά που θα μπούμε στο σύστημα.

Το αρχείο com.apple.Boot.plist που φτιάξαμε κάνει τόσο για το 10.5.8 όσο και για το 10.6.2 που εγώ έχω τεστάρει.

Στο System Profile/Graphics/Displays θα πρέπει να φαίνεται κάτι σαν αυτό:

nVidia GeForxe GT220:

Chipset Model: nVidia GeForxe GT220
Type: Display
Bus: PCIe
PCIe Lane Width: x16
VRAM (Total): 1024 MB
Vendor: NVIDIA (0x10de)
Device ID: 0x0a20
Revision ID: 0x00a2
ROM Revision: nVidia GeForxe GT220 OpenGL Engine [EFI]
Displays:
Turbo-X TX221:
Resolution: 1680 x 1050 @ 60 Hz
Depth: 32-Bit Color
Core Image: Hardware Accelerated
Main Display: Yes
Mirror: Off
Online: Yes
Quartz Extreme: Supported
Rotation: Supported
Display Connector:
Status: No Display Connected

Προσοχή EFI Strings για σύστημα 10.5.8 χωρίς Extra φάκελο

Ανοίγουμε το πρόγραμμα UInstaller_1.2 και τσεκάρουμε την επιλογή

Apply EFI Strings for video card (και επιλέγεις από την λίστα δίπλα την κάρτα γραφικών σου)

(για την κάρτα γραφικών που είναι nVidia και δεν είναι στη λίστα επιλέγω Custom NVIDΙA)

Για να μας ανοίξει το παράθυρο για τις επόμενες ρυθμίσεις πατάμε το Install δίνοντας το κωδικό μας

Μετά ακολουθούμε τα γνωστά βήματα [όνομα κάρτας, μετά μνήμη κάρτας γραφικών και τέλος έξοδος της κάρτας γραφικών (DVI/VGA)]

Μετά την τελευταία ρύθμιση (DVI/VGA) το πρόγραμμα αποθηκεύει στο com.apple.Boot.plist τις ρυθμίσεις που δώσαμε πιο πάνω.

Είμαστε έτοιμοι να κάνουμε επανεκίννηση αλλά πρίν από αυτό μπορούμε να δούμε αν στο com.apple.Boot.plist έχει γίνει σωστή αποθήκευση των δεδομένων, με το πρόγραμμα EFIStudio. Το ανοίγουμε και στο πάνω μέρους του μενού πατάμε το Boot.plist.editor (δίνοντας φυσικά τον κωδικό μας).

Θα μας εμφανήσει αυτό

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Graphics Mode</key>
	<string></string>
	<key>Kernel</key>
	<string>mach_kernel</string>
	<key>Kernel Flags</key>
	<string>None</string>
	<key>Timeout</key>
	<string>5</string>
	<key>device-properties</key>
	<string>6802000001000000010000005c0200000d00000002010c00d041030a010000000101060000010101060000007fff04000e0000004e00560050004d0000002000000001000000000000000000000000000000000000000000000000000000220000005600520041004d002c0074006f00740061006c00730069007a006500000008000000000000401c0000006400650076006900630065005f00740079007000650000000f0000004e5644412c506172656e740e0000006e0061006d00650000000b000000646973706c617922000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c617922000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000006d006f00640065006c000000180000006e5669646961204765466f72636520475432323020000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616314000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d4114000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4220000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d6163100000004e00560043004100500000001800000004000000000003000400000000000007000000001e00000072006f006d002d007200650076006900730069006f006e0000002c0000006e5669646961204765466f726365204754323230204f70656e474c20456e67696e65205b4546495d</string>
</dict>
</plist>

στα

<string>680200…46495d</string>

βλέπουμε ότι μπήκε η κάρτα γραφικών και τώρα μπορούμε να εκκινήσουμε τον υπολογιστή μας

Για οποιαδήποτε απορία είμαι στη διάθεσή σας.

Author Updates & Technical Revisions

Follow-up dispatches by @tangon

Author Update #1 @tangon 2010-03-16

Πω πω! Ευχαριστώ για τα καλά σας λόγια. Έχω ήδη κοκκινίσει!

Author Update #2 @tangon 2010-06-18 ↳ Re: @ipodtouchpro
@ipodtouchproΡε παιδιά, σε Snow Leopard τί κάνουμε; Έχω την Nvidia GeForce 9600M GT!

Αν έχεις είδη περασμένη την κάρτα σου από κάποιο σύστημα 10.5.x στο com.apple.Boot.plist απλά κάνεις ένα copy paste από το com.apple.Boot.plist του 10.5.x στο com.apple.Boot.plist του 10.6.x

Αν δεν έχεις τίποτα τότε με το OSx86Tools και το EFIStudio ακολουθείς την παραπάνω διαδικασία για να δημιουργήσεις το EFI Strings στο 10.6.x

Πάντως σε μένα δεν δούλεψε στο 10.6.x και γι' αυτό αναγκάστηκα να εκκινήσω από τον άλλο μου δίσκο 10.5.8 και να κάνω εκεί την όλη διαδικασία.

Θα πρέπει να πειραματιστείς στην δική σου περίπτωση.

Author Update #3 @tangon 2011-10-26

Καλώς ήρθες στην παρέα μας και σε αυτό που λέμε hackintosh. Μπράβο που κατάφερες να φτάσεις το σύστημά σου μέχρι εδώ.

Για την κάρτα γραφικών τώρα. Μας λες ότι δεν έχεις το αρχείο com.apple.plist αλλά το chameleon.plist. ΟΚ πες μας αν έχεις περάσει κάποιο chameleon για να ξεκινάει το σύστημα γιατί δεν το ξεκαθαρίζεις στο post σου.

Αν έχεις περάσει κάποιον chameleon αυτός βάζει στο root του δίσκου σου ένα φάκελο Extra με κάποια αρχεία συμπεριλαμβανομένου και του chameleon.plist (ο τελευταίος chameleon το λέει org.chameleon.Boot.plist).

Αν είναι έτσι τότε είναι το αντίστοιχο αρχείο με το com.apple.plist που αναφέρεται στο παραπάνω οδηγό. Εκεί λοιπόν προσθέτεις το Hex κώδικα.

Επίσης, το VRAM size μου δεν υπάρχει (896ΜΒ), οπότε έψαξα στο HEX που βγάζει το EFI και βρήκα το VRAM string (κάτι σαν 0χ30000 ) και το έβαλα με copy paste.

Αν δεις και πάλι τον παραπάνω οδηγό στο σημείο που σου λέει επιλογή της VRAM της κάρτας γραφικών σου (Please choose your VRAM size),

στο τέλος αυτής της κάρτας, υπάρχει να επιλέξεις το Custom και να βάλεις με το "χέρι" τη VRAM της κάρτα σου. Αυτός είναι ο πιο σωστός τρόπος.

Αυτά από εμένα. Περιμένουμε νέα σου.

Author Update #4 @tangon 2011-10-26 ↳ Re: @dimaslan
@dimaslan…Εννοείς μήπως ότι θα έπρεπε να γράψω απλά το μέγεθος π.χ. 896ΜΒ ; Γιατί νόμιζα ότι το θέλει σε μορφή HEX...

Ακριβώς όπως σου είπα και πιο πάνω έπρεπε να γράψεις τα 896ΜΒ και το πρόγραμμα θα σου έφτιαχνε το Hex από μόνο του.

Αν σου δουλεύει η κάρτα γραφικών έχει καλώς. Αλλιώς αν θέλεις δώσε μου όλα τα στοιχεία της κάρτας να στο φτιάξω εγώ και να στο ανεβάσω να το πάρεις. Βέβαια καλό είναι να το κάνεις μόνο σου για να μαθαίνεις κιόλας.

Εσύ αποφασίζεις.

(ΥΓ: Αν θέλεις για να μην γεμίζουμε αυτό το post με άλλα θέματα άνοιξε ένα νέο post για την κάρτα ήχου)

Author Update #5 @tangon 2011-10-27 ↳ Re: @dimaslan
@dimaslanΟκ, ευχαριστώ. Τα στοιχεία της κάρτας εννοείς το μοντέλο ή και κάτι άλλο;

Θα ήθελα το "όνομα" της κάρτας (πώς θα ήθελες να φαίνεται στο System Profiler ενότητα Hardware Overview), τη VRAM, και πώς συνδέεις την έξοδο της κάρτας με την οθόνη (σε dvi?). Τέλος θα ήθελα να μου πεις τί εξόδους έχει η κάρτα γραφικών, dvi-i/dvi-i, vga/dvi-i?

ΥΓ: Έχεις δίκιο όσον αφορά το τί πρέπει να βάλεις στο Custom για την VRam της κάρτας γραφικών. Έχω καιρό να το ανοίξω το πρόγραμμα και όντως θέλει να του βάλεις Hex και όχι δεκαδικά νούμερα. Δικό μου το λάθος.

Synthesized Community Field Notes

7 technical responses curated from 14 original dispatches

Field Note #1 @Dejangs 2010-03-15

Ωραιος ο οδηγος, ευγε

ps. Προς ολους : Ο χρονος στο net το τελευταιο διμηνο εχει περιοριστει, αλλα μπαινω και σας διαβαζω οσο προλαβαινω τουλαχιστον. Keep up the good work !

Field Note #2 @SomniusX 2010-03-16

@Dejangs έχουμε προσέξει την απουσία σου και την γράψαμε στο απουσιολόγιο messie!

@tangon αδερφέ, δεν περίμενα τόσο καλά φτιαγμένο οδηγό σου αξίζει ένα "εύγε" με τα όλα του, έγινε sticky και περιμένω κι άλλα από σε'!

Ακριβώς έτσι το είχα κάνει και με το EFIStudio αλλά το είχα ξεχάσει, πάει πολύς καιρός βλέπεις!

We can't thank you enough, τώρα να δεις φάση θα έρθουν οι ξένοι πάλι να μας ζητάνε αγγλική μετάφραση των οδηγών μας, όπως αυτόν της κλωνοποίησης τον δικό μου!

Field Note #3 @ipodtouchpro 2010-06-17

Ρε παιδιά, σε Snow Leopard τί κάνουμε;

Έχω την Nvidia GeForce 9600M GT!

Field Note #4 @SomniusX 2010-07-31 ↳ Re: @ipodtouchpro
@ipodtouchproΕντάξει τα κατάφερα!

Αν και αργά μήπως θα ήθελες να μοιραστείς μαζί μας τον τρόπο και την σειρά, βήματα, που έκανες για να τα καταφέρεις στο δικό σου μηχανάκι

Επίσης και πληροφορίες του υπολογιστή σου, ώστε επόμενα παιδιά που μπορει να έχουν το ίδιο ή παραπλησιο μηχάνιμα να βρουν λύση απο το δικό σου!

Field Note #5 @dimaslan 2011-10-25

GeForce GTX260 896MB

Καλησπέρα και από μένα μπράβο για τον οδηγό... Σαφής και περιεκτικός...

Απλά έχω ένα πρόβλημα, δεν μου περνάει την κάρτα μου ενώ έχω κάνει όλα τα βήματα που αναφέρονται...

Πρώτα απ' όλα, δεν υπάρχει στο δικό μου το αρχείο com.apple.plist που αναφέρετε, αλλά υπάρχει ένα chameleon.plist.

Επίσης, το VRAM size μου δεν υπάρχει (896ΜΒ), οπότε έψαξα στο HEX που βγάζει το EFI και βρήκα το VRAM string (κάτι σαν 0χ30000 ) και το έβαλα με copy paste.

Δεν ξέρω τί άλλο να κάνω... Μια βοήθεια θα ήταν ευπρόσδεκτη.

Ενημερωτικά έχω χρησιμοποιήσει iBoot με Snow Leopard retail DVD.

Όλα καλά, αν και χρειάζεται κατά την εκκίνηση να δώσω PCIRootUID=1 -x αλλιώς η οθόνη μου μπαίνει σε standby.

Στο τέλος της εγκατάστασης, δουλεύουν όλα (ανάλυση οθόνης, bluetooth, δίκτυο, κλπ)

Το μηχάνημά μου :

ΜΒ Gigabyte GA-EP31-DS3L
CPU Intel Core 2 Duo 6700 @ 2.66
RAM 4 GB
HDD SATA 80GB
VGA nVidia GeForce GTX260 896MB

Ευχαριστώ και πάλι.

Field Note #6 @dimaslan 2011-10-26

..

Οκ, έχω απλά χρησιμοποιήσει τον οδηγό του tonymac με το iBoot και ένα retail DVD του SL.
Δεν έχω κάνει καμμία άλλη παραμετροποίηση, ούτε έχω επιλέξει τον Chameleon.
Βέβαια, κατά την εκκίνηση, στο πάνω μέρος της οθόνης μου βγάζει τον χαμαιλέοντα, οπότε υποθέτω ότι τον είχε ενεργοποιημένο εξ' ορισμού.
Εννοείς μήπως ότι θα έπρεπε να γράψω απλά το μέγεθος π.χ. 896ΜΒ ; Γιατί νόμιζα ότι το θέλει σε μορφή HEX...
Ευχαριστώ για τη βοήθεια πάντως...
Ας ξεκαθαρίσω με την VGA, και μετά βλέπω για τον ήχο... Πάντως το bluetooth δουλεύει μια χαρά, είχα φέρει ένα Magic Mouse από αμέρικα, και δούλεψαν όλα μια χαρούλα...

Field Note #7 @dimaslan 2011-10-26

Οκ, ευχαριστώ. Τα στοιχεία της κάρτας εννοείς το μοντέλο ή και κάτι άλλο;

Corroborated & Participated: @ipodtouchpro
Sources & Contributor Provenance (5 credited usernames · Thread #5741)
UsernameDossier ContributionDispatchesActive Window
@tangonPrimary Author62010-03-15 → 2011-10-27
@dimaslanCore Contributor32011-10-25 → 2011-10-26
@SomniusXContributor22010-03-16 → 2010-07-31
@ipodtouchproContributor22010-06-17 → 2010-06-27
@DejangsContributor12010-03-15