-
Notifications
You must be signed in to change notification settings - Fork 32
Testing of as yet untested functionality [Thunderbolt 3, DRM] #6
Comments
Power Management The item that really made a difference was undervolting with Voltage Shift. Unfortunately, it will vary from CPU to CPU, but I've gotten stability at -110 for CPU and Cache, and -70 for GPU. I set both power limits quite high at 60w; however, this is the piece I'm most unsure about. Also, after sleep, I lose the undervolt. It is supposed to check every 5 minutes to make sure, but I don't think that piece is working correctly - still looking into that. However, undervolting in a pretty cool room increased my Cinebench R20 score from 1529 to 1735. https://github.com/sicreative/VoltageShift A third piece of power management is actually hardware related. I installed a 01YR202 heatsink made for the dGPU model, making sure to cover the dGPU interface with Kapton tape. Besides the tape, it's a plug and play solution - just add thermal paste. There are even screws on our motherboard for the GPU portion. I only saw minimal benefit, so it might not be worth the price and effort. |
-110 is stable value for me too. GPU for me could be undervolted up to -80 but I didn't test long time stability. I know about VoltageShift, problem is that kext and script have to be in same folder and I would like to move VoltageShift.kext to EFI instead of disabling SIP for kexts. There are some people over internet which have VoltageShift in EFI folder so it should be possible, I would probably ask on Reddit about this. |
@danny7g Can you please test these two files. It is a modified version of voltageshift program which should work with kext in EFI folder. I think it works, but it could be a placebo effect. Or the new EFI in the testing branch |
Thanks! Voltageshift worked in the EFI folder. I reconfigured with my undervolt numbers. I tested by setting the folder in terminal "cd /Volumes/MAC\ EFI/EFI/OC/Kexts" and running "./voltageshift info" before and after sleep. I also downloaded the original script and tested outside of the kexts. I then removed the script from the Kexts folder. Finally, I tested in Cinebench to confirm that the undervolt was working before and after sleep, just in case the Voltageshift info command didn't work the way I was thinking. Everything looks good. I haven't tested the GPU stability with the undervolt again yet, but previously I used Unigine Heaven. With all of the tweaks, I was getting higher Cinebench scores than stock for a 8350u. For Unigine Heaven, the UHD 620 GPU has been under-performing stock even though hardware acceleration is working for me (tested with VideoProc). The only thing that made a slight improvement was switching the RAM dedicated to graphics to 2 GB; this is already built into your config.plist. I'm using a modified version of the testing branch EFI folder now. I don't need some items like light sensor, never got IO sensors working (I may return to that because I want to control fan speeds), added Broadcom Bluetooth/Wifi, I'm not sure if NVME Fixup is relevant, may remove SSDT-HRTF in future testing, etc. I'm still getting some junk in the Verbose boot log, but still need to play around with it some more. Once upon waking from sleep I lost touchpad functionality, but I can't recreate the issue. Attached is my current version of the testing EFI with platform info removed from the Generic section of the config.plist. |
Thanks for your feedback. I am not sure if I understand correctly what you did with the VoltageShift as there is no need to have EFI folder mounted. Original voltageshift wouldn't work as there is part which checks if the VoltageShift.kext is in the same folder.
Good point about the light sensor kext, will remove it too. It's useless. I'm not sure though about SMCSuperIO as macOS could use it for fan control. There are currently ( at least for me ) issues with VoodooRMI ver. 0.3.0. TrackPad/TrackPoint sometimes don't work. You can for now revert to version 0.2.0 |
the command "./voltageshift info" is querying the system status, not the kext itself. when i had the kext load from outside the EFI, i would get a return value of -110 CPU -70 GPU -110 CPU cache. however, the values would go to zero after sleep. now that it is loading from the efi, after sleep my values are still -110 -70 -110. |
Power Management I can confirm that undervolting works, but somehow I can't achieve the same undervolting and temperatures that I can achive under windows 10. Under Windows 10 I can undervolt to -120 CPU -80 GPU -120 Cache while under macOS 15.5.5 I can only undervolt to -115 CPU -80 GPU -115 Cache (isn't a big difference). Also while I can get ~35º C at idle on Windows 10 I'm getting ~40º C on macOS. I tried to create my own CPU Friend profile, but I'm not pretty sure about how good or bad it currently is (I'm still learning about Hackintosh). My CPU is i7-8650u. Do I have to modify any other file to match the config to my CPU?. I can help with other functionality tests that doesn't involve thunderbolt or USB C video output, just tell me what do you want me to do. I can also confirm that PM981 doens't work at all. I achieved to somehow install mac OS but it stopped working after two or three boot attempts. Then I decided to switch to SM961 (I read that it was compatible) but I'm getting the problem described on the issue I reported. Other than that I can confirm that sleep works without any conflict and that both the lid's led and the power button led starts to blink after 10-15 seconds. I can try to messure how long does it take to start to blink. I didn't find any trouble waiking up from sleep. Also I will try to messure power consumption on sleep state. Finally, I can confirm that NVMeFix works to improve SSD temperature. My temperatures reduced ~10º C (from 43º to 33º) using it. |
I tried to make SMBus work without any success... Is there a way to control fan's RPM? Also I found that battery info. isn't that accurate. Cycle count doesn't match as well as full charge capacity (at least with what lenovo vantage shows). |
TrackPad and TrackPoint does not work for you?
I think this should be doable with some Fan control utility which does not depends on fan placement by SMBIOS.
I think that battery health info is unimportant for Hackintosh. If actual battery life indicator works, it's fine. |
I confirm Sidecar working on my T480 (Fenvi BCM94360NG). I removed all the intel wireless kexts. |
Wired, wireless? If you mean wired, can you test wireless connection too please. It should work with supported Broadcom card |
It is wireless card. It performs good and no lag. |
Perfect. I could have deduced that. |
I think this should be doable with some Fan control utility which does not depends on fan placement by SMBIOS.
How can I help with "Upper (charging) USB Type C port" and " FireVault 2"? |
Yep, when I had battery treshold configured to 80% it showed 83%, I do not recognize it as a problem though. I would take a look if there is some new revision of BATC and BATT, iasl was mad about these two.
I was not able to get the first USB C port working and as I don't really need it I didn't explore it further.
By testing If FV2 encryption is possible, it should be trivial to do with OC unlike with Clover. I would not do that if you have there some important data though |
I am using coconutBattery, and it shows the accurate battery percentage than native os. However, when the battery falls below 15%, both numbers from coconutBattery and native OS will converge. |
I can confirm that these configs work without changes with FileVault on 10.15.5. I did initially setup the FileVault with the recommended settings from OpenCore guide but it seems that those changes aren't even needed because everything worked when I forgot to update the settings. |
About this topic: I found over here that this mate is ussing SSDTs to handle battery threshold. Would be awesome if we can implement this on the T480 too. I'm still learning how ACPI works so easier said that done.
Do you mean for data transfer? I can test that.
This got confirmed by someone else, maybe I would try too, I'm still focused on solve my SSD problem. |
I also confirm the FileVault working without any changes to the config. |
NOTE - This post is WIP and is subjected to change as I do further testing. Hi All, I can assist with testing USB C mappings, power delivery, video, audio and data. For work, we use Dell WD15 K17A001 USB C docking stations which I have asked to lend over the weekend. The docking station only supports USB C with PD and DP, and has the following ports:
Thinkpad T480 hardware
BIOS Settings I had some issues with the Thunderbolt controller not showing up in Thunderbolt(TM) 3
Software
USB Mappings Discovery There is a second XHC hub in the T480 located within the TB3 controller I have attached a copy of I am aware of the 15 port limitation and I am uncertain if macOS handles both XHC controllers as one. Would be great for a Subject Matter Expert on USB mappings to provide some thoughts on this kext. USBPorts.kext Change log USBPorts.kext
USB Power Delivery Conclusions
Additional Notes / TODO
Comment Change log Hope this helps! Angus |
Wow, thanks for really detailed report. I will look at your USB Map ASAP. Feel free to open pull request when it is finished.
Thats the reason why TB port did not work. I am glad that someone was able to fix that.
I mapped it using the corpnewt's USBMap and it did not found SS04 either. Hackintool is somewhat using same script as those kexts are almost identical ( Mine missing USB power settings though )
I think that this is fine. macOS should definitely handle them independently. |
Thanks, will do. There really isn't that much difference structure wise between the kexts by corpnewt's tool or Hackintool.app. Haven't decided whether to replace
I had theorised in the original repo taina0407#5 (comment) that we needed a second entry to map to the other hub so its great that seemed to fix it.
Interesting, Hackintool.app automagically added the USB power settings. Hackintool.app couldn't find
I am starting to think they are indeed treated as separate hubs. |
I'm back. After selling my SM961 SSD and getting a WD SN750 I can confirm that the SSD was the problem. With this new one I'm being able to sleep without loosing any performance after waking up. By the other hand, @EETagent : Do you remember this issue? #9 Interesting enough, I'm getting it. From my last working hackintosh build to this one I only changed the SSD and the display (got a 1080p IPS display). I can confirm that I can't find it under USB devices, even after trying to create my own USB map. How can this be possible? Any suggestions? It should appear on the 3.0 USB bus, but it does not. I also verified that bluetooth is enabled on the BIOS. Everything else works awesome, I can confirm that the TB port has working USB interface as stated on the message above this one. I also tried both with my old opencore build (the one used when facing SSD problems) and the last one here on the repo, I just cloned it. I'm kind of lost on this, because I can't find any relation between what I changed and what happens now hahaha. My theory is that maybe it is under another bus... is it possible? |
Can you verify with USBMap that HS07 is not there? And with USBMap + USBInjectAll too? Give Ubuntu live USB a try to check that there is no hardware damage |
What?? Oddly enough, I was gathering all the info that I was able to get under linux. There my bluetooth worked fine, so after that I rebooted to macOS and now it sees the bluetooth device under HS07 and in fact it works just as well as before. Maybe it was disabled at OS level because I remember I turned it on and off a couple of times before rebooting to macOS Edit: Maybe it was disabled at OS level? I rebooted a couple of times more and it still works, indeed. I'm so happy because now I have a fully working hackintosh (at least on the things I care of). Of course there are still some things to polish, so I think we should focus on that. |
Some feedback, comments and corrections: USB-C-ports on the right:
Thunderbolt
DRM / Whatevergreen:
Powermanagement
Bios
Sidecar
|
I'm anxoius to see this improvement. This would take hackintosh on the T480 to the next level.
Works fine for me, what problems do you have with those USB devices?
Isn't it possible to disable CFG Lock on modded BIOS? I've done it and I was able to disable the kernel Quirks related to CFG Lock.
Mine never gets that low on frequency, but I can get ~0.8W on idle and 1.5W while writting this with only intel power gadget, the terminal and Firefox open.
I'm curious about this one, does it helps on anything under other OSs? Please elaborate if you can.
AFAIK I and another person here have our T480 modded. I can't remember its nametag, though. |
Have a look at the port statistics in ioreg. The ports should be sleeping/suspended when they are not in use. The problem is relatively subtile, but there. It adds to the total power draw.
Yes, but it doesn't help much, when the system can't throttle the cpus because of other HW-problems (mostly TB-related)
LPM-Frequency depends on CPUFriendProvider.kext. Do you have TB enabled? Additionally: What runtime do you get (pls name your battery-config)?
If you do virtualization, yes. |
Wow, thats may be the best runtime i've seen so far for a T480. I would be really interested in dissecting your secret. If you are interested join https://gitter.im/YogaSMC/community and send me a private message there so we don't clutter this issue anymore. |
Actually USB 3.1 Gen 1 was recently rebranded to USB 3.2 Gen 1(x1) and USB 3.1 Gen 2 to USB 3.2 Gen 2(x1). Not talking about 3.2 Gen 2x2 ... Their naming makes sense, but its confusing for normal consumer
Interesting, can you post here required device properties? Thanks
What do you mean by "lacks many advanced feautures of TB on the mac". eGPU? Hot swapping? DMA protection? As far as I know TB3 should work ( Without hot swapping ) even without any additional configuration, at least I saw that over r/hackintosh. Also can you provide additional info about that PCIe2PCIe bridge mode? Thanks
This chart is only for Apple's FairPlay and it is better to have this confirmed on actual configuration. Same with Google's Widewine, which should work on any Hackintosh.
Yes, I do not know about any config where one achieved 800Mhz idle. Power management on iGPU is the biggest problem now #20, but sadly there is nothing we can do about that. "Flaky usb-port-sleep on the cardreader/webcam" I did not know about this, will check it soon.
This only disable SMBIOS check, MBP 15,2 and 14,1 are already supported so this is useless. Another problem we have is hibernation, do not know how it exactly works on macOS, but setting that on Ubuntu/Fedora btrfs was really hell |
Aaaaaarghs ;)
But as I said, its more complicated.
eGPU shows up as internal, TB2TB-Networking, PM etc
The other question is about HW-acceleration ;)
Just took the shot on this machine: It's the LFM for my CPU: https://ark.intel.com/content/www/de/de/ark/products/124968/intel-core-i7-8650u-processor-8m-cache-up-to-4-20-ghz.html
As I said, didn't checked it deeply.
Hibernation is hibernatemode 25 and not used on modern macs per default. I can hibernate, the machine powers off and wakes back up. But there is CMOS-checksum-error at boot which I can't get rid off yet and it doesn't have any real benefits for me, so I didn't invest much time. Additionally there seem to be issues from time to time with VoodooPS2 where keycodes get borked on resume (maybe ~20% of my tries or so). |
Just wanted to add that the ThinkPad USB-C/USB-A Hybrid Dock Gen 2 is functional. TESTED AND WORKING:
UNTESTED:
|
I am trying to get a 4K output through the Thunderbolt port, but using a USB-C to DisplayPort doesn't work (I get a flash of the desktop at 1440p then the output stops working). |
OK, I managed to get the USB-C to DisplayPort cable working. I'm not sure what I did exactly, but if I boot with it while the lid is closed it works fine. |
Managed to get thunderbolt 3 bus using a changed ssdt from this guide: Here's my proof and ssdt. |
My 4k monitor is working at 1440p but I can't seem to get 4k working yet. @Charlyo Any chance I can take a look at your EFI folder? I added the file and enabled it in the config plist, but I need DTPG too? |
have a guide for this ?I add to opencore, but it didn't work! |
I did the same and am also curious to what you did to get it to work. Thanks. |
@Charlyo Can you help me config Tb3 in T480? |
I need help testing the following functionality
Tested. Works
Tested. Works
Tested. Works
Tested. Works
"- [ ] Sidecar with 14,1 SMBIOS
Not really needed, but would like to hear if someone managed to get it working
"Additional reports about sleep functionality and PM981 would be appreciated.
The text was updated successfully, but these errors were encountered: