- Joined
- Apr 10, 2011
- Messages
- 29
- Motherboard
- Surface Pro 4 (Clover)
- CPU
- i5-6300U
- Graphics
- HD 520, 2736x1824
Hey all,
I've been wracking my brain for the past three days or so since I received my new Sceptre U275W-4000R monitor from Amazon as I have been unable to run the display at its full potential of 4K @60Hz on my macOS installation.
Currently, the monitor is running 4K @30Hz over mini DisplayPort. This monitor comes with two HDMI ports (1 x HDMI 1.4, 1 x HDMI 2.0), one mini DisplayPort, and one DVI.
For some background, I have never been able to get the Surface Pro 4 to boot without using the disable minStolenSize patch, going all the way back to when I was running Sierra. I went through a ton of different forums and posts about DVMT-prealloc sizes and patches before I found this patch to work successfully. The Surface has a very nice QHD display and I am almost certain that the DVMT-prealloc size is set to at least 64mb, if not more. I attempted to check this by opening up a copy of my UEFI binary and searching the ROMs inside of DXEcore, however I was unable to locate the DVMT-prealloc parameters at all. I know that Windows 10 isn't a good indicator of this, but it does show 128mb. Additionally, I have never had any issues with my QHD display and I am able to push my external monitor at 4K (albeit at 30Hz) on my macOS installation without any display issues or glitches and I am also able to get the full 4K @60Hz on my Windows 10 installation without any special configuration or adjustments.
I've already read the WhateverGreen guide for patching framebuffers. I attempted my best to follow the guide and to apply the appropriate patches for my system using a framebuffer dump and FBPatcher, installed the WhateverGreen kext -- however the device still fails to boot without the disableMinStolenSize patch, even after rebuilding caches and such after booting with a bogus ig-platform-id. I have tried other ig-platform-ids like 0x191B000 and 0x1912000 but none of them have helped.
I have tried using a mDP->HDMI adapter on the HDMI 2.0 port of the monitor with the -cdfon bootflag, the enableHDMI20 property, and a combination of both with no success. The adapter I tried is not an active adapter, however, so I still have that to try. But I still don't think that that will solve the problem since DisplayPort should be able to handle the resolution just fine and yet it doesn't.
I have tried using SwitchResX and ResXtreme to change the resolution and refresh rate, however any option above 1080p can only run at 30Hz. I tried a variant that ran at 59.999Hz, however the image still never showed up on the monitor.
I'm lost as to what the issue is. Perhaps I don't understand enough about the disableMinStolenSize patch and how it may affect WhateverGreen, perhaps I don't understand enough about WhateverGreen's implementation and its fixes for the pixel clock limit, perhaps I even just need a new mDP->mDP cable to get the full resolution and refresh rate. I'm not sure!
TL;DR - Windows can run this monitor at 4K @60Hz over DisplayPort, but macOS can't go past 4K @30Hz.
Please help out if you know anything about this.
I've attached all of the problem reporting files that are asked for in the Laptop guide. This is my first time asking for help on the forums in a long time, so please let me know what I may have missed with regards to the data provided.
Thanks!
P.S. - I am completely aware that the Surface line of devices are not the optimal choice for running macOS, this is just me trying to get all that I can out of a great device.
I've been wracking my brain for the past three days or so since I received my new Sceptre U275W-4000R monitor from Amazon as I have been unable to run the display at its full potential of 4K @60Hz on my macOS installation.
Currently, the monitor is running 4K @30Hz over mini DisplayPort. This monitor comes with two HDMI ports (1 x HDMI 1.4, 1 x HDMI 2.0), one mini DisplayPort, and one DVI.
For some background, I have never been able to get the Surface Pro 4 to boot without using the disable minStolenSize patch, going all the way back to when I was running Sierra. I went through a ton of different forums and posts about DVMT-prealloc sizes and patches before I found this patch to work successfully. The Surface has a very nice QHD display and I am almost certain that the DVMT-prealloc size is set to at least 64mb, if not more. I attempted to check this by opening up a copy of my UEFI binary and searching the ROMs inside of DXEcore, however I was unable to locate the DVMT-prealloc parameters at all. I know that Windows 10 isn't a good indicator of this, but it does show 128mb. Additionally, I have never had any issues with my QHD display and I am able to push my external monitor at 4K (albeit at 30Hz) on my macOS installation without any display issues or glitches and I am also able to get the full 4K @60Hz on my Windows 10 installation without any special configuration or adjustments.
I've already read the WhateverGreen guide for patching framebuffers. I attempted my best to follow the guide and to apply the appropriate patches for my system using a framebuffer dump and FBPatcher, installed the WhateverGreen kext -- however the device still fails to boot without the disableMinStolenSize patch, even after rebuilding caches and such after booting with a bogus ig-platform-id. I have tried other ig-platform-ids like 0x191B000 and 0x1912000 but none of them have helped.
I have tried using a mDP->HDMI adapter on the HDMI 2.0 port of the monitor with the -cdfon bootflag, the enableHDMI20 property, and a combination of both with no success. The adapter I tried is not an active adapter, however, so I still have that to try. But I still don't think that that will solve the problem since DisplayPort should be able to handle the resolution just fine and yet it doesn't.
I have tried using SwitchResX and ResXtreme to change the resolution and refresh rate, however any option above 1080p can only run at 30Hz. I tried a variant that ran at 59.999Hz, however the image still never showed up on the monitor.
I'm lost as to what the issue is. Perhaps I don't understand enough about the disableMinStolenSize patch and how it may affect WhateverGreen, perhaps I don't understand enough about WhateverGreen's implementation and its fixes for the pixel clock limit, perhaps I even just need a new mDP->mDP cable to get the full resolution and refresh rate. I'm not sure!
TL;DR - Windows can run this monitor at 4K @60Hz over DisplayPort, but macOS can't go past 4K @30Hz.
Please help out if you know anything about this.
I've attached all of the problem reporting files that are asked for in the Laptop guide. This is my first time asking for help on the forums in a long time, so please let me know what I may have missed with regards to the data provided.
Thanks!
P.S. - I am completely aware that the Surface line of devices are not the optimal choice for running macOS, this is just me trying to get all that I can out of a great device.