Post Reply
Custom Resolution Utility (CRU)
09-07-2012, 09:06 PM (Last edited: 10-30-2019, 09:00 PM by ToastyX)
Post: #1
Star Custom Resolution Utility (CRU)
Custom Resolution Utility (CRU) is an EDID editor with a focus 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.

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

A message from ToastyX:

Creating and maintaining software is a lot of work, and I have provided updates and support for free over the years. 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: Before doing anything, familiarize yourself with getting into safe mode 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.
  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. 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 will be scaled up if GPU scaling is enabled 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 resolutions.
  • 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 - LCD standard" uses standard timing parameters commonly used with LCD monitors and HDTVs.
    • "Automatic - LCD native" uses standard timing parameters for the native refresh rate. This may help when trying higher refresh rates.
    • "Automatic - LCD reduced" adjusts the timing parameters for some resolutions to reduce the pixel clock. This may help when trying higher refresh rates.
    • "Automatic - CRT standard" uses timing parameters compatible with CRT monitors.
    • "Automatic - Old standard" uses the GTF standard.
  • 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:
  • CRU can now read extension blocks from connected monitors with AMD/ATI and NVIDIA. Workarounds are no longer required for NVIDIA. CRU will automatically add a blank extension block in the registry and .inf files if necessary to work around NVIDIA driver issues.
  • Extension block types:
    • Use CEA-861 unless you need more standard resolutions. Note: NVIDIA requires at least 2 bytes left for data blocks or the driver may crash or ignore the override.
    • 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 and add a detailed resolutions data block to add resolutions greater than 4095x4095 and 655.35 MHz pixel clock.
    • Default extension blocks are provided for compatibility with existing overrides. Avoid using this option. To read extension blocks from connected monitors with AMD/ATI and NVIDIA, reset the display first. Extension blocks that can't be read will appear as default extension blocks.
  • If you need to add an extension block manually, importing one of these files will provide a starting point:
Editing FreeSync ranges:
  • For DisplayPort monitors, use the "Edit..." button at the top to edit the range limits, and make sure "Include if slot available" is checked.
  • For HDMI monitors, edit the FreeSync data block in the first 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)
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
Notes:
  • The video card will not reduce clock speeds when idle if the vertical blanking/total is too low. Horizontal values can still be reduced if necessary.
    • Older AMD/ATI cards require the "LCD standard" vertical blanking/total 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 cards have a design limitation that causes video acceleration to scramble the screen if the vertical blanking/total is below standard with the video card's memory overclocked or with multiple monitors connected. Skype is known to trigger this problem. Either don't overclock the video card's memory, or use the "LCD standard" vertical blanking/total.
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.
Find all posts by this user
Quote this message in a reply
12-12-2012, 09:30 AM
Post: #2
RE: Custom Resolution Utility (CRU)
Hi!

Thank you for making this application, it is very handful!

I used it in win7 without problems, but i just upgraded to win8, and your application doesn't work there. I can add custom resolutions and everything, but in windows 8 they doesn't appear.
What do you suggest?
Find all posts by this user
Quote this message in a reply
12-13-2012, 04:07 AM
Post: #3
RE: Custom Resolution Utility (CRU)
It should work. Others are using it with Windows 8. What video card and monitor are you using?
Find all posts by this user
Quote this message in a reply
12-13-2012, 04:11 PM
Post: #4
RE: Custom Resolution Utility (CRU)
(12-13-2012 04:07 AM)ToastyX Wrote:  It should work. Others are using it with Windows 8. What video card and monitor are you using?

MSI R6870 Hawk and Asus PA246Q with displayport. It worked fine on windows 7.
In the list, where i have to choose the monitor, there my monitor appears three times. Is it possible, i choosed the wrong one?
Find all posts by this user
Quote this message in a reply
12-14-2012, 02:02 AM
Post: #5
RE: Custom Resolution Utility (CRU)
It's possible you're editing the wrong one. Each connection creates a separate entry, and there may be outdated entries that aren't being used anymore. CRU should pick the first active entry it finds, but if you're not sure which is which, delete all of them and reboot. Then the list should only have entries that are currently active.

With AMD/ATI, sometimes the highest refresh rate has to be listed as the first detailed resolution or the video driver will ignore it. You can also try unchecking "Include extension block" if that's checked.
Find all posts by this user
Quote this message in a reply
12-17-2012, 06:09 PM
Post: #6
RE: Custom Resolution Utility (CRU)
(12-14-2012 02:02 AM)ToastyX Wrote:  It's possible you're editing the wrong one. Each connection creates a separate entry, and there may be outdated entries that aren't being used anymore. CRU should pick the first active entry it finds, but if you're not sure which is which, delete all of them and reboot. Then the list should only have entries that are currently active.

With AMD/ATI, sometimes the highest refresh rate has to be listed as the first detailed resolution or the video driver will ignore it. You can also try unchecking "Include extension block" if that's checked.

Thanks, i copied the custom resolutions to all three entries, and now works fine. Thanks!
Find all posts by this user
Quote this message in a reply
12-27-2012, 11:11 PM
Post: #7
RE: Custom Resolution Utility (CRU)
I have an issue not with this tool but rather with my monitor. A better explanation is available here: http://forum.doom9.org/showthread.php?p=...ost1607421 but basically, even with the Include extension block portion unchecked, I still get invisible HDTV resolutions. Any ideas?
Find all posts by this user
Quote this message in a reply
12-28-2012, 10:19 AM
Post: #8
RE: Custom Resolution Utility (CRU)
Try removing the custom resolution from the NVIDIA control panel, then add it using CRU instead.
Find all posts by this user
Quote this message in a reply
12-30-2012, 01:11 AM (Last edited: 12-30-2012, 01:21 AM by Mangix)
Post: #9
RE: Custom Resolution Utility (CRU)
I have no resolutions added from nvidia's control panel. Here's a screenshot: https://dl.dropbox.com/u/102011983/high%...01080p.png

and

https://dl.dropbox.com/u/102011983/high%...nvidia.png

edit: for some reason, the checkbox in the second screenshot never seems to get properly applied. The first resolution under PC is always checked and always matches the current refresh rate. I'm not sure if this is intentional or an oddity. When I used to manually modify the EDID with a .inf file, I always increased the maximum supported resolution as well as set the signal type to HDMI-A(default is set to DVI-D even though the connection is made through HDMI).

edit2: this is also an oddity.

https://dl.dropbox.com/u/102011983/high%...nitor1.png

https://dl.dropbox.com/u/102011983/high%...nitor2.png

Happens when I do a .inf mod as well.
Find all posts by this user
Quote this message in a reply
12-31-2012, 05:37 PM
Post: #10
RE: Custom Resolution Utility (CRU)
I just checked with a 1080p monitor. It's a quirk with the NVIDIA driver. This happens when the refresh rate is set to 59 Hz when only 60 Hz is defined. The HD listing disappears when set to 60 Hz. This stops happening if I change the 60 Hz resolution to something like 59.94 Hz.

The monitor information is correct. Real-time is just the EDID directly from the monitor. The EDID override still takes precedence.
Find all posts by this user
Quote this message in a reply
 Post Reply


Forum Jump:


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