Jump to content
shinzon

[Guide] Yosemite on Acer Aspire V5-171-9661 Using Clover

Recommended Posts

Hardware status:
[Working] Wireless (swapped to Dell DW1510)
[Working] Ethernet
[Working] Audio (including Internal Microphone, Line In/Out)
[Working] USB2/3 (using native Apple kexts)
[Working] Backlight
[Working] Battery
[Working] HD4000 Graphics (with full acceleration)
[Working] VGA port [buggy]
[Working] HDMI port (including audio over HDMI)
[Working] SDCard Reader [Works OOTB]
[Working] Webcam [Works OOTB]
[Working] Keyboard/Trackpad (including Fn keys)

[Working] Sleep/Wake
[Working] Hibernate
[Working] Facetime/iMessage

This post assumes you've installed Yosemite and are booting with the latest version of Clover. This post assumes a certain level of experience, and is meant more as a collection of solutions than a step-by-step guide. By the end of this post, all your hardware should work flawlessly, and OSX maintenance upgrades (e.g. 10.10.2 > 10.10.3) should install without trashing your system.

Since there are different V5-171-* variants, my system specs are as follows:

Acer Aspire V5-171-9661
Intel Core i7-3517U
HM77 chipset
Intel HD4000 graphics, 1366x768
Elantech Touchpad with v4 hardware
Anatel Atheros AR5B22
InsydeH20 EFI 3.7
System BIOS Version 2.21
Clover Bootloader r3241 (as of the time of this writing) [booting in EFI mode]
OSx 10.10.4 Yosemite (as of the time of this writing)

This guide should equally apply to any V5-171-* built in 2012-2013 that has an Ivy Bridge Core i5 or i7 processor.

SMBios

  • The 11" MacBookAir5,1 uses an Ivy Brdige Core i7 3***U processor with HD4000 graphics on an Intel HM77 board. This would seem the perfect model to emulate for this laptop. Unfortunately, Clover doesn't provide an option for the 5,1 in its wizard, only for the 13" 5,2. You can either create the SMBios manually, matching the values for a real MacBookAir5,1, or just use 5,2 since it has the same hardware minus the screen size.
  • The Retina MacBookPro10,1 would be another good option. It uses an Ivy Bridge Core i7 3***M processor with  HD4000 graphics and the HM77 Chipset.

Here's the values for a MacBookAir5,1:

<key>SMBIOS</key>
    <dict>
        <key>BiosReleaseDate</key>
        <string>06/08/15</string>
        <key>BiosVendor</key>
        <string>Apple Inc.</string>
        <key>BiosVersion</key>
        <string>MBA51.88Z.00EF.B03.1506081623</string>
        <key>Board-ID</key>
        <string>Mac-66F35F19FE2A0D05</string>
        <key>BoardManufacturer</key>
        <string>Apple Inc.</string>
        <key>BoardType</key>
        <integer>10</integer>
        <key>ChassisAssetTag</key>
        <string>Air-Enclosure</string>
        <key>ChassisManufacturer</key>
        <string>Apple Inc.</string>
        <key>ChassisType</key>
        <string>10</string>
        <key>Family</key>
        <string>MacBook Air</string>
        <key>Manufacturer</key>
        <string>Apple Inc.</string>
        <key>Mobile</key>
        <true/>
        <key>ProductName</key>
        <string>MacBookAir5,1</string>
        <key>SerialNumber</key>
        <string>C02XXXXXDRV6</string>
        <key>Trust</key>
        <false/>
        <key>Version</key>
        <string>1.0</string>
    </dict>

You'll need to generate your own Serial.

Additionally, you can find dumps (DSDT, IOReg, etc.) for real Mac hardware at the following link:
http://tdev.me/2010/12/apple-hardware-dumps/

Kexts

Basic kexts you'll need. Install all kexts to ../Clover/kexts/10.10/ unless otherwise specified:
FakeSMC
https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads
ElanTouchpad Driver
https://osxlatitude.com/index.php?/topic/1948-elan-and-focaltech-smart-touchpad-driver-mac-os-x/

Clover Configuration

My clover config is attached to this post, and can likely be used as is (generate your own serial), but in general:

  • Disable all ACPI DSDT edits except for New Way and Fix Regions
  • Use the wizard to generate an smbios of MacBookAir5,1
  • Nearly everything clover offers should be disabled (graphics, USB, etc.). We'll fix things in other ways.

My Bootflags: -v dart=0 nv_disable=1 kext-dev-mode=1 -xcpm

Clover Drivers:

Drivers present in ../Clover/drivers64UEFI/

FSInject-64.efi
HFSPlus.efi - Needed for Clover to read HFS+ formatted partitions.
NTFS.efi - Needed for Clover to read NTFS formatted partitions (if you're dual-booting with windows).
OsxAptioFix2Drv-64.efi - Needed to enable hibernation when booted in UEFI mode, and to fix the persistence of the hardware NVRam.
OsxFatBinaryDrv-64.efi - Needed for Clover to read Fat32 formatted partitions.

DSDT

Get the stock ACPI tables. I booted into Ubuntu Linux for this.

You should now have your stock DSDT and SSDTs.

The first step is to correct any errors (Patch at end of section). Mine had a single error:
 

Result is not used. Operator has no effect: line 6114

Original:

    Method (_L1F, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
    {
        Not (LPDL, LPDL)
        If (LEqual (\_SB.PCI0.LPCB.EC0.IOAC, Zero))
        {
            Store (\_SB.PCI0.LPCB.EC0.LIDF, Local0)
            Not (Local0, Local0)
            If (LGreaterEqual (OSYS, 0x07D6))
            {
                Add (Local0, 0x02)
                \_SB.PCI0.GFX0.GLID (Local0)
            }

            Notify (\_SB.PCI0.LPCB.LID0, 0x80)
        }
        Else
        {
            If (LEqual (\_SB.PCI0.LPCB.EC0.LIDF, One))
            {
                \_SB.PCI0.GFX0.GLID (0x03)
            }
        }
    }
}

Corrected: [deleted bolded line]

    Method (_L1F, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
    {
        Not (LPDL, LPDL)
        If (LEqual (\_SB.PCI0.LPCB.EC0.IOAC, Zero))
        {
            Store (\_SB.PCI0.LPCB.EC0.LIDF, Local0)
            Not (Local0, Local0)
            If (LGreaterEqual (OSYS, 0x07D6))
            {
                \_SB.PCI0.GFX0.GLID (Local0)
            }

            Notify (\_SB.PCI0.LPCB.LID0, 0x80)
        }
        Else
        {
            If (LEqual (\_SB.PCI0.LPCB.EC0.LIDF, One))
            {
                \_SB.PCI0.GFX0.GLID (0x03)
            }
        }
    }
}

I also fixed two warnings:
 

Not all control paths return a value WM00: line 4783
original:

Method (WM00, 3, NotSerialized)
{
    Store ("00", CTID)
    If (LEqual (Arg1, 0x06))
    {
        CSMI (Arg1, Arg2)
        Return (DI00)
    }
    
edited: [added the bold]

Method (WM00, 3, NotSerialized)
    {
        Store ("00", CTID)
        If (LEqual (Arg1, 0x06))
        {
            CSMI (Arg1, Arg2)
            Return (DI00)
        }
        [B]Return (Buffer (One)
        {
            0x00
        })[/B]
    }
Resource tag larger than field 64bit tag, 32bit feild: line 1488

Original:

If (LOr (LEqual (MM64, Zero), LLessEqual (OSYS, 0x07D3)))
{
    [B]CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN)[/B]  // _LEN: Length
    Store (Zero, MSLN)
}

Edited: [changed CreateDWordField to CreateQWordField]

If (LOr (LEqual (MM64, Zero), LLessEqual (OSYS, 0x07D3)))
{
    [B]CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN)[/B]  // _LEN: Length
    Store (Zero, MSLN)
}

I also created a patch that automates the above changes, taking care of the error, and both warnings, and also addresses the vast majority of the remarks:

# Fix Error "Result is not used, operator has no effect" Line 5690
into method label _L1F parent_label _GPE code_regex Add\s\(Local0\,\s0x02\) remove_matched;

# Fix Warning "ResourceTag larger than Field (Size mismatch, Tag: 64 bits, Field: 32 bits)" Line 1488
into method label _CRS parent_hid PNP0A08 code_regex CreateDWordField\s\(BUF0\,\s\\\_SB\.PCI0\.\_Y0F replace_matched begin CreateQWordField (BUF0, \\_SB.PCI0._Y0F end;

# Fix Warning "Not all control paths return a value (WM00)" Line 4783
into method label WM00 parent_hid PNP0C14 insert begin
                    Return (Buffer (One)\n
                    {\n
                        0x00\n
                    })\n
end;

# Fix Remark "Use of compiler reserved name (_T_0)"
into_all all code_regex _T_([0-9]) replaceall_matched begin T_%1 end;

DSDT should now compile without any errors or warnings. Save a virgin copy so you can backtrack if you make any mistakes.

Now we begin patching. Nearly all of the patches I used are from RehabMan's laptop patch repo:

https://github.com/RehabMan/Laptop-DSDT-Patch

Basic Recommended Patches

Add MCHC
https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/system/system_MCHC.txt
Fix Mutex
https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/system/system_Mutex.txt
Masquerade OSX ("Darwin") as Windows 8 ("Windows 2012")
https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/system/system_OSYS_win8.txt
SMBus Fix
https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/system/system_SMBUS.txt

HD4000 Graphics

Apply following patches from the repo to your DSDT:

Rename GFX0 to IGPU (apply first)
https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/graphics/graphics_Rename-GFX0.txt
Enabled HD4000 & Inject HDMI info
https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/graphics/graphics_HD4K_low.txt

You'll also need to set ig-platform-id in clover:

<key>Graphics</key>
    <dict>
        <key>ig-platform-id</key>
        <string>0x01660003</string>
    </dict>

Power Management

This is accomplished through Clover, or a custom SSDT.

I used ssdtprgen.sh to generate a custom SSDT.aml and placed it into ../Clover/ACPI/patched/ to handle my power management. If you go this route, you must also enable Xnu CPU Power Management using bootflag -xcpm and must also set KernelPM to true in your Clover config.

USB

To get USB fully working, simply apply these two patches:
https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/usb/usb_7-series.txt (apply first)
https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/usb/usb_7-series-multiplex.txt

Multiplex patch needs a couple of minor edits to work with this laptop. First, our bios uses Name not Method for USB _PWR. Find the line that reads:

 

Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) }\n

and edit it to read:

Name (_PRW, Package () { 0x0D, 0x03 })\n

Also in the multiplex patch, find the line that reads:

"AAPL,device-internal", 0x02,\n

and edit it to read:

"AAPL,device-internal", Zero,\n

to match what the MacBookPro10,1 (same chipset) uses. It uses "AAPL,device-internal", 0x02, for ECH1 and ECH2, and 0x00 (Zero) for XHC1.

Now, reboot (MAKE SURE YOU UNINSTALL GenericUSBXHCI.kext!), and USB should be fully functional using native Apple kexts.

Audio

Audio required much fiddling. The V5-171-9661 uses an ALC271x codec. One can find a working kext here:
http://www.insanelymac.com/forum/topic/298663-applehda-for-yosemite/
that will give you functioning internal speakers, and headphone jack after applying the following DSDT layout patch:

# Maintained by: toleda for: github.com/toleda/audio_alc8xx
# File: hdef3-alc8xx_audio-3.txt_v2.0
# Credit: PikeRAlpha
#
# Add_HDEF, for dsdts with no HDEF, set Audio_ID: 3
#
# 1. Enable Audio ID: 3, Add HDEF/layout-id=3
into method label _DSM parent_adr 0x001B0000 remove_entry;
into device name_adr 0x001B0000 insert
begin
    Method (_DSM, 4, NotSerialized)\n
    {\n
        If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
        Return (Package()\n
        {\n
            "layout-id", Buffer() { 0x03, 0x00, 0x00, 0x00 },\n
            "PinConfigurations", Buffer(Zero) {},\n
              "hda-gfx", Buffer() { "onboard-1" },\n
        })\n
    }\n
end;

but to get the internal microphone working, and to make sound survive OSX upgrades, some further work is needed.

To make sound update-proof, you need to have Clover patch AppleHDA.kext on the fly, and use an injector kext to supply the stock AppleHDA.kext with information about our codec. Starting with the above kext for ALC271x, I followed this guide:
http://www.insanelymac.com/forum/topic/298027-guide-aio-guides-for-hackintosh/page-2?do=findComment&comment=2030060

to create a DummyHDA.kext. If installed to /System/Library/Extensions along side the untouched AppleHDA.kext, and Clover has the following patches applied (an explanation of how to generate your Clover patches with a script is in the thread linked above), the system should now have sound (but no mic).

            <dict>
                <key>Comment</key>
                <string>Expect 2 matches</string>
                <key>Find</key>
                <data>
                hAjsEA==
                </data>
                <key>Name</key>
                <string>AppleHDA</string>
                <key>Replace</key>
                <data>
                AAAAAA==
                </data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>Expect 2 matches</string>
                <key>Find</key>
                <data>
                hQjsEA==
                </data>
                <key>Name</key>
                <string>AppleHDA</string>
                <key>Replace</key>
                <data>
                AAAAAA==
                </data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>Expect 2 matches</string>
                <key>Find</key>
                <data>
                hBnUEQ==
                </data>
                <key>Name</key>
                <string>AppleHDA</string>
                <key>Replace</key>
                <data>
                aQLsEA==
                </data>
            </dict>

To fix the internal microphone, you'll need to edit the pathmaps and codec information you added to DummyHDA.kext. My DummyHDA.kext with these edits already made is attached to this post, and can likely be used without modification on another V5-171-9661.

Relevant Tutorial Thread:
http://www.insanelymac.com/forum/topic/295001-guide-to-patch-applehda-for-your-codec/

The ALC271x kext from which we took the files uses layout 3, and pathmap id 269 (under path 48 in platforms.xml).

Structure of pathmaps.xml from downloaded ALC271x kext in PlistEdit Pro:

PathMaps
     |
     [0-47]
     |
     48-[Contains PathMapID for our codec used by ALC271x pathced kext, 269]
         |
         PathMapID: 269
         |
         PathMap
              |
              0-INPUT
              |    |
              |    0—Line In
              |    |    |
              |    |    0 Input NodeID
              |    |    |
              |    |    1 Mixer/Selector NodeID
              |    |    |
              |    |    2 Pin Complex NodeID
              |    |
              |    1—Internal Microphone
              |         |
              |         0 Input NodeID
              |         |
              |         1 Mixer/Selector NodeID
              |         |
              |         2 Pin Complex NodeID
              |
              1—OUTPUT
                   |
                   0—Internal Speakers
                   |    |
                   |    0 Pin Complex NodeID
                   |    |
                   |    1 Mixer/Selector NodeID
                   |    |
                   |    2 Output NodeID
                   |
                   1—Headphone Jack
                        |
                        0 Pin Complex NodeID
                        |
                        1 Mixer/Selector NodeID
                        |
                        2 Output NodeID

NodeIDs for V5-171-9661

Line in
Input 9
Selector 34
Complex 18

Microphone
Input 8
Mixer 35
Complex 27


Internal Speaker
Pin Complex 20
Mixer 13
Output 3

Headphone
Pin Complex 33
Mixer 12
Output 2

In the pathmap.xml we took from the ALC271x's kext and placed into DummyHDA.kext, it was only necessary to change the mic’s pin complex from 24 to 27, all the other nodes were correct already.

The next step is to edit the codec verbs for the microphone as follows:

Original:
01471c10 01471d00 01471e17 01471f90 01b71c20 01b71d00 01b71ea7 01b71f90 01d71c30 01d71d90 01d71e18 01d71f40 02171c40 02171d10 02171e21 02171f00

Corrected:
01471c10 01471d00 01471e17 01471f90 01471c10 01471d00 01471e17 01471f90 01d71c30 01d71d90 01d71e18 01d71f40 02171c40 02171d10 02171e21 02171f00

As you can see I changed the second set of four verbs (bold) from:
01b71c20 01b71d00 01b71ea7 01b71f90
to:
01471c10 01471d00 01471e17 01471f90

as per bcc9’s script. Everything else in this kext matches the verbs provided by the script.

If you edit the info.plist file in a text editor, you’ll need to convert the codec verb string from hex to base64.

The info.plist edits should look like this:

Original:
        <key>CodecID</key>
        <integer>283902569</integer>
        <key>ConfigData</key>
        <data>
        AUccEAFHHQABRx4XAUcfkAG3HCABtx0AAbce
        pwG3H5AB1xwwAdcdkAHXHhgB1x9AAhccQAIX
        HRACFx4hAhcfAA==
        </data>

Corrected:
        <key>CodecID</key>
        <integer>283902569</integer>
        <key>ConfigData</key>
        <data>
        AYccMAGHHRABhx6BAYcfAAGXHEABlx0AAZce
        oAGXH5ABtxwQAbcdAAG3HhMBtx+QAhccYAIX
        HRACFx4hAhcfAAG3DAI=
        </data>     

Install the edited dummy kext to /System/Library/Extensions, rebuild the kext cache, reboot, and sound should work (make sure you have the stock, untouched AppleHDA.kext in /System/Library/Extensions, not the downloaded ALC271x kext).

With these changes, the files taken from the modified ALC271x AppleHDA and placed into DummyHDA will allow the stock AppleHDA.kext to load, provide sound/mic, and sound will survive OSX upgrades.

Wireless

Not possible. Replace the card with a Dell 1510, or similar OSX compatible card. Note that the DW1510 does not have Bluetooth, and the V5-171-9661's Bluetooth chip is integrated on the stock wireless card. If Bluetooth is important to you, you'll have to use a different card.

Ethernet

The V5-171-9661 has a Netlink BCM57785. To ensure that ethernet survives OSX upgrades, I used FakePCID and an injector to load the stock Apple network kext.
https://github.com/RehabMan/OS-X-Fake-PCI-ID

Add FakePCID.kext and FakePCIID_BCM57XX_as_BCM57765.kext to ../Clover/kext/10.10, reboot, and ethernet works.

Battery

Done with Rehabman's ACPI Battery Driver:
https://github.com/RehabMan/OS-X-ACPI-Battery-Driver
and a DSDT edit, utilizing this patch from the repo:
https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/battery/battery_Acer-Aspire-E1-571.txt

HDMI Audio & VGA

Simply apply the following Clover kext patch:

            <dict>
                <key>Comment</key>
                <string>HDMI-audio HD4000 0x01660003, port 0205</string>
                <key>Find</key>
                <data>
                AgUAAAAEAAAHBAAA
                </data>
                <key>Name</key>
                <string>AppleIntelFramebufferCapri</string>
                <key>Replace</key>
                <data>
                AgUAAAAIAAAGAAAA
                </data>
            </dict>

Brightness Control

Apply following patch from the repo to your DSDT:
https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/graphics/graphics_PNLF_ivy_sandy.txt

That patch will get rudimentary brightness controls working, but for full control, in conjunction with that patch, you'll either need to install Rehabman's Backlight kext:
https://github.com/RehabMan/OS-X-ACPI-Backlight

or, as I did, you can use an injector kext to load the default Apple backlight kext.

Install the kext in /System/Library/Extensions (doesn't load from ../Clover/kexts/10.10), rebuild the kext cache, reboot and you should have full backlight control. My injector kext with this work done is attached.

Brightness Keys

Fn+LArrow for brightness down
Fn+RArrow for brightness up

The V5-171-9661 uses DSDT ec query method _Q11 for brightness down, and _Q12 for brightness up.

As of version 4.3 of the Elantech driver, there is native support for ACPI brightness keys, releaving us of the need to use a middleman kext to enable them. With this new version, you only need to apply this simple DSDT patch to get the keys working:

#Edit methods _Q11 and _Q12 to interface with KBC0
into method label _Q11 replace_content
begin
// Brightness Down\n
Notify (KBC0, 0x20)\n
end;

into method label _Q12 replace_content
begin
// Brightness Up\n
Notify (KBC0, 0x10)\n
end;

Note that by default the driver has FinerBrightnessControl set to true in it's info.plist, breaking brightness control into 64 steps, as opposed to the normal 16 that OS X uses. See this thread for more information on how to configure the Elantech driver:
https://osxlatitude.com/index.php?/topic/5969-details-about-the-enhanced-keyboard-for-elan-touchpad-driver/

Hibernation, Hardware NVRam, Facetime & iMessage

When booting in UEFI mode, Hibernation can be enabled by including the OsxAptioFix2Drv-64.efi Clover driver when you install. With this driver included, hibernation, set to mode 3 (safe sleep) by default, will work with no other changes. To test this, sleep the laptop with the A/C cable disconnected, and then pull the battery. With the battery reattached, when the laptop is powered on, Clover should say (Hibernated) next to your OSX partition, and when selected, your computer should return to the state it was in when you put it to sleep.

Including OsxAptioFix2Drv-64.efi also fixes the hardware NVRam, allowing one to forgo including Clover's NVRam emulator, EmuVariableUefi-64.efi. Without either driver installed, NVRam contents does not persist across reboots.

Functional NVRram, whether Clover's emulator, or the hardware NVRam, is required for Facetime & Messages to work. In short, it is necessary to get a unique serial number, to ensure NVRam works, and to call Apple.

Optional: Trim Support (for those with SSDs)

As of 10.10.4, you only need to issue a terminal command to enable trim support:

$ sudo trimforce enable

Optional: Rename Devices in DSDT to Match Apple Conventions

I created a patch that renames all relevant devices in the DSDT to match what OSX expects. This patch is purely cosmetic; apply at your own risk.

Renames:
EC0 > EC
SAT0 > SATA
ACAD > ADP1
BAT1 > SMB0
PXSX@RP02 > ARPT
PXSX@RP03 > GIGE
CRF1 > SDXC
XHC > XHC1

 

# Rename EC0 to EC (embedded controller) to be more Apple-like
into device label EC0 set_label begin EC end;
into scope label EC0 set_label begin EC end;
into_all all code_regex \.EC0\. replaceall_matched begin \.EC\. end;
into_all all code_regex \^EC0\. replaceall_matched begin \^EC\. end;

# Rename SAT0 to SATA (serial ata) to be more Apple-like
into device label SAT0 set_label begin SATA end;

# Rename ACAD (ac adapter) to ADP1 to be more Apple-like
into device label ACAD set_label begin ADP1 end;
into method label _Q37 parent_hid PNP0C09 code_regex ACAD replaceall_matched begin ADP1 end;
into method label _Q38 parent_hid PNP0C09 code_regex ACAD replaceall_matched begin ADP1 end;

# Rename BAT1 (battery) to SMB0 to be more Apple-like
into device label BAT1 parent_label _SB.PCI0.LPCB set_label begin SMB0 end;
into_all all code_regex Notify\s\(BAT1 replaceall_matched begin Notify (SMB0 end;

# Rename PXSX at RP02 (wireless) to ARPT to be more Apple-like
into device label PXSX parent_adr 0x001C0001 set_label begin ARPT end;
into method label HPME parent_adr 0x001C0001 code_regex PXSX replaceall_matched begin ARPT end;

# Rename PXSX at RP03 (ethernet) to GIGE to be more Apple-like
into device label PXSX parent_adr 0x001C0002 set_label begin GIGE end;
into method label HPME parent_adr 0x001C0002 code_regex PXSX replaceall_matched begin GIGE end;

# Rename CRF1 at RP03 (sdcard reader) to SDXC to be more Apple-like
into device label CRF1 parent_adr 0x001C0002 set_label begin SDXC end;

# Rename XHC to XHC1 (usb3.0) to be more Apple-like
into device label XHC set_label begin XHC1 end;
into_all all code_regex \^XHC\. replaceall_matched begin \^XHC1\. end;

Optional: Implement Compiler Recommended DSDT Optimizations

I created a patch that addresses the vast majority of the optimizations the compiler suggests. Again, use at your own risk.

 

# Optimization Change \_SB.PCI0._Y0* to ^_Y0*
into_all all code_regex \\_SB\.PCI0\._Y0([0-9]) replaceall_matched begin \^_Y0%1 end;
into_all all code_regex \\_SB\.PCI0\._Y0([A-F]) replaceall_matched begin \^_Y0%1 end;

# Optimization: Change \_SB.PCI0.LPCB.HPET.Y1* to ^_Y1*
into_all all code_regex \\_SB\.PCI0\.LPCB\.HPET\._Y1([0-9]) replaceall_matched begin \^_Y1%1 end;

# Optimization: Change \_SB.PCI0.PDRC._Y1* to ^_Y1*
into_all all code_regex \\_SB\.PCI0\.PDRC\._Y1([0-9]) replaceall_matched begin \^_Y1%1 end;

# Optimization: (0x00000000 to Zero
into_all all code_regex \(0x00000000 replaceall_matched begin \(Zero end;

# Optimization: Package (0x01) to Package (One)
into_all all code_regex Package\s\(0x01\) replaceall_matched begin Package (One) end;

In the attached zip you'll find my Clover config.plist; my DummyHDA.kext; my AppleBacklightInjector.kext; my native, untouched DSDT; and my patched DSDT. If you can diff my untouched DSDT with yours and have only trivial differences, then you can use my patched DSDT as is.

V5-171-9661 Post Install.zip

  • Like 1

Share this post


Link to post
Share on other sites

  • Our picks

    • [SUCCESS] DELL LATITUDE E5440 - High Sierra 10.13.2 [UEFI]
       What Works / Does Not Work: Everything works except the built-in Intel WiFi wireless network card.
      NOTE: The NVIDIA GT 720M, specifically the external graphics card, is completely disabled (on MacOS).
      • 2 replies
    • Welcome to OSXL! We are looking for volunteers to join us!
      Welcome to OSXL! 😀
       
      We, at OSXL, are a bunch of passionate Hackintoshers who have joined together for creating a community to drive learning, sharing and helping people interested in running Apple Mac software or tinkering with it on non-Apple hardware. We do research and development on a voluntary basis in our free time.
       
      Since its inception in 2010, our team evolved with people joining and going for all sorts of reasons. Nevertheless, this team brought out some of the best people who contributed to making the Hackintosh community progress. Unlike some other players, we’re very proud to we have consistently offered an ad-free website without calling for financial support, except on very rare occasions, and also made one of the best looking sites.😍 
       
      Back in the days, we also designed our "EDP" project to provide a common OS X installation package and a unified post-installation tool. EDP basically offered a central hub for system tuning. The project went through several phase and the latest one is currently Work In Progress. We also completed some research work and developed drivers, fixes and patches for some hardware.
       
      We recently revamped our site to a more modern look and implemented latest security features so to give our members an improvise quality of experience.
       
      Also, we are looking to expand for diversifying the content on our site not only to Apple OS, but also Linux, Android and Windows in the very near future with research and development as tech industry has changed a lot recent years and there is so much we can do in other areas and be relevant to what we do. 
       
      We are looking for passionate and dedicated people who can invest time and efforts in our community on projects like EDP and many others. 
       
      Drop us a line here in comments or through PM if interested so that we can chat about motivation, skills and ideas.
       
      You can find our crew list here if you would like to PM instead: OSXL Crew
       
      OSXL
       
        • Like
      • 0 replies
×