Hi,
This appears to be a driver bug. Namely, it seems that the Coolbits option can only be attached to an X screen associated with the GPU (it appears that if attached to GPU itself, the option gets transferred to the screen internally), but there is no X screen associated with the discrete GPU if you are using PRIME render offload. It will have to be fixed upstream.
Until it’s fixed upstream, I can provide a workaround for driver version 440.64. The file nvidia_drv.so should have sha1sum dbd03c529fd6d66c6a016a9cfbc4613be501e0fc
. Perform the following replacements:
- at offset
45970
, replace 6 bytes withB801000000C3
, - at offset
45A4B
, replace 2 bytes with9090
, - at offset
45A86
, replace 10 bytes withB8010000004883C408C3
, - at offset
4A988
, replace 1 byte withEB
.
You should get a file with sha1sum d2a16889a058b0368371e1d5167f4f0fefab6800
. These changes are roughly equivalent to using Option "Coolbits" "12"
in xorg.conf for all of your GPUs regardless of whether there is an associated X screen. Enjoy!
Note that although I did my best to ensure the workaround is correct (and it works well for me), it might have unintended consequences, and so you are using it entirely at your own risk.