Skip to content

waydabber/AppleSiliconDDC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AppleSiliconDDC

DDC Library for Apple Silicon Macs + ASDDC cli

Usage - library

See example ASDDC code.

For sample implementation take a look at the source code of MonitorControl (as Arm64DDC.swift in the project)

Please mention this repo publicly if used. :)

Usage - CLI

Warning: This CLI is for DDC/CI (protocol) and not for MCCS (command set) and some displays only partially adhere to MCCS (e.g. store unexpected data in MH/SH or invalid in ML). It's outside the scope of this program to interpret/correct it. Only --verify-single (or --noverify) can be used to bypass such issues.

Building

swift build
./.build/arm64-apple-macosx/debug/ASDDC --help

CLI syntax

ASDDC --help

OVERVIEW: AppleSiliconDDC

USAGE: asddc <subcommand>

OPTIONS:
  -h, --help              Show help information.

SUBCOMMANDS:
  detect (default)        Detect connected display.
  getvcp                  Read value for given VCP.
  setvcp                  Sets value for given VCP.
  capabilities            Qeuery all VCPs.

  See 'asddc help <subcommand>' for detailed help.

ASDDC detect --help

OVERVIEW: Detect connected display.

USAGE: asddc detect

OPTIONS:
  -h, --help              Show help information.

ASDDC getvcp --help

OVERVIEW: Read value for given VCP.

USAGE: asddc getvcp [--terse] [--sn <sn>] [--display <display>] [--edid <edid>] <vcp>

ARGUMENTS:
  <vcp>                   Raw VCP code (decimal or hex prefixed with 0x or x)

OPTIONS:
  --terse                 Terse output (similar to ddcutil --terse)
  -n, --sn <sn>           Alphanumeric serial number of target device. If omitted, first working display will be tried.
  -d, --display, --dis <display>
                          ioDisplayLocation of target device. If omitted, first working display will be tried.
  -e, --edid <edid>       EDID of target device. If omitted, first working display will be tried.
  -h, --help              Show help information.

ASDDC setvcp --help

OVERVIEW: Sets value for given VCP.

USAGE: asddc setvcp [--noverify] [--verify-single] [--terse] [--sn <sn>] [--display <display>] [--edid <edid>] <vcp> <value>

ARGUMENTS:
  <vcp>                   Raw VCP code (decimal or hex prefixed with 0x or x)
  <value>                 Raw VCP value (decimal or hex prefixed with 0x or x)

OPTIONS:
  --noverify              Do not read VCP value after setting it
  --verify-single         Read VCP value after setting it, but only check lower byte
  --terse                 Terse output (similar to ddcutil --terse)
  -n, --sn <sn>           Alphanumeric serial number of target device. If omitted, first working display will be tried.
  -d, --display, --dis <display>
                          ioDisplayLocation of target device. If omitted, first working display will be tried.
  -e, --edid <edid>       EDID of target device. If omitted, first working display will be tried.
  -h, --help              Show help information.

ASDDC capabilities --help

OVERVIEW: Qeuery all VCPs.

USAGE: asddc capabilities [--terse] [--sn <sn>] [--display <display>] [--edid <edid>]

OPTIONS:
  --terse                 Terse output (similar to ddcutil --terse)
  -n, --sn <sn>           Alphanumeric serial number of target device. If omitted, first working display will be tried.
  -d, --display, --dis <display>
                          ioDisplayLocation of target device. If omitted, first working display will be tried.
  -e, --edid <edid>       EDID of target device. If omitted, first working display will be tried.
  -h, --help              Show help information.

Packages

No packages published

Contributors 2

  •  
  •  
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy