Contribute
Register

Adding/Using HiDPI custom resolutions

Joined
Apr 5, 2016
Messages
834
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
Apple, LC, Power Mac
Mobile Phone
iOS
I have an Acer XV273K (4K / 120hz), and am able to select 3840x2160@120hz and 1920x1080@120hz HiDPI and everything works correctly. However, for the other intermediate scaling options like "Looks like 2560x1440", I can only select 60hz refresh rate.

I've tried creating custom resolutions in SwitchResX but I can't create anything that's not a 2x resolution. I've seen the guides for DisplayOverrides but they always mention creating 2x resolutions too... not something in between like I'm trying to use here. Any tips?
Since you have a 4K display, make sure that "Scaled resolution base" is set to 3840 x 2160. This seems to be the case already, as you are able to select 1920x1080@120hz HiDPI - but check SwitchResX to verify that the timing used by that resolution is 3840x2160@120Hz. Actually, I am curious to see a screenshot of the timing info from SwitchResX, as 4K120Hz is near limit of 8 bit color DisplayPort 1.4 without display stream compression. I would like to know if the timing differs from the CVT-RB calculation of SwitchResX.

For "Looks like 2560x1440" you need to create a custom resolution that is a scaled resolution of 5120x2880.
After that, since you are able to select 1920x1080@120Hz HiDPI, you should now be able to select 2560x1440@HiDPI also (they should both use the 3840x2160@120Hz timing).

I am unable to find a method that results in multiple refresh rates for a scaled timing. For example, I can create several 4K timings (30Hz, 40Hz, 50 Hz, 60Hz) and a 5K scaled resolution, but the scaled resolution uses only one of the 4K timings (the one with the lowest refresh rate). This is probably a limitation of Apple's graphics drivers.
 
Joined
Oct 12, 2013
Messages
11
CPU
i7
Mac
MacBook Pro
Mobile Phone
iOS
I have done everything by the book and my resolutions don't show up for my external monitor in RDM (also tried for other monitors and no luck)... Any help? This is on a genuine 2019 MacBook Pro with a 555X discrete GPU.

I am trying to downscale a 4K monitor (DELL U2718Q) to 2K because on native 4K everything is too small and on 1080p HiDPI everything is too big...

The DisplayVendorID is 10ac (converted to integer: 4268) and the DisplayProductID is a0ec (converted to integer: 41196) if anyone wants to have a go at creating the .plist I need.

I created this and it didn't work:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>DisplayProductName</key>
  <string>DELL U2718Q</string>
  <key>DisplayProductID</key>
  <integer>41196</integer>
  <key>DisplayVendorID</key>
  <integer>4268</integer>
  <key>scale-resolutions</key>
  <array>
    <data>AAAKAAAABaAAAAABACAAAA==</data>
  </array>
</dict>
</plist>
 
Last edited:
Joined
Apr 5, 2016
Messages
834
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
Apple, LC, Power Mac
Mobile Phone
iOS
I have done everything by the book and my resolutions don't show up for my external monitor in RDM (also tried for other monitors and no luck)... Any help? This is on a genuine 2019 MacBook Pro with a 555X discrete GPU.

I am trying to downscale a 4K monitor (DELL U2718Q) to 2K because on native 4K everything is too small and on 1080p HiDPI everything is too big...

The DisplayVendorID is 10ac (converted to integer: 4268) and the DisplayProductID is a0ec (converted to integer: 41196) if anyone wants to have a go at creating the .plist I need.

I created this and it didn't work:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>DisplayProductName</key>
  <string>DELL U2718Q</string>
  <key>DisplayProductID</key>
  <integer>41196</integer>
  <key>DisplayVendorID</key>
  <integer>4268</integer>
  <key>scale-resolutions</key>
  <array>
    <data>AAAKAAAABaAAAAABACAAAA==</data>
  </array>
</dict>
</plist>
I can't see anything wrong. You created a 2560x1440 scaled resolution. Do you see a 1280x700 HiDPI mode? You probably should create a 5120x2880 scaled resolution which will allow a 2560x1440 HiDPI mode (it will look better on a 4K display than 2560x1440 non-HiDPI does). If this doesn't work, maybe delete your changes and try SwitchResX. With SwitchResX you can also try creating non-scaled timings.
 
Joined
Oct 12, 2013
Messages
11
CPU
i7
Mac
MacBook Pro
Mobile Phone
iOS
These are the resolutions I see within RDM for my monitor.

1565684872890.png


I'm not sure what you mean by create a 5120x2880 scaled resolution, I tried creating random resolutions and they just wouldn't show up... Maybe you can try creating one for me?

Also, scaling at 1080p is laggy as ****, is this expected off the latest iteration of the MacBook Pro with the highest spec?
 
Joined
Apr 5, 2016
Messages
834
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
Apple, LC, Power Mac
Mobile Phone
iOS
These are the resolutions I see within RDM for my monitor.

View attachment 421600


I'm not sure what you mean by create a 5120x2880 scaled resolution, I tried creating random resolutions and they just wouldn't show up... Maybe you can try creating one for me?

Also, scaling at 1080p is laggy as ****, is this expected off the latest iteration of the MacBook Pro with the highest spec?
In your plist, do you not understand that "<data>AAAKAAAABaAAAAABACAAAA==</data>" is 2560x1440? I'm telling you to change that one or add a new one for 5120x2880.
Code:
        <data>AAAKAAAABaAAAAABACAAAA==</data>
        <data>AAAUAAAAC0AAAAABACAAAA==</data>
When I said 1280x700, I actually meant 1280x720. You happen to have a 1280x720 mode. Can you check if it's a HiDPI mode by seeing if System Information.app says it "Looks like 1280x720"? If it is then it might have come from the 2560x1440 scaled mode you created, unless that mode always existed before you created it. With the new 5120x2880 scaled mode, you should get a 2560x1440 HiDPI mode.

I am not familiar with RDM. I'm not sure why you would use an app that doesn't seem to be supported anymore.

I'm not sure you even need to create a custom resolution. You should be able to go into the Displays preferences panel, click Scaled, and choose "Looks like 2560 x 1440". Or you can hold Option key, click Scaled, enable "Show low resolution modes" and select either "2560 x 1440" (for HiPDI), or "2560 x 1440 (low resolution)" for non-HiDPI.
 
Joined
Oct 12, 2013
Messages
11
CPU
i7
Mac
MacBook Pro
Mobile Phone
iOS
I have taken your advice and put those resolutions in the file, rebooted, installed SwitchResX and this is what I see

1565700840989.png

However, when I select either and click Activate Immediately, screen flashes black, then goes back to previous resolution, so they still don't work.

I want to say that I am connected through a DELL D6000 dock, through the DisplayLink software. I have ordered a DP to USB C cable that should arrive today, so by tomorrow I will have tested it directly and gave feedback... I have a feeling this dock is the core of the lag as well as this whole mess
 
Last edited:
Joined
Apr 5, 2016
Messages
834
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
Apple, LC, Power Mac
Mobile Phone
iOS
I have taken your advice and put those resolutions in the file, rebooted, installed SwitchResX and this is what I see

View attachment 421621

However, when I select either and click Activate Immediately, screen flashes black, then goes back to previous resolution, so they still don't work.

I want to say that I am connected through a DELL D6000 dock, through the DisplayLink software. I have ordered a DP to USB C cable that should arrive today, so by tomorrow I will have tested it directly and gave feedback... I have a feeling this dock is the core of the lag as well as this whole mess
DisplayLink sends video over USB at 5 Gbps. It has to take the pixels and compress them. This takes CPU power. 4K 60Hz video is at least 12 Gbps. Are all the ports on the dock powered by DisplayLink? Probably. If the USB-C dock had a DisplayPort that was not powered by DisplayLink, it would still be limited to 4K 30 Hz, because two of the four lanes of the USB-C cable are used by USB 3.0.

I've never used DisplayLink so I don't know how it works with different resolutions. I don't know if it supports scaling a 5K frame buffer to a 4K display. It's supposed to support outputting 5K to a 5K display but that's not exactly the same thing. Maybe you can check the displaylink.com website and ask around there.

The following document suggests that choosing 1920x1080 is less performant that 3840x2160 which doesn't make sense since the first one is not marked "(low resolution)" and therefore is probably a HiDPI mode which is just 3840x2160 where everything is drawn four times larger. I would use SwitchResX to verify how that 1920x1080 resolution is setup (is it scaled? is it HiDPI? SwitchResX will tell you for sure).

Since you have a Thunderbolt port, you should get a Thunderbolt dock. A Thunderbolt dock can support two 4K 60 Hz displays which are powered directly by your graphics card (like the displays are connected directly to your MacBook Pro) instead of DisplayLink. You can connect DisplayLink adapters or docks to a USB port of a Thunderbolt Dock if you still want crappy video. DisplayLink is cool if you really need another display and don't have any more display ports. The MacBook Pro can have four displays connected besides the built-in laptop display. If you need 5 or more external displays, then you should try an eGPU (expensive) or DisplayLink (cheap).

Now that you are using SwitchResX, you should delete the file you made. You can recreate the scaled resolutions in SwitchResX. SwitchResX will create a new file for you when you press Command-S to save your changes.

When using SwitchResX, instead of using Activate Immediately, you might consider just Saving changes to the custom resolutions, and restarting. Then check the Custom Resolutions tab to see if the graphics driver accepted the new custom resolutions.
 
Joined
Jan 26, 2018
Messages
930
Motherboard
ASRock X299 Professional Gaming XE
CPU
i9-7980xe
Graphics
Vega
Mac
Mac Pro
Mobile Phone
Android
I have done everything by the book and my resolutions don't show up for my external monitor in RDM (also tried for other monitors and no luck)... Any help? This is on a genuine 2019 MacBook Pro with a 555X discrete GPU.

I am trying to downscale a 4K monitor (DELL U2718Q) to 2K because on native 4K everything is too small and on 1080p HiDPI everything is too big...
Surely, the display settings automatically gives you the option to choose something in between and one that is suitable for your needs.

Why bother with setting custom res? What's wrong with the default 2560x1440 you show in your settings?
 
Joined
Apr 5, 2016
Messages
834
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
Apple, LC, Power Mac
Mobile Phone
iOS
Why bother with setting custom res? What's wrong with the default 2560x1440 you show in your settings?
It's DisplayLink. It's not a real graphics card connection. There are problems with DisplayLink. Use SwitchResX to show us the timing info for the 2560x1440 resolution by double clicking it in the current resolutions list. If it's a scaled resolution instead of real timing, then I would try a creating a custom timing. Create a 2560x1440 60Hz timing using CVT-RB. The 2560x1440 timing won't be HiDPI but that's probably a good thing since more pixels will add more lag when using DisplayLink.
 
Joined
Jan 26, 2018
Messages
930
Motherboard
ASRock X299 Professional Gaming XE
CPU
i9-7980xe
Graphics
Vega
Mac
Mac Pro
Mobile Phone
Android
It's DisplayLink. It's not a real graphics card connection. There are problems with DisplayLink. Use SwitchResX to show us the timing info for the 2560x1440 resolution by double clicking it in the current resolutions list. If it's a scaled resolution instead of real timing, then I would try a creating a custom timing. Create a 2560x1440 60Hz timing using CVT-RB. The 2560x1440 timing won't be HiDPI but that's probably a good thing since more pixels will add more lag when using DisplayLink.
The only way The 2560x1440 could be HiDPI was if the physical resolution of the screen was 5120x2880, e.g a 5K screen. This screen ain't one.
 
Top