Custom Resolution Utility (CRU)
|
11-13-2023, 02:19 AM
Post: #7741
|
|||
|
|||
RE: Custom Resolution Utility (CRU)
(11-09-2023 06:09 PM)opa99 Wrote: My challenge has been that in CRU the maximum Hertz is always 60 for these high resolutions (at least what I have been able to achieve), and then I later change the Hertz in Nvidia settings.What do you mean? Where is the maximum you are seeing, and where are you changing the Hz in NVIDIA settings? (11-09-2023 06:09 PM)opa99 Wrote: I have not put a lot of thought into these clock or blanking values, but instead used the "Automatic HDTV" presets, since I can see that those change with the refresh rate. Would there be a source where I could read and learn what these "do" and how I should change them?The blanking parameters basically just give some break time between lines and frames, which was more important for CRT monitors because they needed time to move the electron guns. HDMI uses the blanking periods to transmit audio because that portion of the signal isn't visible. "Automatic HDTV" takes care of that for TV resolutions listed in the CTA-861 standard, but for non-TV resolutions, it's the same as "Automatic PC" which uses the CVT reduced blanking standard. The blanking can be reduced further to reduce the bandwidth if you're close to a pixel clock limit, which is the total number of pixels per second. Otherwise it doesn't really matter. (11-09-2023 06:09 PM)opa99 Wrote: Also what is a bit puzzling is the max bandwidth settings in extension blocks, I do not fully understand how I should set them. I have HDMI 2.1 connectors (and cable) on both ends, so I would assume that the generic 600 MHz maximum is not the limit, but for some reason that seems to work for me, even though with the calculators it should not (for 3840x1500 @120hz, with HDR)... The bandwidth limit on my GPU is 48 Gbps and on the TV (receiving) the limit is 40 Gbps, but I have no idea what that would be in TMDS limit, or if that is even relevant for HDMI 2.1.You don't need to change any of that. The maximum TMDS character rate for HDMI 2.x should be no more than 600 Mcsc, and that only applies to TMDS signals. FRL signals use the maximum FRL rate, which should already be set to 40 Gbps as reported by the TV. HDMI is a proprietary standard and isn't freely available, so it's hard to find information about HDMI 2.x online. The CTA-861 extension block and data blocks are defined in the CTA-861 standard available here: https://shop.cta.tech/products/a-dtv-pro...-cta-861-i |
|||
11-13-2023, 02:19 AM
Post: #7742
|
|||
|
|||
RE: Custom Resolution Utility (CRU)
(11-09-2023 11:36 AM)RonDamon Wrote: I also have a Samsung TV, more precisely a 43" QN90B model and also it doesn't show those extension blocks. I wanted to edit the max luminance to use an ICC profile. There is no other way to edit the max luminance of HDR?I can give you the EDID with the extension count changed so it can be imported into CRU. I wanted to add a workaround so CRU can read the extension blocks, but last I checked NVIDIA ignored EDID overrides for displays that have this problem. Let me know if you can make any changes take effect. ![]() |
|||
11-13-2023, 02:19 AM
Post: #7743
|
|||
|
|||
RE: Custom Resolution Utility (CRU)
(11-09-2023 08:12 AM)wolik Wrote: Thank you so much!Same as above, this is the EDID with the extension count changed so it can be imported into CRU, but last I checked NVIDIA ignored all changes for displays that have this problem. Let me know if you can make any changes take effect. ![]() |
|||
11-13-2023, 08:37 PM
Post: #7744
|
|||
|
|||
RE: Custom Resolution Utility (CRU)
(11-13-2023 02:17 AM)ToastyX Wrote:(11-12-2023 02:52 PM)Nodens Wrote: Is it possible to somehow workaround DisplayPort Deep Sleep so that monitors without an OSD toggle don't disconnect on sleep?DisplayPort monitors aren't supposed to disconnect when they sleep, only when turned off. There isn't anything that can be done on the computer's end if the monitor disconnects unless the GPU supports EDID emulation, which is only offered on Quadro and FirePro GPUs. The only other option is an external EDID emulator, but I don't know any good DisplayPort ones. Thank you for the reply. I am planning on migrating my workstation to Fedora in the next couple of weeks and I can inject a custom EDID image under linux regardless of what Nvidia wants to allow. Could you please point me in the right direction regarding highjacking this function with a dumped and modded EDID image? I am a low level engineer and quite decent at reverse engineering but I have never touched monitors or EDID before so I'd appreciate a nudge in the right direction. I have found this white paper on EDID (https://glenwing.github.io/docs/VESA-EEDID-A1.pdf) and this 1.2 DP spec (https://glenwing.github.io/docs/DP-1.2.pdf). Is "Active Off/Very Low Power" on page 14, what I should be looking at? And DP_PWR states in the DP spec (I can't find any reference to "Deep Sleep" I assume it's a marketing moniker)? I guess the question is what mechanism in EDID/DDC is associated with this feature so I can examine it and come up with a patch for it? (Yes these Samsung monitors annoy me that much by getting continuously disconnected on sleep ![]() Thanks in advance! |
|||
11-13-2023, 10:10 PM
Post: #7745
|
|||
|
|||
RE: Custom Resolution Utility (CRU)
(11-13-2023 08:37 PM)Nodens Wrote: Thank you for the reply. I am planning on migrating my workstation to Fedora in the next couple of weeks and I can inject a custom EDID image under linux regardless of what Nvidia wants to allow.The issue has nothing to do with the EDID itself. The issue is the monitor is disconnecting so the system can't detect it. Changing the EDID won't change what the monitor does. The system needs to pretend the monitor is always there, which is what EDID emulation happens to do on Quadro and FirePro GPUs. If you can somehow specify a certain port on the GPU is always active with a certain EDID, that's all you need. |
|||
11-13-2023, 11:44 PM
(Last edited: 11-13-2023, 11:49 PM by Nodens)
Post: #7746
|
|||
|
|||
RE: Custom Resolution Utility (CRU)
(11-13-2023 10:10 PM)ToastyX Wrote:(11-13-2023 08:37 PM)Nodens Wrote: Thank you for the reply. I am planning on migrating my workstation to Fedora in the next couple of weeks and I can inject a custom EDID image under linux regardless of what Nvidia wants to allow.The issue has nothing to do with the EDID itself. The issue is the monitor is disconnecting so the system can't detect it. Changing the EDID won't change what the monitor does. The system needs to pretend the monitor is always there, which is what EDID emulation happens to do on Quadro and FirePro GPUs. If you can somehow specify a certain port on the GPU is always active with a certain EDID, that's all you need. 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). 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? If that is the case I can probably hack a solution for windows as well as I have a ring 0 I/O signed driver that allows me to inject anything, read/write MSRs etc (it is what I'm using for hardware readings on Realbench that I developed for Asus -- although it is compiled without the writing support there). Thank you very much for your insights and please correct me if I got it wrong again. EDIT: Although this probably means that on Linux just grabbing a dump of the EDID and forcing it I would not have the issues at all (assuming wayland/xwayland have the same hot plugging behavior to begin with). |
|||
11-14-2023, 01:55 AM
Post: #7747
|
|||
|
|||
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. |
|||
11-14-2023, 08:35 PM
(Last edited: 11-14-2023, 08:46 PM by Nodens)
Post: #7748
|
|||
|
|||
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 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. |
|||
11-15-2023, 10:20 PM
(Last edited: 11-15-2023, 10:26 PM by jeffeh12133)
Post: #7749
|
|||
|
|||
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. 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! |
|||
11-15-2023, 11:46 PM
(Last edited: 11-16-2023, 12:16 AM by Poilaucul)
Post: #7750
|
|||
|
|||
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? |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 56 Guest(s)