Installation Mac OS X 10.6 auf ThinkPad T60p

mac4tp

Active member
Registriert
2 Feb. 2009
Beiträge
351
Die Installations-Anleitung des ThinkPad T60p (Type 2008-CTO) basiert auf meinen Anleitungen zum Installieren eines X60s bzw. der zur USB-Stick-Installation:

Installation MacOS X 10.6 auf ThinkPad X60s
Vorbereitung eines USB-Sticks zur Installation von Mac OS X 10.6 auf ThinkPads T60, T60p und X60s

Folgend die Aenderungen die gegenueber der X60s-Installation notwendig sind um die Grafikkarte und Audio unterstuetzt zu bekommen.

Nach der Installation vom USB-Stick funktioniert die Grafik des ThinkPad T60p zwar, auch laesst sich die Aufloesung auf 1400x1050 stellen, allerdings funktioniert keine Beschleunigung, diverse Anwendungen wie der DVD-Player oder FrontRow funktionieren nicht und im Bereich des Mauszeigers gibt es haeufig Screen-Refresh-Probleme. Um auf dem T60p mit ATI FireGL 5250 die Grafikkarte ordentlich unterstuetzt zu bekommen, bedarf es einiger Arbeit.

- Feststellen der genauen Device-ID: "Ueber diesen Mac" - "Weitere Informationen" - "Grafik/Monitore":
Code:
  Grafik/Monitore
  -> Unknown:

       Chipsatz-Modell:		Unknown
       Typ:			GPU
       Bus:			PCIe
       PCIe-Lane-Breite:	x16
       VRAM (gesamt):		256 MB
       Hersteller:		ATI (0x1002)
       Geraete-ID:		0x71d4
       Versions-ID:		0x0000
       Information zur Kernel-Erweiterung:    Keine Kext geladen
       Monitore:
         Monitor:
           Aufloesung:		1024 x 768
           Pixeltiefe:		32-Bit Farbe (ARGB8888)
           ...

- Eintragen der Device_ID in die Info.plist der ATIRadeonX1000 kext (0x71DE1002 durch 0x71D41002 ersetzen):
Code:
  # cd "/Volumes/MacOS.../System/Library/Extensions/"
  # vi ATIRadeonX1000.kext/Contents/Info.plist
    -> <string>0x71871002 0x72101002 0x71D41002 0x71461002 0x71421002 0x71091002 0x71C51002 0x71C01002 0x72401002 0x72491002 0x72911002</string>

- Mit einem Hex-Editor im ATIRadeonX1000-Treiber alle vorkommenden FA-DE-71 durch FA-D4-71 ersetzen:
Code:
  # .../0xED.app/Contents/MacOS/0xED ATIRadeonX1000.kext/Contents/MacOS/ATIRadeonX1000

- Originale ATIFramebuffer kext und ATISupport.kext deaktivieren (ggf. nicht notwendig, testen):
Code:
  # mv "/Volumes/MacOS.../System/Library/Extensions/ATIFramebuffer.kext" "/Volumes/MacOS.../System/Library/Extensions/ATIFramebuffer.kext.noload"
  # mv "/Volumes/MacOS.../System/Library/Extensions/ATISupport.kext" "/Volumes/MacOS.../System/Library/Extensions/ATISupport.kext.noload"

- Aufloesung auf 1400x1050 festlegen:
Code:
  # vi "/Volumes/MacOS.../Extra/com.apple.Boot.plist":
    -> ...
       <key>Graphics Mode</key>
       <string>1400x1050x32</string>
       ...

Nach einem Neustart sollte die Grafikkarte nun mit QE/CI funktionieren, auch laesst sich jetzt der DVD-Player starten, aber die Geschwindigkeit ist teilweise sehr traege und es gibt im Bereich des Mauszeigers immer noch Screen-Refresh-Fehler.


Fuer eine weitergehende Unterstuetzung der Grafikkarte benoetigt man kurzzeitig eine Windows-Installation auf dem Rechner, um die Display-ID (EDID) der Grafikkarte auslesen zu koennen.

- Mit dem Phoenix EDID Designer unter Windows die EDID auslesen und als "TPT60p_ATIFireGL5250.dat" speichern:
Code:
  -> EDID BYTES:
     0x   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
         ------------------------------------------------
     00 | 00 FF FF FF FF FF FF 00 30 AE 22 40 00 00 00 00
     10 | 00 0F 01 03 80 1D 15 78 EA 2D 05 97 57 51 8A 27
     20 | 23 50 54 21 08 00 81 80 01 01 01 01 01 01 01 01
     30 | 01 01 01 01 01 01 30 2A 78 20 51 1A 10 40 30 70
     40 | 13 00 1E D6 10 00 00 19 25 23 78 20 51 1A 10 40
     50 | 30 70 13 00 1E D6 10 00 00 19 00 00 00 0F 00 90
     60 | 43 32 90 43 28 0F 01 00 4C A3 50 34 00 00 00 FE
     70 | 00 4C 54 4E 31 34 31 50 34 2D 4C 30 32 0A 00 19

Diese Datei kopieren, alle weiteren Schritte sind nun wieder unter Mac OS zu erledigen.

- Die erzeugte Datei oeffnen, Kopf/Spalten usw. entfernen, jew. 4 Bytes zusammen fassen und alle Zeilenumbrueche loeschen:
-> "00FFFFFF FFFFFF00 30AE2240 00000000 000F0103 801D1578 EA2D0597 57518A27 23505421 08008180 01010101 01010101 01010101 0101302A 7820511A 10403070 13001ED6 10000019 25237820 511A1040 30701300 1ED61000 00190000 000F0090 43329043 280F0100 4CA35034 000000FE 004C544E 31343150 342D4C30 320A0019"

- Die "Vanilla_10.6.2_t60p_2007cq8_pkg.zip" entpacken, unter "kexts_to_System_Library_Extensions" den Paketinhalt der "ATIinject.kext" anzeigen lassen und die "Info.plist" heraus kopieren.

Diese Datei nun mit "PlistEdit Pro" von Apple oeffnen, im oberen Teil in der "Property-List"-Spalte den Baum ausklappen: "IOKitPersonalities" - "ATIinject" - "entriesToAdd". Bei den Werten "DFP1,EDID" und LVDS,EDID" jew. rechts in der "Wert"-Spalte den obigen 32x 4 Byte langen String einfuegen, dann die geaenderte Info.plist speichern.

In der "Info.plist" muessen jetzt noch die Vendor-/DeviceID (Hex bzw. Dez) angepasst werden (direkt im "PlistEdit Pro" oder anschliessend mit einem Editor), dann die Datei speichern.

Die "Info.plist" sieht dann wie folgt aus:
Code:
  -> ...
     <key>IOPCIMatch</key>
     <string>0x71D41002</string>
     ...
     <key>ATY,VendorID</key>
     <integer>4098</integer>
     <key>DFP1,EDID</key>
     <data>
     AP///////wAwriJAAAAAAAAPAQOAHRV46i0Fl1dRiicj
     UFQhCACBgAEBAQEBAQEBAQEBAQEBMCp4IFEaEEAwcBMA
     HtYQAAAZJSN4IFEaEEAwcBMAHtYQAAAZAAAADwCQQzKQ
     QygPAQBMo1A0AAAA/gBMVE4xNDFQNC1MMDIKABk=
     </data>
     <key>LVDS,EDID</key>
     <data>
     AP///////wAwriJAAAAAAAAPAQOAHRV46i0Fl1dRiicj
     UFQhCACBgAEBAQEBAQEBAQEBAQEBMCp4IFEaEEAwcBMA
     HtYQAAAZJSN4IFEaEEAwcBMAHtYQAAAZAAAADwCQQzKQ
     QygPAQBMo1A0AAAA/gBMVE4xNDFQNC1MMDIKABk=
     </data>
     <key>device-id</key>
     <integer>29140</integer>
     ...

Von der "ATIinject.kext" eine Kopie machen und die neue "Info.plist" hinein kopieren. Diese angepasste Kernel-Extension wird nun fuer die Installation gebraucht.

- Die im "Vanilla_10.6.2_t60p_2007cq8_pkg"-Paket unter "kexts_to_System_Library_Extensions" enthaltene "ATINDRV.kext" und die oben erstellte "ATIinject.kext" nach "" kopieren, Rechte korrigieren und kext-Cache erstellen:
Code:
  # cp -R -p .../ATINDRV.kext "/Volumes/MacOS.../System/Library/Extensions/"
  # cp -R -p .../ATIinject.kext "/Volumes/MacOS.../System/Library/Extensions/"
  # chown -R root:wheel "/Volumes/MacOS.../System/Library/Extensions/"
  # chmod -R 755 "/Volumes/MacOS.../System/Library/Extensions/"
  # kextcache -v 1 -t -m "/Volumes/MacOS.../System/Library/Caches/com.apple.kext.caches/Startup Extensions.mkext" "/Volumes/MacOS.../System/Library/Extensions/"

- Quartz Extreme und Core Image (QE/CI) werden bei Verwendung von Chameleon 2.0 ueber den Parameter "GraphicsEnabler" in der "/Extra/com.apple.Boot.plist" aktiviert:
Code:
  # vi "/Volumes/MacOS.../Extra/com.apple.Boot.plist"
    -> ...
       <key>Graphics Mode</key>
       <string>1400x1050x32</string>
       <key>GraphicsEnabler</key>
       <string>y</string>
       ...


Zum Testen ob QE/CI wirklich aktiviert ist, kann man, nach Ende der Installation und anschliessendem Neustart z.B. das "Dashboard" oeffnen und ein Widget hinzufuegen. Erscheinen beim Hinzufuegen des Widgets auf dem Desktop transparente Wellen um das neue Objekt, so ist QE/CI aktiv, wird das neue Widget einfach ohne Animation hinzugefuegt nicht.


Weiter siehe Teil 2.
 
Installation MacOS X 10.6 auf ThinkPad T60p, Teil 2

Teil 2:

- Man kann alternativ einen Grafikkarten-String fuer die "/Extra/com.apple.Boot.plist" erzeugen und eintragen und somit die vorhandenen ATI-/Apple-Kernel-Extensions einsetzen. Damit funktioniert dann zwar ebenfalls der Grafik-Chip in voller Aufloesung, auf meinem T60p jedoch nur ohne QE/CI:

Ermitteln des PCI-Anschlusses des Grafik-Adapters mit dem "gfxutil":
Code:
  # ./gfxutil -f display
    -> DevicePath = PciRoot(0x0)/Pci(0x2,0x0)

Eine neue Info.plist mit folgendem Inhalt erzeugen:
Code:
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  <plist version="1.0">
  <dict>
	<key>PciRoot(0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)</key>
	<dict>
	</dict>
  </dict>
  </plist>

Aus der Info.plist im ATIinject-Paket die kodierte EDID herauskopieren "<key>DFP1,EDID</key> <data>AP///////wAw...MDIKABk=</data>" und in den inneren <dict></dict>-Block einfuegen, diese Datei nun speichern.

Mit dem "gfxutil" diese Info.plist nun in einen Hex-String umwandeln:
Code:
  # ./gfxutil -i xml -o hex EDID.plist EDID.hex

Der nun in der "EDID.hex" erzeugte String "cc0000...0a0019" wird nun in die "/Extra/com.apple.Boot.plist" eingefuegt:
Code:
  # vi "/Volumes/MacOS.../Extra/com.apple.Boot.plist"
    -> ...
       <string>1400x1050x32</string>
       <key>device-properties</key>
       <string>ef1b00.....8c6400</string>
       ...


Der Audio-Treiber beim T60p liess sich aehnlich installieren wie beim X60s, der Lautsprecher ertoente jedoch erst nach der zusaetzlichen Installation des "PrefPane" fuer die "Systemeinstellungen":

- fuer Audio AppleHDA.kext deaktivieren und VoodooHDA.kext (20.04.2009, 13:34) aus dem Paket VoodooHDA-0.2.2_prefPan.tar.bz2 sowie die "VoodooHDA.prefPane" (Doppelklick) installieren, zuvor die originale kext deaktivieren:
Code:
  # mv AppleHDA.kext AppleHDA.kext.noload

- kext-Rechte korrigieren und kext-Cache aufraeumen:
Code:
  # chown -R root:wheel "/Volumes/MacOS.../System/Library/Extensions/"
  # chmod -R 755 "/Volumes/MacOS.../System/Library/Extensions/"
  # kextcache -v 1 -t -m "/Volumes/MacOS.../System/Library/Caches/com.apple.kext.caches/Startup Extensions.mkext" "/Volumes/MacOS.../System/Library/Extensions/"


Noch laeuft mein ThinkPad T60p nicht so "gut" wie mein X60s, der Ruhezusatnd funktioniert nicht einwandfrei, war der Bildschirmschoner aktiv kann es passieren das der Mauszeiger nicht mehr dargestellt wird und die eingebaute Atheros (gleiche FRU/gleiches Modell wie im X60s) funktioniert bislang nicht.

Ich werde diese Anleitung daher ergaenzen wenn es was neues gibt und ich weiter gekommen bin.


Links:

Phoenix EDID Designer
http://www.tucows.com/preview/329441

PlistEdit Pro
http://www.apple.com/downloads/macosx/development_tools/plisteditpro.html

gfxutil
http://forum.netkas.org/index.php/topic,64.0.html

Vanilla (10.6) Guide for T60p (2007-CQ8) 1400x1050
http://www.thinkpads.com/forum/viewtopic.php?f=32&t=81631

DSDT Patching for Dummies - SnowLeo with 100% vanilla /S/L/E
http://forum.thinkpads.com/viewtopic.php?f=32&t=85344

Enable Full Graphics Card Acceleration: ATI and nVidia
http://tonymacx86.blogspot.com/2009/12/enable-full-graphics-card-acceleration.html

ATI Radeon FireGL on Snow Leopard 10A432., QE / CI and full resolution ( Not Solved Yet)
http://www.insanelymac.com/forum/index.php?showtopic=182972
http://www.insanelymac.com/forum/index.php?s=&showtopic=182972&view=findpost&p=1304429

VoodooHDA 0.2.2
http://forum.voodooprojects.org/index.php/topic,139.0.html
 
Hi,

Leider haben sich mittlerweile ein paar unschöne Fehler aufgetan, für die ich noch keine Lösung gefunden habe.

Der Ruhezustand geht nicht, gar nicht. Versucht man ihn zu aktivieren verschwindet der Mauszeiger, sonst nichts. Durch etwas längeres Drücken der Ein-/Aus-Taste bekommt man ein Rückfragefenster ob man Mac OS "Ausschalten", "Neustarten" usw. will, dann kommt auch die Maus wieder.

Die Beschleunigung QE/CI funktioniert zwar, wird sie allerdings im Vollbild genutzt, wie z.B. bei einem entsprechenden Bildschirmschoner oder FrontRow, dann ist nach dem Beenden des Programms der Mauszeiger "zerstört" und eine Bedienung des Systems fast unmöglich. Erstellt man ein neues Widget und fährt, während die Wellen noch "plätschern" über das neue Widget, verschwindet der Mauszeiger darüber ebenfalls kurzzeitig.

Und leichte Screen-Refresh-Probleme unter dem Mauszeiger gibt es leider nach wie vor.

Ich habe jetzt nochmal ein Image meiner "fast perfekt" laufenden X60s-Installation auf den T60p gespielt und die GraKa-Treiber entsprechend angepasst, leider ändert das nichts an den Problemen.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben