satt294 Posted July 29, 2022 Share Posted July 29, 2022 I am trying to connect from the thunderbolt port to DisplayPort on my HP Envy 27s 4K monitor. On windows and Linux, I am able to get 4K resolution when extending the display. However on the Monterey 12.5 hack, I am able to get only 2560x1600 resolution. I am not able to use HDMI to connect to the monitor as the laptop monitor keeps blinking and does not seem to detect HDMI connected, whereas it works fine on Linux and Windows 10. Does anyone manage to resolve this issue? Link to comment Share on other sites More sharing options...
Administrators Hervé Posted July 29, 2022 Administrators Share Posted July 29, 2022 Did you check the default DVMT settings of your 7480? Under macOS, DVMT must usually be set to 64MB or 96MB to obtain 4K output; afaik, you won't get it if DVMT is set to 32MB even if you patch the DVMT settings (fbmem + stolenmem) through properties injection. With DVMT set to 64MB or 96MB (BIOS mod through Grubshell, see our FAQ topic on the matter or my E7270 guide), I can get 4K @24-30Hz out of HDMI and 4K@60Hz out of mDP on my Skylake/HD520 E7270 laptop. Can't see why it'd be different on your 7480, unless it's the TB port that's causing the issue under macOS of course. Don't hesitate to post a zipped copy of your bootloader's EFI folder so that we can check your settings. Do post your system's specs in signature since they're are 6th gen and 7th gen 7480... Link to comment Share on other sites More sharing options...
satt294 Posted July 29, 2022 Author Share Posted July 29, 2022 Thanks for your reply @Hervé. I followed your guide to set the DVMT through grub shell to 96Mb. But I am still not able to get 4K output via HDMI. Attached is the setup IFR text file extracted from setup.bin. I used 0x795 as the variable when running the setup_var command in grub shell. setup IFR.txt.zip Success!! Using my thunderbolt to DisplayPort cable. Now I have 4K@60Hz on my secondary monitor. In addition to setting the DVMT using the mod grub shell, I have to remove two patches: `framebuffer-fbmem` and `framebuffer-stolenmem` and add a new flag `framebuffer-flags` and set its value to 0x0b07e300. After restarting the system, I am able to see the default resolution for my monitor has changed to 3840x2160. Thanks a lot @Hervé However, when using the HDMI cable, I seem to get 4K output, but the screen goes all `staticky` within couple of seconds. I will try again with a DVMT of 96Mb and let you know. Reference (where I got to know that we have to remove the existing framebuffer-patches) : https://github.com/daliansky/XiaoMi-Pro-Hackintosh/wiki/Set-DVMT-to-64mb Link to comment Share on other sites More sharing options...
Administrators Hervé Posted July 29, 2022 Administrators Share Posted July 29, 2022 Indeed, once you increase DVMT to 64MB or 96MB in BIOS, the fbmem + stolenmem patches become irrelevant and even counter productive since they usually aim to reduce the default values of the selected framebuffer so that the sum of them remains below 32MB. In your case, it looks like 64MB is the max value you can set for DVMT pre-allocated memory. May be you can experiment with DVMT total values (256/128/Max). Link to comment Share on other sites More sharing options...
satt294 Posted July 29, 2022 Author Share Posted July 29, 2022 Yes, that makes sense. Thanks for your explanation. I tried with 96MB DVMT, but I continue to have issues with HDMI. The TB3 -> DP works fine at 4K@60 and I couldn't ask for more. When I connect the HDMI cable, the display still shows the default resolution as 2560x1440, though I can see the 4K resolution in the scaled resolution list. Once I select 4K from there, the external monitor goes black and does not come back, unless I reboot. Link to comment Share on other sites More sharing options...
Administrators Hervé Posted July 29, 2022 Administrators Share Posted July 29, 2022 What's your CPU/iGPU? What SMBIOS do you use? What iGPU properties do you inject? Link to comment Share on other sites More sharing options...
satt294 Posted July 29, 2022 Author Share Posted July 29, 2022 CPU: Intel(R) Core(TM) i7-7600U iGPU: Intel UHD 620 RAM: 16GB SMBIOS: MacbookPro 15,2 (Suggested on some portal for my Kabylake processor) iGPU patches: please see the attached image. PS: I am trying to update my signature with my system specs, but I do not know how Link to comment Share on other sites More sharing options...
Administrators Hervé Posted July 29, 2022 Administrators Share Posted July 29, 2022 For your signature: click on your account name at top of forum Window, then go to Account Settings->Signature. About your graphics setup: Strange that you opted for MBP15,2 (a Coffee Lake model) on your Kaby Lake/HD620 laptop when you'd be expected to use MBP14,1 (a Kaby Lake model)l. I invite you to try it out. KBL framebuffer 0x59160000 certainly is correct for KBL HD620 and your connector patches are all good though con0's is not required since you inject the exact same thing as what's natively defined in the framebuffer. You correctly swap connector's type for HDMI and DP given that, in the vanilla FB, con1 is DP and con2 is DP: ID: 59160000, STOLEN: 34 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00000B0B TOTAL STOLEN: 35 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 103 MB, MAX OVERALL: 104 MB (109588480 bytes) Model name: Intel HD Graphics KBL CRB Camellia: CamelliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3 [0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS [1] busId: 0x05, pipe: 9, type: 0x00000400, flags: 0x00000187 - ConnectorDP [2] busId: 0x04, pipe: 10, type: 0x00000800, flags: 0x00000187 - ConnectorHDMI 00000800 02000000 98000000 01050900 00040000 87010000 02040A00 00080000 87010000 You could also experiment with KBL FB 0x591B0000 (it's the recommended one for KBL HD620). It requires patching con1 alldata to same as FB 0x59160000 or you won't get HDMI output of course: ID: 591B0000, STOLEN: 38 MB, FBMEM: 21 MB, VRAM: 1536 MB, Flags: 0x0000130B TOTAL STOLEN: 39 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 136 MB, MAX OVERALL: 137 MB (144191488 bytes) Model name: Intel HD Graphics KBL CRB Camellia: CamelliaDisabled (0), Freq: 1388 Hz, FreqMax: 1388 Hz Mobile: 1, PipeCount: 3, PortCount: 3, FBMemoryCount: 3 [0] busId: 0x00, pipe: 8, type: 0x00000002, flags: 0x00000098 - ConnectorLVDS [2] busId: 0x04, pipe: 10, type: 0x00000800, flags: 0x00000187 - ConnectorHDMI [3] busId: 0x06, pipe: 10, type: 0x00000400, flags: 0x00000187 - ConnectorDP 00000800 02000000 98000000 02040A00 00080000 87010000 -> Needs to be patched to 01050900 ... 03060A00 00040000 87010000 -> can stay as is afaik, no need to patch to 0204... I've never seen anyone injection a pci-asm-default value for an iGPU. Did you try HDMI output without injecting this parameter? Where did you get the idea to inject a different framebuffer-flags value from? How did you choose the value? Link to comment Share on other sites More sharing options...
tinDell Posted July 31, 2022 Share Posted July 31, 2022 Hey how did you get 2560 x 1440 for built-in display? Link to comment Share on other sites More sharing options...
Administrators Hervé Posted July 31, 2022 Administrators Share Posted July 31, 2022 OP's obviously got a 7480 with the QHD touchscreen... See the product's documentation on Dell web site. Link to comment Share on other sites More sharing options...
Recommended Posts