Tobiko Posted February 26, 2019 Share Posted February 26, 2019 (edited) Hello, When I connect a 4k TV to the HDMI port on my laptop I can only select 1080p/60. I've used RESx and can force 1440p but still not 4k 24/30hz (HDMI port is only 1.4). In windows it will do 4k 24/30hz. I dumped the EDID information in Windows and it is correct in the mac OS display profile. It seems to be related to an iGPU setting or iGPU in general. On my desktop hack this display is recognized as 4k capable in mac OS with ATI and NVidia cards but when using the iGPU (HD630) it has the same problem as the laptop. Is there a setting I overlooked? Thanks Send me Craptop.zip Edited February 26, 2019 by Tobiko Link to comment Share on other sites More sharing options...
Allan Posted February 26, 2019 Share Posted February 26, 2019 For 4k resolution you must have 2048MB of VRAM. You can do the change using the Hackintool: And here's the instruction to you follow up: 1 Link to comment Share on other sites More sharing options...
Tobiko Posted February 27, 2019 Author Share Posted February 27, 2019 (edited) Yes, I am currently using that and have tried all possible combinations of the following VRAM 2048, DVMT pre-aloc 32, enable HDMI 2.0 (4K). Edited February 27, 2019 by Tobiko Link to comment Share on other sites More sharing options...
mnfesq Posted February 27, 2019 Share Posted February 27, 2019 53 minutes ago, Tobiko said: Yes, I am currently using that and have tried all possible combinations of the following VRAM 2048, DVMT pre-aloc 32, enable HDMI 2.0 (4K). Which laptop? Does it have both IGPU and dGPU? Link to comment Share on other sites More sharing options...
Tobiko Posted February 27, 2019 Author Share Posted February 27, 2019 (edited) It is the same one that needed the DSDT for shutdown. HP Envy 17u 2EW64UA aka 17-u275cl . i7-8550u UHD 620 Conexiant Audio It is almost the same as the one in your signature. Yes it has both iGPU and dGPU. The dGPU, mx150, is disabled via Device>Properties. Edited February 27, 2019 by Tobiko Link to comment Share on other sites More sharing options...
mnfesq Posted February 27, 2019 Share Posted February 27, 2019 1 hour ago, Tobiko said: It is the same one that needed the DSDT for shutdown. HP Envy 17u 2EW64UA aka 17-u275cl . i7-8550u UHD 620 Conexiant Audio It is almost the same as the one in your signature. Yes it has both iGPU and dGPU. The dGPU, mx150, is disabled via Device>Properties. My suggestion is based solely on the model of laptop you have. This is NOT for general use. For some reason, the HDMI output on my HP Envy is wired to the Nvidia GPU, not the Intel HD620. I can't even get HDMI to work unless I do two things: I need to use the NvidiaGraphicsFixup.kext along with Whatevergreen.kext (even though they say not use both together,) and I have to enable Nvidia Graphics in my config.plist. For some reason, this makes HDMI work perfectly, including 4K, even though the Nvidia GPU is disabled in my laptop's BIOS. Give it a try and see if it works for you too. 1 Link to comment Share on other sites More sharing options...
Tobiko Posted February 27, 2019 Author Share Posted February 27, 2019 36 minutes ago, mnfesq said: My suggestion is based solely on the model of laptop you have. This is NOT for general use. For some reason, the HDMI output on my HP Envy is wired to the Nvidia GPU, not the Intel HD620. I can't even get HDMI to work unless I do two things: I need to use the NvidiaGraphicsFixup.kext along with Whatevergreen.kext (even though they say not use both together,) and I have to enable Nvidia Graphics in my config.plist. For some reason, this makes HDMI work perfectly, including 4K, even though the Nvidia GPU is disabled in my laptop's BIOS. Give it a try and see if it works for you too. Ok. I will try it. I think though mine is a little different. My HDMI output works fine even HDMI audio. In Windows it shows the iGPU is controlling the HDMI port. The display is configurable through the Intel Graphics software. Also, this TV when connected to the iGPU on my i7-7700k desktop hackintosh it will not do 4k either. When the display is connected to the NVidia or AMD GPU it does 4k. Link to comment Share on other sites More sharing options...
mnfesq Posted February 27, 2019 Share Posted February 27, 2019 11 hours ago, Tobiko said: Ok. I will try it. I think though mine is a little different. My HDMI output works fine even HDMI audio. In Windows it shows the iGPU is controlling the HDMI port. The display is configurable through the Intel Graphics software. Also, this TV when connected to the iGPU on my i7-7700k desktop hackintosh it will not do 4k either. When the display is connected to the NVidia or AMD GPU it does 4k. Hey, this may be totally obvious and stupid but, according to Intel, 4k resolution only works on the 620 at 60 Hz refresh rate. My max refresh rate for the 620 is 50 Hz. What about you? https://www.intel.com/content/www/us/en/support/products/126789/graphics-drivers/graphics-for-8th-generation-intel-processors/intel-uhd-graphics-620.html Link to comment Share on other sites More sharing options...
Tobiko Posted February 27, 2019 Author Share Posted February 27, 2019 (edited) The HDMI port on my UHD 620 laptop is 1.4 it can only do max of 4k 30hz or at least I can set it to 30 hz and it works. It's probably really doing 24hz. I am pissed because the specs for my laptop on the HP website says the USB C port is capable of DP 1.2 transport with an adaptor. It turns out their internal marketing documents say NO it is data transfer only. The HD 630 on my desktop is also limited by the HDMI 1.4 port but 4k 60hz works over display port 1.2 with an active HDMI adaptor but no HDR passthrough. I stole your signature as a template for mine. Hope that is okay. Edited February 27, 2019 by Tobiko Link to comment Share on other sites More sharing options...
Tobiko Posted February 28, 2019 Author Share Posted February 28, 2019 @mnfesq Is there a way to get the SD card reading working in mac OS? Link to comment Share on other sites More sharing options...
mnfesq Posted February 28, 2019 Share Posted February 28, 2019 6 hours ago, Tobiko said: @mnfesq Is there a way to get the SD card reading working in mac OS? Based on the details in your signature, you should be able to use Sinetek's SD Card reader kext. It works pretty well with one notable exception: After you put your laptop to sleep, when it wakes up, the kext won't load. You have to reboot to get the kext to load. Other than that, it works well and has good transfer speeds. Sinetek-rtsx.kext.zip Link to comment Share on other sites More sharing options...
Tobiko Posted March 1, 2019 Author Share Posted March 1, 2019 (edited) I moved this reply about Sinetek-rtsx.kext to a different thread. Edited March 2, 2019 by Tobiko Link to comment Share on other sites More sharing options...
Tobiko Posted March 2, 2019 Author Share Posted March 2, 2019 Unfortunately using Whatevergreen along with NVGFU diesn't solve the issue with my external display. Link to comment Share on other sites More sharing options...
shenlong2210 Posted September 9, 2020 Share Posted September 9, 2020 Dear Tobiko, Do you solved your 4K monitor? I have same problem, I tried port ECID plist from Windows like you but not OK. add more resolution HiDPI buy follow the internet guide but it not right ratio ex:1920x1200 but my monitor 16:9 Link to comment Share on other sites More sharing options...
Ravenstein Posted December 12, 2023 Share Posted December 12, 2023 (edited) Sorry to bring up this thread again, because I am having same problem with Monterey 12.7.1 now. But firstly, I'd like to confirm at least until Catalina 10.15.6, UHD620 is fully capable of 4K@60Hz via HDMI or DP, at least with Thinkpad X1 Carbon 6th as MBP 14,1. which WAS achieved by following steps( w/o modding the BIOS) [ref.][ref.]: KextsToPatch: com.apple.driver.AppleIntelKBLGraphicsFramebuffer: 0F828F03 0000 => 0F820000 0000 Device => AddProperties: PciRoot(0x0)/Pci(0x2,0x0) => framebuffer-fbmem: 00009000 Device => AddProperties: PciRoot(0x0)/Pci(0x2,0x0) => framebuffer-stolenmem: 00003001 Now the first step is not working any more. I wonder if anyone found a solution to patch w/o change the BIOS? thanks in advance! Edited December 12, 2023 by Ravenstein Link to comment Share on other sites More sharing options...
cankiulascmnfye Posted December 12, 2023 Share Posted December 12, 2023 (edited) @Ravenstein You could try to inject the EDID to enable more resolutions: https://github.com/5T33Z0/OC-Little-Translated/tree/main/11_Graphics/Inject_EDID Edited December 12, 2023 by cankiulascmnfye Link to comment Share on other sites More sharing options...
Ravenstein Posted December 12, 2023 Share Posted December 12, 2023 (edited) 1 hour ago, cankiulascmnfye said: @Ravenstein You could try to inject the EDID to enable more resolutions: https://github.com/5T33Z0/OC-Little-Translated/tree/main/11_Graphics/Inject_EDID Thanks for your reply! But I understood the problem here is related to DVMT-preallocated, which is essential for the display bandwidth to transfer 4K@60Hz signals. EDID, if I understood correctly, deals with the resolutions, esp. override resolutions (incl. refreshing Hz). As side proof for this conclusion, macOS has recognized the ext. monitor as e.g. LG HDR 4K, but its given bandwidth(pre-allocated RAM) cannot drive that high resolution. pls correct me if I am wrong --- EDIT: Let me try a calculation: 4K@60Hz needs 3840*2160*60 bits ≈ 48MB, so at least 48MB(+control signal bits?) is needed to drive 4K@60Hz. So a next stage of 32MB =>64MB would be the solution. And to verify this, 64MB is not sufficient for 5K, which needs at least 85MB, so would better go next stage 128MB, I guess. Edited December 12, 2023 by Ravenstein Link to comment Share on other sites More sharing options...
cankiulascmnfye Posted December 12, 2023 Share Posted December 12, 2023 (edited) Alternatively, you could try injecting max-link-rate via device properties: dpcd-max-link-rate | Data | 14000000 enable-dpcd-max-link-rate-fix | Data | 01000000 enable-hdmi20 | Data | 0100000 Edited December 13, 2023 by cankiulascmnfye Link to comment Share on other sites More sharing options...
deeveedee Posted December 13, 2023 Share Posted December 13, 2023 @Ravenstein and @cankiulascmnfye I think after Catalina, we're no longer able to implement kext patches of graphics kexts via CLOVER or Open Core. I think the only way to modify graphics kernel after Catalina is via a mechanism like WhateverGreen? Is that correct? Link to comment Share on other sites More sharing options...
Ravenstein Posted December 13, 2023 Share Posted December 13, 2023 (edited) On 12/12/2023 at 7:04 PM, cankiulascmnfye said: Alternatively, you could try injecting max-link-rate via device properties: dpcd-max-link-rate | Data | 14000000 enable-dpcd-max-link-rate-fix | Data | 01000000 enable-hdmi20 | Data | 0100000 Thanks @cankiulascmnfye for your further suggestions. I did put all these into config.plist, 4K still recognized(i.e. only 2K), although via physical HDMI port 60Hz can be reached. Yet the 2 USB-C ports output only 59Hz. PS: the 2 USB-C ports, one is assigned HDMI( 08), the other/con2 vacant in my config.plist but detected as DP(04). Interesting! @deeveedee, thank you as well for joining the discussion, I am also very impressed by your blog sharing your experience. What do you mean "via a mechanism like WhateverGreen? " Yet I am still think it is possible to patch apple driver: com.apple.driver.AppleIntelKBLGraphicsFramebuffer, just don't know where & how. I am studying the gurus' work now 😉 e.g. if put the Catalina patches into config.plist (OC), OpenCore boot log shows error:OC: Prelinked patcher result 1 for com.apple.driver.AppleIntelKBLGraphicsFramebuffer (KBL-DVMTpatch-10.15.4-10.15.5) - Not Found Checking manually:~ % xxd -g 0 -c 32 /System/Library/Extensions/AppleIntelKBLGraphicsFramebuffer.kext/Contents/MacOS/AppleIntelKBLGraphicsFramebuffer |grep "0F82A7030000" .... not found PS: for KBL-DVMTpatch-10.15.4-10.15.6, the FIND changed to 0F828F030000 ... not found either! I also did following trials: (ig-plaform-id = 04002759 & device0-id=1659000): - framebuffer-unifiedmem increased to 2048MB - framebuffer-stolenmem increase to 30MB (0000E001) vs. typical 19MB(00003001) , this is the max. value still no KP and bootable. I notice more resolutions detected for both native LCD & external 4K monitor, but still no 4K. The reason may be here 30MB+9MB =39MB still <48MB as calculated above, besides maybe the BIOS default 32MB bottleneck. I wonder if anyone could tell me what the Catalina KBL-DVMT KextPatch aiming for? 10.15.1 ~ 10.15.3: 0F82A703 0000 => 0F820000 0000 10.15.4 ~ 10.15.5: 0F828F03 0000 => 0F820000 0000 PS: this forum software is quite robust, Just now after this long text I refreshed webpage thought OMG all gone? but still in cache (click reply) 😄 Edited December 13, 2023 by Ravenstein Link to comment Share on other sites More sharing options...
cankiulascmnfye Posted December 13, 2023 Share Posted December 13, 2023 (edited) What @deeveedee is trying to say is, that macOS 11 and newer changed the way kexts are handled so patching them via the booloader is no longer effective: https://eclecticlight.co/2021/07/07/extensions-are-moving-away-from-the-kernel/ Edited December 14, 2023 by cankiulascmnfye Link to comment Share on other sites More sharing options...
datafeedexpert Posted December 13, 2023 Share Posted December 13, 2023 20 minutes ago, Ravenstein said: Thanks @cankiulascmnfye for your further suggestions. I did put all these into config.plist, 4K still recognized(i.e. only 2K), although via physical HDMI port 60Hz can be reached. Yet the 2 USB-C ports output only 59Hz. PS: the 2 USB-C ports, one is assigned HDMI( 08), the other/con2 vacant in my config.plist but detected as DP(04). Interesting! @deeveedee, thank you as well for joining the discussion, I am also very impressed by your blog sharing your experience. What do you mean "via a mechanism like WhateverGreen? " Yet I am still think it is possible to patch apple driver: com.apple.driver.AppleIntelKBLGraphicsFramebuffer, just don't know where & how. I am studying the gurus' work now 😉 e.g. if put the Catalina patches into config.plist (OC), OpenCore boot log shows error:OC: Prelinked patcher result 1 for com.apple.driver.AppleIntelKBLGraphicsFramebuffer (KBL-DVMTpatch-10.15.4-10.15.5) - Not Found Checking manually:~ % xxd -g 0 -c 32 /System/Library/Extensions/AppleIntelKBLGraphicsFramebuffer.kext/Contents/MacOS/AppleIntelKBLGraphicsFramebuffer |grep "0F82A7030000" .... not found PS: for KBL-DVMTpatch-10.15.4-10.15.6, the FIND changed to 0F828F030000 ... not found either! I also did following trials: (ig-plaform-id = 04002759 & device0-id=1659000): - framebuffer-unifiedmem increased to 2048MB - framebuffer-stolenmem increase to 30MB (0000E001) vs. typical 19MB(00003001) , this is the max. value still no KP and bootable. I notice more resolutions detected for both native LCD & external 4K monitor, but still no 4K. The reason may be here 30MB+9MB =39MB still <48MB as calculated above, besides maybe the BIOS default 32MB bottleneck. I wonder if anyone could tell me what the Catalina KBL-DVMT KextPatch aiming for? 10.15.1 ~ 10.15.3: 0F82A703 0000 => 0F820000 0000 10.15.4 ~ 10.15.5: 0F828F03 0000 => 0F820000 0000 PS: this forum software is quite robust, Just now after this long text I refreshed webpage thought OMG all gone? but still in cache (click reply) 😄 Try this Device Properties .... Link to comment Share on other sites More sharing options...
deeveedee Posted December 13, 2023 Share Posted December 13, 2023 (edited) On my KabyLake-R / UHD620, device-property igfxfw does not work. I must use rps-control instead (see here). Just mentioning in case this helps. EDIT: Also, on my KabyLake-R/UHD620, specifying memory-limiting properties framebuffer-fbmem, framebuffer-stolenmem and framebuffer-unifiedmem hurt my graphics performance. My KabyLake-R/UHD620 works much better without these memory properties. If memory is an issue and there are only two graphics "ports" (e.g., internal display and HDMI), I found that it is better to limit port count to two ports. EDIT2: If AppleALC.kext is being used, then graphics property hda-gfx = "onboard-1" is not necessary, since AppleALC.kext inserts this automatically. Edited December 13, 2023 by deeveedee Link to comment Share on other sites More sharing options...
Recommended Posts