Use a (fixed) exponential (-like) PWM lookup table to make the brightness levels appear linear.