I advised the OP that a fixed, linear supply would eliminate the ability to dim or fade the different colors.
I was assuming that simply reducing the DC voltage would only work over a limited range.
Yes, that's the problem with merely reducing the voltage.
Constant current is also a non-starter, since the LED strip can be any length and the maximum current would depend on how long the strip is. Perhaps the controller could momentarily apply the full 12V to all LEDs, when its first turned on, to determine the required current for full brightness, then use constant current control with the current limited, to a percentage of the full voltage value? The trouble with that is the forward voltage of the LEDs drops slightly, as they heat up, so it wouldn't be perfect.
Another solution could be to build a constant current controller for a short piece of LED strip, internal to the controller and apply the same voltage to the external strip. The problem with that is the LEDs inside the controller would have to be closely matched to the external strip.
I think the most convenient solution is to use a passive filter, as it would work with the existing controller circuit. The trouble is what lower cut-off frequency to use? It needs to be significantly above the highest PWM frequency used, yet still reduce the rise and fall times of the pulses to minimise EMI. A filter with just inductors and capacitors would be efficient but how well it works would depend on the loading. An RLC filter would be easier to design so it works over a wide range of loads, but will dissipate some of the power as heat.