I want to access I2C bus on graphic cards, after doing some research I wrote an upper-filter driver for the \Device\Dxgkrnl device, to intercept the DxgkInitialize call, and get the I2C interface of display miniport driver.
Now I'm facing two problems:
-
Intel's driver doesn't allow communication to I2C address other than 0x6e, I tried 0xa0 to read EDID, STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST is always returned, while STATUS_SUCCESS is returned for 0x6e. Is it possible to circumvent this artifical restriction, e.g. by patching the driver?
-
AMD's driver doesn't even send the IRP request to obtain the address of DxgkInitialize, how is this even possible?
For some reason I don't care about Nvidia, I really hope to get it to work with at least one of Intel/AMD.