Contribute
Register

[Guide] Thinkpad X1 Yoga (3rd Gen) 20LD with Mojave

Status
Not open for further replies.
Joined
Jun 16, 2012
Messages
51
Motherboard
Thinkpad X1 Yoga (3rd Gen)
CPU
i7 8650u
Graphics
UHD620, 2560 x 1440
2018-10-05 17.04.33.jpg
(Adapted from High Sierra with Mojave updates)

I am writing this mini guide for the Thinkpad X1 Yoga 3rd Gen to document my installation process and help others along the way. This guide is by no means complete as I don't know why I do half the things I do. But if you are willing to spend time combing the forums, you will find an explanation for most of the whys. I am happy just standing on the shoulders of the hackintosh giants! I will focus on providing links to the resources as much as possible since one problem I frequently encounter is the lack of references. References are good, not just for giving credit, but also to trace the source of the solution so that you know the context e.g. is it an old hack, has the solution been updated, is the solution meant for a particular laptop model, a particular version etc.?​

While I will try to respond to queries, I am better at following instructions than troubleshooting, so I'll probably need help from the community in this regard.

[Working] Wifi (Replace with DW1560), Bluetooth, Trackpad, Trackpoint (Overly sensitive), Touchscreen Keyboard, Dual boot with Windows 10, Ethernet via USB dongle, USB-C Hot Plug, Audio, Mic, USB, Key brightness control, Screen brightness control, Battery status, Graphics acceleration, HDMI using dongle. HiDPI

All tested functions work after waking from sleep.
[Untested] Thunderbolt hotplug, Power management, Trim (not needed on AFPS apparently), Touchpad with I2C instead of PS2...
[Not Working] Hibernation, Sleep***, Undervolting, Micro SD Card reader, WWAN

Here is what I have tried thus far, following the instructions from Rehabman's 1, 2 and a few other sources LukaJankovic's git, xinyuwufei, tylernguyen's git.

Hardware Prep

  1. Swap the PM981 SSD to either a SATA M.2 SSD or a more compatible NVME SSD
  2. Replace stock WLAN Intel card with the BCM94352Z DW1560 WLAN card. Don't get the BCM94352Z Lenovo version. On the X1Y3, there is no WLAN whitelist, so the DW1560 works. Get it from eBay for around $25-$30.
  3. OR Stick to the intel, and get a wifi dongle. I used the Edimax AC1200 nano, and it worked after I downloaded the driver.
  4. USB flash drive of at least 8gb.
Files
https://github.com/shockingpants/ThinkpadX1Y3

Install

  1. Follow this installation guide. I have listed a summary of the steps and a few updates below.
  2. Create USB installer USB for 10.14 using a USB 2.0 or 3.0 flash drive, MBR or GPT version. (They are all tested to work)
    1. Added ApfsDriverLoader-64.efi; AppleImageCodec-64.efi; AptioMemoryFix-64.efi; FSInject-64.efi; HFSPlus.efi; to drivers64UEFI folder.
      • I replaced AFPS.efi with ApfsDriverLoader-64.efi; AppleImageCodec-64.efi instead.
    2. Added ACPIBatteryManager.kext; AppleBacklightInjector.kext; FakePCIID_Broadcom_WiFi.kext; FakePCIID_Intel_HD_Graphics.kext; FakePCIID.kext; FakeSMC.kext; IntelMausiEthernet.kext; Lilu.kext; USBInjectAll.kext; VoodooPS2Controller.kext; WhateverGreen.kext
      • I replaced IntelGraphicsFixup.kext and CoreGraphicsFixup.kext with WhateverGreen.kext, and added the usual kexts.
    3. Added config.plist based on Rehabman's config_HD615_620_630_640_650.plist.
      • The only change I made was to use an invalid ig-platform-id (0x12345678). Will change it back in post install, see below.
      • I left Intel GFX as 0x59168086.
      • Everything else stayed the same.
  3. I formatted my SSD to APFS instead of HFS J+. Use disk utility from the install media once you boot successfully into the installation page.
  4. Changed my BIOS Setting
    1. Disabled VT-d
    2. Enabled DEP (under memory protection / execution prevention)
    3. Disabled secure boot
    4. Disabled legacy boot
    5. Enabled CSM
    6. Enabled boot from USB
    7. No Fast Boot Option
    8. No Data mode option
    9. Intel SGX Disabled
    10. TPM Disabled
  5. Didn't do anything to DVMT preallocate in the BIOS because the BIOS is locked. It doesn't look like anyone from Bios-Mod has successfully unlocked the BIOS either. source-dudu2002
    • Does anyone know if the DVMT preallocate on this laptop is greater than 32mb? If not, how do I check? The resource I found applies to Dell's BIOS.
  6. After switching to the Crucial MX500 1TB or Samsung 860 1TB, I was able to install successfully!
  7. I replaced the stock WLAN card with the DW1560. There doesn't seem to be a whitelist in the X1Y, so I am able to access the internet even after the switch! No need for BIOS hacking!
 
Last edited:
Post Install

!!!!! Notes !!!!!
I am listing some important steps so I don't have to repeat them too much.
  1. Add kexts to /Library/Extension aka /L/E. (Keep /System/Library/Extension pristine, don't add kext there) While you can add kexts to Clover/kexts/Other, it is not recommended for post installs. Read guide under "Installing Kexts" for reasons why.
  2. Once FakeSMC.kext is added to /L/E, Clover will stop injecting kext from Clover/kexts/Origin if InjectKexts=Detect in config.plist (by default).
  3. After adding or removing kext from /L/E, be sure to update the kext cache. Use Kext Utility, let it run, or use code
    Code:
    sudo kextcache -i /
    . Make sure all kext are allowed.
  4. When editing plist, use Xcode as much as possible. Some people don't recommend clover configurator (not sure why), but it makes comparing between different plist much easier. Also, the general consensus is not to edit config.plist with a text editor.
  5. It is easy to get confused between using decimal, ASCII, hex etc. when populating ACPI and config.plist with values. Always check to see what values to use.
  6. To report errors, use gen_debug. It ensures that you don't miss out important files. Before running gen_debug, when starting up with clover, at the clover screen, press Fn+F4 to generate .aml files in CLOVER/ACPI/origin.
  7. If you are getting kernel panic, the most common reason by far is due to graphics / framebuffer. You'll need to boot with a fresh Clover and config.plist using a fake ig-platform-id = 0x12345678, update the kext cache, change the ig-platform-id back to the right one 0x591b0000, and restart your computer. For this reason, I always keep a copy of my installer USB so that I can still boot into OS in case of kernel panic.
  8. Whenever you change a BIOS setting or update BIOS, ACPI changes. (ACPI lets the computer know how to control its hardware, so ACPI will change if you want certain hardware to be on or off etc.) Extract the new ACPI and repatch it. (Update: 11/20 I didn't need to repatch the ACPI for the past 2 BIOS updates. Not a best practice, but it worked for me so far.)

Wifi and Bluetooth
Add FakePCIID.kext and FAKEPCIID_Broadcom_WiFi.kext. Download here
Add BrcmFirmwareData.kext and BrcmPatchRAM2.kext. Download here.
If Bluetooth isn't working, patch USB first.
Note: If wifi isn't working, you could try BroadcomWiFiInjector.kext with AirportBrcmFixup.kext as a replacement for FakePCIID_Broadcom_WiFi.kext. See README.
Alternatively, use the edimax ac1200 instead with the appropriate drivers. While it is not generally recommended in this forum due to sleep issues, it worked for me for now. Check out the dual boot section for more comments on wifi.

DSDT/SSDT patching
Follow this guide. I will be using static patches because it is faster to implement. Hot patching will take more time to implement, but easier for others to use. More information on the syntax can be found here.
  1. Download MaciASL and iasl.
  2. Extract .aml files. While in the clover bootloader, press Fn+F4 (I tried F4, Ctrl+F4 and Fn+F4 just in case.) This creates a folder CLOVER/ACPI/origin that contains all the .aml files.
  3. Following the guide, extract the files using
    Code:
    iasl -da -dl DSDT.aml SSDT*.aml
    In my case, I was getting error on Line 267, error 6126, "syntax error, unexpected PARSEOP_NAME". To fix, just comment out the One.
    Code:
     Name (SS1, 0x00)
    Name (SS2, 0x00)
    Name (SS3, One)
    // One
    Name (SS4, One)
    // One
  4. Apply the following patches. They can be found in MaciASL by clicking the Patch icon next to Compile (I don't know exactly why we need some of the patches, so I'm following the guide blindly.)
    1. "Fix _WAK Arg0 v2"
    2. "Fix Mutex with non-zero SyncLevel" (Needed for battery status)
    3. "OS Check Fix" Choose Windows 10. (Important for many fixes)
    4. "RTC Fix"
    5. "IRQ Fix"
    6. "SMBUS Fix"
    7. "HPET Fix"
  5. There will be additional patches needed to solve other issues. See below, or search for "MaciASL" within page to locate the patches.
  6. Once the DSDT.dsl is happily patched, compile again to make sure that there are no errors.
  7. Save the DSDT.dsl file as DSDT.aml using the Save As function in MaciASL.
  8. Add DSDT.aml to the Clover/ACPI/patched folder.
Note: In BIOS, under config/display, you can set total graphics memory to 256gb or 512gb. The DSDT.aml files extracted from either configuration are different and cannot be used interchangeably.
Note: If anyone successfully port the static patches to hot patches, let me know and I will update my repo.

Trackpad and other inputs
Add the Voodoo-PS2-Controller.kext. Download here
Add SSDT-Thinkpad_Clickpad.aml to the patched folder in clover. Download the .dsl here, and convert it to .aml using MaciASL.
TBD: I may implement VoodooI2C and VoodooI2CHID since people using the dell 9360 prefer the I2C implementation.
Trackpoint is overly sensitive with VoodooPS2, I don't recommend using it unless the trackpad fails randomly.
The touchscreen works somewhat, but it doesn't support multitouch. In fact, the only functionality is touch -> left click. I think VoodooI2C has a different implementation.

Battery Status
Apply the [sys] Fix Mutex with non-zero SyncLevel patch on MaciASL.
Apply the [bat] Lenovo x230i on MaciASL.
Add ACPIBatteryManager.kext.
Note: For the batter patch, someone has gone through the whole process listed here and written the patch for Lenovo x230i. It happens to work on some of the modern Thinkpads that share similar batteries. A hot patch guide is available here.

Screen Brightness Control
Follow this quick guide. There are essentially 3 steps to enable brightness control (slider in sys pref/display)
  1. a single pre-built AppleBacklightInjector.kext
  2. a patch for AppleBacklight in config.plist/KernelAndKextPatches/KextsToPatch
    Code:
    <dict>
    <key>Comment</key>
    <string>change F%uT%04x to F%uTxxxx in AppleBacklightInjector.kext (credit RehabMan)</string>
    <key>Name</key>
    <string>com.apple.driver.AppleBacklight</string>
    <key>Find</key>
    <data>RiV1VCUwNHgA</data>
    <key>Replace</key>
    <data>RiV1VHh4eHgA</data>
    </dict>
    It can be found in config_patches.plist from https://github.com/RehabMan/OS-X-Clover-Laptop-Config.
  3. Update (Mojave). In the patch, change <46257554 25303478 00> to <46257554 25303478> instead.
  4. Add SSDT-PNLF.aml to activate the AppleBacklight.kext
To enable brightness control with the keys, patch with this code:
Code:
into method label _Q15 replace_content
begin
    Notify(\_SB.PCI0.LPCB.KBD, 0x0405)\n
end;
into method label _Q14 replace_content
begin
    Notify(\_SB.PCI0.LPCB.KBD, 0x0406)\n
end;
Note that I had to use ...LPCB.KBD for the X1 Yoga 3rd Gen instead of ...LPCB.PS2K or ...LPC.KBD. The right code can probably be found in the DSDT.dsl for an arbitrary laptop.

Extra: This guide is used to determine which labels correspond to the brightness keys. Do note that the log keeping method mentioned in the guide is a little dated, so I have attached a link below to a more updated kernel logging method. You will only need to go through the process below if your laptop is significantly different from mine, and if the method described above doesn't work. The steps below will help you find out what EC method is called by your laptop's brightness keys. Using ACPIDebug:
  1. Patch DSDT.dsl with debug.txt on MaciASL (copy the code in debug.txt directly to the patch window)
  2. Install ACPIDebug.kext
  3. apply "Add DSDT Debug Methods" patch on MaciASL
  4. apply "Instrument EC Queries" patch on MaciASL.
  5. Monitoring system.log on console.app produces nothing, so read this thread, and this thread.
  6. Capture the log into kernel.log
    Code:
    log stream --predicate "processID == 0" --level debug >> /tmp/kernel.log
    While capturing, press the brightness keys. Terminate the process with Ctrl+C. In the kernel.log file, you should see _Q15 and _Q14 when less brightness and more brightness is pressed respectively.

Sound
Add AppleALC.kext and Lilu.kext.
In config.plist, under Devices, in the Audio field, inject 11. The X1Y3 uses ALC285 (In IOreg, look for AppleHDACodecGeneric, and the corresponding vendorcodecID. Mine is 0x10ec0285, which corresponds to ALC285), which matches id 11 (see AppleALC's codec support).
Note: I encountered a problem when I used an older Lilu.kext with a newer AppleALC.kext, so for the best compatibility, download the latest files.
Note2: Sound sometimes disappears after disconnecting from HDMI. Nothing a restart won't fix.
Note3: In Mojave, the method works for Kabylake but not Skylake Spoof.

USB
You can follow this guide for completeness sake. I followed LukaJankovic's instruction for simplicity and it so happened to work.
  1. Add USBInjectAll.kext. Download here.
  2. Add FakePCIID.kext and FakePCIID_XHCIMux.kext
  3. Patch com.apple.driver.usb.AppleUSBXHCI to remove limit. Find the right patch (version, cpu) from config_patches.plist. Add the patch to KernelAndKextPatches/KextsToPatch on config.plist.
  4. Add the following ACPI patch in config.plist. Alternatively, copy it using xcode from a similar config.plist.
    Code:
    <dict>
    <key>Comment</key>
    <string>change EHC1 to EH01</string>
    <key>Disabled</key>
    <false/>
    <key>Find</key>
    <data>
    RUhDMQ==
    </data>
    <key>Replace</key>
    <data>
    RUgwMQ==
    </data>
    </dict>
    <dict>
    <key>Comment</key>
    <string>change EHC2 to EH02</string>
    <key>Disabled</key>
    <false/>
    <key>Find</key>
    <data>
    RUhDMg==
    </data>
    <key>Replace</key>
    <data>
    RUgwMg==
    </data>
    </dict>
    <dict>
    <key>Comment</key>
    <string>change XHCI to XHC</string>
    <key>Disabled</key>
    <false/>
    <key>Find</key>
    <data>
    WEhDSQ==
    </data>
    <key>Replace</key>
    <data>
    WEhDXw==
    </data>
    </dict>
  5. *****If USB works at this point, you may choose to stop here. If not, proceed to patch the ssdt.******
  6. Create custom SSDT-UIAC.aml using this guide. Note: I had the issue of SS01 and SS02 from USB-C appearing under XHC@0 in IOreg. See post #28 from the 10.13 thread for how to handle HS03 HS04 and SS01 SS02 for the USB-C ports. See the sleep section for additional information on SS03.
  7. Once SSDT-UIAC.aml is created, you don't need Port Limit removal patch any longer. Remove it from config.plist, and check IOreg under XHC to see if only the correct ports with the right USB connector values are showing up.
  8. I have added a link to my version of SSDT-UIAC.dsl.
Note: Due to the way Lenovo implements USB3.0 and Thunderbolt on the USB-C ports, there are some weird problems when the screen turns black when connecting the laptop to an external display, while using the SSDT-UIAC patch. This means my patch is probably incomplete, so I'll stick to using port limit removal for now. Also, in my case, only the USB-C port closer to the bottom works consistently with external graphics.

Note2: There appears to be a separate method for patching USB (and other internal ports like wifi, BT etc.) using hackintool. The instructions can be found here. Instead of creating an SSDT file to patch the DSDT, hackintool creates a usbports.kext file as a codeless kext.

Graphics, DVMT, HiDpi
Update (Mojave): RDM shows all the added resolutions. In High Sierra, HiDPI was limited to a max of 1366x768. I'm guessing it has something to do with the way Mojave manages buffer allocation.

Graphics after installation
After installing MacOS, boot into the OS using ig-platform-id = 0x12345678. Rebuild the kext, and change ig-platform-id back to 0x591b0000 or 0x59160000. Keep FakeID IntelGFX = 0x59168086. These values can be found in config_HD615_620_630_640_650.plist.

DMVT realloc workaround
Read this guide. While the guide recommends against using the minStolenSize patch (deprecated), I needed it to avoid kernel panic. The minStolenSize patch can be found in config_deprecated.plist (see thread and guide). I have added the relevant minStolenSize com.apple.driver.AppleIntelKBLGraphicsFramebuffer to my config.plist. Make sure the "0x59160000/etc, 32MB BIOS, 19MB framebuffer 9MB cursor bytes (credit RehabMan)" patch is added (it should be prsent by default).

HiDPI
Copying the HiDPI guide from Luka, and using RehabMan's guide:
  1. Install Lilu.kext and WhateverGreen.kext
  2. Enable HiDPi using
    Code:
    sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
    Update (Mojave): Apparently, HiDPI works even without using this code.
  3. Look for DisplayVendorID by opening IOreg and looking for display0. In my case, AppleBacklightDisplay is under display0. DisplayProductID is 0x0, and DisplayVendorID is 0x2889.
  4. If you have the same DisplayVendorID(2889) and DisplayProductID(0) like me you can use the display override file I've provided here (1600x900 HiDPi, 1920x1080 HiDPi, 1366x768 HiDpi).
  5. You may need to add IODisplayEDID value to the file (See below)
  6. You can use this tool or FixEDID to generate the file.
  7. Place the display override file in /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-XXXX/DisplayProductID-XXXX. (Don't add it to /System/Library/Displays/Overrides/...) Remove .plist extension when copying.
  8. The resolution probably won't be visible in system preference, so download RDM to apply the resolution.
Fixing EDID (Black screen on boot, or connected to external display)
There is a chance that the DisplayProductID-XXXX file generated above will cause black screen in a variety of scenarios. It has something to do with EDID and you will need to fix it. Read this thread, and post for a brief guide on how to fix EDID. Be sure to remove the DisplayProductID-XXXX file before proceeding. Follow the instructions on the fixEDID page:
  1. Download FixEDID and DarwinDumper.
    1. DarwinDumper will appear unsafe to chrome. I downloaded it with Safari instead. If Mac fails to run the program, use terminal to navigate into the package, go to MacOS, and run the program.
  2. Get the EDID dump from Darwin. You need to have successfully booted into the OS with the right ig-platform-id, otherwise, the program will return nothing.
  3. Once DarwinDumper generates the Display bin files, use FixEDID to make a kext and a DisplayProductID file using the .bin file.
  4. Place the kext in /Library/Extensions.
  5. Run Kext Utility and
    Code:
    sudo kextcache -i /
  6. Create a new DisplayProductID-XXXX file that includes the correct IODisplayEDID value according to this post.
    1. Use Hex Fiend to format the EDID value.
    2. The value obtained from Darwin Dumpter EDID.txt is the right one, except for the first byte of basic params (the 21st byte), and last checksum byte.
    3. The 21st byte is obtained from the DisplayProductID file from FixEDID.
    4. The checksum is obtained from this site or similar.
    5. Replace IODisplayEDID from DisplayProductID with the modified value and place it in the Override folder (see above)
  7. Reboot.
If everything goes well, you will see the HiDPIs from RDM's drop-down menu, and in Display setting under color, you will see the name specified in Display Product ID.

Screen Shot 2018-10-05 at 9.16.06 PM.png

Power Management and Sleep (not working well)

Power management is working fine. BUT, when the laptop is in 'sleep' (closing the lid, or selecting the sleep option from apple menu), the battery drains as though the computer is on idle. This has to do with Lenovo using Si03 for sleep instead of S3 sleep, which lets the laptop function more like a phone that runs in the background and wakes instantly, but reduces battery life significantly. See post #25. One solution is to wait for the BIOS update, assuming it is in the works. The other solution that the Linux users have tried is to patch ACPI following this guide.

Following this guide, I disabled hibernation and that's it.

Code:
sudo pmset -a hibernatemode 0

sudo rm /var/vm/sleepimage

sudo mkdir /var/vm/sleepimage

sudo pmset -a standby 0

sudo pmset -a autopoweroff 0

I did not apply the Custom SSDT.aml using ssdtPRGen.sh patch since my CPU is after Haswell. The guide mentions that the patches are already reflected in the config.plist such as:
  • config.plist/KernelAndKextPatches/KernelPm=true (Haswell+)
  • config.plist/KernelAndKextPatches/KernelLapic=true (for those with Local APIC panic)
  • appropriate System Definition (SMBIOS) for your CPU (config.plist/SMBIOS)
I enabled HWP using this guide. It is a simple process of opening config.plist with Clover Configurator, and enabling HWP under CPU.

I also applied [usb] USB3 _PRW 0x6D (Instant wake) to DSDT.dsl on MaciASL.

Update: 01/26/2019
@bigredarthur has successfully implemented sleep. To summarize the steps from his posts #12 #14:
1. Patch DSDT.aml using MaciASL with code from here.
2. Patch SSDT-UIAC.aml to include SS03.
3. Set "pmset -a hibernatemode 3"

Note: Used pmset -g log to check if there is anything keeping the laptop awake under "PreventUserIdleSystemSleep".


Dual Boot
Follow RehabMan's guide,

Here are my steps:
  1. Load installer. Using Disk Utility, format 1tb drive into 2 partitions
    1. Mac Os Extended (Journaled) aka HSF+ Journaled, GUID Partition for High Sierra
    2. MsDOS(FAT) for Windows
  2. Install Mac onto the Mac partition
  3. Install Windows onto the Win Partition. (Format the partition in Win installer first. To create a bootable drive, use the win10 media creation tool on a PC )
  4. Change win10 registry so that both mac and windows share the same time. See guide.
(I didn't need to do this step, but I have added it in case you are unable to boot into Mac after instaling Windows.)
rename bootmgfw.efi:
  1. Boot off the UEFI: partition of your flash drive macOS installer
  2. Boot macOS drive
  3. Open Clover Configurator
  4. Select Mount EFI on left column
  5. Click Mount Partition for the drive macOS and Windows is installed on
  6. Click Open Partition
  7. Navigate to EFI/Microsoft/Boot/
  8. Rename bootmgfw.efi to bootmgfw-orig.efi
  9. Restart and UEFI: (your_drive_name) should be an available boot device
If the mac drive doesn't show up.
  1. Mount the EFI partition of your boot drive using Clover Configurator again
  2. Open the EFI and navigate to EFI/BOOT/
  3. Copy BOOTX64.efi
  4. Navigate to EFI/Windows/Boot
  5. Paste BOOTX64.efi here
  6. Rename BOOTX64.efi to bootmgfw.efi after pasting
  7. Restart and boot off Windows Boot Manager and you’ll notice it redirects to Clover instead of booting Windows (Pretty cool huh?)
Note: When using windows, there is a problem where the laptop is unable to wake up from deep sleep. After testing, it seems like it has to do the DW1560 card since changing it back to the original Intel card solved the problem somewhat. You can avoid the issue by not updating to the latest drivers from Lenovo except for a few crucial ones like BIOS. (stick to updates from Windows only, they are more than sufficient.) It probably has something to do with modern sleep and power management on a different WLAN card that the Lenovo drivers don't know how to deal with. You could also try to install the Lenovo drivers for the DW1560. While wifi works generally with the DW1560, it is not the most stable WLAN card when paired with the Yoga, especially after sleep. My final solution, for now, is to use the original intel and add an Edimax AC1200 USB 2.0 dongle for wifi on the MacOS. (Update) Changing the bios setting for thunderbolt worked. Laptopt is able to wake up from deep sleep now.


Undervolting (Not working)
Tried using voltage shift and it didn't respond. Not sure why. Also, since the BIOS is locked, I don't know of another way to alter the voltage unfortunately.

Run Apps from Anywhere is now missing

Apply this code in terminal

Code:
sudo spctl --master-disable


Performance/Benchmark
Geekbench
Geek.png
IdleIdle.png Load (Single Core) Load.png

Accessories
I use the UGREEN hub for ethernet, additional USB-A, ethernet, HDMI, VGA, SD and MICRO SD card reader, and an additional USB-C port with power delivery. I also use the Cable Matters DVI adapter to connect to the older korean 2560x1440 27inch monitors that require dual-link DVI.
 
Last edited:
[Reserved for common troubleshooting questions]
 
Hi I am not sure if it helps, but I have a ThinkPad X1 Carbon 6th gen, running Linux, and the S3 sleep problem was also present on this machine. They fixed it with an update of the BIOS, version 1.30 (see e.g. https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Enabling_S3) and then one can choose Linux Sleeping mode in the BIOS settings. Maybe it is the same for the X1 Yoga?
Anyway I'm gonna try to install Mojave on my machine soon and your guide looks very helpful, thanks!
 
Hi I am not sure if it helps, but I have a ThinkPad X1 Carbon 6th gen, running Linux, and the S3 sleep problem was also present on this machine. They fixed it with an update of the BIOS, version 1.30 (see e.g. https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Enabling_S3) and then one can choose Linux Sleeping mode in the BIOS settings. Maybe it is the same for the X1 Yoga?
Anyway I'm gonna try to install Mojave on my machine soon and your guide looks very helpful, thanks!

Yup, I have been following the thread for the X1 Carbon and am aware of the BIOS update fix for the Carbon. Just waiting for the day Lenovo decides to grace us Yoga users with the same fix. From past trends, all fixes to the Carbon eventually make their way to the Yoga, albeit with some delay. Hopefully, this is the case for the BIOS fix too.

Good luck with the Hackintosh! I would guess most of the guide applies to the X1C6 as well.
 
[Edit: Nevermind - Figured out it was a key toggle. Thanks anyways]

Hi there. First of all, thanks for putting this guide together. I've been on the site since the first intel Macs came out and this was one of the better collection of instructions I've seen.

Before I jump through all the hoops to fix some remaining issues, I wanted to ask whether you had keyboard backlighting working on the x1 yoga 3rd gen? If so, then I'll need to update / upload my info so I can get help per the site's requirements, but if not, that would save me a lot of time and hassle.

Appreciate everything so far. Thanks again.
 
Last edited:
Any way to get Samsung PM981 working?

I've got 1TB PM981 which would be very pity to downgrade :(

I've replaced stock WiFi with BCM94352Z DW1560

During the installation I always get system hanged up and looks like PM981 is the reason.

Now I'm trying to install 10.14 on Thinkpad Yoga X1 Gen3 external USB drive (128GB) and later make a disk clone to PM981.
I really want 1TB fast NVMe be there.
 
[Edit: Nevermind - Figured out it was a key toggle. Thanks anyways]

Hi there. First of all, thanks for putting this guide together. I've been on the site since the first intel Macs came out and this was one of the better collection of instructions I've seen.

Before I jump through all the hoops to fix some remaining issues, I wanted to ask whether you had keyboard backlighting working on the x1 yoga 3rd gen? If so, then I'll need to update / upload my info so I can get help per the site's requirements, but if not, that would save me a lot of time and hassle.

Appreciate everything so far. Thanks again.

Keyboard backlighting works by default amazingly. Just press Fn + Spacebar. (Edit: Looks like you figured it out!)
 
Any way to get Samsung PM981 working?

I've got 1TB PM981 which would be very pity to downgrade :(

I've replaced stock WiFi with BCM94352Z DW1560

During the installation I always get system hanged up and looks like PM981 is the reason.

Now I'm trying to install 10.14 on Thinkpad Yoga X1 Gen3 external USB drive (128GB) and later make a disk clone to PM981.
I really want 1TB fast NVMe be there.

Ha, no luck with PM981 as far as I know. That's why I ended up getting the 256gb nvme option and swapped it out after. You should hold on to it though for a windows PC etc. From benchmark tests, it looks extremely speedy, and someone may figure out a way to get it to work eventually.
 
Looks like Lenovo isn't going to add S3 sleep as a BIOS option to the X1Y3 given that the most recent updates conveniently excluded that option... Additionally, my battery life is absolutely horrible at about 3-4 hours with normal usage on both Win and MacOS when I use the DW1560. As glad as I am that MacOS works, the laptop itself, independent of OS, fails in power management unfortunately...
Just throwing a word of caution to potential X1Y3 buyers thinking of using it as a daily driver away from a power outlet.
 
Status
Not open for further replies.
Back
Top