Post Reply
Custom Resolution Utility (CRU)
11-14-2023, 01:55 AM
Post: #7751
RE: Custom Resolution Utility (CRU)
(11-13-2023 11:44 PM)Nodens Wrote:  Hmm. I think I understand something very wrong then. It was my impression that this is a monitor behavior enabled in firmware. System sends request to standby and the monitor goes into a very low energy power state which causes the system not to detect the monitor and then the slow wake up was coming from the monitor switching back into P0 state. So I was looking for means to change the power state the monitor goes in on standby without the toggle present in OSD (and without REing the monitor firmware which is probably signed anyway as it's Samsung).
It is monitor behavior controlled by the firmware. The problem is the monitor is not supposed to disconnect when sleeping, and it shouldn't be slow to wake up. This is a flaw in the monitor, not something you can change unless you can edit the firmware somehow.

I think you're getting confused because you saw DPMS has four power states with one coincidentally described as deep sleep, but DPMS is an old standard that was deprecated 20 years ago and replaced by DPM, which only has two power states: on and off (sleep/standby). Windows only implements those two power states, so the power state information in the EDID isn't relevant.

The issue you're having with the monitor is unrelated to power states. It's a design issue with the monitor also complicated by the way DisplayPort works. VGA, DVI, and HDMI use DDC, and DDC is powered by the source so the EDID can be read even if the monitor is turned off. DisplayPort monitors basically emulate DDC through the AUX channel, which disconnects when the monitor is turned off, but most monitors will stay connected while sleeping. The "deep sleep" option you talked about is a setting some monitors offer to use less power while sleeping, but it has the side effect of disconnecting as if the monitor were turned off. I guess you are saying your monitor does that with no option to disable that behavior.


(11-13-2023 11:44 PM)Nodens Wrote:  From what you are telling me, the "sideeffect" issues are actually triggered by Windows? Is it that because the monitor connection was lost, Windows is triggering the PnP hot plugging behavior on wake in order to reinitialize a potentially new/different monitor device effectively causing the very slow wake and issues with multimonitor setups due to redetection? Is that correct? So by forcing EDID emulation windows just thinks the monitor is always there resulting in no side-effects?
You didn't say what side effects you're seeing, but issues like windows resizing or moving to another monitor or hearing the device disconnect/reconnect sounds are side effects of Windows responding to the monitor disconnecting. So yes, emulating the EDID so Windows thinks the monitor is always there will work around those issues.
Find all posts by this user
Quote this message in a reply
11-14-2023, 08:35 PM (Last edited: 11-14-2023, 08:46 PM by Nodens)
Post: #7752
RE: Custom Resolution Utility (CRU)
(11-14-2023 01:55 AM)ToastyX Wrote:  It is monitor behavior controlled by the firmware. The problem is the monitor is not supposed to disconnect when sleeping, and it shouldn't be slow to wake up. This is a flaw in the monitor, not something you can change unless you can edit the firmware somehow.

I was afraid this may be the case. The monitors we're talking about are 2x Samsung Odyssey G7 32" (SKU: LC32G75TQSUXEN).

Quote:I think you're getting confused because you saw DPMS has four power states with one coincidentally described as deep sleep, but DPMS is an old standard that was deprecated 20 years ago and replaced by DPM, which only has two power states: on and off (sleep/standby). Windows only implements those two power states, so the power state information in the EDID isn't relevant.

Basically I was looking at page 110 of the DP 1.2 spec document. Where it describes:
Code:
In D0 state, a Sink device may disable DP_PWR
– Sink device is OFF (or reset) or not monitoring Source Detection signal
– Sink device de-asserts HPD signal
– Sink device may go to D1 state any time
– Sink device may go to D0’ state if it supports Source Detect feature and Source device is not
detected
• In D0’ state, a Sink device must enable DP_PWR (For a tethered Sink device, upon detecting
DP_PWR Consumer)
– Sink device de-asserts HPD signal, but monitors Source Detect status
– Sink device goes to D1 when Source detected
• Sink device may go to D0 state any time
• In D1 and D2 states, a Sink device must enable DP_PWR (For a tethered Sink device, upon detecting
DP_PWR Consumer)
– Sink device asserts HPD signal
– Sink device is either receiving or ready to receive bits over Main Link
– Sink device goes to D0’ state when Source is absent
– Sink device stays in D1 even when Source writes 2 to Address 600h
• Sink device may go to D0 state any

Quote:The issue you're having with the monitor is unrelated to power states. It's a design issue with the monitor also complicated by the way DisplayPort works. VGA, DVI, and HDMI use DDC, and DDC is powered by the source so the EDID can be read even if the monitor is turned off. DisplayPort monitors basically emulate DDC through the AUX channel, which disconnects when the monitor is turned off, but most monitors will stay connected while sleeping. The "deep sleep" option you talked about is a setting some monitors offer to use less power while sleeping, but it has the side effect of disconnecting as if the monitor were turned off.

Is this not the mechanism described above? That in D0 the monitor is allowed to do that according to spec? Or I'm reading that wrong? (The spec is huge so I'm searching through parts that seem related at his point).

Quote: I guess you are saying your monitor does that with no option to disable that behavior.

Yes this is exactly what it does. According to my research most monitors that exhibit this behavior have an OSD option to toggle it. These monitors do not.

(11-13-2023 11:44 PM)Nodens Wrote:  You didn't say what side effects you're seeing, but issues like windows resizing or moving to another monitor or hearing the device disconnect/reconnect sounds are side effects of Windows responding to the monitor disconnecting. So yes, emulating the EDID so Windows thinks the monitor is always there will work around those issues.

Indeed I neglected that, my bad. The 2 main issues I am experiencing are these:

1) When monitors go to sleep they need about 8-12 seconds in order to wake up and they do what looks like a "double" wake up (blanking and re-initializing), the second one being shorter, which results in like 12-15 seconds total delay. Initially I didn't mind this but it has started being extremely annoying specially when I'm in a hurry and I have to wait for the monitors in order to eg send that email I almost forgot while I'm already late for an appointment. Also depending on the Nvidia driver sometimes this results in a weird error involving explorer.exe (maximized windows not factoring the taskbar on the the Y axis and the bottom of the maximized window landing behind it) or, extremely rarely, re-arranged desktop icons (I have a workaround for that so this is the least of my worries).

2) The second monitor, that is on my left side is also connected to my homelab Fedora server, which I usually administrate headless via ssh but sometimes I need to do things there that are *much* faster with a GUI (eg diffing big configuration files with Kompare). If I have the monitor on the HDMI and it goes on sleep while I work on my workstation on the main monitor, when it wakes up it does so *much* faster, not doing the second wake (no blanking and reinit--a total of 4-5sec), BUT causes the main monitor to do it instead. I assume this is also related to the monitor's deep sleep behavior as I think it triggers HPD on the the DP port as well, on wake, which in turn triggers a PNP re-detection in Windows.

I really like these monitors in general but this behavior has gotten extremely old in a year of using them.
Find all posts by this user
Quote this message in a reply
11-15-2023, 10:20 PM (Last edited: 11-15-2023, 10:26 PM by jeffeh12133)
Post: #7753
RE: Custom Resolution Utility (CRU)
(11-14-2023 01:55 AM)ToastyX Wrote:  
(11-13-2023 11:44 PM)Nodens Wrote:  Hmm. I think I understand something very wrong then. It was my impression that this is a monitor behavior enabled in firmware. System sends request to standby and the monitor goes into a very low energy power state which causes the system not to detect the monitor and then the slow wake up was coming from the monitor switching back into P0 state. So I was looking for means to change the power state the monitor goes in on standby without the toggle present in OSD (and without REing the monitor firmware which is probably signed anyway as it's Samsung).
It is monitor behavior controlled by the firmware. The problem is the monitor is not supposed to disconnect when sleeping, and it shouldn't be slow to wake up. This is a flaw in the monitor, not something you can change unless you can edit the firmware somehow.

I think you're getting confused because you saw DPMS has four power states with one coincidentally described as deep sleep, but DPMS is an old standard that was deprecated 20 years ago and replaced by DPM, which only has two power states: on and off (sleep/standby). Windows only implements those two power states, so the power state information in the EDID isn't relevant.

The issue you're having with the monitor is unrelated to power states. It's a design issue with the monitor also complicated by the way DisplayPort works. VGA, DVI, and HDMI use DDC, and DDC is powered by the source so the EDID can be read even if the monitor is turned off. DisplayPort monitors basically emulate DDC through the AUX channel, which disconnects when the monitor is turned off, but most monitors will stay connected while sleeping. The "deep sleep" option you talked about is a setting some monitors offer to use less power while sleeping, but it has the side effect of disconnecting as if the monitor were turned off. I guess you are saying your monitor does that with no option to disable that behavior.


(11-13-2023 11:44 PM)Nodens Wrote:  From what you are telling me, the "sideeffect" issues are actually triggered by Windows? Is it that because the monitor connection was lost, Windows is triggering the PnP hot plugging behavior on wake in order to reinitialize a potentially new/different monitor device effectively causing the very slow wake and issues with multimonitor setups due to redetection? Is that correct? So by forcing EDID emulation windows just thinks the monitor is always there resulting in no side-effects?
You didn't say what side effects you're seeing, but issues like windows resizing or moving to another monitor or hearing the device disconnect/reconnect sounds are side effects of Windows responding to the monitor disconnecting. So yes, emulating the EDID so Windows thinks the monitor is always there will work around those issues.

Hey, I have a quick question. I currently use a Acer XB253Q GP via DisplayPort. I've been messing around with CRU and I noticed that, by default, my native resolution is detailed 1920x1080 @ 60hz but it seems like there is also a duplicate 1920x1080 @ 60hz under standard. This is all default. Why is this? Should I delete the "standard" 1920x1080@60 and leave the detailed one? what is the difference exactly? i'm confused. I deleted one and been trying out some games and it looks/feels different. I dont understand why

also wanted to thank you tremendously for not only providing an amazingly useful tool, but also having the patience to hang around and answer any technical questions. you are a guru!
Find all posts by this user
Quote this message in a reply
11-15-2023, 11:46 PM (Last edited: 11-16-2023, 12:16 AM by Poilaucul)
Post: #7754
RE: Custom Resolution Utility (CRU)
Hi,

A bit of context first, I use OBS to stream my desktop via display capture source, the stream is running almost 23/5, as you can imagine sometimes I'm not active on the computer and during that time I use Display Power Off Utility to trigger Windows turning my displays off, this has the advantage of being instantaneous and most importantly not modifying the placement of my opened windows when I get back on the computer, and that's really important to me.

The issue I'm facing is during the time my screen is off programs that are in foreground have their graphics frozen and I would want them to refresh as if I was one the computer screen on.

Everything works perfectly as I want it to when I turn my screen off via their power buttons (but still powered via wall socket)....until DisplayPort rapid hot plug detect kicks messes everything up.

You can learn more about the issue there
https://www.datapro.net/techinfo/hot_plu...ction.html
https://hackaday.io/project/170643-edido...rt-hotplug

So, I looked for solutions to keep my displays attached while powered off, so far it's either:

- Buy an hardware EDID stopper, which doesn't support 4K@60fps
- Buy a Quadro GPU to do EDID emulation of connected display
- Have CRU do it

Last solution is my favorite but frankly I don't know what the f I'm doing, and I don't even know if CRU can do what I want so I need your help guys please.

How do I set CRU to stop Windows from disconnecting my displays when I turn them off?
Find all posts by this user
Quote this message in a reply
11-16-2023, 11:31 PM (Last edited: 11-16-2023, 11:34 PM by leandroromao86)
Post: #7755
RE: Custom Resolution Utility (CRU)
Good night everyone.
Got an Intel ARC A770 GPU and after that Windows reports that my monitor, a LG Ultragear 32GN600-B, does not support HDR, but it used to work perfectly with my old Radeon RX 6600 GPU.
Talking with the Intel support they discovered the following:

"Hello LeandroRomao



Our driver debug team has reviewed and worked on this issue as well as the past reports from other LG monitors and determined the display panel is not using the correct value for StaticMetadataType1 field in the EDID, thus the graphics driver understands the monitor as not HDR capable. Enabling this field in the EDID is the standard way for displays to communicate the HDR capabilities to the GPU.



We suspect the panel is sending different info depending on the GPU detected this is why it is working on other GPUs. In this case, the fix and added compatibility will need to come from LG so please contact them directly so they can help further with this issue.



Best Regards,



Hugo O.

Intel Customer Support Technician."

Already contacted LG and they basically told me they will fix it on their next products, can you believe it?
Do you guys think CRU can help me fix the wrong EDID information?
I'm using Windows 11 23H2 and connecting with a DisplayPort cable, the one that came with the monitor and worked perfectly with the Radeon.

Thanks in advance!
Find all posts by this user
Quote this message in a reply
11-17-2023, 02:20 AM
Post: #7756
RE: Custom Resolution Utility (CRU)
(11-16-2023 11:31 PM)leandroromao86 Wrote:  We suspect the panel is sending different info depending on the GPU detected this is why it is working on other GPUs. In this case, the fix and added compatibility will need to come from LG so please contact them directly so they can help further with this issue.
I don't think it's possible for the monitor to detect the GPU, and the EDID shouldn't change based on the source. If the EDID is wrong, the other GPU's driver might be ignoring or working around the incorrect information.

(11-16-2023 11:31 PM)leandroromao86 Wrote:  Already contacted LG and they basically told me they will fix it on their next products, can you believe it?
Do you guys think CRU can help me fix the wrong EDID information?
It might be possible if Intel's driver listens to EDID overrides for HDR, but CRU can't read extension blocks with Intel GPUs, so you need another method to get the EDID. See if this works and post the edid-dump.txt here if it does: https://www.monitortests.com/edid-dump.zip
Find all posts by this user
Quote this message in a reply
11-17-2023, 02:21 AM
Post: #7757
RE: Custom Resolution Utility (CRU)
(11-15-2023 11:46 PM)Poilaucul Wrote:  Hi,

A bit of context first, I use OBS to stream my desktop via display capture source, the stream is running almost 23/5, as you can imagine sometimes I'm not active on the computer and during that time I use Display Power Off Utility to trigger Windows turning my displays off, this has the advantage of being instantaneous and most importantly not modifying the placement of my opened windows when I get back on the computer, and that's really important to me.

The issue I'm facing is during the time my screen is off programs that are in foreground have their graphics frozen and I would want them to refresh as if I was one the computer screen on.

Everything works perfectly as I want it to when I turn my screen off via their power buttons (but still powered via wall socket)....until DisplayPort rapid hot plug detect kicks messes everything up.

You can learn more about the issue there
https://www.datapro.net/techinfo/hot_plu...ction.html
https://hackaday.io/project/170643-edido...rt-hotplug

So, I looked for solutions to keep my displays attached while powered off, so far it's either:

- Buy an hardware EDID stopper, which doesn't support 4K@60fps
- Buy a Quadro GPU to do EDID emulation of connected display
- Have CRU do it

Last solution is my favorite but frankly I don't know what the f I'm doing, and I don't even know if CRU can do what I want so I need your help guys please.

How do I set CRU to stop Windows from disconnecting my displays when I turn them off?
CRU does not emulate displays, so it can't stop the display from disconnecting. The issue with graphics freezing while the screen is off seems odd to me because graphics should continue to render unless it's a vsync issue. The only idea I have involving CRU is an odd one that I haven't suggested before so I don't know the success rate: try adding the resolution you want with a 5 Hz refresh rate and see if the monitor turns off when you apply 5 Hz. That way Windows will think the monitor is still turned on at the native resolution, but any programs that use vsync might render at 5 Hz. If that works for you, then you can add hotkeys to change refresh rates using this program: https://funk.eu/hrc/

The only other idea I have is using an HDMI EDID emulator that supports 3840x2160 @ 60 Hz. You don't have to hook up a display to it. You can just connect it like a second monitor and set Windows to duplicate the displays (make sure to set the same resolution and scale for the EDID emulator first). Then if the display disconnects, the EDID emulator should still be active to keep the resolution active. I know for sure this one works: https://www.amazon.com/dp/B07YMTMMH5/?tag=mtests-20#ad
Find all posts by this user
Quote this message in a reply
11-17-2023, 02:22 AM
Post: #7758
RE: Custom Resolution Utility (CRU)
(11-15-2023 10:20 PM)jeffeh12133 Wrote:  Hey, I have a quick question. I currently use a Acer XB253Q GP via DisplayPort. I've been messing around with CRU and I noticed that, by default, my native resolution is detailed 1920x1080 @ 60hz but it seems like there is also a duplicate 1920x1080 @ 60hz under standard. This is all default. Why is this? Should I delete the "standard" 1920x1080@60 and leave the detailed one? what is the difference exactly? i'm confused. I deleted one and been trying out some games and it looks/feels different. I dont understand why
Displays sometimes define the same resolutions multiple ways even though it's not necessary. Likely it's also listed as a TV resolution in the CTA-861 extension block. The detailed resolution should be taking precedence anyway if the same resolution exists. The problem with standard resolutions is there's no guarantee it will use any particular timing parameters. The driver is supposed to use the DMT standard first, which happens to match the CTA-861 standard for 1920x1080 @ 60 Hz, so likely they are the exact same anyway. For other resolutions, they tend to favor timing parameters intended for CRT monitors that use more bandwidth, which is why I don't recommend using standard resolutions for anything other than lower resolutions. Also Windows only cares about the resolution part of the first detailed resolution when determining the native resolution, so it doesn't matter if the highest refresh rate is somewhere else.
Find all posts by this user
Quote this message in a reply
11-17-2023, 02:23 AM
Post: #7759
RE: Custom Resolution Utility (CRU)
(11-14-2023 08:35 PM)Nodens Wrote:  Is this not the mechanism described above? That in D0 the monitor is allowed to do that according to spec? Or I'm reading that wrong? (The spec is huge so I'm searching through parts that seem related at his point).
Those power states are different from the display power management states in the EDID and Windows since they are implemented on the sink's end instead of the source, so it's up to the monitor and not something Windows can control.
Find all posts by this user
Quote this message in a reply
11-17-2023, 10:15 AM
Post: #7760
RE: Custom Resolution Utility (CRU)
(11-17-2023 02:20 AM)ToastyX Wrote:  
(11-16-2023 11:31 PM)leandroromao86 Wrote:  We suspect the panel is sending different info depending on the GPU detected this is why it is working on other GPUs. In this case, the fix and added compatibility will need to come from LG so please contact them directly so they can help further with this issue.
I don't think it's possible for the monitor to detect the GPU, and the EDID shouldn't change based on the source. If the EDID is wrong, the other GPU's driver might be ignoring or working around the incorrect information.

(11-16-2023 11:31 PM)leandroromao86 Wrote:  Already contacted LG and they basically told me they will fix it on their next products, can you believe it?
Do you guys think CRU can help me fix the wrong EDID information?
It might be possible if Intel's driver listens to EDID overrides for HDR, but CRU can't read extension blocks with Intel GPUs, so you need another method to get the EDID. See if this works and post the edid-dump.txt here if it does: https://www.monitortests.com/edid-dump.zip

Good morning and thanks for answering.

(11-16-2023 11:31 PM)leandroromao86 Wrote:  We suspect the panel is sending different info depending on the GPU detected this is why it is working on other GPUs. In this case, the fix and added compatibility will need to come from LG so please contact them directly so they can help further with this issue.
Yes, I agree, sounded weird from the begining.

I ran the edid-dump executable, it opened a command prompt or 2 and instantly closed and generated the dump. It is attached.

Hope you can help me!

Thank you very much!


Attached File(s)
.txt  edid-dump.txt (Size: 1.21 KB / Downloads: 152)
Find all posts by this user
Quote this message in a reply
 Post Reply


Forum Jump:


User(s) browsing this thread: LoveTilapia, 115 Guest(s)