Traffic
Visitor Info
- IP: 18.97.14.90
- Browser: Unknown
- Browser Version:
- Operating System: Unknown
Who Is Online
Instalasi Hackintosh
TUTORIAL COMPILE APPLEALC.KEXT
Ada banyak cara untuk mengaktifkan Audio Device di Hackintosh dengan menggunakan AppleHDA.kext. Sebelum kita lanjut lebih jauh ada baiknya kita ketahui dulu apa apa yang terkait dengan proses patching Audio menggunakan AppleHDA.kext. Karena point point ini sangat penting dalam proses implementasi AppleALC.kext. Trik AppleALC.kext ini sendiri adalah hasil kerja dari vit9696.
Untuk mengaktifkan AppleHDA.kext maka kita butuh data Layout.xml.zlib, Platform.xml.zlib, Verb Data / Pin Config dan berbagai Binary Patch. Jadi simple nya bila audio codec anda sendiri belum pernah aktif serta codec data anda tidak ada di Resource dari file AppleALC.kext ini (sebelum dicompile) maka disarankan tidak menggunakan metode ini terlebih dahulu.
Silahkan dipelajari tutor lengkap tentang patch AppleHDA from Zero To Hero dari sini by Emly Dinesh. Tutorial kali ini cukup panjang dan akan saya tulis sepanjang yang saya ketahui, lebih dan kurang mohon dimaklumi. Dan tutorial kali ini mencoba mengajarkan cara menambahka nilai resource codec ke Resource AppleALC ini. Kali ini saya menggunakan Codec Audio ALC282. Dan karena saya "kurang percaya" pada data resource AL282 pada folder Resource ALC282 di AppleALC maka folder bawaan ALC282 ini akan saya hapus dan memasukkan konfigurasi file file saya sendiri.
A. PERSIAPAN DATA DAN BERBAGAI FILE
Sebelum ke tahapan selanjutnya mohon dipersiapkan software ataupun file file yang dibutuhkan sebagai berikut :
1. Xcode yang didownload dari App Store (Official MAS) yang digunakan untuk proses Compile AppleALC.kext
2. Aplikasi Property List Editor yang akan digunakan sebagai default pengedit file berextension "plist". Silakan baca artikel Property List Editor untuk mendownload
3. Aplikasi Hex Fiend yang digunakan untuk cek COUNT data HEX yang akan direplace. Silahkan baca artikel Hex Fiend untuk mendownload
4. Data Pin Config dari ALC282 yang ditelah dipakai dan benar benar berfungsi, contoh lihat gambar di bawah, adapun nilai ini biasanya bisa anda ambil dari info.plist kext AppleHDAHardwareConfigDriver atau DummyKext. Mohon dicek persamaan urutan data. Kita cukup mengambil data dari "Item1"
5. Layout.xml.zlib dan Platform.xml.zlib yang bisa didapatkan dari "AppleHDA.kext/Contents/Resource" dari AppleHDA.kext yang berfungsi. Bila anda sebelumnya menggunakan methode Abxite yaitu patch pembacaan XML to ZML maka anda akan menemukan file Layout.zml.zlib dan Platform.zml.zlib disini. Cukup rename 2 file ini menjadi extension "xml.zlib" kembali. Khusus untuk file Layout.xml.zlib yang kita ambil adalah yang sesuai dengan layout yang sedang kita pakai saat AppleHDA itu berfungsi. Contoh bila saat ini kita berhasil menggunakan Layout-ID 3 maka yang kita ambil adalah "Layout3.xml.zlib". Liat gambar dibawah untuk cara simple melihat layout-id kita
6. Anda juga dianggap telah mengetahui nilai HEX binary dari AppleHDA yang harus dipatch. Baik itu nilai yang harus dipatch menjadi Zero atau menjadi sesuai dengan Codec Audio anda. Liat gambar dibawah sebagai contoh nilai nilai binary yang harus dipatch yang tertulis di config plist dan saya buka via Property List Editor.
7. Download file file AppleALC yang dibutuhkan dari link dibawah dan hasil download akan bernama "AppleALC-master". Dan setelah anda mendownload kemudian extract dan anda akan mendapatkan folder "AppleALC-master" sebagai hasil extract
Karena data data yang dibutuhkan telah diketahui kita lanjut pada stage berikutnya.
B. INSERT SEMUA DATA CODEC KE AppleALC-master/Resource
Sebagai tutorial basic saya akan menjelaskan beberapa file yang wajib kita edit untuk proses compile dan insert data codec yang diinginkan.
1. Buat Folder sesuai dengan nama codec kita contoh sebelumnya saya telah menghapus folder ALC282 pada directory "AppleALC-master/Resource" dan sekarang kita buat folder baru dengan nama "ALC282". Masukkan Layout3.xml.zlib (layout ID saya adalah 3 pada saat AppleHDA berfungsi dengan cara konvensional) dan Platform.xml.zlib yang telah didapatkan. Setelah itu terdapat nilai info.plist yang berisi nilai penentuan Layout, Platform serta berbagai patch binary Hex. Nilai nilai patch binary sesuaikan dengan data yang anda dapatkan pada step A.6 di atas. Silahkan liat contoh hasil info.plist berikut.
2. Berikut sedikit penjelasan point pointnya,
A. CodecID adalah nilai decimal dari Codec Hex. Contoh untuk nilai ALC282 nilai HEX nya via DPCIManager adalah 10EC0282 maka bila nilai ini diubah ke decimal akan menjadi283902594
B. Codec Name cukup isikan nama codec mu. Contoh ALC282
C. Files->Layouts->Item 1 (nilai untuk Layout) ada beberapa nilai. Untuk Comment cukup isikan tentang codec ini. Untuk ID maka tuliskan layout ID yang diperuntukan, jika configurasi layout dan platform mu untuk layout 3 maka isikan angka 3 di sini. Untuk Path maka isikan nama layout yang telah kamu copas ke "AppleALC-master/Resource/ALC282", ingat jangan salah ketik. Begitu pula untuk value di Files->Layouts->Item 2 (nilai untuk Platform)
D. Patches->Item 1 (nilai untuk patch binary Hex) ada beberapa nilai. Untuk Count maka penentuannya adalah sebanyak nilai hex yang ditemukan / find di file AppleHDA. Contoh bila ingin tahu nilai count dari "8508EC10" maka buka AppleHDA binary menggunakan Hex Fiend (silahkan baca tutorial Hex Fiend di sini) dan hitung berapa banyak nilai "8508EC10" ditemukan. Find adalah nilai binary HEX yang ingin di patch sesuai dengan data yang telah dibahas pada step A.6 (lihat ke atas). Min Kernel bila ingin ada batasan pada versi minimal kernel berapa patch ini harus berjalan, tiap tiap OS X memiliki versi Kernel yang berbeda dan baris ini pun opsional alias boleh tidak dipakai. Name adalah nama file Kext yang akan dipatch, karena nilai Hex yang akan dipatch adalah nilai Hex dari AppleHDA maka kita isikan nama AppleHDA. Replace adalah nilai Hex yang akan mereplace dari nilai Find pada kext AppleHDA. Vendor kita isikan nama Realtek. Bila Nama Vendor belum terdaftar di file Vendor.plist di directory "AppleALC-master/Resource/" maka masukkan terlebih dahulu, contoh untuk nilai Vendor ID dari Realtek adalah 10EC dimana bila nilai ini dijadikan decimal adalah 4332 jadi tambahkan sendiri nilai Vendor disini bila nama Vendor mu belum terdaftar di sini.
3. Klik Kanan pada file "PinConfigs.kext" dan double klik folder Contents terus open file "info.plist" dengan Property List Editor. Arahkan ke path "IOKitPersonalities->HDA Hardware Config Resource->HDAConfigDefault". Sekarang kita dapat melihat berbagai baris yang berisikan nilai "Item 1-Item 58 (default)" dan masing masing Item ini memiliki nilai CodecID dan LayoutID sebagai sub entries. Untuk itu bila anda ingin memasukkan nilai yang baru harap cek tiap tiap sub entries agar tidak ada nilai Codec ID yang disetting pada Layout-ID yang sama dengan konfigurasimu. Karena awal postingan ini menunjukan contoh untuk ALC282 dan ALC282 sendiri sudah ada nilai dafault Pin Config nya disini maka saya harus menghapus terlebih dahulu Item yang berisi nilai Codec ID = "283902594" kemudian mengganti dengan nilai Item configurasi saya sendiri sesuai dengan nilai yang didapatkan pada step "A.4"
4. Sekarang kita kembali ke directory awal "AppleALC-master/" dan kita akan menemukan file "AppleALC.xcodeproj". Bukalah file ini dengan Xcode. Kemudian pilih Product dan klik Build. Beberapa saat Xcode akan compile kext kemudian liat pada sidebar kiri aplikasi Xcode, status kext saat tidak ada atau belum jadi akan berwarna merah dan bila telah jadi akan berwarna hitam. Klik kanan pada "AppleALC.kext" yang telah jadi ini dan pilih "Show in Finder'. Copy dan paste kext ini ke "EFI/CLOVER/Kexts/10.11". Ingat sebelum menggunakan kext ini harap membuang semua konfigurasi konfigurasi terhadap AppleHDA.kext. Baik itu DummyKext, file custom layout dan platforms di "System/Library/Extensions/AppleHDA.kext/Resources". Istilahnya kembalikan semua ke native
5. Special Note : terkadang kext ini tidak berhasil melakukan Patch Binary Hex, jadi cobalah gunakan patch Binary Hex dari Config.plist.
6. Sekian tutor ini dibuat, mohon maaf untuk kekurangan atau kesalahan info.