Jump to content

tluck

Members
  • Content Count

    2,112
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by tluck

  1. Lenovo T460 macOS with Clover Guide Latest Release on GitHub Updated to Clover r4861 Updated Kexts Shift to use WhatEvergreen.kext SSDT updates for T460 Added Frank's T470p DSDT files Added T470 DSDT Remove kextunload/kextload in /etc/rc.sleep and /etc/rc.wake to avoid KP on sleep Various Tweaks over Last months The zip file is a complete Clover ESP (/EFI) bundle and kext pack for the Lenovo T460. The current file bundle is tested on Sierra. Note: I never got the GFX fully working on El Capitan. Full Clover file set - config.plist etc. Includes all custom kexts Includes custom DSDT/SSDT scripts and patches Utility scripts The zip bundles are posted to GitHub: https://github.com/tluck/Lenovo-T460-Clover/releases Caveat: The T460 systems used here was configured with: i5-6300U, Intel HD Graphics 520, 1920x1080 touch screen. If you have a different system model, then extract the ACPI files and use the included scripts to create a set of files consistent with your system type and BIOS version. See below for details. Credits: RehabMan, Shmilee, vusun123, TimeWalker, Mieze from which, much of their work and help is/was was used to get the T460 to this point. Devices and aspects working: Ethernet - Intel I219LM is enabled via IntelMausiEthernext.kext WiFi/BT - substitute the Intel WiFi/BT with a compatible Broadcom or Atheros chip Audio - ALC293 codec implemented via AppleALC.kext (old AppleHDA_ALC293 and CodecCommander kexts are not needed) PS2 - ClickPad + TrackPoint + all 3 buttons - using a modified VoodooPS2Controller to support new layouts - and added some custom Fn key maps based on 440/450 dsdt USB - implemented via custom SSDT + USBInjectAll kext. All USB3/USB2 ports are intel-based and work - 3 external USB and internal Camera, BT, etc Sleep/Wake - the sleepwatcher package and custom sleep/wake scripts are used to help with sleep/wake for BT and PS2 devices. Note: have not tried to implement the SD card reader - no driver found. ACPI Files New Installation - Steps and Details Part 1 - OS Installation Part 2- Post OS Installation and Setup Notes on Custom Kexts
  2. tluck

    Lenovo ThinkPad T420 with UEFI Only

    @POWerSUrgeSW3 what version macOS is your installer? if you have a working HD, do you have bay or external USB box to make a clone? you can always reinstall the same OS on top a workin instance to clean it up. 10.14.3 is working as good as High Sierra. @leaddonkey the best way to upgrade from High Sierra to Mojave is to use the config.mojave.plist on HighSierra (I.E. get it running on MPB9,1 - and then download the version you need. but stay with 10.14.3 sorry i have zero experience with encrypted HD. but i presume you have put all the extra clover drivers in place?
  3. tluck

    Lenovo ThinkPad T420 with UEFI Only

    hey if you are on Mojave - don't upgrade past 10.14.3 - i got blackscreen and window server crashes etc. - in other words, the old recipes are not enough.
  4. tluck

    [pre-release] macOS Mojave 10.14.4

    i have a similar issue with HD3000. i just tried to update to 10.14.4 beta1 and i get blackscreen unless i disable acceleration - safemode or inject gfx id 0x12345678. wonder if this is the end of the road for non-metal systems?
  5. tluck

    Clover General discussion

    FYI - PlayAsync=true now works on my 2 laptops without issue with r4868. nice!
  6. tluck

    Clover Themes

    @Slice the recent change 4867 puts the messaging text in bad location (too high) overlapping with other icons with Clovy. can you adjust it to move it down a bit? the messages: Boot macOS or Start UEFI is right next to the icons and overlaps them a bit. \ and with other themes seems like the same thing message is pretty jammed up with icons?
  7. tluck

    AppleALC — dynamic AppleHDA patching

    good news - with today's updates after 1651 retries, it finds the analog Codec info! latest version works for me. (I was wondering if it was a matter of timing?) ... alc @ failed to find IOHDACodecVendorID, retrying 1649 alc @ failed to find IOHDACodecVendorID, retrying 1650 alc @ failed to find IOHDACodecVendorID, retrying 1651 alc @ (DBG) platformLoadCallback 2 0 1 14530 1 alc @ (DBG) resource-request arrived platform alc @ (DBG) checking codec 10EC:292:100001 alc @ (DBG) selecting from 3 files alc @ (DBG) comparing 0 layout C/12 alc @ (DBG) comparing 1 layout 12/12 ...
  8. tluck

    AppleALC — dynamic AppleHDA patching

    well the new code is not working for me on my Dell (that has 3 audio devices), but it works on other machines (they only have 1 device). the grabCodecs tries to find properties IOHDACodecVendorID and IOHDACodecRevisionID... but the new iterator method of searching IOREG only finds in the non-analog devices? even though there are 3 devices to find. I made it work by expanding the IOREG search to beyond the current controller and find any instance of IOHDACodecVendorID/IOHDACodecRevisionID and then I stuff these properties in HDEF so they will be found (vs device below it) since they are not found by the iterator otherwise. the attached log shows all the devices the iterator finds. Strange that it only finds one IOHDACodecDevice - bug in the iterator? $ ioreg -xl|egrep "IOHDACodecD|odecV|odecRev"|grep -v Kit | | | +-o IOHDACodecDevice@0,1,0 <class IOHDACodecDevice, id 0x1000003d4, registered, matched, active, busy 0 (110 ms), retain 7> | | | | "IOHDACodecVendorID" = 0x1002aa01 | | | | "IOHDACodecRevisionID" = 0x100300 | | | +-o IOHDACodecDriver <class IOHDACodecDriver, id 0x1000003d7, !registered, !matched, active, busy 0 (110 ms), retain 5> | | | | "IOClass" = "IOHDACodecDriver" | | | | "IOProviderClass" = "IOHDACodecDevice" | | | +-o IOHDACodecDevice@3,0 <class IOHDACodecDevice, id 0x1000003e1, registered, matched, active, busy 0 (65 ms), retain 7> | | | | "IOHDACodecVendorID" = 0xffffffff80862807 | | | | "IOHDACodecRevisionID" = 0x100000 | | | +-o IOHDACodecDriver <class IOHDACodecDriver, id 0x1000003e3, !registered, !matched, active, busy 0 (64 ms), retain 5> | | | | "IOClass" = "IOHDACodecDriver" | | | | "IOProviderClass" = "IOHDACodecDevice" | | | | "IOHDACodecRevisionID" = 0x100001 | | | | "IOHDACodecVendorID" = 0x10ec0292 | | | +-o IOHDACodecDevice@1B,0 <class IOHDACodecDevice, id 0x1000003ea, registered, matched, active, busy 0 (423 ms), retain 7> | | | | "IOHDACodecVendorID" = 0x10ec0292 | | | | "IOHDACodecRevisionID" = 0x100001 log
  9. tluck

    AppleALC — dynamic AppleHDA patching

    more info ... something doesn't seem right in the new GrabCodecs - can't find the analog codec i changed the logic to scan enter registry vs (ctlr-detect location) ... and then it at least finds a codec (albeit not an the ALC292 but the HDMI codec (2807) if i hard code the VendorID in appendCodecs it works. $ ioreg -xl|grep IOHDACodecV | | | | "IOHDACodecVendorID" = 0x1002aa01 | | | | "IOHDACodecVendorID" = 0xffffffff80862807 | | | | "IOHDACodecVendorID" = 0x10ec0292 //auto iterator = IORegistryIterator::iterateOver(ctlr->detect, gIOServicePlane, kIORegistryIterateRecursively); auto iterator = IORegistryIterator::iterateOver(gIOServicePlane, kIORegistryIterateRecursively); if (iterator) { IORegistryEntry *codec = nullptr; while ((codec = OSDynamicCast(IORegistryEntry, iterator->getNextObject())) != nullptr) { if (codec->getProperty("IOHDACodecVendorID")) { DBGLOG("alc", "found analog codec %s for %X:%X", safeString(codec->getName()), ctlr->vendor, ctlr->device); appendCodec(this, codec); break; } }
  10. tluck

    AppleALC — dynamic AppleHDA patching

    Hi, the recent changes to AppleALC broke audio on my Dell M4800. the older AppleACL-test with CodecLookup.plist method works. here are diffs between working and non-working (latest) repos. $ diff -rq AppleALC-vit9696 AppleALC-test|grep -v git|differ diff AppleALC-vit9696/AppleALC/kern_alc.cpp AppleALC-test/AppleALC/kern_alc.cpp diff AppleALC-vit9696/AppleALC/kern_alc.hpp AppleALC-test/AppleALC/kern_alc.hpp diff AppleALC-vit9696/AppleALC/kern_resources.cpp AppleALC-test/AppleALC/kern_resources.cpp diff AppleALC-vit9696/AppleALC/kern_resources.hpp AppleALC-test/AppleALC/kern_resources.hpp diff AppleALC-vit9696/AppleALC.xcodeproj/project.xcworkspace/xcuserdata/tluck.xcuserdatad/UserInterfaceState.xcuserstate AppleALC-test/AppleALC.xcodeproj/project.xcworkspace/xcuserdata/tluck.xcuserdatad/UserInterfaceState.xcuserstate diff AppleALC-vit9696/ResourceConverter/main.mm AppleALC-test/ResourceConverter/main.mm Only AppleALC-test/Resources/CodecLookup.plist ALC_logs.zip log zip has the kernel logs snippets for working and failed situation. It finds 4 controllers to scan/patch on working version But then only 3 and it fails to find a suitable codec. Note: this box has an AMD card for the external ports (HDAU) and ALC292 for analog. what else can I provide to debug? Note: the latest ver works on my T420 HD3000.
  11. @aleixsr darn. thought i did this already - but i just cleaned up the clean/wake scripts to remove the kextunload - this is not needed. in fact you can decide if you need to totally remove the /etc/rc.sleep /etc/rc.wake scripts. but for now just remove the kextunload/kextload lines in these files: /etc/rc.sleep /etc/rc.wake
  12. sorry i can't be of more help on T460 upgrades. reboot on sleep could a problem with USB? but looking in the system log may help understand what is not right? i cant recall if there is a need to patch to allow more than 15 usb ports or not. if so, they are not in the config for High Sierra or Mojave - same for any BRCM patches. Maybe if someone has a working T460 on HS or Mojave they can share their EFI and I will retrofit the patches to the repo. @osmac - what is your BT device? meaning do you have a replacement Broadcom for example?
  13. tluck

    Clover General discussion

    Question: is there a way to set display Menu ratio X:Y ? my native screen is FHD 1920x1080 (16:9 = 1.778) but i have to boot with 1280x1024 (1.25) or 1024x768 (1.333) so everything looks squashed. I am using Clovy - so it may be adjustable? - I see scale multipliers but not sure for non-uniform x vs y.
  14. well that's a lot simpler! and it works. PS: i made a more space efficient clover icon by using the macOS iconutil to dump out the iconset and removed the 512 and 1024 size.
  15. look in CloverPackage/package/buildpkg.sh ditto -xk "${PKGROOT}/Icon.zip" "${PKG_BUILD_DIR}/Icons/" DeRez -only icns "${PKG_BUILD_DIR}/Icons/Icon.icns" > "${PKG_BUILD_DIR}/Icons/tempicns.rsrc" Rez -append "${PKG_BUILD_DIR}/Icons/tempicns.rsrc" -o "${distributionFilePath}" SetFile -a C "${distributionFilePath}" rm -rf "${PKG_BUILD_DIR}/Icons"
  16. there is process in the packaging to copy a resource fork to the package. roughly there is a zip with an icon that is supposed to have a resource fork that is copied and applied. the initial unzip leaves Icon.icns such a thing to copy ### /Applications/Xcode.app/Contents/Developer/usr/bin/DeRez - SysError -39 during open of resource file "/Extra/Clover_Install/CloverGrowerPro/edk2/Clover/CloverPackage/sym/package/Icons/Icon.icns".
  17. tluck

    Lenovo ThinkPad T420 with UEFI Only

    what config.plist are you selecting? you can just make the one the works the default? for 1600x900 i think config 2e2 works best.
  18. tluck

    Clover General discussion

    4852: there is a logic issue in Clover/rEFIt_UEFI/Platform/Settings.c problems is it wont try to open sound.wav if !Daylight is false (i.e DayLight is true) (DayLight is true when timezone corrected time is between 8:00 and 20:00) the other logic issue was it would alway play embedded sound instead of sound.wav since it would never come back with failed status. also NowHour needs to adjusted if < 0 i.e if NowHour < 0 ; then NowHour = NowHour +24 original: if (!DayLight) { Status = StartupSoundPlay(ThemeDir, L"sound_night.wav", OldChosenAudio); } if (EFI_ERROR(Status)) { Status = StartupSoundPlay(ThemeDir, L"sound.wav", OldChosenAudio); } NEW if (!ThemeDict) { // No theme could be loaded, use embedded DBG (" using embedded theme\n"); ... Status = StartupSoundPlay(ThemeDir, L"embedded", OldChosenAudio); } else { // theme loaded successfully ... if (!DayLight) { Status = StartupSoundPlay(ThemeDir, L"sound_night.wav", OldChosenAudio); if (EFI_ERROR(Status)) { Status = StartupSoundPlay(ThemeDir, L"sound.wav", OldChosenAudio); } } else { Status = StartupSoundPlay(ThemeDir, L"sound.wav", OldChosenAudio); } } fixed using this logic: if there is a real theme with 1 or 2 sound files (sound.wav and sound_night.wav) check for nightime and try to use sound_night.wav if no sound_night.wav use sound.wav i chose to use embedded sound ONLY when using embedded theme rather than fall back. but this is just an opinion. -------------- $ diff /Extra/Clover_Install/CloverGrowerPro/edk2/Clover/rEFIt_UEFI/Platform/Settings.c /Temp/Settings.c 2719c2719 < } else if (AsciiStriCmp (Prop->string, "Daytime") == 0) { --- > } else if (AsciiStriCmp (Prop->string, "DayTime") == 0) { 4195a4196 > Status = StartupSoundPlay(ThemeDir, L"embedded", OldChosenAudio); 4211,4212c4212,4213 < } < if (EFI_ERROR(Status)) { --- > if (EFI_ERROR(Status)) { Status = StartupSoundPlay(ThemeDir, L"sound.wav", OldChosenAudio); } > } else { $ diff /Extra/Clover_Install/CloverGrowerPro/edk2/Clover/rEFIt_UEFI/Platform/StartupSound.c /Temp/StartupSound.c 71c71 < if (SoundFile) { --- > if ( StriCmp(SoundFile, L"embedded") != 0 ) { 74c74,75 < DBG("file sound read: %r\n", Status); --- > DBG("file sound read: %s %r\n", SoundFile, Status); > return Status; 76,77c77 < } < if (EFI_ERROR(Status)) { --- > } else { 4852_update.zip
  19. tluck

    Clover General discussion

    made me LOL when i heard it work (after adding sound_night.wav) ! now i need to figure out timezone thing.
  20. @Blaggah yeah you will need SSDT-PNLF for brightness
  21. sorry. i just updated the zip (now) to have the latest files. so maybe you should pull it down again.
  22. @Blaggah this thread guide refers to this file repo: https://github.com/tluck/Lenovo-T460-Clover - cloning your macOS HD is a great approach. i just did that very thing for my 2 systems to get them in sync. each system has is own folder for their specific config files, ACPI, kexts - CLOVER/OEM/<board_id>/... - so everything works on the X1 but the audio? what is the audio codec? AppleALC supports so many codecs now but the config.plist file may be setting an invalid layout.
  23. the more recent Whatevergreen replaces AppleBacklightInjector. - you need to make sure the _UID in SSDT-PNLF.aml is set to 16 (0x10) vs 10 (0xA) - remove AppleBacklightInjector.kext - remove levels patch in config.plist - so it wont change level range for 0-1000
  24. the github repo is up to date for latest EFI (clover and kexts), but i would look at the config.plist in DSDT.T470 by @kolodzieski to be the most current for 10.14
  25. tluck

    Lenovo ThinkPad T420 with UEFI Only

    if you using the SSDT-T420-PS2K-keys.aml (default) then the F1-F12 are remapped to apple functions like F1/F2 are brightness, F10/F11/F12 are audio. F8 turns on/off trackpad. not sure about blurryness?
×