Post Reply
Custom Resolution Utility (CRU)
12-01-2022, 08:15 AM (Last edited: 12-01-2022, 09:37 AM by TnF)
Post: #7081
RE: Custom Resolution Utility (CRU)
Hello. I have been using CRU on many different systems through the years but currently i have one issue i cannot explain.
My system at the moment has an AMD 6900xt and 2 identical LG 27GL850 (1440p@144hz@10bit) of the latest revision (original revision was supposedly DP 1.4 but couldn't do HBR3, instead it had reduced timings from the factory to be able to just squeeze the signal into HBR2. But it was advertised as DP 1.4 and even had this option in the monitor menu but you could see 4x5.4Gbps link was the max. Not even reviewers caught this and there is no official revision in the model number anywhere, the revisions were found by the community. Liar LG)

Software wise i am running W10 22H2 with MPO disabled (as it causes problems like driver timeout crashes, issues in browsers etc, it's known windows issue and even nvidia posted reg edit to disable it as temp fix) and the latest 22.11.1 drivers that supposedly fixed the high Vram clock issue (yet again) - it doesn't, with my monitors i need to drop both to 60hz in order for it to downclock, even increasing vertical blanking doesn't fix it. Running single monitor if i remember in much older drivers it could downclock at 120hz but not at 144hz.

Or reddit in this driver release an AMD rep said this:
"It's ultimately contingent on graphics and display hardware. This isn't something that could be influenced by driver software (otherwise it would have been done already).

VBI on the other hand can be influenced by custom resolutions in Adrenalin, though that's pretty advanced and I don't generally like to recommend this."

But i know this is BS because there seems to be a limit where if the total pixel clock exceeds a specific value, vram clocks will switch to high because there is no other intermediary powerplay clock state to support that total bandwidth..It's 2022 and multimonitor high resolution/bandwidth users still get f*cked over with this. Nvidia does it too. They will never learn it looks like it.

edit: He also said this which confirms the above: "There are two key aspects to low idle mclk with multiple displays. Total display bandwidth and vertical blanking interval."

Anyways, i've decided to try overclocking one of my 27GL850 monitors as i know there are 165hz versions with the same panel and possibly TCON, and LG just put a software limit. It's pretty apparent because even at 155hz it works but displays an annoying out of range overlay dialog you can't disable. But anything lower and it doesn't do it.

The issue i am having is that while at factory timings 1440p@144hz@10bit both monitors will run HBR3 (4x8.1Gbps) all day, everyday at all scenarios, anything i've tried over that it will work but when the monitor is turned off (like windows display sleep timeout) and then you wake it up that will force DP link re-training, it will run into some kind of safe mode where it drops down bitrate to 6bit and HBR2 even though it just did work just fine before. I can see that quite easily because any color gradient shows visible banding.

When this happens in the radeon settings it will make bit depth option disappear, and windows resolution information in settings will still show 10bit when it's clearly not. To recover from here i need to drop to 120hz (which is one of the standard monitor modes, not a custom one) change bit depth to 8bit, then switch back to my overclocked setting and re-set to 10bit and it will stay at HBR3 until DP link retraining is initiated again. This method works 100% consistently but i could also just switch to 120hz and back without changing bit depth but this doesn't have 100% success.

I've tried different timings but i couldn't find any settings that will prevent this from happening. Also changing the "Voltage swing" and "PreEmphasis" overrides didn't make any difference. However i've noticed a couple of other weird things. First i get a 3rd entry of this monitor in CRU with the factory edid conf that is never active, and when it swiches to HBR2 6bit from HBR3 10bit the actual refresh rate changes (example from 150hz to 149.9xxxhz)

My guess this happens because it tries to do some kind of quick DP link re-training and it fails, so it switches to HBR2, but since it can't do that refresh rate at that resolution it reduces bitrate to minimum and re-tries (since it should be possible to run it at 8bit, but it skips that entirely).

Here are some screenshots (here 148hz because i was trying to see if it happens at different refresh rates too):

Running with overclock HBR3 no issues: https://i.imgur.com/Y7Gb5CO.png
Running with overclock after it locks into 6bit HBR2: https://i.imgur.com/oIkSDSu.png
Running stock settings HBR3 144hz: https://i.imgur.com/N5VLZkL.png
Some reference timings at 150hz: https://i.imgur.com/smJskaU.png (weirdly here it says CVT timings will fit into HBR3 but CRU locks you well before that, why??)

Also i have one more general question..when overclocking a freesync monitor you need to increase the freesync range in order for it to work up to the new overclocked refresh rate or not? Also. does the pixel clock limit you can edit there play any role? (i did increase those in my case if it's relevant)
Find all posts by this user
Quote this message in a reply
12-01-2022, 11:09 AM
Post: #7082
RE: Custom Resolution Utility (CRU)
(11-29-2022 07:11 PM)ToastyX Wrote:  
(11-28-2022 02:16 PM)dsir67 Wrote:  Hello, I've been having a problem with new LG oled C2 and my RTX3060 video card. I came across this CRU utility and website and am hoping someone here can help.

I've been beating this up for a couple weeks now, and although some progress has been made I'm still not where I need to be. The entire detailed thread on avsforum is here: https://www.avsforum.com/threads/new-lg-...t-62116130

Reverting to a specific older Nvidia driver helped some of the issues, but at the end of the day I am still unable to choose any 4K PC resolutions above 60Hz in the NCP. The TV goes dark and says no signal. I can VNC into the PC and see the desktop. The computer itself will accept the 100/120Hz 4K settings when they are selected, the TV just loses sync.

I ran the CRU utility and exported the EDID. Have attached to this post. Hoping there is useful info in there, or someone here has some ideas. AM open to all suggestions.
Honestly, it sounds like there's a hardware problem somewhere because this setup should work without problems. The EDID is fine, and the PC recognizes the resolutions, so the signal is getting distorted somewhere. You mentioned trying other cables, so I think either the video card or the TV is defective. If the video card has another HDMI port, try that just in case the HDMI port is bad. Try another HDMI port on the TV as well.

Thank you for the help and checking the EDID. Did try all ports on the TV. I'm leaning toward the card/hdmi port being culprit. Unfortunately I only have one HDMI and 3DP. I purchased a Displayport to HDMI adaptor and can now achieve 120Hz@4K.
Find all posts by this user
Quote this message in a reply
12-01-2022, 02:27 PM (Last edited: 12-01-2022, 02:27 PM by Miosaurio)
Post: #7083
RE: Custom Resolution Utility (CRU)
I am using my old PC, as it is at my parents house, now the problem for some reason my screen does not have the resolution it should have.

I am stuck in 1024 x 728 instead of being 1366 x 728 , I really do not understand why this is happening , I tried to use this application (which appears in all the tutorials to change resolution) but I do not get the new resolution in "all modes" I honestly do not understand what is going on .

these are the options of my monitor :
https://imgur.com/a/OMDTw5U

the program detects the resolution that should be but I don't know why it doesn't appear :
https://imgur.com/a/gdrDzFq

information:
graphics: ATI Radeon 3000 (older than dinosaurs)
Display: a generic JVC TV
OS : WIN 10
Find all posts by this user
Quote this message in a reply
12-01-2022, 07:42 PM
Post: #7084
RE: Custom Resolution Utility (CRU)
(12-01-2022 02:27 PM)Miosaurio Wrote:  I am using my old PC, as it is at my parents house, now the problem for some reason my screen does not have the resolution it should have.

I am stuck in 1024 x 728 instead of being 1366 x 728 , I really do not understand why this is happening , I tried to use this application (which appears in all the tutorials to change resolution) but I do not get the new resolution in "all modes" I honestly do not understand what is going on .

these are the options of my monitor :
https://imgur.com/a/OMDTw5U
You don't have the driver installed for the GPU. AMD doesn't officially support the Radeon 3000-series with Windows 10, but maybe the Windows 8.1 driver will work: https://www.amd.com/en/support/graphics/...adeon-3000
Find all posts by this user
Quote this message in a reply
12-01-2022, 07:42 PM
Post: #7085
RE: Custom Resolution Utility (CRU)
(12-01-2022 08:15 AM)TnF Wrote:  But i know this is BS because there seems to be a limit where if the total pixel clock exceeds a specific value, vram clocks will switch to high because there is no other intermediary powerplay clock state to support that total bandwidth..It's 2022 and multimonitor high resolution/bandwidth users still get f*cked over with this. Nvidia does it too. They will never learn it looks like it.
The memory clock issue has nothing to do with bandwidth. Changing the memory clock while the screen is refreshing will corrupt the image while the memory is being retrained, so the memory clock needs to change during the vertical blanking period to avoid this. If the vertical blanking period is not long enough, there won't be enough time to finish retraining the memory before the next refresh starts. That's why the memory clock won't change if the vertical blanking is too low. That's for a single monitor. For memory clock changes to work with multiple monitors, both monitors must be perfectly synchronized so the vertical blanking period happens at the same time, otherwise there's no way to avoid corrupting the image on one of the monitors. You have to make sure that the timing parameters for the detailed resolutions for both monitors match exactly. If they do match and it still won't clock down, then that's a driver bug or hardware-specific limitation. There should be no issues with clocking down with two identical monitors at 2560x1440 @ 144 Hz if the vertical blanking is long enough. What happens if you try 8 bpc color instead of 10 bpc?


(12-01-2022 08:15 AM)TnF Wrote:  The issue i am having is that while at factory timings 1440p@144hz@10bit both monitors will run HBR3 (4x8.1Gbps) all day, everyday at all scenarios, anything i've tried over that it will work but when the monitor is turned off (like windows display sleep timeout) and then you wake it up that will force DP link re-training, it will run into some kind of safe mode where it drops down bitrate to 6bit and HBR2 even though it just did work just fine before. I can see that quite easily because any color gradient shows visible banding.

When this happens in the radeon settings it will make bit depth option disappear, and windows resolution information in settings will still show 10bit when it's clearly not. To recover from here i need to drop to 120hz (which is one of the standard monitor modes, not a custom one) change bit depth to 8bit, then switch back to my overclocked setting and re-set to 10bit and it will stay at HBR3 until DP link retraining is initiated again. This method works 100% consistently but i could also just switch to 120hz and back without changing bit depth but this doesn't have 100% success.

I've tried different timings but i couldn't find any settings that will prevent this from happening. Also changing the "Voltage swing" and "PreEmphasis" overrides didn't make any difference. However i've noticed a couple of other weird things. First i get a 3rd entry of this monitor in CRU with the factory edid conf that is never active, and when it swiches to HBR2 6bit from HBR3 10bit the actual refresh rate changes (example from 150hz to 149.9xxxhz)

My guess this happens because it tries to do some kind of quick DP link re-training and it fails, so it switches to HBR2, but since it can't do that refresh rate at that resolution it reduces bitrate to minimum and re-tries (since it should be possible to run it at 8bit, but it skips that entirely).
If the EDID actually changes when this happens, then this is something the monitor is doing, not the GPU. My guess is the monitor might have a firmware bug that causes it to be in HBR2 mode (1.4 disabled) when waking up from sleep. DisplayPort automatically downgrades the color depth if there's not enough bandwidth.


(12-01-2022 08:15 AM)TnF Wrote:  Running stock settings HBR3 144hz: https://i.imgur.com/N5VLZkL.png
Some reference timings at 150hz: https://i.imgur.com/smJskaU.png (weirdly here it says CVT timings will fit into HBR3 but CRU locks you well before that, why??)
Vertical front porch can't be higher than 63 for EDID detailed resolutions, and the pixel clock can't be higher than 655.35 MHz. You can use a DisplayID extension block to add detailed resolutions with higher limits.


(12-01-2022 08:15 AM)TnF Wrote:  Also i have one more general question..when overclocking a freesync monitor you need to increase the freesync range in order for it to work up to the new overclocked refresh rate or not? Also. does the pixel clock limit you can edit there play any role? (i did increase those in my case if it's relevant)
You need to increase the range if you want FreeSync to work at the higher refresh rate. Some monitors handle higher refresh rates differently with FreeSync than without, like frame skipping if the refresh rate is not within the range. The pixel clock limit doesn't affect FreeSync, but AMD's driver will ignore any resolutions higher than the limit, so you should increase it if you're adding a detailed resolution with a higher pixel clock. The pixel clock value must be a multiple of 10, and the HBR3 limit is 1080 MHz, so you can just use that.
Find all posts by this user
Quote this message in a reply
12-01-2022, 07:42 PM
Post: #7086
RE: Custom Resolution Utility (CRU)
(11-30-2022 11:08 PM)Jaytie Wrote:  I used CRU quite a long time ago and just came back to it, with a new task, great tool after all Smile :
So I'm also using a 42" 16:9 4K display. I created a custom 21:9 resolution (namely 3840x1600). When creating this relolution with "no scaling" activated the picture is centered.
What I try to achive is that the picture is displayed at the bottom of the screen instead of centered in the middle. Since I could not find anything about it: Can CRU do this?
No, there's no way to control positioning with CRU. It would have to be done through the GPU, but I don't know any GPU that provides this feature.
Find all posts by this user
Quote this message in a reply
12-01-2022, 07:46 PM
Post: #7087
RE: Custom Resolution Utility (CRU)
(11-30-2022 09:16 AM)patrickge Wrote:  it's just an 6bit Panel build in.... this one: https://www.panelook.com/B156HAN02-1-AUO...76737.html

anyway i cant even change to 70 or 80hz for example. weird...
Even with a 6-bit panel, the color depth is normally 8 bpc, and the panel usually dithers to simulate 8 bpc. I don't see why 90 Hz would show up but not 70 or 80. That has to be a driver bug. Make sure you are using detailed resolutions, not standard resolutions. Standard is like using "Automatic CRT" which uses higher pixel clocks.
Find all posts by this user
Quote this message in a reply
12-02-2022, 01:50 PM
Post: #7088
RE: Custom Resolution Utility (CRU)
(12-01-2022 07:42 PM)ToastyX Wrote:  No, there's no way to control positioning with CRU.

Okay, it was worth a try. Smile Thank you for answering!
Find all posts by this user
Quote this message in a reply
12-02-2022, 07:59 PM
Post: #7089
RE: Custom Resolution Utility (CRU)
(12-01-2022 11:09 AM)dsir67 Wrote:  
(11-29-2022 07:11 PM)ToastyX Wrote:  
(11-28-2022 02:16 PM)dsir67 Wrote:  Hello, I've been having a problem with new LG oled C2 and my RTX3060 video card. I came across this CRU utility and website and am hoping someone here can help.

I've been beating this up for a couple weeks now, and although some progress has been made I'm still not where I need to be. The entire detailed thread on avsforum is here: https://www.avsforum.com/threads/new-lg-...t-62116130

Reverting to a specific older Nvidia driver helped some of the issues, but at the end of the day I am still unable to choose any 4K PC resolutions above 60Hz in the NCP. The TV goes dark and says no signal. I can VNC into the PC and see the desktop. The computer itself will accept the 100/120Hz 4K settings when they are selected, the TV just loses sync.

I ran the CRU utility and exported the EDID. Have attached to this post. Hoping there is useful info in there, or someone here has some ideas. AM open to all suggestions.
Honestly, it sounds like there's a hardware problem somewhere because this setup should work without problems. The EDID is fine, and the PC recognizes the resolutions, so the signal is getting distorted somewhere. You mentioned trying other cables, so I think either the video card or the TV is defective. If the video card has another HDMI port, try that just in case the HDMI port is bad. Try another HDMI port on the TV as well.

Thank you for the help and checking the EDID. Did try all ports on the TV. I'm leaning toward the card/hdmi port being culprit. Unfortunately I only have one HDMI and 3DP. I purchased a Displayport to HDMI adaptor and can now achieve 120Hz@4K.

Hey to interject, it's normally the Driver on Nvidia side.

For instance, with the latest Nvidia Driver 526.98 Game version, some features, have been removed in the drop menu for each individual choice and then added a few in other choices for Manage 3D .

I disagree with ToastyX on hardware being the issue. A new driver doesn't always prove to be of best interest. If you have problems with a newer driver, such as something stops working, go back to the driver where it was working.

With the addition in Windows 11 22H2 for Graphics section in Display, there are at least 4 new additions depending on the graphics card one is using.
VRR is one of them. This plays havoc because it is relatively new and has not been stable. Flickering issues happen on G-SYNC Freesync monitors. Not necessarily the hardware here. But the software. The issue is getting the software to work with the hardware.
If your tv or monitor does display a screen and can watch tv shows in normal mode--broadcast from Satellite or Cable then there is nothing wrong there. But if you have refresh rate issues when plugged into a graphics card, and you do get normal broadcast tv shows, movies, and cannot raise the freq in the card, but the card is rated for 120Hz when plugged into HDMI or DP, then the issue is driver. Process of elimination in troubleshooting.

Driver's are not perfect and are a series of patches one from next, to turn on or off some new or not working well features as prescribed by the Manufacturer of said graphics card. Buying an additional unit to make it work is not the answer either. It it working to find a driver that works well with your hardware.

Software is a always in a development stage regardless of what anyone states and is not perfect. Thus rollback may be necessary to find what works in your case.

To see what new drivers accomplish with options that are not previous or improved on some features is a good thing. Then take notes.
Find all posts by this user
Quote this message in a reply
12-05-2022, 10:46 AM
Post: #7090
RE: Custom Resolution Utility (CRU)
(12-01-2022 07:42 PM)ToastyX Wrote:  
(12-01-2022 08:15 AM)TnF Wrote:  But i know this is BS because there seems to be a limit where if the total pixel clock exceeds a specific value, vram clocks will switch to high because there is no other intermediary powerplay clock state to support that total bandwidth..It's 2022 and multimonitor high resolution/bandwidth users still get f*cked over with this. Nvidia does it too. They will never learn it looks like it.
The memory clock issue has nothing to do with bandwidth. Changing the memory clock while the screen is refreshing will corrupt the image while the memory is being retrained, so the memory clock needs to change during the vertical blanking period to avoid this. If the vertical blanking period is not long enough, there won't be enough time to finish retraining the memory before the next refresh starts. That's why the memory clock won't change if the vertical blanking is too low. That's for a single monitor. For memory clock changes to work with multiple monitors, both monitors must be perfectly synchronized so the vertical blanking period happens at the same time, otherwise there's no way to avoid corrupting the image on one of the monitors. You have to make sure that the timing parameters for the detailed resolutions for both monitors match exactly. If they do match and it still won't clock down, then that's a driver bug or hardware-specific limitation. There should be no issues with clocking down with two identical monitors at 2560x1440 @ 144 Hz if the vertical blanking is long enough. What happens if you try 8 bpc color instead of 10 bpc?


(12-01-2022 08:15 AM)TnF Wrote:  The issue i am having is that while at factory timings 1440p@144hz@10bit both monitors will run HBR3 (4x8.1Gbps) all day, everyday at all scenarios, anything i've tried over that it will work but when the monitor is turned off (like windows display sleep timeout) and then you wake it up that will force DP link re-training, it will run into some kind of safe mode where it drops down bitrate to 6bit and HBR2 even though it just did work just fine before. I can see that quite easily because any color gradient shows visible banding.

When this happens in the radeon settings it will make bit depth option disappear, and windows resolution information in settings will still show 10bit when it's clearly not. To recover from here i need to drop to 120hz (which is one of the standard monitor modes, not a custom one) change bit depth to 8bit, then switch back to my overclocked setting and re-set to 10bit and it will stay at HBR3 until DP link retraining is initiated again. This method works 100% consistently but i could also just switch to 120hz and back without changing bit depth but this doesn't have 100% success.

I've tried different timings but i couldn't find any settings that will prevent this from happening. Also changing the "Voltage swing" and "PreEmphasis" overrides didn't make any difference. However i've noticed a couple of other weird things. First i get a 3rd entry of this monitor in CRU with the factory edid conf that is never active, and when it swiches to HBR2 6bit from HBR3 10bit the actual refresh rate changes (example from 150hz to 149.9xxxhz)

My guess this happens because it tries to do some kind of quick DP link re-training and it fails, so it switches to HBR2, but since it can't do that refresh rate at that resolution it reduces bitrate to minimum and re-tries (since it should be possible to run it at 8bit, but it skips that entirely).
If the EDID actually changes when this happens, then this is something the monitor is doing, not the GPU. My guess is the monitor might have a firmware bug that causes it to be in HBR2 mode (1.4 disabled) when waking up from sleep. DisplayPort automatically downgrades the color depth if there's not enough bandwidth.


(12-01-2022 08:15 AM)TnF Wrote:  Running stock settings HBR3 144hz: https://i.imgur.com/N5VLZkL.png
Some reference timings at 150hz: https://i.imgur.com/smJskaU.png (weirdly here it says CVT timings will fit into HBR3 but CRU locks you well before that, why??)
Vertical front porch can't be higher than 63 for EDID detailed resolutions, and the pixel clock can't be higher than 655.35 MHz. You can use a DisplayID extension block to add detailed resolutions with higher limits.


(12-01-2022 08:15 AM)TnF Wrote:  Also i have one more general question..when overclocking a freesync monitor you need to increase the freesync range in order for it to work up to the new overclocked refresh rate or not? Also. does the pixel clock limit you can edit there play any role? (i did increase those in my case if it's relevant)
You need to increase the range if you want FreeSync to work at the higher refresh rate. Some monitors handle higher refresh rates differently with FreeSync than without, like frame skipping if the refresh rate is not within the range. The pixel clock limit doesn't affect FreeSync, but AMD's driver will ignore any resolutions higher than the limit, so you should increase it if you're adding a detailed resolution with a higher pixel clock. The pixel clock value must be a multiple of 10, and the HBR3 limit is 1080 MHz, so you can just use that.



[Image: GfcCv7h.jpg]

Thanks a lot for the reply.
I actually found the issue. I made this device a year ago to trick the GPU to still output video signal when you turn off the monitor, so it doesn't re-arrange your windows and stuff. You can only do this on Quadro/Radeon Pro cards by doing edid emulation, but it's not available on consumer cards. Some monitor offer this option in their menu but i've only seen it on workplace kind of monitors. There is no such product in the market for DP, there is only for HDMI where the implementation is much easier.

So what happens (depending on the monitor) they might follow DP specs on the implementation or do whatever they want. It looks like not even GPU's follow it, or something was changed since i do not have access to the latest standard, only to v1.2. Normally when the monitor turns off (downstream device) it should notify the gpu (upstream device) so it cuts off transmission, and when the monitor it's powered on again it should notify the gpu to re-train the DP link and start transmitting again. The 27GL850's i have of the latest revision follow this spec, but for example the first revision 27GL850 i had didn't (you would power it off and it would still show as powered on to the gpu, and only when you powered it on again it would do retraining..)

This is handled on the HPD line, and there is specific range of timing duration for the pulses done to communicate. For example the timing is too short the gpu will not detect that a monitor was powered on and it will not output video signal. In this case here what happens is that it looks like when you already have established a link with the monitor and you change resolution, or wake the monitor from sleep a different kind of quick re-training happens, and if the pulse is too long, the AMD gpu drivers will think that the monitor failed to accept the resolution and it will drop down to lower data rate. And since the 10bit signal didn't fit in HBR2 it drops bitrate to 6 bit (or just goes there straight as "safe mode"; impossible to tell only AMD knows).

Anyways by adjusting the pulse duration i was able to find a happy medium that works in all cases..this is a temp solution however as other monitors/gpus might behave differently. So i need to re-write my code to detect this kind of "quick link re-training" and adjust accordingly. For now i tested it the whole weekend and it worked 100% perfectly.

I also made a version of this device that should theoretically be able to emulate edid in hardware but i haven't wrote any code to test it. I want to finish other projects first.

Regarding the vram clocks:

I've checked the vertical blanking and it's more than enough, tried exact values, increased further etc, i only get idle vram clocks when i run:
- 1x monitor 1440p@10bit@144hz
- 2x monitors 1440p@10bit@60hz
Anything more i get full vram clk.
Find all posts by this user
Quote this message in a reply
 Post Reply


Forum Jump:


User(s) browsing this thread: 66 Guest(s)