diff --git a/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUController.cpp b/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUController.cpp index e723bfa4..a1c5b012 100644 --- a/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUController.cpp +++ b/Controllers/GigabyteRGBFusionGPUController/GigabyteRGBFusionGPUController.cpp @@ -36,6 +36,15 @@ void RGBFusionGPUController::SetColor(unsigned char red, unsigned char green, un bus->i2c_smbus_write_byte(dev, red); bus->i2c_smbus_write_byte(dev, green); bus->i2c_smbus_write_byte(dev, blue); + + // Pad commands with 4 zero-bytes for NVIDIA_RTX3060_DEV + if (dev == 0x62) + { + bus->i2c_smbus_write_byte(dev, 0x00); + bus->i2c_smbus_write_byte(dev, 0x00); + bus->i2c_smbus_write_byte(dev, 0x00); + bus->i2c_smbus_write_byte(dev, 0x00); + } } void RGBFusionGPUController::SetMode(unsigned char mode, unsigned char speed) @@ -44,4 +53,13 @@ void RGBFusionGPUController::SetMode(unsigned char mode, unsigned char speed) bus->i2c_smbus_write_byte(dev, mode); bus->i2c_smbus_write_byte(dev, speed); bus->i2c_smbus_write_byte(dev, 0x63); + + // Pad commands with 4 zero-bytes for NVIDIA_RTX3060_DEV + if (dev == 0x62) + { + bus->i2c_smbus_write_byte(dev, 0x00); + bus->i2c_smbus_write_byte(dev, 0x00); + bus->i2c_smbus_write_byte(dev, 0x00); + bus->i2c_smbus_write_byte(dev, 0x00); + } }