ddcutil-client(1)

πŸ“¦ version 1.0.15, in nixpkgs unstable

πŸ’– ddcutil-client β€” your group-chat bestie for VDU settings πŸ’–

okay so bestie, welcome to ddcutil-client, a page from the General Commands Manual β€” and honestly? she's iconic. let's get into it 🫢


✨ NAME ✨

ddcutil-client β€” a command-line client for managing VDU settings via ddcutil-service. yes, that's her whole thing. main character energy from line one πŸ’…


🌸 SYNOPSIS 🌸

ddcutil-client [OPTION]... COMMAND

literally just options and then a command. that's the whole vibe check.


πŸ¦‹ DESCRIPTION πŸ¦‹

So ddcutil-client is the command-line client of ddcutil-service β€” a service that can manage all sorts of settings on your Visual Display Units (VDUs) using the DDC/CI protocol. no cap. πŸ–₯️✨

This client uses that service to give you a fast counterpart to the ddcutil command. and when I say fast, I mean: if the ddcutil-service is already initialised, ddcutil-client may perform some operations up to 30 times faster than ddcutil. THIRTY. TIMES. πŸ”₯ not me being obsessed with a daemon.

⚠️ Real talk, bestie β€” listen up: when using this service, avoid excessively writing VCP values, because each VDU's NVRAM likely has a write-cycle limit/lifespan. 😭 The suggested guideline is to limit updates to rates comparable to those you'd see when using the VDU's own onboard controls. And please, please avoid coding that might rapidly or infinitely loop β€” including when you're recovering from errors and bugs. fr fr, no infinite loops, that's the rule.

Also: non-standard manufacturer-specific features should only be experimented with caution β€” some may have irreversible consequences, including bricking the hardware. πŸ’€ like literally turning your monitor into a brick. be careful.


πŸ‘‘ COMMANDS πŸ‘‘

  • detect β€” Detect connected displays. go find your screens, bestie πŸ”
  • list β€” List the currently detected VDUs without performing a new detect. she just reads the room, no new scanning ✨
  • capabilities β€” Display detailed capabilities of the specified display in an indented format, and include value option names. the full deluxe breakdown, if you will πŸ“‹
  • capabilities-terse β€” Display concise capabilities of the specified display. short and sweet, she ate πŸ’…
  • getvcp 0xNN β€” Get the value of the VCP code specified by 0xNN.
  • setvcp 0xNN n β€” Set the value of the VCP code specified by 0xNN to n.
  • getvcp-metadata 0xNN β€” Get the metadata for the VCP code specified by 0xNN.
  • wait-for-connection-change β€” Wait for a ConnectedDisplaysChanged signal, then exit. the patient queen πŸ§˜β€β™€οΈ
  • wait-for-vcp-change β€” Wait for a VcpValueChanged signal, then exit.
  • wait β€” Wait for a ConnectedDisplaysChanged or VcpValueChanged signal, then exit. either one, she's flexible 🌈

πŸŽ€ OPTIONS πŸŽ€

  • -h, --help β€” Show help options. the classic.
  • -d, --display=DISPLAY_NUMBER β€” Specify the display number to control. Only one of --display or --edid should be provided. pick a lane, bestie 🚦
  • -e, --edid=EDID β€” Specify the base64 encoded EDID (Extended Display Identification Data) of the display. Only one of --display or --edid should be provided. and yes β€” a prefix of a valid EDID is also acceptable. slay ✨
  • -r, --raw β€” Force getvcp to return SNC-features as raw 16-bit values (SNCs default to 8-bit bits).
  • -v, --version β€” Query the service interface version (property ServiceInterfaceVersion).
  • -V, --ddcutil-version β€” Query the ddcutil/libddcutil version (property DdcutilVersion).
  • -y, --dynamic-sleep β€” Query or set ddcutil dynamic sleep setting (property DdcutilDynamicSleep). 😴
  • -i, --info-logging β€” Query or set info logging (property ServiceInfoLogging).
  • -s, --signal β€” Query or set service hotplug signals (property ServiceEmitSignals). πŸ“‘
  • -l, --locked β€” Query if service parameters are locked (property ServiceParametersLocked). πŸ”’
  • -u, --status-values β€” List all ddcutil status values (property StatusValues).
  • -p, --display-events β€” List all display event types (property DisplayEventTypes).
  • -f, --service-flags β€” List all service flag options (property ServiceFlagOptions). 🚩
  • -t, --poll-interval β€” Hotplug/connectivity poll seconds >=30, 0 to query (property ServicePollInterval). ⏱️
  • -c, --cascade-interval β€” Hotplug/connectivity cascade seconds >=0.5, 0 to query (property ServicePollCascadeInterval).
  • -o, --output-level β€” Ddcutil output level (property DdcutilOutputLevel).
πŸ’‘ If neither display number nor EDID are provided, the display number will default to 1. so like, she's got a default for you, no stress 🫢

⭐ EXAMPLES ⭐

Detect all connected displays.

ddcutil-client detect

Display detailed capabilities of display 1.

ddcutil-client -d 1 capabilities

Get the value of VCP code 0x10 (brightness) for display 1.

ddcutil-client -d 1 getvcp 0x10

Set the value of VCP code 0x10 (brightness) to 50 for display 1.

ddcutil-client -d 1 setvcp 0x10 50

see? brightness control but make it fashion πŸ’…βœ¨


πŸ’œ LIMITATIONS πŸ’œ

See ddcutil-service (1) LIMITATIONS. yep β€” the ✨lore✨ lives over there, go read it 🧚


🌈 SEE ALSO 🌈

ddcutil(1), ddcutil-service(1)


πŸ“ AUTHOR πŸ“

Michael Hamilton


🧚 LICENSE 🧚

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. πŸ“œ

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. (yes, that's the loud part, don't skip it 😀)

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.


🫢 okay that's the whole page!! this one's brought to you by MH and dated ddcutil-client β€” the client living her best life in the manual, no cap. mwah πŸ’‹βœ¨
πŸ“¦ where this page comes from