Contribute
Register

Adding/Using HiDPI custom resolutions

Status
Not open for further replies.
You know what... I could probably live with it. Maybe zoom in some applications if my eyes get strained.

YCbCr 4:4:4 at 3840x2160/60Hz seems to work from my Mac now, but 1920x1080 HiDPI does not. Timing is the same as in the resolution I just mentioned - and the same as in 'Descriptor #0' in EDID.
What are you doing? To make a 1920x1080 HiDPI mode, you just need a 3840x2160 mode (either scaled or an actual timing). Then the macOS makes a HiDPI mode from that. You don't make HiDPI modes directly.

Descriptor #0 in the EDID is a 1920x1080 timing which macOS can use for a 960x540 HiDPI mode.
 
To make a 1920x1080 HiDPI mode, you just need a 3840x2160 mode (either scaled or an actual timing).
Custom 3840x2160/60Hz with timing from 'Descriptor #0' works. Nothing happens when I try 1920x1080/60Hz HiDPI. Do you see a different timing I should be using?

EDIT: The 'scaled' box is not checked next to 1920x1080 HiDPI. If I double-click, it looks like 3840x2160 resolution without scaling. If I try to add a custom scaled resolution of 3840x2160, it just says 'Not activated - invalid'.
1920x1200 HiDPI works great (besides aspect ratio of course).

EDIT2: Got HiDPI working with custom scaled 3840x2162.

Should I care about YCbCr vs RGB?
 
Last edited:
Attaching new EDID as it changed a little bit (same timing) since enabling the UHD HDMI feature on my TV.
Oh. I just noticed the differences. The new EDID has a few changes for UHD support. I ignored the new EDID because it didn't come from AGDCDiagnose so I can't know if you modified it (it doesn't contain SwitchResX text so you probably didn't modify it, unless another method of editing it was used).

The monitor pixel clock range is increased from 300 MHz to 600 MHz. 4K 60 Hz uses 594 MHz so that's good. This can be overridden in the "Display Information" tab of SwitchResX so it's not usually a problem.

The new EDID has the 4K 60Hz and 50Hz CEA modes added (allows 4:4:4, 4:2:2, and 4:2:0). In the old EDID, these were only supported for 4:2:0.

In the new EDID, 10 and 12 bpc is supported for 4:2:0.

In the new EDID, HDR10+ data exists (Dolby).

The only think weird in the new EDID is that the horizontal range is limited to a max of 70 kHz instead of 135 kHz. Maybe consider overriding the Frequency Rage in SwitchResX to be sure.

Custom 3840x2160/60Hz with timing from 'Descriptor #0' works. Nothing happens when I try 1920x1080/60Hz HiDPI. Do you see a different timing I should be using?
I see nothing because you've shown nothing. What Descriptor #0 are you looking at? I see a timing for 1920x1080 there. Why would you use that for 3840x2160? Are you saying that you are editing the EDID manually and replacing Descriptor #0?
Code:
    Descriptor #0 - Timing definition:
    Mode = 1920 × 1080 @ 60.000Hz
        Pixel Clock............. 148.50 MHz        Not Interlaced

                                Horizontal        Vertical
        Active.................. 1920 pixels        1080 lines
        Front Porch.............   88 pixels           4 lines
        Sync Width..............   44 pixels           5 lines
        Back Porch..............  148 pixels          36 lines
        Blanking................  280 pixels          45 lines
        Total................... 2200 pixels        1125 lines
        Scan Rate...............  67.500 kHz         60.000 Hz
        Image Size.............. 1440 mm         810 mm
        Border..................    0 pixels           0 lines

            Sync: Digital separate with
                * Positive vertical polarity
                * Positive horizontal polarity

EDIT: The 'scaled' box is not checked next to 1920x1080 HiDPI. If I double-click, it looks like 3840x2160 resolution without scaling. If I try to add a custom scaled resolution of 3840x2160, it just says 'Not activated - invalid'.
1920x1200 HiDPI works great (besides aspect ratio of course).
A mode does not need to be scaled for it to be used by the macOS to make a HiDPI mode. Your display has a 3840x2160 timing, so it is not scaled from some other timing.
There is no point creating a 3840x2160 scaled mode if that is the actual resolution of the display.

EDIT2: Got HiDPI working with custom scaled 3840x2162.
Weird. What version of macOS are you running? Show the "Display Information" tab of SwitchResX.
You're using Intel Iris Pro 5200 graphics from a 2.2 GHz MacBook Pro, so I don't know if that has limits that are causing this issue. Maybe a previous post in this thread mentions an issue that I forgot. I did a search. Yup, I did forget that this was discussed before (I don't remember if the code that caused the issue was inspected)
#905 #910 #911 #921 #922
#925 - #930

Should I care about YCbCr vs RGB?
Not if you can't figure out what is wrong with YCbCr.
 
Last edited:
I see a timing for 1920x1080 there. Why would you use that for 3840x2160?
Because it's the only timing that works for 3840x2160/60Hz. The standard timing is double, which is fine for 30Hz, but 3840x2160/60Hz displays just a green line at the top of the screen.

Note: That 'standard' timing works on my PC with Windows.

Are you saying that you are editing the EDID manually and replacing Descriptor #0?
No. I'm referencing the timing that works and exported the EDID from SwitchResX.

A mode does not need to be scaled for it to be used by the macOS to make a HiDPI mode. Your display has a 3840x2160 timing, so it is not scaled from some other timing.
There is no point creating a 3840x2160 scaled mode if that is the actual resolution of the display.
Standard resolution (timing) does not work, so I had to create a custom one. Standard HiDPI mode does not work, so I had to create a custom one (with additional 2 vertical pixels as mentioned in this thread before).

Weird. What version of macOS are you running?
10.15.6

Show the "Display Information" tab of SwitchResX.
Attached.
 

Attachments

  • DisplayInformation.png
    DisplayInformation.png
    744.8 KB · Views: 287
Because it's the only timing that works for 3840x2160/60Hz. The standard timing is double, which is fine for 30Hz, but 3840x2160/60Hz displays just a green line at the top of the screen.

Note: That 'standard' timing works on my PC with Windows.

No. I'm referencing the timing that works and exported the EDID from SwitchResX.

Standard resolution (timing) does not work, so I had to create a custom one. Standard HiDPI mode does not work, so I had to create a custom one (with additional 2 vertical pixels as mentioned in this thread before).
I can't parse this.
 
Hi to everyone.

I bought Dell P2421DC (2K, USB-C Monitor) past week. The monitor worked fine with Windows and Raspberry. But when I connected to Macbook I got a really bad image at 2560x1440 resolution. So, I am tried scaled resolutions tool and I still can't use hidpi at high resolutions.1920x1080 is the highest resolution I can use with hidpi. At 1920x1080 resolution, the image is better, but the fonts look a little bad. The 1366x768 resolution fonts and the display are good, but the resolution is very low, making it very useless. Shouldn't I be able to get a good display at least in 1080p on this monitor? 2K monitor insufficient for Macbook?
 
joevt, I can force RGB with this: https://gist.github.com/adaugherity/7435890
But, how do I force RGB with SwitchResX working? (The above overrides SwitchResX, and vice versa).
1) Open the override file created by adaugherity EDID script, copy the IODisplayEDID and paste it into the override file created by SwitchResX (replacing the EDID that SwitchResX created).
2) Delete the override file created by adaugherity EDID script.
3) Redo the changes you made in SwitchResX.

Or

1) Delete the override file created by SwitchResX (or set to Factory Defaults)
2) Disconnect and reconnect the display. Now it should use the adaugherity EDID script.
3) Redo the changes you made in SwitchResX. SwitchResX should start with the EDID from the script and add it's custom resolutions to that.
 
Hey guys, thanks to this thread I successfully set "sharp" resolution to my Lenovo P27q-10 monitor (2560x1440 native). I set 2304x1296 HiDPI using switchresX and RDM, and I like it, however I noticed that the monitor randomly goes off, like it is not connected to the macbook (13" 2020 i5/1TB/32GB). Can be this linked to the new resolution (before I set that resolution everything was ok with the monitor). When I reconnect the adapter (USB-A, HDMI and USB-C) the monitor is back (I'm using HDMI).
 
Hey guys, thanks to this thread I successfully set "sharp" resolution to my Lenovo P27q-10 monitor (2560x1440 native). I set 2304x1296 HiDPI using switchresX and RDM, and I like it, however I noticed that the monitor randomly goes off, like it is not connected to the macbook (13" 2020 i5/1TB/32GB). Can be this linked to the new resolution (before I set that resolution everything was ok with the monitor). When I reconnect the adapter (USB-A, HDMI and USB-C) the monitor is back (I'm using HDMI).
I have a similar Lenovo monitor (L24q-20 2560x1440 native) but only get 720p HiDPI. Could you please let us know how you enabled 2304x1296 HiDPI with your monitor?
 
Status
Not open for further replies.
Back
Top