DDC(9)
β¨ NAME β¨
Okay so this is the DDC(9) manual page from the Kernel Developer's Manual, and it's all about ddc β VESA Display Data Channel V2. Main character energy, no cap. π
πΈ SYNOPSIS πΈ
#include <dev/i2c/ddcvar.h>
int
ddc_read_edid(i2c_tag_t tag, uint8_t *dest, size_t len);
π DESCRIPTION π
So ddc_read_edid() does exactly what it says on the tin, bestie: it reads a VESA Extended Display Identification Data block (EDID) via VESA Display Data Channel (DDCv2). DDCv2 is a protocol for data exchange between display devices (such as monitors and flat panels) and host machines using an I2C bus. The way it just... talks to your monitor? iconic. π₯οΈβ¨
Here's the tea on the arguments:
tagβ a machine-dependent tag used to specify the I2C bus on which the DDCv2 device is located. It's the bus's little name tag. π·οΈdestβ a pointer to a buffer where the EDID data will be stored. That's where the good stuff goes. πΎlenβ the amount of data to read into the buffer. (The buffer must be large enough.) Typically, this value will be128, which is the size of a normal EDID data block. β¨
Normally the EDID data block will be post-processed with the edid_parse() function. That's the glow-up step. π
π RETURN VALUES π
The ddc_read_edid() function returns zero on success, and non-zero otherwise. Zero = slay, non-zero = something's off. π
π¦ ENVIRONMENT π¦
The ddc_read_edid() function is part of the ddc(4) driver, and is only included in the kernel if that driver is also included. Package deal, fr fr. π¦
π EXAMPLES π
The following code uses ddc_read_edid() to retrieve and print information about a monitor:
struct edid_info info;
i2c_tag_t tag;
char buffer[128];
...
/* initialize i2c tag... */
...
if ((ddc_read_edid(tag, buffer, 128) == 0) &&
(edid_parse(buffer, &info) == 0))
edid_print(info);
...
Note that this must be called before the PCI bus is attached during autoconfiguration. Timing is everything, bestie. β°
β SEE ALSO β
π HISTORY π
DDCv2 support was added in NetBSD 4.0. Vintage but still cute. π°οΈ
π AUTHORS π
Garrett D'Amore <gdamore@NetBSD.org>
Okay bye bestie β this one's from Debian, dated May 11, 2006, and the manual page is DDC(9). ππ
π¦ where this page comes from
- nixpkgs unstable: netbsd-source 11.0
- Copyright 2006 Itronix Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms