Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

broccuti

macrumors newbie
Original poster
Apr 3, 2022
8
7
I have a Late 2012 27" iMac and I recently got an Ultrawide 34" monitor that I was hoping to use as the primary display.

Connecting with Mini DisplayPort to HDMI gets me 3440x1440, but if I try to use Mini DisplayPort to DisplayPort, it won't run higher than 1080p -- is that just a limitation of converting Mini DisplayPort to DisplayPort? I've tried a few different Mini DisplayPort to DisplayPort cables, but no luck

I can use HDMI if I have to, but was hoping there might be a magic solution for DisplayPort so I can connect it through my KVM (also, I've been testing directly through the monitor's DisplayPort input just to ensure it isn't related to the KVM itself).

Thanks in advance for any advice y'all have.
 
I have a Late 2012 27" iMac and I recently got an Ultrawide 34" monitor that I was hoping to use as the primary display.

Connecting with Mini DisplayPort to HDMI gets me 3440x1440, but if I try to use Mini DisplayPort to DisplayPort, it won't run higher than 1080p -- is that just a limitation of converting Mini DisplayPort to DisplayPort? I've tried a few different Mini DisplayPort to DisplayPort cables, but no luck

I can use HDMI if I have to, but was hoping there might be a magic solution for DisplayPort so I can connect it through my KVM (also, I've been testing directly through the monitor's DisplayPort input just to ensure it isn't related to the KVM itself).

Thanks in advance for any advice y'all have.
Mini DisplayPort and DisplayPort are identical - there's no difference except the shape of the connector, and therefore no conversion.

DisplayPort usually has more bandwidth than HDMI so it should work.

In the Displays preferences panel in System Preferences.app, hold the option key down and click "Scaled...". Click "Show all resolutions". Do you see the mode you want?

Use SwitchResX. Does it show the mode you want in the Current Resolutions tab?
 
I have a Late 2012 27" iMac and I recently got an Ultrawide 34" monitor that I was hoping to use as the primary display.

Connecting with Mini DisplayPort to HDMI gets me 3440x1440, but if I try to use Mini DisplayPort to DisplayPort, it won't run higher than 1080p -- is that just a limitation of converting Mini DisplayPort to DisplayPort? I've tried a few different Mini DisplayPort to DisplayPort cables, but no luck

I can use HDMI if I have to, but was hoping there might be a magic solution for DisplayPort so I can connect it through my KVM (also, I've been testing directly through the monitor's DisplayPort input just to ensure it isn't related to the KVM itself).

Thanks in advance for any advice y'all have.

Have you check the setting on the 34" monitor?
 
Use SwitchResX. Does it show the mode you want in the Current Resolutions tab?
Also, what’s the pixel clock limit shown by SwitchResX in the “Display Information” tab when using DisplayPort? HDMI?

3440×1440 at 60 Hz requires 319.75 MHz using CVT-RB timings, so both DisplayPort 1.1 and HDMI 1.4 can do it (at 8bpc at least).
 
Last edited:
  • Like
Reactions: broccuti
Mini DisplayPort and DisplayPort are identical - there's no difference except the shape of the connector, and therefore no conversion.

DisplayPort usually has more bandwidth than HDMI so it should work.

In the Displays preferences panel in System Preferences.app, hold the option key down and click "Scaled...". Click "Show all resolutions". Do you see the mode you want?

Use SwitchResX. Does it show the mode you want in the Current Resolutions tab?

So I Installed SwitchResX and it does let me go to 2560x1440 @ 60+50Hz, but doesn't show me 3440x1440 (however when I use the MDP -> HDMI connector, it lets me do the 3440x1440 @ 50Hz. I tried seeing if changing the DisplayPort versions on the monitor made a difference (1.4, 1.2, 1.1) but no change, they all cap at 2560x1440.

Also, what’s the pixel clock limit shown by SwitchResX in the “Display Information” tab when using DisplayPort? HDMI?

3440×1440 at 60 Hz requires 319.75 MHz using CVT-RB timings, so both DisplayPort 1.1 and HDMI 1.4 can do it (at 8bpc at least).

Here's the info with the DisplayPort connection:
Screen Shot 308.png

Screen Shot 310.png


Here's the info with the HDMI connection:
Screen Shot 309.png

Screen Shot 311.png


Thanks again for all the help everyone, this is certainly an interesting issue! I'm still wondering if maybe it's just an issue with the different cables I've tried -- I think I've tried multiple versions of DisplayPort cables, but maybe I didn't use the right one.
 
  • Like
Reactions: Amethyst1
Thanks again for all the help everyone, this is certainly an interesting issue!
Thanks for providing the screenshots.
  • The pixel clock ranges indicated by SwitchResX look OK (for 8bpc).
  • The 3440×1934 at 50 Hz mode that shows up via HDMI is strange because it's beyond HDMI 1.3/1.4's 340 MHz pixel clock limit unless it's just a scaled mode. Does SwitchResX indicate this is a scaled mode?
  • The 1920×1080 at 120 Hz mode (285.5 MHz pixel clock using CVT-RB) present via HDMI is also missing via DisplayPort.
In SwitchResX, there's an "Export EDID" button at the top of the main window. Please do this twice - once when using DisplayPort, once when using HDMI - and attach the files this procedure creates (in your Documents folder) to your reply. Thanks in advance. :)
 
Last edited:
  • Like
Reactions: broccuti
Try the AGDCDiagnose command for the DisplayPort and HDMI connection (use a different file name for each).
/System/Library/Extensions/AppleGraphicsControl.kext/Contents/MacOS/AGDCDiagnose -a > AGDCDiagnose_a.txt 2>&1

You have a 2012 iMac so maybe it doesn't output a lot of useful info. In that case, try my AllRez command from #177 with DisplayPort and HDMI (use a different filename for each).
~/Downloads/AllRez > AllRez.txt

Use the Finder to create a .zip file containing the output files and attach here.

Once we have the EDID info, we can create a 3440 x 1440 @ 60Hz timing in SwitchResX.

Maybe macOS is limiting DisplayPort output to 2560 width? In that case, a patch might be required.
 
Thanks for providing the screenshots.
  • The pixel clock ranges indicated by SwitchResX look OK (for 8bpc).
  • The 3440×1934 at 50 Hz mode that shows up via HDMI is strange because it's beyond HDMI 1.3/1.4's 340 MHz pixel clock limit unless it's just a scaled mode. Does SwitchResX indicate this is a scaled mode?
  • The 1920×1080 at 120 Hz mode (285.5 MHz pixel clock using CVT-RB) present via HDMI is also missing via DisplayPort.
In SwitchResX, there's an "Export EDID" button at the top of the main window. Please do this twice - once when using DisplayPort, once when using HDMI - and attach the files this procedure creates (in your Documents folder) to your reply. Thanks in advance. :)

Try the AGDCDiagnose command for the DisplayPort and HDMI connection (use a different file name for each).
/System/Library/Extensions/AppleGraphicsControl.kext/Contents/MacOS/AGDCDiagnose -a > AGDCDiagnose_a.txt 2>&1

You have a 2012 iMac so maybe it doesn't output a lot of useful info. In that case, try my AllRez command from #177 with DisplayPort and HDMI (use a different filename for each).
~/Downloads/AllRez > AllRez.txt

Use the Finder to create a .zip file containing the output files and attach here.

Once we have the EDID info, we can create a 3440 x 1440 @ 60Hz timing in SwitchResX.

Maybe macOS is limiting DisplayPort output to 2560 width? In that case, a patch might be required.

Sorry for the delay, was able to run them all -- just an FYI, I didn't adjust the primary display option switching between the cables and I think the DisplayPort reports had the Ultrawide set as the primary instead of the iMac's display.

Regarding the macOS limiting to 2560, I actually was thinking that based on the specs on Apple's site for this machine. Would be interesting if the OS was limiting that for just DisplayPort and not HDMI.

By the way, here's the exact configuration of the machine, in case that provides any useful info:
Screen Shot 313.png
 

Attachments

  • Reports.zip
    60.9 KB · Views: 85
  • Like
Reactions: Amethyst1
Sorry for the delay, was able to run them all [...]
The DisplayPort EDID only contains 3440×1440 modes with a pixel clock higher than 358.20 MHz (the iMac's limit), which explains why you're not getting any 3440×1440 modes via DisplayPort.

I had a look at the 3440×1440 60 Hz mode and the blanking is huge, explaining why the pixel clock (429.70 MHz) is much higher than the 319.75 MHz that results from the CVT-RB timing formula.

Try the following:
  • Connect the monitor via DisplayPort.
  • Fire up SwitchResX and go to the Custom Resolutions tab.
  • Click +, select Custom Resolution, Use simplified settings and CVT-RB.
  • Enter 3440 pixels by 1440 lines in the first row and a vertical scan rate of 60 Hz near the bottom of the window. (SwitchResX calculates the rest.)
  • Click "File > Save", then "Activate immediately".
Does that 3440×1440 60 Hz mode you just created now show up on the Current Resolutions tab? If so, click the radio-button checkbox next to it to select it. Does it work?
 
  • Like
Reactions: joevt and broccuti
The DisplayPort EDID only contains 3440×1440 modes with a pixel clock higher than 358.20 MHz (the iMac's limit), which explains why you're not getting any 3440×1440 modes via DisplayPort.

I had a look at the 3440×1440 60 Hz mode and the blanking is huge, explaining why the pixel clock (429.70 MHz) is much higher than the 319.75 MHz that results from the CVT-RB timing formula.

Try the following:
  • Connect the monitor via DisplayPort.
  • Fire up SwitchResX and go to the Custom Resolutions tab.
  • Click +, select Custom Resolution, Use simplified settings and CVT-RB.
  • Enter 3440 pixels by 1440 lines in the first row and a vertical scan rate of 60 Hz near the bottom of the window. (SwitchResX calculates the rest.)
  • Click "File > Save", then "Activate immediately".
Does that 3440×1440 60 Hz mode you just created now show up on the Current Resolutions tab? If so, click the radio-button checkbox next to it to select it. Does it work?

Interesting results -- it worked in terms of adding it as a current resolution and you can see it even highlights it when I check the "Shoe best resolutions for display in bold" option. However, when I select it, the ultrawide stays blank and then every like 3-5 seconds the main iMac display flashes like happens when you plug/unplug an external monitor.

Screen Shot 314.png
 
  • Like
Reactions: Amethyst1
More progress! I changed the custom resolution to 50Hz and now it seems to be working!

60Hz would be cool, but 50Hz shouldn't affect me too much since I really only use the iMac for development work.

Thanks again for all the help! If you all have any ideas for the 60Hz issue, feel free to let me know and I'll gladly try any other ideas, but otherwise, thanks!!
 
  • Like
Reactions: Amethyst1
If you all have any ideas for the 60Hz issue, feel free to let me know and I'll gladly try any other ideas, but otherwise, thanks!!
What I'd do next is create a bunch of custom 3440×1440 modes with 51, 52, 53, ..., 59 Hz refresh to see how high you can go. Note the pixel clock of the highest refresh rate that works.

It's possible that the pixel clock limit is actually 288 MHz if the monitor is driven at 10bpc. If that's the case, 54 Hz is possible but 55 Hz is not. I'd try those two modes first.

The unregistered version of SwitchResX only allows two custom modes at once but that shouldn't be an issue as modes can quickly be added and removed.

Once the highest possible refresh rate using CVT-RB has been determined, I'd try creating a 3440×1440 mode using the tighter “CVT-RB v2”timings. Your monitor is pretty new so it should have no problems with them. Those will allow you to get an extra Hz refresh given a certain pixel clock limit.
 
Last edited:
After discovering the CVT-RB and CVT-RB2 refresh rate limits, try a custom timing that doesn't use CVT-RB or CVT-RB2:

Create a 3440x1440@60Hz with CVT-RB timing, but before clicking OK, unselect "Use simplified settings", then set the pixel clock to the max (358 MHz), and increase horizontal sync until you're at 60Hz.
Try these:
pixel clock 358 MHz
horizontal front, sync, back: 62, 348, 179
vertical front, sync, back: 3, 10, 28

The connection to the display has HBR link rate (4 lanes) as expected for a Thunderbolt 1 Mac. This corresponds to the 358 MHz max pixel clock (360 MHz minus a couple MHz for some kind of overhead - maybe audio?).

I wonder why the display has a "DSC Algorithm revision = 1.2" but "DSC support = 0"? Is this because of the Thunderbolt 1 connection? Does the display have "DSC support = 1" on a newer GPU? The display supports DisplayPort 1.4 and HBR3 link rate. It doesn't need DSC to do 3440x1440@144Hz except for 10bpc.
 
  • Like
Reactions: Amethyst1
What I'd do next is create a bunch of custom 3440×1440 modes with 51, 52, 53, ..., 59 Hz refresh to see how high you can go. Note the pixel clock of the highest refresh rate that works.

It's possible that the pixel clock limit is actually 288 MHz if the monitor is driven at 10bpc. If that's the case, 54 Hz is possible but 55 Hz is not. I'd try those two modes first.

The unregistered version of SwitchResX only allows two custom modes at once but that shouldn't be an issue as modes can quickly be added and removed.

Once the highest possible refresh rate using CVT-RB has been determined, I'd try creating a 3440×1440 mode using the tighter “CVT-RB v2”timings. Your monitor is pretty new so it should have no problems with them. Those will allow you to get an extra Hz refresh given a certain pixel clock limit.

After incrementally increasing the refresh rate, 53 was the max I could get, 54 caused the black screen. I then took the same config and set to CVT-RB v2 with 53 Hz and that worked as well. Here's the final config that worked:

Screen Shot 316.png
 
  • Like
Reactions: Amethyst1
After discovering the CVT-RB and CVT-RB2 refresh rate limits, try a custom timing that doesn't use CVT-RB or CVT-RB2:

Create a 3440x1440@60Hz with CVT-RB timing, but before clicking OK, unselect "Use simplified settings", then set the pixel clock to the max (358 MHz), and increase horizontal sync until you're at 60Hz.
Try these:
pixel clock 358 MHz
horizontal front, sync, back: 62, 348, 179
vertical front, sync, back: 3, 10, 28

The connection to the display has HBR link rate (4 lanes) as expected for a Thunderbolt 1 Mac. This corresponds to the 358 MHz max pixel clock (360 MHz minus a couple MHz for some kind of overhead - maybe audio?).

I wonder why the display has a "DSC Algorithm revision = 1.2" but "DSC support = 0"? Is this because of the Thunderbolt 1 connection? Does the display have "DSC support = 1" on a newer GPU? The display supports DisplayPort 1.4 and HBR3 link rate. It doesn't need DSC to do 3440x1440@144Hz except for 10bpc.

These numbers worked to get me to 59.997, but same issue as trying to set it before, kept causing it to disconnect over and over again:
Screen Shot 318.png
 
  • Like
Reactions: Amethyst1
These numbers worked to get me to 59.997, but same issue as trying to set it before, kept causing it to disconnect over and over again:
View attachment 1987718
It's really sad that your low resolution (1440p) display can't work with an HBR link rate... (ignore that and the following - see below)
Ask LG for a firmware update or a specific set of settings that allows 3440x1440@60Hz at less than 358 MHz pixel clock.
Exactly which LG display do you have? 34GP83A-B or 34GN850-B or something else?
Is the Overclock option enabled or disabled? Maybe enabled could allow shorter sync widths.
Is Adaptive Sync enabled or disabled?
What is the DisplayPort version set to? I think you already said that you tried changing the DisplayPort version.
Do any of the above options have an effect on the EDID or operation?


After incrementally increasing the refresh rate, 53 was the max I could get, 54 caused the black screen. I then took the same config and set to CVT-RB v2 with 53 Hz and that worked as well.
The more important number is usually the pixel clock.

CVT-RB : 53,54Hz -> 281.56, 287.06 MHz
CVT-RB2: 53,54,55,56Hz -> 275.36, 280.75, 286.14, 291.54 MHz

But in your case, even though 281.56 MHz works for CVT-RB, you could not get 280.75 MHz to work for CVT-RB2.

So maybe there's some difference we can see in the blanking between CVT-RB and CVT-RB2 that may give a clue... But that's ridiculous. I am probably over thinking this. If the display can do 3440x1440@144Hz then it means the blanking can be really small. The way to test this is to use the same 358MHz or lower timing from a Mac that supports HBR2 link rate.

I think we're running into the 10bpc limit of HBR (288 MHz) as @Amethyst1 said #14 . The normal HBR displays you might connect are 2560x1600 which only require 260 MHz.

To get to higher than 280MHz (required for your wider display) we need the macOS to do 8bpc but it's forcing 10bpc? macOS might be thinking it can do 10bpc because you have a HBR2 capable Kepler GPU, but the Thunderbolt port is forcing HBR link rate. It's another case of macOS not taking bottlenecks into account. #12

SwitchResX has an option to select millions of colors (8bpc) in the menu but this usually only changes the framebuffer pixel depth. Your AllRez output shows you are already using 8bpc framebuffer. Your GPU is old and the drivers are old, so the timing info doesn't have info about pixel format or output color depth.

I have an iMac (27-inch, Late 2013) with GTX 780M. I'll do some tests.
 
  • Like
Reactions: Amethyst1
I did some tests with my iMac using a 4K display that can accept 3440x1440 timings. It fails after 53 MHz just like your tests. We need a patch to force 8bpc output.

The problem with the Frequency Range override in SwitchResX is that it doesn't have a bandwidth range which would take into account both pixel clock and color depth.
 
  • Like
Reactions: Amethyst1
After incrementally increasing the refresh rate, 53 was the max I could get, 54 caused the black screen. I then took the same config and set to CVT-RB v2 with 53 Hz and that worked as well
I did some tests with my iMac using a 4K display that can accept 3440x1440 timings. It fails after 53 MHz just like your tests. We need a patch to force 8bpc output.
So 54 Hz does not work even if using CVT-RB v2?
 
Last edited:
I noticed that the display modes don't have a "Billions of colors" color depth option in SwitchResX after 55Hz so it knows there's a HBR bandwidth limitation and knows that it affects color depth options at different timings.

However, the color depth option usually just affects the framebuffer color depth so there's no point in removing the "Billions of colors" color depth option. This way, the driver could use the extra bits to perform dithering on the output. Maybe the driver indicates that it doesn't do dithering or doesn't do color depth conversion?

I believe the problem is that the "Millions of colors" color depth option is applying to the framebuffer pixel color depth but not to the output color depth. The output pixel depth may remain at 30 bit which exceeds the bandwidth limit causing the display to go blank. I need to find a way to detect the output pixel color depth to verify this. I'll maybe use Lilu/WhateverGreen (loaded by OCLP) to patch the IOFramebuffer to trap all the mode calls.
 
  • Like
Reactions: Amethyst1
55Hz is not bad considering that the max you could get with the same pixel clock by setting the sync to the minimum (all ones) is 57.6 Hz (but I don't think any display can use such small sync periods).

I am going to look at the driver to see if it can be made to use 8bpc so that 72Hz (357.71 MHz) is possible.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.