Post Reply
Custom Resolution Utility (CRU)
07-03-2021, 02:42 AM
Post: #5941
RE: Custom Resolution Utility (CRU)
(06-30-2021 02:21 PM)CptFartbuttsMcgee Wrote:  Thank you. I am trying to add resolutions to the laptop screen.

The screen is 1366 x 768 native. I want to add a 683 x 384 or any other low-res 16:9.

I tried it by clicking "add" under detailed resolutions and typing these in with "automatic (PC)" timings.
Several issues:
1. The driver might be ignoring resolutions below 25 MHz pixel clock. You can increase the pixel clock by increasing the totals.
2. Windows will not list resolutions below 640x480, but they should be available for games to use.
3. Laptop screens don't support non-native resolutions, so you will have to enable GPU scaling.
Find all posts by this user
Quote this message in a reply
07-03-2021, 02:44 AM
Post: #5942
RE: Custom Resolution Utility (CRU)
(07-01-2021 04:46 PM)Japeto87 Wrote:  Hi there, why cant I see any extension block? Ty
The monitor might not have one. Why do you expect to see one?
Find all posts by this user
Quote this message in a reply
07-03-2021, 04:04 AM
Post: #5943
RE: Custom Resolution Utility (CRU)
(09-07-2012 09:06 PM)ToastyX Wrote:  Custom Resolution Utility (CRU) is an EDID editor that focuses on custom resolutions. CRU shows you how the monitor defines resolutions and other capabilities and gives you the power to change it. Add custom resolutions, remove unwanted resolutions, edit FreeSync ranges, and more. CRU creates software EDID overrides in the registry and does not modify the hardware.

Download: cru-1.5.1.zip - Source: cru-1.5.1-src.zip

A message from ToastyX:

Over the years, I have created various monitor-related software and provided support for free. I would like to continue providing updates and work on new ideas, but I need your support. If you find my software useful, please consider supporting me through Patreon:

[Image: patreon.png]

Requirements:
  • Windows Vista or later (Windows XP does not support EDID overrides)
  • AMD/ATI or NVIDIA GPU with appropriate driver installed (Microsoft Basic Display Adapter driver does not support EDID overrides)
  • Intel GPUs and laptops with switchable graphics are supported with one of these drivers:
Before making any changes, familiarize yourself with getting into safe mode using a recovery drive in case you can't see the screen. If you don't have a recovery drive, press and hold the power button to shut off the computer while Windows is booting. Doing this twice should give you recovery options that you can use to get into safe mode: Troubleshoot > Advanced options > Startup Settings > Restart

Getting started:
  1. Run CRU.exe.
  2. Choose a display from the drop-down list.
    • "(active)" means the display is connected and recognized by the graphics driver.
    • "*" means changes were made and an override was saved in the registry.
  3. Edit the configuration as desired. Please read the sections below for more information.
  4. Repeat steps 2-3 for other displays if required.
    • The "Copy" and "Paste" buttons at the top can be used to copy the resolutions, extension blocks, and range limits if included. It will not copy the name or serial number, but it will copy the inclusion of these items using the display's own information. Import follows the same logic unless "Import complete EDID" is selected.
  5. Click "OK" to save the changes.
  6. Run restart.exe to restart the graphics driver.
    • If the display does not return after 15 seconds, press F8 for recovery mode. This will temporarily unload all the EDID overrides without deleting them. Restart the driver again to reload any changes.
    • On some systems, the graphics driver might crash while restarting. If that happens, the driver might be disabled after rebooting. Simply run restart.exe again to enable the driver.
  7. Set the resolution in the Windows display settings. To set the refresh rate:
    • Windows 10: right-click on the desktop > Display settings > Advanced display settings > Display adapter properties > Monitor tab
    • Windows Vista/7/8/8.1: right-click on the desktop > Screen resolution > Advanced settings > Monitor tab
To reset a display back to the default configuration, use the "Delete" button at the top to delete the override from the registry and reboot. To reset all displays, run reset-all.exe and reboot. This can be done in safe mode if necessary.

Alternative method for Intel GPUs:

If you have an older Intel GPU, use the "Export..." button and choose "EXE file" for the file type to export a self-contained EDID override installer. Then run the .exe file and choose "Install EDID" to install the EDID override on all matching displays.

Detailed resolutions:
  • Detailed resolutions are the preferred way to add custom resolutions. More detailed resolutions can be added using extension blocks.
  • The first detailed resolution is considered the preferred or native resolution. At least one detailed resolution should be defined. All other resolutions can be removed if they are not needed. The graphics driver will automatically add some common lower resolutions as scaled resolutions.
  • CRU adds monitor resolutions, not scaled resolutions. Lower resolutions can be scaled up to the native resolution by enabling GPU scaling in the graphics driver's control panel, but higher resolutions won't be scaled down by the GPU. Higher resolutions will only work if the monitor can handle them.
  • Laptop displays usually don't have scalers and can't display non-native resolutions without GPU scaling. To add other refresh rates, add the refresh rate at the native resolution. The graphics driver will automatically add the refresh rate to lower scaled resolutions.
  • EDID detailed resolutions are limited to 4095x4095 and 655.35 MHz pixel clock. If a value turns red, that means it's invalid or out of limits. Use a DisplayID extension block to add resolutions with higher limits.
  • Use the timing options to help fill in the values:
    • Manual - Allows the timing parameters to be set manually. The dialog will always open in this mode.
    • Automatic (PC) - Uses standards common with PC monitors. Uses CTA-861 for 4:3/16:9 resolutions up to 1920x1080 @ 60 Hz, VESA DMT for 1360/1366x768 and 1600x900, CVT-RB otherwise.
    • Automatic (HDTV) - Uses standards common with HDTVs. Uses CTA-861 for all TV resolutions if possible, VESA DMT for 1360/1366x768 and 1600x900, CVT-RB otherwise.
    • Automatic (CRT) - Uses standards compatible with CRT monitors. Uses VESA DMT for 4:3/5:4 resolutions, CVT otherwise.
    • Native (PC/HDTV) - Uses the 60 Hz "Automatic" timing parameters for all refresh rates. This may help when trying other refresh rates.
    • Exact - Uses non-standard timing parameters to produce exact integer refresh rates.
    • Exact reduced - Adjusts the "Exact" timing parameters to reduce the pixel clock if possible. This may help when trying higher refresh rates.
    • VESA standards:
      • CVT standard - Standard intended for CRT monitors.
      • CVT-RB standard - Standard intended for LCD monitors. Reduces the blanking compared with CVT.
      • CVT-RB2 standard - Newer standard intended for LCD monitors. Reduces the horizontal blanking compared with CVT-RB.
      • GTF standard - Old standard commonly used with CRT monitors.
  • Pay attention to pixel clock limits:
Standard resolutions:
  • Standard resolutions are mostly useful for CRT monitors and for adding lower resolutions with LCD monitors. Do not add the native resolution as a standard resolution.
  • AMD/ATI only supports the resolutions in the drop-down list. Other resolutions will be ignored by the driver. These will be listed in gray.
  • NVIDIA does not support more than 8 standard resolutions. Additional resolutions will use up detailed resolution slots.
  • Standard resolutions are limited to certain aspect ratios: 4:3, 5:4, 16:9, 16:10. Use detailed resolutions for other aspect ratios.
  • The horizontal resolution is limited to 256-2288 and must be a multiple of 8. Use detailed resolutions for other resolutions.
  • The refresh rate is limited to 60-123 Hz. Use detailed resolutions for other refresh rates.
Extension blocks:
  • Extension block types:
    • CTA-861 extension blocks can contain additional detailed resolutions and data blocks such as TV resolutions and HDMI support. Note: NVIDIA requires at least 2 bytes left for data blocks or the driver will ignore all changes.
    • Use VTB-EXT to add more standard resolutions. Note: AMD/ATI only supports one VTB-EXT block, and it must be the last block in the list.
    • Use DisplayID to add resolutions greater than 4095x4095 or 655.35 MHz pixel clock. DisplayID 2.0 supports pixel clocks with three decimal places, but the driver or hardware might not support such precision.
    • Default extension blocks are placeholders for the monitor's original extension blocks. Extension blocks that can't be read will appear as default extension blocks. Note: NVIDIA does not support default extension blocks and will ignore all changes if a default extension block exists.
  • Reading extension blocks:
    • AMD/ATI: CRU can read up to three extension blocks.
    • NVIDIA: CRU can only read the first extension block because the driver has a bug that prevents reading additional extension blocks. NVIDIA also does not support default extension blocks, so delete any default extension blocks and add one manually if needed. The second extension block is usually a DisplayID extension block with detailed resolutions greater than 655.35 MHz pixel clock such as 1920x1080 @ 360 Hz and 2560x1440 @ 165 Hz.
    • Intel: CRU can't read any extension blocks because Intel refuses to provide access to their CUI SDK.
  • If you need to add an extension block manually, importing one of these files will provide a starting point:
Editing FreeSync/VRR ranges:
  • For DisplayPort monitors, use the "Edit..." button at the top to edit the "V rate" under range limits, and make sure "Include if slot available" is checked.
  • For HDMI FreeSync, edit the "FreeSync range" data block in the CTA-861 extension block.
  • For HDMI 2.1 VRR, edit the "HDMI 2.1 support" data block in the CTA-861 extension block.
Export formats:
  • .bin - Raw binary EDID compatible with most EDID tools
  • .dat - Data file compatible with Phoenix EDID Designer and Advantiv EEditZ/EEditGold
  • .inf - Unsigned monitor driver compatible with Windows Vista and later
  • .txt - Text file containing whitespace-separated hexadecimal values (16 per line)
  • .csv - Text file containing comma-separated hexadecimal values (one block per line)
  • .exe - Self-contained EDID override installer (includes alternative method for Intel GPUs)
CRU can import all of the above formats and any reasonably formatted text file with hexadecimal values.

Command-line options:
  • Exported .exe files:
    • /i - Install EDID without prompting
    • /r - Reset EDID without prompting
  • reset-all.exe:
    • /q - Reset without prompting
  • restart.exe/restart64.exe:
    • /q - Restart without prompting (or rename the file to restart-only.exe)
    • /r - Activate recovery mode without prompting
Memory clock issues:
  • The GPU will not reduce the memory clock when idle if the vertical blanking is too low because there won't be enough time between refreshes to retrain the memory without screen corruption. Horizontal values can still be reduced if necessary.
    • Older AMD/ATI GPUs require the "Automatic (PC/HDTV)" or "CVT-RB standard" vertical blanking to reduce the memory clock when idle.
    • NVIDIA and newer AMD cards can handle some lower values depending on the resolution and refresh rate.
  • Older AMD/ATI GPUs have a design limitation that causes video acceleration to scramble the screen if the vertical blanking is below standard with the GPU's memory overclocked or with multiple monitors connected. Skype is known to trigger this problem. Either don't overclock the GPU's memory, or use the "Automatic (PC/HDTV)" or "CVT-RB standard" vertical blanking.
Changes in 1.5.1:
  • Audio formats: added new formats from CTA-861-G/H
  • Colorimetry: added ICtCp from CTA-861-H
  • DisplayID 2.0 detailed resolutions: fix "Reset" button resetting to 6 Hz when adding a new resolution
  • Tiled display topology: split vendor and product IDs to accommodate OUIs (2.0) and non-letter IDs (1.3)
  • List boxes now retain scroll position after editing
Changes in 1.5:
  • Added DisplayPort YCbCr color formats and maximum color depth (use the "Edit..." button at the top)
  • Added HDMI 2.1 features including maximum FRL rate, variable refresh rate, and display stream compression
  • New and improved timing options for detailed resolutions:
    • "LCD standard" has been split into "Automatic (PC)" and "Automatic (HDTV)" to better accommodate different display standards.
      The main difference is how they handle resolutions greater than 1920x1080 @ 60 Hz and 21:9 resolutions. "PC" favors CVT-RB, while "HDTV" favors CTA-861.
    • "LCD native" has been split into "Native (PC)" and "Native (HDTV)" for the same reason.
    • "LCD reduced" has been eliminated because it was too arbitrary and only worked for certain resolutions. Try "Exact reduced" for an alternative.
    • "CRT standard" is now "Automatic (CRT)" and includes 4:3/5:4 VESA DMT resolutions. Use "CVT standard" for the old behavior.
    • Added "Exact" and "Exact reduced" to calculate exact integer refresh rates.
    • Added common display standards: CVT, CVT-RB, CVT-RB2, and GTF (previously "Old standard")
  • Detailed resolutions can now calculate frequencies for all possible pixel clocks (up to 167772.16 MHz for DisplayID 1.3)
  • CEA-861 extension blocks are now called CTA-861 to reflect the standard's new name
  • Added support for DisplayID 2.0 extension blocks
  • Export now saves the original unmodified EDID if no changes were made
Changes in 1.4.2:
  • List inactive displays with overrides installed
  • Display properties: interpret "0" ID serial number as blank
  • Detailed resolutions: "LCD reduced" will no longer go below 56 horizontal blanking
  • DisplayID detailed resolutions: fixed interlaced calculations to match DisplayID standard
  • HDMI 2.0 support: enable "SCDC present" by default when adding new data blocks
  • Added .csv file export: outputs comma-separated hexadecimal values (one block per line)
  • Added .exe file export: outputs self-contained EDID override installers (includes alternative method for Intel GPUs)
  • reset-all.exe: Reset alternative method for Intel GPUs, added /q option
  • restart.exe/restart64.exe: Faster restarts, recovery mode includes alternative method for Intel GPUs, added /r option
Changes in 1.4.1:
  • Speaker setup: added new speakers from CTA-861-G
  • HDMI support: fixed undefined latency data saving as 2 ms (since 1.3.99-p1)
  • HDMI 2.0 support: preserve additional fields for HDMI 2.1
  • FreeSync range: added support for editing FreeSync 2 ranges
  • Added support for HDR static metadata blocks
Changes in 1.4:
  • Added support for DisplayID extension blocks:
    • Added support for "Type I" detailed resolutions.
    • Added support for tiled display topology data blocks.
  • Display properties: added support for ID serial number in EDID header
  • Detailed resolutions: added "Automatic - Old standard" timing option for GTF
  • TV resolutions: added new resolutions from CTA-861-G (requires driver support)
  • Colorimetry: added DCI-P3 standard from CTA-861-G
Changes in 1.3.1:
  • Fixed .inf export for Windows 10 Creators Update
  • Detailed resolutions: use CEA-861 timing parameters for 3840x2160 @ 60 Hz with "LCD standard" (use "LCD reduced" for old values)
  • Detailed resolutions: allow 0 back porch
  • TV resolutions: disable "Native format" for resolutions that don't support this option
  • Do not add blank extension block if no extension blocks exist by default
  • Allow invalid but possible product IDs when editing display properties
  • Fixed '&' character in monitor name and serial number not displaying correctly in detailed resolutions list box
  • Improved row spacing between UI elements with higher DPI settings
Changes in 1.3:
  • Added support for reading extension blocks from connected monitors with AMD/ATI and NVIDIA
  • Automatically add blank extension block in registry and exported .inf files to work around NVIDIA driver issues
  • Added support for multiple extension blocks
  • Added support for importing other types of extension blocks
  • Added support for VTB-EXT extension blocks (detailed/standard resolutions only)
  • Changed default TMDS clock to 340 MHz for new HDMI data blocks
  • Added support for HDMI 2.0 data blocks
  • Added support for HDMI FreeSync data blocks
  • Added BT.2020 formats in colorimetry data blocks
  • Added text file export (outputs hex values)
  • Improved UI scaling with higher DPI settings
  • restart.exe/restart64.exe: fix Start menu, search box, and Radeon Settings not responding after restarting
Changes in 1.2.6:
  • Fixed a bug affecting non-PnP monitors since 1.2.3 (invalid EDID version with new overrides)
Changes in 1.2.5:
  • Include range limits by default if min/max horizontal values match and certain conditions are met (for FreeSync monitors)
  • restart.exe/restart64.exe: restart Radeon Settings (cnext.exe)
Changes in 1.2.4:
  • Made range limits compatible with FreeSync monitors
Changes in 1.2.3:
  • Added basic support for range limits and serial number descriptors (use the "Edit..." button at the top)
  • Show included descriptors in the detailed resolution list
  • Added "Import complete EDID" option
Changes in 1.2.2:
  • Detailed resolutions: added "LCD reduced" timing parameters for 2560x1440 @ 144 Hz and higher resolutions
  • Extension block: added support for colorimetry and video capability data blocks
  • Redesigned icon to scale better with Windows 10's broken taskbar scaling
  • Fixed how disabled buttons appear with Windows 10
Changes in 1.2.1:
  • Detailed resolutions: added "LCD native" option
  • TV resolutions: added support for 4:2:0 resolutions
  • HDMI support: added support for HDMI resolutions, latency information, and supported content types
  • Fixed access violation in comctl32.dll message with higher DPI settings
  • Fixed layout issues with higher DPI settings and enabled DPI awareness
  • restart.exe/restart64.exe: implemented a better recovery mode
Changes in 1.2:
  • Added custom extension block editing
  • Added support for more than 8 standard resolutions (AMD/ATI only)
  • Added support for other standard resolutions (NVIDIA only)
  • Updated reset-all.exe to reset Windows resolution settings
  • Include new version of restart.exe/restart64.exe
Changes in 1.1.2:
  • Fixed HDMI audio not working with older ATI GPUs
Changes in 1.1.1:
  • Fixed monitors with invalid signal type information not working with AMD/ATI GPUs
  • Added "LCD standard" timing parameters for 3840x2160 @ 30 Hz and 1366x768 @ 60 Hz (use "LCD reduced" for old values)
  • Automatically enable extension block when importing extension block files
  • Show number of slots left
Changes in 1.1:
  • Import extension block from files (editing coming later)
  • Automatically fill in likely native resolution when adding a detailed resolution
  • Disable controls when deleting a monitor
Changes in 1.0.1:
  • Fixed .inf export
  • Added support for non-PnP monitors
  • Changed monitor list sorting
Older versions:

Using older versions is not recommended. Newer versions fix problems and add features. Please report any issues with newer versions that did not exist with older versions. Make sure to run reset-all.exe when testing different versions.

With the rise of ARM64 and the clear intent of M$ to move their product line that direction, is there any intention on your part to include ARM GPUs (specifically the Adreno 680/685/690 series?)

I'd love to be able to set my Surface Pro X to 90 or even 120hz.
Find all posts by this user
Quote this message in a reply
07-03-2021, 01:42 PM
Post: #5944
RE: Custom Resolution Utility (CRU)
(07-03-2021 02:42 AM)ToastyX Wrote:  
(07-02-2021 11:45 AM)ashlar Wrote:  Removing several useless TV resolutions under the TV resolutions data block allowed me to add two detailed resolutions for 23.976 and 24.000 in the CTA-861 block. Now everything appears to work. This on a LG C1 OLED (I repeat this for search engines crawlers).
You can't have both. It's only using the first one for both 23 and 24 Hz. Your 23.976 Hz seems to have non-standard timing parameters, so the TV might not support 10-bit with those parameters.
I'm not sure I follow when you say I can't have both.
I attach two pictures, photos taken at the TV while activating the service function for HDMI input details. As you can see, the total res and pixel clock values are different for 24 and 23.976. And madVR confirms as well that they are.

Also, when you say "seems to have non-standard timing parameters", can you suggest a source somewhere where I could check what standard timing parameters are? I used Pixel Clock Calculator here (https://www.monitortests.com/pixelclock.php).


Attached File(s) Thumbnail(s)
       
Find all posts by this user
Quote this message in a reply
07-04-2021, 05:08 PM (Last edited: 07-04-2021, 08:07 PM by LancerGV)
Post: #5945
RE: Custom Resolution Utility (CRU)
Hey, uh, I somehow messed up some stuff pretty badly, and need some help.

I’m making a backup for my laptop first while I’m in, so it might be a while before I can try stuff... It’s hideously slow.

I have an Intel i5 1035G7 Laptop. Integrated graphics.

There’s this game (Luminous Avenger iX) that is immediately going into my connected TV’s 24fps mode when fullscreened. So I wanted to try deleting the 24fps mode to get around that. To my credit, the game worked after that. Buuut there was some collateral, even after importing the exported data.

I deleted everything but the 1080p 60fps mode, because I figured I could load it again after I confirmed the game worked. But that took out my audio over HDMI, and my desktop was really messed up. Wallpaper on both TV and monitor was gone, highlighting icons turned them into black boxes, some other stuff. So I imported the files and used the restart program, still was janky, restarted my laptop... And it was stuck in startup for a while. Don’t remember how long, but I powered it down and started up again, booted instantly, had the old framerates back, but audio was still not working. It was late so I shut it down again...

Today was the same startup thing. Took forever, like 5+ minutes, shut it down, attempted a recovery thing, and it started and no TV audio.

Some guidance would be appreciated...

Edit: Cleared my head, ran reset-all and it’s okay now lol. At least so far.

Though... I don’t really get how to remove framerates. Not entirely sure how I did it the first time.
Find all posts by this user
Quote this message in a reply
07-06-2021, 09:17 PM
Post: #5946
RE: Custom Resolution Utility (CRU)
Hi ToastyX or Anyone who can help

I searched the thread, but couldnt find similar.

I have a samsung s34j55w, with freesync range 48-75. Its been happy to OC to 95Hz, most people take it that far. But I want to change the freesync range to 45-95z.
Its totally fine up to 40Hz, but blacks out at 33Hz.

How do I stop it going to 33Hz? I use the gsync demo by Nvidia, and it works great, but when i drop fps to 41, i expect the monitor to NOT go down to 41hz, because I limited the range. Instead, it carries on dropping to 33Hz, so instead of frame mismatches, I get black screens.

What am I doing wrong please?

Thanks
Find all posts by this user
Quote this message in a reply
07-07-2021, 08:34 AM
Post: #5947
RE: Custom Resolution Utility (CRU)
(07-03-2021 02:42 AM)ToastyX Wrote:  Several issues:
1. The driver might be ignoring resolutions below 25 MHz pixel clock.

Well I'll be jesus christ god damned. That was it. Thanks so much. Donating right now.
Find all posts by this user
Quote this message in a reply
07-07-2021, 05:48 PM
Post: #5948
RE: Custom Resolution Utility (CRU)
So I do anything and it f***s up all my displays. Black screens everything. So I have to power cycle every time I make a change. Then when it turns back on, my laptop doesn’t recognize anything, including the built in monitor. I’m lucky it still outputs an image anyway, but all the brightness and color is messed up and my brightness and volume keys don’t work. At least reset-all does what it’s supposed to do.

I just wanna do one simple thing, remove the 24fps mode to make a game work. Can I get some help, or at least be directed at some software that functions properly?
Find all posts by this user
Quote this message in a reply
07-08-2021, 02:32 AM
Post: #5949
RE: Custom Resolution Utility (CRU)
(07-07-2021 05:48 PM)LancerGV Wrote:  So I do anything and it f***s up all my displays. Black screens everything. So I have to power cycle every time I make a change. Then when it turns back on, my laptop doesn’t recognize anything, including the built in monitor. I’m lucky it still outputs an image anyway, but all the brightness and color is messed up and my brightness and volume keys don’t work. At least reset-all does what it’s supposed to do.

I just wanna do one simple thing, remove the 24fps mode to make a game work. Can I get some help, or at least be directed at some software that functions properly?
CRU only creates a description of what the monitor can do. It doesn't implement any of the functions, so that has to be a driver bug. Use the "Export..." button to save a file and attach it here so I can see if there's anything unusual about the monitor.
Find all posts by this user
Quote this message in a reply
07-08-2021, 02:32 AM
Post: #5950
RE: Custom Resolution Utility (CRU)
(07-06-2021 09:17 PM)MPCRU Wrote:  I have a samsung s34j55w, with freesync range 48-75. Its been happy to OC to 95Hz, most people take it that far. But I want to change the freesync range to 45-95z.
Its totally fine up to 40Hz, but blacks out at 33Hz.

How do I stop it going to 33Hz? I use the gsync demo by Nvidia, and it works great, but when i drop fps to 41, i expect the monitor to NOT go down to 41hz, because I limited the range. Instead, it carries on dropping to 33Hz, so instead of frame mismatches, I get black screens.
The monitor might not be able to handle the increased range correctly. FreeSync uses the max refresh rate as the base resolution, so that can affect the lower end as well. You might have to increase the lower end of the range. LFC is probably making it jump to 66 Hz when it's at 33 FPS.
Find all posts by this user
Quote this message in a reply
 Post Reply


Forum Jump:


User(s) browsing this thread: b0uncyfr0, Slay, ToastyX, 149 Guest(s)