diff --git a/Audio/README.md b/Audio/README.md new file mode 100644 index 0000000..7dbac9b --- /dev/null +++ b/Audio/README.md @@ -0,0 +1,18 @@ +# FIX HEADPHONE AUDIO + +## Mô tả các thư mục và file + +### 1. Resource: +> Nơi chưa các file tài nguyên để thêm vào hệ thống hackintosh của bạn. + +### 2. Script: +> Nơi chứa các file script để hỗ trợ việc vá lỗi của bạn trở nên dễ dàng hơn. Để chạy các file này các bạn cần mở **Terminal**, gõ lệnh **sh+[Khoảng trắng]**, sau đó kéo file script mà bạn muốn thực thi vào **Terminal**. + +- **Mô tả:** + +| File | Chức năng | +|---------------------|-----------------------------------------------------------| +| Check_ALCPlugFix.sh | Kiểm tra **`ALCPlugFix`** đã được load hay chưa | +| Enable_copy_file.sh | Cho phép copy file vào trong **`/usr/bin`** khi cần thiết | +| Install.sh | Cài đặt và load **`ALCPlugFix`** | +| Uninstall.sh | Gỡ cài đặt **`ALCPlugFix`** | \ No newline at end of file diff --git a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Info.plist b/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Info.plist deleted file mode 100755 index 61211a3..0000000 --- a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Info.plist +++ /dev/null @@ -1,470 +0,0 @@ - - - - - BuildMachineOSBuild - 18A391 - CFBundleDevelopmentRegion - English - CFBundleExecutable - CodecCommander - CFBundleGetInfoString - 2.7.1, Copyright © 2013-2014 TimeWalker. All rights reserved. - CFBundleIdentifier - org.tw.CodecCommander - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - CodecCommander - CFBundlePackageType - KEXT - CFBundleShortVersionString - 2.7.1 - CFBundleSignature - ???? - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 2.7.1 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 9F2000 - DTPlatformVersion - GM - DTSDKBuild - 10M2518 - DTSDKName - macosx10.6 - DTXcode - 0941 - DTXcodeBuild - 9F2000 - IOKitPersonalities - - CodecCommander - - CFBundleIdentifier - org.tw.CodecCommander - Codec Profile - - 1002 - Disabled HDMI - 10de - Disabled HDMI - 10ec_0233 - Realtek ALC283,etc - 10ec_0235 - Realtek ALC283,etc - 10ec_0236 - Realtek ALC283,etc - 10ec_0255 - Realtek ALC283,etc - 10ec_0269 - Realtek ALC269 - 10ec_0269_HDA_1028_04d9 - Realtek ALC269VB - 10ec_0269_HDA_1458_fa50 - Realtek ALC269 BRIX - 10ec_0282 - Realtek ALC283,etc - 10ec_0283 - Realtek ALC283,etc - 10ec_0292 - Realtek ALC292 - 10ec_0668 - Realtek ALC668 - 10ec_0892_HDA_1458 - Realtek ALC892 desktop - 10ec_0892_HDA_8086 - Realtek ALC892 desktop - 10ec_0900 - Realtek ALC1150 - 8086 - Disabled HDMI - Default - - Check Infinitely - - Check Interval - 3000 - Custom Commands - - Perform Reset on EAPD Fail - - Send Delay - 300 - Sleep Nodes - - Update Nodes - - - Disabled HDMI - - Check Infinitely - - Disable - - Sleep Nodes - - Update Nodes - - - Realtek ALC1150 - - Custom Commands - - - Command - - AgUABw== - - Comment - 0x20 SET_COEF_INDEX 0x07 - On Init - - On Sleep - - On Wake - - - - Command - - AgR8sA== - - Comment - 0x20 SET_PROC_COEF 0x7CB0 - On Init - - On Sleep - - On Wake - - - - Send Delay - 100 - Sleep Nodes - - Update Nodes - - - Realtek ALC269 - - Custom Commands - - - Command - - AVcIgw== - - Comment - 0x15 SET_UNSOLICITED_ENABLE 0x83 - On Init - - On Sleep - - On Wake - - - - - Realtek ALC269 BRIX - - Custom Commands - - - Command - - AVcIgw== - - Comment - 0x15 SET_UNSOLICITED_ENABLE 0x83 - On Init - - On Sleep - - On Wake - - - - - Realtek ALC269VB - - Custom Commands - - - Command - - AhcIgw== - - Comment - 0x21 SET_UNSOLICITED_ENABLE 0x83 - On Init - - On Sleep - - On Wake - - - - Send Delay - 20 - Sleep Nodes - - - Realtek ALC283,etc - - Custom Commands - - - Command - - AZcHJQ== - - Comment - 0x19 SET_PIN_WIDGET_CONTROL 0x25 - On Init - - On Sleep - - On Wake - - - - Command - - AhcIgw== - - Comment - 0x21 SET_UNSOLICITED_ENABLE 0x83 - On Init - - On Sleep - - On Wake - - - - Perform Reset - - Send Delay - 10 - Sleep Nodes - - - Realtek ALC292 - - Custom Commands - - - Command - 0x01a70724 - Comment - Node 0x1a - Pin Control (In Enable / VRefEn) - On Init - - On Sleep - - On Wake - - - - Command - - AVcIgw== - - Comment - 0x15 SET_UNSOLICITED_ENABLE 0x83 - On Init - - On Sleep - - On Wake - - - - Perform Reset - - - Realtek ALC668 - - Custom Commands - - - Command - - AVcIgw== - - Comment - 0x15 SET_UNSOLICITED_ENABLE 0x83 - On Init - - On Sleep - - On Wake - - - - Command - - AbcHIA== - - Comment - Node 0x1b - Pin Control (In Enable) - On Init - - On Sleep - - On Wake - - - - Perform Reset - - - Realtek ALC892 desktop - - Sleep Nodes - - Update Nodes - - - - IOClass - CodecCommander - IOMatchCategory - CodecCommander - IOProviderClass - IOHDACodecFunction - IOUserClientClass - CodecCommanderClient - - CodecCommanderPowerHook - - CFBundleIdentifier - org.tw.CodecCommander - Codec Profile - - 1002 - Disabled HDMI - 10de - Disabled HDMI - 8086 - Disabled HDMI - Disabled HDMI - - Disable - - - - IOClass - CodecCommanderPowerHook - IOMatchCategory - CodecCommanderPowerHook - IOProviderClass - AppleHDADriver - - CodecCommanderProbeInit - - CFBundleIdentifier - org.tw.CodecCommander - Codec Profile - - Default - - Custom Commands - - - - IOClass - CodecCommanderProbeInit - IOProbeScore - 5000 - IOProviderClass - IOHDACodecDevice - - CodecCommanderResidency - - CFBundleIdentifier - org.tw.CodecCommander - IOClass - CodecCommanderResidency - IOMatchCategory - CodecCommanderResidency - IOProviderClass - IOResources - - CodecCommanderVoodooHDA - - CFBundleIdentifier - org.tw.CodecCommander - Codec Profile - - 1002 - Disabled HDMI - 10de - Disabled HDMI - 8086 - Disabled HDMI - Default - - Check Infinitely - - Perform Reset - - Perform Reset on EAPD Fail - - Perform Reset on External Wake - - Sleep Nodes - - Update Nodes - - - Disabled HDMI - - Check Infinitely - - Disable - - Sleep Nodes - - Update Nodes - - - - IOClass - CodecCommander - IOMatchCategory - CodecCommander - IOProviderClass - VoodooHDADevice - IOUserClientClass - CodecCommanderClient - - - NSHumanReadableCopyright - Copyright © 2013-2014 TimeWalker/RehabMan. All rights reserved. - OSBundleLibraries - - com.apple.iokit.IOACPIFamily - 1.0d1 - com.apple.iokit.IOAudioFamily - 1.1 - com.apple.iokit.IOPCIFamily - 1.0.0b1 - com.apple.kpi.bsd - 9.0.0 - com.apple.kpi.iokit - 9.0.0 - com.apple.kpi.libkern - 9.0.0 - - Source Code - https://github.com/RehabMan/EAPD-Codec-Commander - - diff --git a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/MacOS/CodecCommander b/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/MacOS/CodecCommander deleted file mode 100755 index c2574a2..0000000 Binary files a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/MacOS/CodecCommander and /dev/null differ diff --git a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-ALC1220.dsl b/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-ALC1220.dsl deleted file mode 100755 index c1ff964..0000000 --- a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-ALC1220.dsl +++ /dev/null @@ -1,38 +0,0 @@ -// CodecCommander configuration for ALC1220 -// provided by daliansky @github - -DefinitionBlock ("", "SSDT", 1, "hack", "ALC1220", 0) -{ - External(_SB.PCI0.HDEF, DeviceObj) - Name(_SB.PCI0.HDEF.RMCF, Package() - { - "CodecCommander", Package() - { - "Custom Commands", Package() - { - Package(){}, // signifies Array instead of Dictionary - Package() - { - // 0x19 SET_PIN_WIDGET_CONTROL 0x24 - "Command", Buffer() { 0x01, 0x97, 0x07, 0x24 }, - "On Init", ">y", - "On Sleep", ">n", - "On Wake", ">y", - }, - Package() - { - // 0x1B SET_UNSOLICITED_ENABLE 0x83 - "Command", Buffer() { 0x01, 0xB7, 0x08, 0x83 }, - "On Init", ">y", - "On Sleep", ">n", - "On Wake", ">y", - }, - }, - "Perform Reset", ">y", - //"Perform Reset on External Wake", ">n", // enable if using AppleALC - "Send Delay", 10, - "Sleep Nodes", ">n", - }, - }) -} -//EOF diff --git a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-ALC256-insanelydeepak.dsl b/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-ALC256-insanelydeepak.dsl deleted file mode 100755 index 94ef581..0000000 --- a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-ALC256-insanelydeepak.dsl +++ /dev/null @@ -1,46 +0,0 @@ -// CodecCommander configuration for ALC256 to fix various issue -// repo: https://github.com/insanelydeepak/cloverHDA-for-Mac-OS-Sierra-10.12 - -DefinitionBlock ("", "SSDT", 1, "hack", "ALC256", 0) -{ - External(_SB.PCI0.HDEF, DeviceObj) - Name(_SB.PCI0.HDEF.RMCF, Package() - { - "CodecCommander", Package() - { - "Custom Commands", Package() - { - Package(){}, // signifies Array instead of Dictionary - Package() - { - // 0x19 SET_PIN_WIDGET_CONTROL 0x24 - "Command", Buffer() { 0x01, 0x97, 0x07, 0x24 }, - "On Init", ">y", - "On Sleep", ">n", - "On Wake", ">y", - }, - Package() - { - // 0x1A SET_PIN_WIDGET_CONTROL 0x20 - "Command", Buffer() { 0x01, 0xA7, 0x07, 0x20 }, - "On Init", ">y", - "On Sleep", ">n", - "On Wake", ">y", - }, - Package() - { - // 0x21 SET_UNSOLICITED_ENABLE 0x83 - "Command", Buffer() { 0x02, 0x17, 0x08, 0x83 }, - "On Init", ">y", - "On Sleep", ">n", - "On Wake", ">y", - } - }, - "Perform Reset", ">n", - //"Perform Reset on External Wake", ">n", // enable if using AppleALC - "Send Delay", 10, - "Sleep Nodes", ">n", - }, - }) -} -//EOF \ No newline at end of file diff --git a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-ALC256-vbourachot.dsl b/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-ALC256-vbourachot.dsl deleted file mode 100755 index e129f29..0000000 --- a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-ALC256-vbourachot.dsl +++ /dev/null @@ -1,54 +0,0 @@ -// CodecCommander configuration for ALC256 -// From: https://github.com/vbourachot/XPS13-9350-OSX/blob/master/ssdt/SSDT-ALC256.dsl - -DefinitionBlock ("", "SSDT", 1, "hack", "ALC256", 0x00003000) -{ - External(_SB.PCI0.HDEF, DeviceObj) - Name(_SB.PCI0.HDEF.RMCF, Package() - { - "CodecCommander", Package() - { - "Custom Commands", Package() - { - Package(){}, // signifies Array instead of Dictionary - Package() - { - // 0x19 SET_PIN_WIDGET_CONTROL 0x25 - "Command", Buffer() { 0x01, 0x97, 0x07, 0x25 }, - "On Init", ">y", - "On Sleep", ">n", - "On Wake", ">y", - }, - Package() - { - // 0x21 SET_UNSOLICITED_ENABLE 0x83 - "Command", Buffer() { 0x02, 0x17, 0x08, 0x83 }, - "On Init", ">y", - "On Sleep", ">n", - "On Wake", ">y", - }, - Package() - { - // 0x20 SET_COEF_INDEX 0x36 - "Command", Buffer() { 0x02, 0x05, 0x00, 0x36 }, - "On Init", ">y", - "On Sleep", ">n", - "On Wake", ">y", - }, - Package() - { - // 0x20 SET_PROC_COEF 0x1737 - "Command", Buffer() { 0x02, 0x04, 0x17, 0x37 }, - "On Init", ">y", - "On Sleep", ">n", - "On Wake", ">y", - }, - }, - "Perform Reset", ">n", - //"Perform Reset on External Wake", ">n", // enable if using AppleALC - "Send Delay", 10, - "Sleep Nodes", ">n", - }, - }) -} -//EOF diff --git a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-AppleALC.dsl b/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-AppleALC.dsl deleted file mode 100755 index 38745b5..0000000 --- a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-AppleALC.dsl +++ /dev/null @@ -1,23 +0,0 @@ -// This SSDT demonstrates a custom configuration with certain features -// disabled when using AppleALC.kext. -// AppleALC.kext has some extra patches for AppleHDA that interfere with these -// features breaking audio after wake from sleep. -// -// Customize to suit your needs. -// -// As of CodecCommander v2.7.1, CodecCommander detects AppleALC for setting the default -// of these two options false. - -DefinitionBlock ("", "SSDT", 1, "hack", "CC-ALC", 0) -{ - External(_SB.PCI0.HDEF, DeviceObj) - Name(_SB.PCI0.HDEF.RMCF, Package() - { - "CodecCommander", Package() - { - "Perform Reset", ">n", - "Perform Reset on External Wake", ">n", - }, - }) -} -//EOF diff --git a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-CX20752.dsl b/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-CX20752.dsl deleted file mode 100755 index ca951eb..0000000 --- a/EFI_OC/OC/Kexts/CodecCommander.kext/Contents/Resources/SSDT-CX20752.dsl +++ /dev/null @@ -1,43 +0,0 @@ -// SSDT to correct some problems headphone/mic on CX20752. -// -// Note: For use with the Anti-pop patches (seee RehabMan NUC repo) -// -// created by nayeweiyang/XuWang - -DefinitionBlock ("", "SSDT", 1, "hack", "CX20752", 0) -{ - External(_SB.PCI0.HDEF, DeviceObj) - - Name(_SB.PCI0.HDEF.RMCF, Package() - { - "CodecCommander", Package() - { - "Custom Commands", Package() - { - Package(){}, // signifies Array instead of Dictionary - Package() - { - // 0x19 SET_PIN_WIDGET_CONTROL 0x24 - "Command", Buffer() { 0x01, 0x97, 0x07, 0x24 }, - "On Init", ">y", - "On Sleep", ">n", - "On Wake", ">y", - }, - Package() - { - // 0x1a SET_PIN_WIDGET_CONTROL 0x24 - "Command", Buffer() { 0x01, 0xa7, 0x07, 0x24 }, - "On Init", ">y", - "On Sleep", ">n", - "On Wake", ">y", - }, - - }, - "Perform Reset", ">n", - "Perform Reset on External Wake", ">n", - }, - }) -} -//EOF - - diff --git a/EFI_OC/OC/config.plist b/EFI_OC/OC/config.plist index 37a4d8d..eefc8bc 100755 --- a/EFI_OC/OC/config.plist +++ b/EFI_OC/OC/config.plist @@ -1764,7 +1764,7 @@ PlistPath Contents/Info.plist Enabled - + MinKernel ExecutablePath diff --git a/README.md b/README.md index 150ded5..2cd72a3 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@ ## Lời mở đầu: ![](/Screenshots/03.png) -- Mình chỉ cung cấp bộ EFI của mình và chia sẻ một vài kinh nghiệm fix lỗi của mình. -- Đây không phải là hướng dẫn cài hackintosh lên laptop. Các bạn có thể tự tìm hiểu bằng cách đọc thêm tại [vnohackintosh.com](https://vnohackintosh.com) hoặc [hackintosh.vn](https://hackintosh.vn). +- Đây không phải là hướng dẫn cài hackintosh lên laptop. +- Mình chỉ cung cấp bộ EFI và chia sẻ một vài kinh nghiệm fix lỗi của mình. - Để hiểu rõ hơn về việc cài hackintosh các bạn có thể đọc thêm bài viết [**`quy trình cài đặt hackintosh cho người mới`**](https://vnohackintosh.com/blog/2019/11/12/quy-trinh-cai-dat-hackintosh/) của [vnohackintosh.com](https://vnohackintosh.com) hoặc đọc loạt bài [**`Hackintosh Vietnam Ebook`**](https://hackintosh.vn/hackintosh-guide) của [hackintosh.vn](https://hackintosh.vn) - Khi bạn đã cài đặt và làm theo thành công, đừng ngần ngại chia sẻ kiến thức của mình cho những bạn khác tại các kênh hackintosh của Việt Nam. @@ -14,6 +14,11 @@ - Trang web [vnohackintosh.com](https://vnohackintosh.com). - Trang web [hackintosh.vn](https://hackintosh.vn). +## Nguồn gốc các bộ EFI: + +- Bộ EFI Opencore gốc là của [tunglamvghy](https://github.com/tunglamvghy) trên github giành cho máy **AsusS530UN** (Link gốc tại [đây](https://github.com/tunglamvghy/AsusS530UN-hackintosh)). Mình đã chỉnh sửa lại cho phù hợp với **Asus Zenbook UX430** và mọi thứ chạy rất mượt mà. +- Bộ EFI Clover mình được cung cấp bởi [Thành Nhân]() (Link gốc tại [đây]()). + ## Cấu hình máy: | Thuộc tính | Thông số | @@ -35,7 +40,7 @@ - Hầu hết phần cứng máy đều nhận chỉ trừ vân tay. - Lỗi âm thanh bị méo, mất tiếng khi dùng tai nghe (Đã có hướng dẫn fix ở bên dưới). - Bộ EFI chưa có **`serial number`** và các thông tin Fake các thiết bị mac. Bạn cần phải tải thêm **`GenSMBIOS`** để generate ra thông tin fake và thêm vào trong file **`config.plist`** (download tại [đây](https://github.com/corpnewt/GenSMBIOS)). Việc Fake thông tin máy này sẽ giúp các bạn có thể kích hoạt được iMess và FaceTime. -- Đối với các bạn đã cài thành công và muốn sử dụng bộ EFI này thì hãy format lại phân vùng EFI như hướng dẫn bên dưới nếu không đủ bộ nhớ rồi tiến hành copy như bình thường. +- Đối với các bạn đã cài thành công và muốn sử dụng bộ EFI này nếu không đủ vùng nhớ để copy/paste thì hãy format lại phân vùng EFI như hướng dẫn bên dưới nếu không đủ bộ nhớ rồi tiến hành copy như bình thường. ## Một vài công cụ cần để hỗ trợ hoàn thiện hackintosh: - Hackintool - download tại [đây](https://www.tonymacx86.com/threads/release-hackintool-v3-x-x.254559/). @@ -73,10 +78,12 @@ **- Các lỗi hay gặp:** > **`Codeccommander`** không load được. (Dùng **`hackintool`** để kiểm tra xem kext **`Codeccommander`** đã load hay chưa). - **B1:** Xoá **`Codeccommander`** trong **`LE`**. -- **B2:** Bỏ **`Codeccommander`** vào trong **`CKO`** (**`/Clover/Kexts/Other`**) đối với **`Clover`** hoặc **`OK`** (**`/OC/Kexts`**) với **`Opencore`**. +- **B2:** Bỏ **`Codeccommander`** vào trong bộ EFI. + - Clover: Bỏ **`Codeccommander`** vào trong **`/Clover/Kexts/Other`**. + - Opencore: Bỏ **`Codeccommander`** vào trong **`/OC/Kexts`**. - **B3:** - - Clover chuyển sang bước 4. - - Opencore cần chỉnh sửa file **`config.plist`** để nạp kext. Các bạn có thể tự thêm thủ công hoặc sử dụng **`ProperTree`** như sau: mở **`config.plist`** -> chọn **`open snapshot`** (hoặc tổ hợp phím **`Command + R`**) -> chọn **`OC`** trong **`EFI`**. + - Clover chuyển sang **B4**. + - Opencore cần chỉnh sửa file **`config.plist`** để nạp kext. Mình đã chuẩn bị sẵn, bạn chỉ cần mở file **`config.plist`**, tìm kiếm **`Codeccommander`**, tìm nhánh **`Enable`** và sửa lại thành **`true`** (mặc định là mình để là **`false`**). - **B4:** Restart lại máy. - **B5:** Tận hưởng thành quả. @@ -87,7 +94,7 @@ ![](/Screenshots/02.png) ->Thông thường phân vùng EFI sẽ có dung lượng khoảng 200MB. **Vấn đề xảy ra khi các bạn xoá 1 file hay 1 folder trong phân vùng này, nó sẽ không bị xoá đi mà nó vẫn còn nằm ở đâu đó**. Bạn có thể kiểm tra bằng cách check xem dung lượng còn lại của phân vùng EFI máy bạn và sau đó thử xoá đi file hay 1 folder. Điều ngạc nhiên là dung lượng khả dụng vẫn không tăng lên. **Do đó có thể trong tương lai, bạn sẽ bị gặp lỗi không đủ bộ nhớ để copy file vào trong EFI nữa**. +>Thông thường phân vùng EFI sẽ có dung lượng khoảng 200MB. **Vấn đề xảy ra khi các bạn xoá 1 file hay 1 folder trong phân vùng này, nó sẽ không bị xoá đi mà nó vẫn còn nằm ở đâu đó**. Bạn có thể kiểm tra bằng cách check xem dung lượng còn lại của phân vùng EFI máy bạn và sau đó thử xoá đi file hay 1 folder. Điều ngạc nhiên là dung lượng khả dụng vẫn không tăng lên. **Do đó có thể trong tương lai, bạn sẽ bị gặp lỗi không đủ bộ nhớ để copy file vào trong EFI nữa và gặp lỗi giống như hình minh hoạ**. **- Cách Fix: Format lại phân vùng EFI**