Contribute
Register

Adding/Using HiDPI custom resolutions

Joined
Apr 20, 2020
Messages
9
Motherboard
-
CPU
-
Graphics
-
Mac
MacBook Pro
Does this mean custom scaled resolutions were created by SwitchResX? The webpage for creating scaled resolutions may use different hex data than SwitchResX. Scaled resolution includes the width and height and may optionally include flags:
Code:
    kScaleInstallAlways         = 0x00000001,    // skips all the various checks and always installs
    kScaleInstallNoStretch      = 0x00000002,    // disables the install of a stretched version if the aspect is different
    kScaleInstallNoResTransform = 0x00000004,    // install resolution untransformed
    kScaleInstallMirrorDeps     = 0x00000008    // install resolution on mirror dependents of this display
Post the override file created by SwitchResX.


The HiDPI modes are listed in SwitchResX but when you select them, they give a black screen? Post a screenshot of the current resolutions list.

macOS has a minimum height and width for scaled resolutions (I think minimum height used to be 600 but now it's 500? check various non HiDPI resolutions) so it won't accept HiDPI modes that have a height less than 1000.


Seems like it might be a bug with Apple's drivers. What version of macOS are you running?


Your display has a blank custom display name. You should enter something or unselect the "Use custom display name".

You only show the 100 Hz version of the scaled modes. There should be corresponding HiDPI modes for 50 Hz and 60 Hz (for example, 2580 x 1080 HiDPI 50Hz, 60Hz, 100Hz).

Did the 1720 x 720 HiDPI mode also not work?

For the 2580 x 1080 HiDPI mode, what if you create a different ratio by adding 8 pixels to the vertical only, will the HiDPI mode work? Keep repeatedly adding 8 pixels to the vertical until it does work. Then repeat the test starting at 2160 and subtracting 8 pixels until it works. I want to know how different from 21.5:9 the aspect ratio needs to be before it can work.

Attached switchresx plist (originally had no file ext on the end, had to add .txt to allow the upload) and also my plist generated with https://comsysto.github.io/Display-...or-with-HiDPI-Support-For-Scaled-Resolutions/

I do remember switchresx adding things to my generated plist, however I deleted this file from the appropriate displayproductID folder inside the override folder, as I could see switchresx created its own plist for the monitor under 'DisplayYearManufacture....'

If you could make me a custom switchresx plist that has 5 or 6 resolutions around the scaled 4816x2018 range I would appreciate that.

Attached screenshot of current resolutions and 2 scaled resolutions which I added with +2 in vertical pixels. (4816x2018, 4472x1874). When I select the HiDPI res's at 21:9 that are meant to work (no +2 in vertical) nothing happens, no black screen or anything, resolution stays the same as what it is currently set to.

Running latest version Catalina 10.15.4
 

Attachments

Joined
Apr 5, 2016
Messages
854
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
Attached switchresx plist (originally had no file ext on the end, had to add .txt to allow the upload) and also my plist generated with https://comsysto.github.io/Display-...or-with-HiDPI-Support-For-Scaled-Resolutions/

I do remember switchresx adding things to my generated plist, however I deleted this file from the appropriate displayproductID folder inside the override folder, as I could see switchresx created its own plist for the monitor under 'DisplayYearManufacture....'

If you could make me a custom switchresx plist that has 5 or 6 resolutions around the scaled 4816x2018 range I would appreciate that.

Attached screenshot of current resolutions and 2 scaled resolutions which I added with +2 in vertical pixels. (4816x2018, 4472x1874). When I select the HiDPI res's at 21:9 that are meant to work (no +2 in vertical) nothing happens, no black screen or anything, resolution stays the same as what it is currently set to.

Running latest version Catalina 10.15.4
The following script creates the 'scale-resolutions' info which you can paste into the override file.

Code:
printf '\t<key>scale-resolutions</key>\n\t<array>\n'
IFS=$'\n'
for theline in $(
    for theres in \
        6536x2736 \
        5160x2160 \
        4816x2016 \
        4472x1872 \
        3440x1440
    do
        resx=${theres%x*}
        resy=${theres#*x}
        printf "%08x %08x 00000001 00200000\n" $resx $resy
        printf "%08x %08x 00000001 00200000\n" $resx $((resy+2))
    done
); do
    printf '\t\t<data>'$(echo $theline | xxd -p -r | base64)'</data>\n'
done
printf '\t</array>\n'
It adds the correct aspect resolution (21.5:9) and the same resolution with +2 vertical.
The first 32 bit number after the vertical value is the scale flags according to SwitchResX - it has kScaleInstallAlways set. The next 32 bit number is a set of display mode flags to be set. SwitchResX sets the kDisplayModeValidForMirroringFlag. You might want to add the kDisplayModeValidForHiResFlag (it's a flag that is included in some of Apple's provided override files) - in that case, change 00200000 to 00a00000. It's possible to add another 32 bit number which is a set of display mode flags to be cleared.

Here is a list of display mode flags:
Code:
enum {
    kDisplayModeSafetyFlags             = 0x00000007,

    kDisplayModeAlwaysShowFlag          = 0x00000008,
    kDisplayModeNeverShowFlag           = 0x00000080,
    kDisplayModeNotResizeFlag           = 0x00000010,
    kDisplayModeRequiresPanFlag         = 0x00000020,

    kDisplayModeInterlacedFlag          = 0x00000040,

    kDisplayModeSimulscanFlag           = 0x00000100,
    kDisplayModeBuiltInFlag             = 0x00000400,
    kDisplayModeNotPresetFlag           = 0x00000200,
    kDisplayModeStretchedFlag           = 0x00000800,
    kDisplayModeNotGraphicsQualityFlag  = 0x00001000,
    kDisplayModeValidateAgainstDisplay  = 0x00002000,
    kDisplayModeTelevisionFlag          = 0x00100000,
    kDisplayModeValidForMirroringFlag   = 0x00200000,
    kDisplayModeAcceleratorBackedFlag   = 0x00400000,
    kDisplayModeValidForHiResFlag       = 0x00800000,
    kDisplayModeValidForAirPlayFlag     = 0x01000000,
    kDisplayModeNativeFlag              = 0x02000000
};
enum {
    kDisplayModeValidFlag               = 0x00000001,
    kDisplayModeSafeFlag                = 0x00000002,
    kDisplayModeDefaultFlag             = 0x00000004
};
Here is your resolutions (21.5:9 and 21.5:9+2 pixels) with the 00a00000 display mode flags set.
Code:
    <key>scale-resolutions</key>
    <array>
        <data>AAAZiAAACrAAAAABAKAAAA==</data>
        <data>AAAZiAAACrIAAAABAKAAAA==</data>
        <data>AAAUKAAACHAAAAABAKAAAA==</data>
        <data>AAAUKAAACHIAAAABAKAAAA==</data>
        <data>AAAS0AAAB+AAAAABAKAAAA==</data>
        <data>AAAS0AAAB+IAAAABAKAAAA==</data>
        <data>AAAReAAAB1AAAAABAKAAAA==</data>
        <data>AAAReAAAB1IAAAABAKAAAA==</data>
        <data>AAANcAAABaAAAAABAKAAAA==</data>
        <data>AAANcAAABaIAAAABAKAAAA==</data>
    </array>
Replace scale-resolutions in the SwitchResX override file with that.
 
Joined
Apr 28, 2020
Messages
5
Motherboard
Native
CPU
i7-6920HQ
Graphics
Radeon Pro 455 2GB
Hi All,

Trying to get 3840x2160 scaled to 1920x1080 HiDPI running at 60HZ on my OEM MBP (2016) a1707 running macOS 10.15.4 (Build 19E287) in clamshell mode on a Sony XBR-85X850D 85" 4k TV. I'm working on a fresh install and have enabled HiDPI via terminal but can't get my machine to activate 1920x1080 HiDPI at all. I've tried SwitchResX, RDM, EasyRes, QuickRes, the Comsysto.github.io tutorial, the pixel clock patch, the RGB patch, multiple Thunderbolt/USBC to HDMI hubs (all on previous installs) but I can't figure it out. I'd be so thankful if someone could point me in the right direction.

Tech Specs:
Machine: MacBook Pro 2016 // i7-6920HQ 2.9 GHz Quad
Graphics: Intel HD Graphics 530 1536 MB // Radeon Pro 455 2 GB
OS: Catalina 10.15.4
Display: Sony XBR-85X850D 4k UHD (3840x2160 // No Display Port - only HDMI 2.0)
Current Connection: Belkin F4U098BT mini TB3 dock to HDMI Premium High Speed cable

Attaching SwitchResX EDID + AGDCDiagnose Dump + Relevant screen caps below..

Thanks in advance.
 

Attachments

Last edited:
Joined
Apr 5, 2016
Messages
854
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
Hi All,

Trying to get 3840x2160 scaled to 1920x1080 HiDPI running at 60HZ on my OEM MBP (2016) a1707 running macOS 10.15.4 (Build 19E287) in clamshell mode on a Sony XBR-85X850D 85" 4k TV, I know this is possible because I've accomplished doing it with a 2018 Mac Mini via HDMI 2. I'm working on a fresh install and have enabled HiDPI via terminal but can't get my machine to activate 1920x1080 HiDPI at all. I've tried SwitchResX, RDM, EasyRes, QuickRes, the Comsysto.github.io tutorial, the pixel clock patch, the RGB patch, multiple Thunderbolt/USBC to HDMI hubs (all on previous installs) but I can't figure it out. I'd be so thankful if someone could point me in the right direction.

Tech Specs:
Machine: MacBook Pro 2016 // i7-6920HQ 2.9 GHz Quad
Graphics: Intel HD Graphics 530 1536 MB // Radeon Pro 455 2 GB
OS: Catalina 10.15.4
Display: Sony XBR-85X850D 4k UHD (3840x2160 // No Display Port - only HDMI 2.0)
Current Connection: Belkin F4U098BT mini TB3 dock to HDMI High Speed cable

Attaching SwitchResX EDID + AGDCDiagnose Dump + Relevant screen caps below..

Thanks in advance.
The AGDCDiagnose file is missing. Compress it in the Finder before posting it here.

I see in the Current Resolutions list a 1980x1080 HiDPI mode. What happens if you try to select it? What about the 3840x2160 modes? What about the 4096x2160 modes? What about 2048x1080 HiDPI mode? Double click the HiDPI modes to see what timing info they are using - post a screenshot of that.

Remove the "With warning" option from the HiDPI modes in the Current Resolutions list.

The Sony product page says it's a 3840x2160 display but the EDID includes some 4096x2160 modes. In SwitchResX, in the Display Information Tab of the display, make sure that "Scaled resolutions base" is enabled and set to 3840x2160. Post a screen shot of that.

The rtings.com website says the following:

Supported Resolutions
1080p @ 60Hz @ 4:4:4 Yes​
1080p @ 120Hz Yes​
4k @ 30Hz @ 4:4:4 Yes​
4k @ 60Hz Yes​
4k @ 60Hz @ 4:4:4 Yes​
Most resolutions are accepted. To get chroma 4:4:4, select 'Game' or 'Graphics' picture mode. For 4k @ 60Hz @ 4:4:4, you also need to set the HDMI input to 'Enhanced format' (under 'External inputs' menu). Just like with last year's Sony TVs, 1080p @ 120Hz produces little artifacts (lines), but this shouldn't be too bothersome while gaming. The 'Graphics' picture mode has fewer of these little artifacts.​

You should be able to do 4K 60Hz 8 bpc RGB and 10 bpc YCbCr4:2:2. I don't know what kind of DisplayPort to HDMI converter the Belkin uses. Does the Belkin use a Titan Ridge or Alpine Ridge Thunderbolt controller? IORegistryExplorer.app will show what controller it uses. Also lspci from pciutils. It guess it doesn't matter since the MacBook Pro 2016 uses Alpine Ridge so it is limited to DisplayPort 1.2. DisplayPort 1.2 doesn't support HDR or YCbCr 4:2:0 but 4:2:0 is not required for 4K 60Hz (4:2:2 is sufficient for 10 bpc and 4:4:4 is sufficient for 8 bpc).
 
Joined
Apr 28, 2020
Messages
5
Motherboard
Native
CPU
i7-6920HQ
Graphics
Radeon Pro 455 2GB
@joevt - thank you so much for the reply, I appreciate it!

The AGDCDiagnose file is missing. Compress it in the Finder before posting it here.
  • Compressed and attached
[jumping ahead here but will circle back]

Remove the "With warning" option from the HiDPI modes in the Current Resolutions list.
  • Done
In SwitchResX, in the Display Information Tab of the display, make sure that "Scaled resolutions base" is enabled and set to 3840x2160. Post a screen shot of that.
Screenshot 1.png

  • This also added about 10x more options to the Current Resolutions tab.
I see in the Current Resolutions list a 1980x1080 HiDPI mode. What happens if you try to select it?
  • It’s not selectable (60hz NTSC), none of the 1920x1080 HiDPI options will activate and interestingly, none of them appear to be scaled either (60Hz-24Hz, NTSC and PAL)
    Screenshot 2.png
    Double click the HiDPI mode to see what timing info they are using - post a screenshot of that.
  • 1920x1080 HiDPI, 60Hz NTSC
    Screenshot 3.png
What about the 3840x2160 modes?
  • I can activate 3840x2160 non HiDPI just fine.
What about the 4096x2160 modes?
  • I can activate 4086x2160, but the x-axis is too wide.
What about 2048x1080 HiDPI mode?
  • Cannot activate this resolution
Double click the HiDPI modes to see what timing info they are using - post a screenshot of that.
  • 2048X1080, 60Hz NTSC
Screenshot 4.png

  • 3840x2160, 60Hz NTSC
Screenshot 5.png

To get chroma 4:4:4, select 'Game' or 'Graphics' picture mode. For 4k @ 60Hz @ 4:4:4, you also need to set the HDMI input to 'Enhanced format' (under 'External inputs' menu). Just like with last year's Sony TVs, 1080p @ 120Hz produces little artifacts (lines), but this shouldn't be too bothersome while gaming. The 'Graphics' picture mode has fewer of these little artifacts.
  • ‘Graphics’ mode and ‘Enhanced HDMI’ really improved the crispness at 1080p FHD, I’m excited to see how it’ll look with HiDPI
I don't know what kind of DisplayPort to HDMI converter the Belkin uses. Does the Belkin use a Titan Ridge or Alpine Ridge Thunderbolt controller?
  • I tried and failed to locate controller type in IORegistryExplorer but judging purely on the cost, I’d bet a decent sum of money that it's an Alpine Ridge controller (even though it doesn’t matter given the MBP TB3’s are Alpine as well).
 

Attachments

Last edited:
Joined
Apr 28, 2020
Messages
5
Motherboard
Native
CPU
i7-6920HQ
Graphics
Radeon Pro 455 2GB
The AGDCDiagnose file is missing. Compress it in the Finder before posting it here.

I see in the Current Resolutions list a 1980x1080 HiDPI mode. What happens if you try to select it? What about the 3840x2160 modes? What about the 4096x2160 modes? What about 2048x1080 HiDPI mode? Double click the HiDPI modes to see what timing info they are using - post a screenshot of that.

Remove the "With warning" option from the HiDPI modes in the Current Resolutions list.

The Sony product page says it's a 3840x2160 display but the EDID includes some 4096x2160 modes. In SwitchResX, in the Display Information Tab of the display, make sure that "Scaled resolutions base" is enabled and set to 3840x2160. Post a screen shot of that.

The rtings.com website says the following:

Supported Resolutions

1080p @ 60Hz @ 4:4:4 Yes​
1080p @ 120Hz Yes​
4k @ 30Hz @ 4:4:4 Yes​
4k @ 60Hz Yes​
4k @ 60Hz @ 4:4:4 Yes​
Most resolutions are accepted. To get chroma 4:4:4, select 'Game' or 'Graphics' picture mode. For 4k @ 60Hz @ 4:4:4, you also need to set the HDMI input to 'Enhanced format' (under 'External inputs' menu). Just like with last year's Sony TVs, 1080p @ 120Hz produces little artifacts (lines), but this shouldn't be too bothersome while gaming. The 'Graphics' picture mode has fewer of these little artifacts.​

You should be able to do 4K 60Hz 8 bpc RGB and 10 bpc YCbCr4:2:2. I don't know what kind of DisplayPort to HDMI converter the Belkin uses. Does the Belkin use a Titan Ridge or Alpine Ridge Thunderbolt controller? IORegistryExplorer.app will show what controller it uses. Also lspci from pciutils. It guess it doesn't matter since the MacBook Pro 2016 uses Alpine Ridge so it is limited to DisplayPort 1.2. DisplayPort 1.2 doesn't support HDR or YCbCr 4:2:0 but 4:2:0 is not required for 4K 60Hz (4:2:2 is sufficient for 10 bpc and 4:4:4 is sufficient for 8 bpc).
Just bumping the above reply incase formatting killed the notification
 
Joined
Apr 5, 2016
Messages
854
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
@joevt - thank you so much for the reply, I appreciate it!
  • Compressed and attached
  • This also added about 10x more options to the Current Resolutions tab.
  • It’s not selectable (60hz NTSC), none of the 1920x1080 HiDPI options will activate and interestingly, none of them appear to be scaled either (60Hz-24Hz, NTSC and PAL)
  • 1920x1080 HiDPI, 60Hz NTSC
  • I can activate 3840x2160 non HiDPI just fine.
  • I can activate 4086x2160, but the x-axis is too wide.
  • Cannot activate this resolution
  • 2048X1080, 60Hz NTSC
  • 3840x2160, 60Hz NTSC
  • ‘Graphics’ mode and ‘Enhanced HDMI’ really improved the crispness at 1080p FHD, I’m excited to see how it’ll look with HiDPI
  • I tried and failed to locate controller type in IORegistryExplorer but judging purely on the cost, I’d bet a decent sum of money that it's an Alpine Ridge controller (even though it doesn’t matter given the MBP TB3’s are Alpine as well).
HiDPI modes are not scaled if the use a resolution that is not scaled (1920x1080 HiDPI uses 3840x2160).

Can you activate all the 3840x2160 modes?

You showed a 3840x2160 HiDPI (7680x4320 scaled / 3840x2160 active) mode instead of 3840x2160 but it worked?

You can try like synops did and create a custom scaled resolution 3840x2162. Then test the 1920x1081 HiDPI mode.
 
Joined
Apr 28, 2020
Messages
5
Motherboard
Native
CPU
i7-6920HQ
Graphics
Radeon Pro 455 2GB
HiDPI modes are not scaled if the use a resolution that is not scaled (1920x1080 HiDPI uses 3840x2160).

Can you activate all the 3840x2160 modes?

You showed a 3840x2160 HiDPI (7680x4320 scaled / 3840x2160 active) mode instead of 3840x2160 but it worked?

You can try like synops did and create a custom scaled resolution 3840x2162. Then test the 1920x1081 HiDPI mode.
Can you activate all the 3840x2160 modes?
  • I was able to activate all non-HiDPI 3840x2160 modes
Image 4-29-20 at 9.45 AM.JPG


You showed a 3840x2160 HiDPI (7680x4320 scaled / 3840x2160 active) mode instead of 3840x2160 but it worked?
  • 3840x2160 HiDPI did not work. Here’s the timing for 3840x2160 non-HiDPI:
Screen Shot 2020-04-29 at 9.52.40 AM.png

You can try like synops did and create a custom scaled resolution 3840x2162. Then test the 1920x1081 HiDPI mode.
  • THIS WORKS! I think this may be the closest I’ll get to what I’m looking for. Timing info attached:
Screen Shot 2020-04-29 at 9.59.43 AM.png
 

Attachments

Joined
Apr 5, 2016
Messages
854
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
THIS WORKS! I think this may be the closest I’ll get to what I’m looking for
Since you have a real Mac, you should report this problem to Apple bugreporter.apple.com.
Maybe try 10.15.5 beta on a new partition to see if the problem exists there and report the problem using Feedback Assistant.app.
 
Joined
Apr 28, 2020
Messages
5
Motherboard
Native
CPU
i7-6920HQ
Graphics
Radeon Pro 455 2GB
Since you have a real Mac, you should report this problem to Apple bugreporter.apple.com.
Maybe try 10.15.5 beta on a new partition to see if the problem exists there and report the problem using Feedback Assistant.app.
Will do! Thank you for the help.
 
Top