Q. I don’t have manual for my monitor and I need to find out my monitors VertRefresh values and HorizSync rate under Debian or Ubuntu Linux. Can you explain name of the command that will display this information?

A. You need to use command called ddcprobe to detect monitor and video-card memory. This command also displays:
=> Monitor name
=> Monitor VertRefresh values and HorizSync rates range
=> dpms etc

Please note that ddcprobe command also available under
a) Redhat Enterprise Linux
b) Fedora Core
c) Debian Linux
d) CentOS and other Linux distros

Task: Install ddcprobe

You need to install ddcprobe command, enter:
$ sudo apt-get install xresprobe
# sudo apt-get install xresprobe

Now you can type ddcprobe command:
$ sudo ddcprobe | less
Sample Output:

vbe: VESA 3.0 detected.
oem: Intel(r)845G/845GL/845GE/845GV Graphics Chip Accelerated VGA BIOS
vendor: Intel Corporation
product: Intel(r)845G/845GL/845GE/845GV Graphics Controller Hardware Version 0.0
memory: 8000kb
mode: 1280x1024x256
mode: 1280x1024x64k
mode: 1280x1024x16m
mode: 1024x768x256
mode: 1024x768x64k
mode: 1024x768x16m
mode: 640x480x16m
mode: 800x600x64k
mode: 800x600x16m
mode: 640x480x256
mode: 800x600x256
mode: 640x480x64k
edid: 1 3
id: 941f
eisa: VSC941f
serial: dadb6101
manufacture: 15 2007
input: sync on green, analog signal.
screensize: 41 26
gamma: 2.200000
dpms: RGB, active off, no suspend, no standby
timing: 720x400@70 Hz (VGA 640x400, IBM)
timing: 720x400@88 Hz (XGA2)
timing: 640x480@60 Hz (VGA)
timing: 640x480@67 Hz (Mac II, Apple)
timing: 640x480@72 Hz (VESA)
timing: 640x480@75 Hz (VESA)
timing: 800x600@60 Hz (VESA)
timing: 800x600@72 Hz (VESA)
timing: 800x600@75 Hz (VESA)
timing: 832x624@75 Hz (Mac II)
timing: 1024x768@87 Hz Interlaced (8514A)
timing: 1024x768@70 Hz (VESA)
timing: 1024x768@75 Hz (VESA)
timing: 1280x1024@75 (VESA)
ctiming: 1440x1440@60
ctiming: 1440x1440@75
ctiming: 1280x1024@60
ctiming: 1280x960@60
ctiming: 1152x864@75
dtiming: 1440x900@69
monitorserial: AK1012346797
monitorrange: 24-82, 50-75
monitorname: VA1903wm-2

Task: Display VertRefresh values and HorizSync rate

Use ddcprobe command as follows:
$ sudo ddcprobe | grep monitorrange

monitorrange: 24-82, 50-75

24-82 is your HorizSync rates and the second pair is your VertRefresh (50-75) values.

Now you can use above ranges and edit X.org configuration file.

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 6 comments so far... add one

CategoryList of Unix and Linux commands
Disk space analyzersdf duf ncdu pydf
File Managementcat cp mkdir tree
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Modern utilitiesbat exa
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg glances gtop jobs killall kill pidof pstree pwdx time vtop
Searchingag grep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
6 comments… add one
  • David Stone Aug 31, 2008 @ 5:30

    ddcprobe doesn’t list any monitorranges for me just modes.

  • angelblade Mar 25, 2009 @ 20:01

    It’s a useful command.

  • Dariusz Panasiuk Mar 28, 2009 @ 9:16

    Thanks for sharing that info. It has saved a lot of time for me

  • Samuel Huckins Jun 23, 2009 @ 11:26

    Looks like quite a useful command. On my Ubuntu 9.04 system, however, I get the “mode:” output then:


    And the program exits. Ideas?

  • Nigel Jul 12, 2009 @ 12:12

    If you get edidfail, try the command again. Some hardware like my Samsung LCD TV does not respond correctly when probed about it’s EDID. Every second ddcprobe reports a fail starting with the first call.
    The 2nd, 4th, 6th etc. call is OK.
    Of course this means that X gets the wrong EDID when booting (the first call) and tries driving an unsupported range causing the TV to issue a error and go into standby. :-(

  • xRy Feb 19, 2010 @ 12:36

    Thanks, you helped me a lot!

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum