Provided by: ddcutil_1.4.1-1build2_amd64 bug

NAME

       ddcutil - Query and change monitor settings

SYNOPSIS

       ddcutil [options] command [command-arguments] [options]

       Options can be written either before or after the command and its arguments.

DESCRIPTION

       ddcutil is used to query and change monitor settings.

       ddcutil communicates with monitors that implement the Monitor Control Command Set (MCCS) using the DDC/CI
       protocol  on an I2C bus.  Normally, the video driver for the monitor exposes the I2C bus as devices named
       /dev/i2c-n.  Alternatively, ddcutil can communicate monitors that use USB to communicate  MMCS,  provided
       the monitors meet the USB Monitor Control Class Specification.

       The  Monitor  Control  Command  Set describes a collection of Virtual Control Panel (VCP) features that a
       monitor can implement.  Each feature is identified using a single byte.  For example, feature x10 is  the
       brightness control.

       The  monitor  settings that can be controlled by ddcutil are generally speaking those that can be changed
       using the buttons on a monitor and its on screen display.  The specific capabilities vary from monitor to
       monitor.

       A particular use case for ddcutil is as  part  of  color  profile  management.   Monitor  calibration  is
       relative  to the monitor color settings currently in effect, e.g. red gain.  ddcutil allows color related
       settings to be saved at the time a monitor is calibrated, and  then  restored  when  the  calibration  is
       applied.

       Another common use case is to switch the monitor input source.

       This  man  page  focuses  on  the  ddcutil  commands and options most important to the typical user.  For
       complete documentation, use the --help option or see the web site http://www/ddcutil.com.

RESTRICTIONS

       ddcutil does not support laptop monitors, which do not implement DDC/CI.

COMMANDS

   Primary Commands
       These are the most used ddcutil commands.

       detect "Report monitors"

       vcpinfo [ feature-code | feature-group ]
              Describe VCP feature codes. as defined in the MCCS specification.

       capabilities
              Query the monitor's capabilities string

       getvcp [ feature-code | feature-group ]
              Report a single VCP feature value, or a group of feature values

       setvcp feature-code [+|-] new-value
              Set a single VCP feature value.  If + or - is specified, it must  be  surrounded  by  blanks,  and
              indicates a relative value change of a Continuous VCP feature.

   Secondary Commands
       These commands address special situations.

       dumpvcp filename
              Save  color  profile  related  VCP feature values in a file.  If no file name is specified, one is
              generated and the file is saved in $HOME/.local/share/ddcutil,

       loadvcp filename
              Set VCP feature values from a file.  The monitor to which the values will be applied is determined
              by the monitor identification stored in the  file.   If  the  monitor  is  not  attached,  nothing
              happens.

       scs    Issue DDC/CI Save Current Settings request.

       chkusbmon
              Tests if a hiddev device is a USB connected monitor, for use in udev rules.

   Diagnostic commands
       These  commands   diagnose  issues  in  the  system configuration that affect ddcutil operation, and that
       gather information for remote problem diagnosis.

       environment
              Probe the ddcutil installation environment.

       usbenv Probe USB aspects of the ddcutil installation environment.

       probe  Explore the capabilities and features of a single monitor.

       interrogate
              Collect maximum information for problem diagnosis. Includes  the  output  of  ddcutil  environment
              --verbose  andfor  each detected monitor, the output of ddcutil capabilities --verbose and ddcutil
              probe --verbose.

COMMAND ARGUMENTS

       feature-code

       A feature-code is specified by its 2 character hex feature number, with or without a leading  "0x",  e.g.
       0x10, 10

       feature-group

       The following are the most useful feature groups.  For a complete list,  use the --help option.

       ALL|KNOWN
              All feature codes understood by ddcutil
       COLOR  Scan color related feature codes
       PROFILE
              Subset of color related feature codes that are saved and restored by dumpvcp and loadvcp
       SCAN   Scan all possible feature codes 0x00..0xff, except those known the be write-only

       Feature group names can be abbreviated to the first 3 characters.  Case is ignored. e.g. "COL", "pro".

       new-value

       Normally,  this  is  a decimal number in the range 0..255, or a hexadecimal number in the range x00..xff.
       More generally, this is actually a two byte value, i.e. x00..xffff, and a few features use this  extended
       range.

OPTIONS

       Options  for  monitor  selection.   If  none  are  specified,  the default is the first detected monitor.
       Options --mfg, --model and --sn can be specified together.
       -d , --dis , --display ,
              display-number logical display number (starting from 1)
       -b,--bus
              bus-number I2C bus number
       --hiddev
              device number hiddev device number
       -u,--usb busnum.devicenum
              USB bus and device numbers
       -g,--mfg
              3 letter manufacturer code
       -l,--model
              model name
       -n,--sn
              serial number.  (This is the "serial ascii" field from the EDID, not the binary serial number.)
       -e,--edid
              256 hex character representation of the 128 byte EDID.  Needless to  say,  this  is  intended  for
              program use.

       Feature selection filters
       -U, --show-unsupported
              Normally,  getvcp does not report unsupported features when querying a feature-group.  This option
              forces output.
       --show-table | --no-table
              Normally, getvcp does not report Table type features when querying a feature-group.   --show-table
              forces output.   --no-table is the default.
       --rw, --ro, --wo
              Limit getvcp or vcpinfo output to read-write, read-only, or (for vcpinfo) write-only features.

       Options that control the amount and form of output.
       -t, --terse, --brief
              Show brief detail.  For command getvcp, the output is in machine readable form.
       -v, --verbose
              Show extended detail

       Options that modify behavior
       --mccs MCCS version
              Tailor command input and output to a particular MCCS version, e.g. 2.1
       --enable-usb, --disable-usb
              Enable  or  disable support for monitors that implement USB commuincation with the Virtual Control
              Panel.  The default is --disable-usb
       --enable-udf, --disable-udf
              Enable or disable support for user supplied feature definitions.  The default is --enable-udf
       enable-capabilities-cache, --disable-capabilities-cache
              Enable or disable  caching  of  capabilities  strings,  improving  performance.   The  default  is
              --enable-capabilities-cache
       --force-slave-address
              Take control of slave addresses on the I2C bus even they are in use.
       --verify | --noverify
              Verify or do not verify values set by setvcp or loadvcp. --noverify is the default.
       --async
              If  there  are  multiple  monitors,  initial  checks  are performed in multiple threads, improving
              performance.
       --edid-read-size 128|256
              Force ddcutil to read the specified number of bytes when reading the EDID.  This option is a work-
              around for certain driver bugs.  The default is 256.

       Options to tune execution:
       --maxtries (max-read-tries, max-write-read-tries, max-multi-part-tries)
              Adjust the number of retries.  A value of  "."  or  "0"  leaves  the  setting  for  a  retry  type
              unchanged.
       --sleep-multiplier decimal number
              Adjust  the  length  of  waits  listed in the DDC/CI specification by this number to determine the
              actual wait time.  Well behaved monitors work with sleep-multiplier values less  than  1.0,  while
              monitors  with  poor DDC implementations may work better with sleep-multiplier values greater than
              1.0.

       Options for diagnostic output.
       --stats [all|errors|tries|calls|elapsed|time]
              Report execution statistics.  If  no  argument  is  specified,  or  ALL  is  specified,  then  all
              statistics are output.  elapsed is a synonym for time.  calls implies time.
              I2C  bus communication is an inherently unreliable.  It is the responsibility of the program using
              the bus to manage retries in case of failure.   This  option  reports  retry  counts  and  various
              performance statistics.
       --ddc  Reports DDC protocol errors.  These may reflect I2C bus errors, or deviations by monitors from the
              MCCS specification.

       Debugging options.
       --trace trace group name
              Enable  tracing  for functions in the specified trace group.  For a list of trace group names, use
              the --help option. This option can be specified more than once.
       --trcfunc function name
              Trace the specified function, which must have been  enabled  for  tracing.   This  option  can  be
              specified more than once.
       --trcfile file name
              Trace  all functions in a source file that are enabled for tracing.  The argument is a simple file
              name, with or without the ".c" suffix, e.g. "i2c_bus_core", "i2c_bus_core.c".  This option can  be
              specified more than once.
       --timestamp, --ts
              Preface trace messages with the time since program start.
       --wall-timestamp, --wts
              Preface  trace messages with the current wall time.  --thread-id,--tid Preface trace messages with
              the thread number.
       --syslog
              Write trace messages to the system log.
       --excp Report freed exceptions
       --use-file-io
              Use the write()/read() interface of driver i2c-dev to send and receive I2C packets.  This  is  the
              default for the nvidia proprietary driver.
       --use-ioctl-io
              Use  the ioctl() interface of driver i2c-dev to send and receive I2C packets.  This is the default
              for video drivers other than the proprietary nvidia driver.

       Options for program information.
       -h,--help
              Show program help.
       -V, --version
              Show program version.
       --settings
              Report option settings in effect.

EXECUTION ENVIRONMENT

       Requires read/write access to /dev/i2c devices.  See http://www.ddcutil.com/i2c_permissions

NVIDIA PROPRIETARY DRIVER

       Some Nvidia cards using the proprietary Nvidia driver require special settings  to  properly  enable  I2C
       support.  See http://www.ddcutil.com/nvidia.

VIRTUAL MACHINES

       Virtualized  video  drivers  in  VMWare and VirtualBox do not provide I2C emulation.  Use of normal video
       drivers with PCI passthrough is possible.

EXAMPLES

       ddcutil detect
       Identify all attached monitors.

       ddcutil getvcp supported

       Show all settings that the default monitor supports and that ddcutil understands.

       ddctpp getvcp 10 --display 2
       Query the luminosity value of the second monitor.

       ddcutil setvcp 10 30 --bus 4
       Set the luminosity value for the monitor on bus /dev/i2c-4.

       ddcutil vcpinfo --verbose
       Show detailed information about VCP features that ddcutil understands.

       ddcutil interrogate > ~/ddcutil.out
       Collect maximum information about monitor capabilities and the  execution  environment,  and  direct  the
       output to a file.

DIAGNOSTICS

       Returns 0 on success, 1 on failure.

       Requesting help is regarded as success.

SEE ALSO

       The project homepage: http://www.ddcutil.com

AUTHOR

       Sanford Rockowitz (rockowitz at minsoft dot com)
       Copyright 2015-2023 Sanford Rockowitz

                                                   2020-05-15                                         ddcutil(1)