For those wondering, I couldn’t make ddcontrol to work because it uses an nvidia proprietary interface based on writing to /dev/mem, which is not available by default on most kernels. My workaround was to use ddcutil instead, which works after manually modprobe-ing i2c-dev on Archlinux.
tl;dr:
$ yay -S ddcutil
$ sudo modprobe i2c-dev
$ sudo ddcutil probe # works
You can auto-enable i2c-dev by adding a new file:
$ echo i2c-dev | sudo tee /etc/modules-load.d/i2c.conf