Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ gpuddc Public

DDC/CI monitor control over the GPU for Windows. Supports LG monitor input control.

Notifications You must be signed in to change notification settings

Dasutin/gpuddc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gpuddc

GPU-driven DDC/CI controller for Windows. Targets monitors through the GPU I2C path using vendor APIs (NVIDIA NVAPI, AMD ADL/X).

Features

  • List detected displays (-list) with names, serial numbers, and Windows display numbers (DISPLAY#) when available.
  • Set and get VCP codes on a target display (serial-based targeting for both NVIDIA and AMD).
  • Optional register override and LG input shortcut: -lginput sets VCP 0xF4 on register 0x50; value is required (e.g., DP=208, HDMI=144).
  • Verbose reads: -v dumps raw VCP response bytes.
  • Zero external runtime dependencies besides GPU driver + vendor SDK import libs/headers at build time.

External SDK layout

external/ is used for the vendor SDK's (do not commit them to GitHub due to licensing):

  • external/nvapi/
    • Headers: external/nvapi/ - Drop all nvapi headers here
    • Libs: external/nvapi/nvapi64.lib
  • external/adlx/ - Drop the ADLXHelper.h header here
    • Headers: external/adlx/include - Drop all of the adlx headers here
  • external/adlx-sdk/include - Drop the adl headers here

Building (CMake)

  1. Install CMake and a Visual Studio build toolchain.
  2. Configure + build:
  • cmake -B build -S .
  • cmake --build build --config Release

Notes

  • If you only need one vendor, you can disable the other in CMake: -DGPUDDC_ENABLE_NVAPI=OFF or -DGPUDDC_ENABLE_ADLX=OFF.
  • Missing SDKs will leave that backend stubbed and the related commands will raise a runtime error.

Usage

# Help
gpuddc -help

# List detected monitors
gpuddc -list

# Set brightness (VCP 0x10) to 50 on an NVIDIA display with display serial 1234
gpuddc -gpu nvidia -serial 1234 -vcp 0x10 -value 50

# Set brightness on an AMD display with display serial ABCD
gpuddc -gpu amd -serial ABCD -vcp 0x10 -value 50

# Read brightness (with raw dump) on NVIDIA
gpuddc -gpu nvidia -serial 1234 -getvcp 0x10 -v

# LG input switch shortcut (uses VCP 0xF4, register 0x50); DisplayPort value = 208
gpuddc -gpu nvidia -serial 1234 -lginput 208

Caveats

  • NVAPI: Nvidia display driver must be installed for Nvidia support.
  • ADLX: AMD display driver must be installed for AMD support.
  • DDC/CI defaults: device address 0x6E, register 0x51 for standard VCP; override with -devaddr / -reg. LG shortcut forces register 0x50 and VCP 0xF4.

About

DDC/CI monitor control over the GPU for Windows. Supports LG monitor input control.

Resources

Stars

Watchers

Forks