I'm doing that right now on my lathe conversion. As Mud says, LinuxCNC and some other controllers can do it (excluding my Centroid Acorn and Newker 990 of course).

The signals from linear encoders are generally like rotary ones ie quadrature A and B with a Z index, either single ended or differential.

But I detect that old chestnut again here. You still need to get as much backlash out of your system as you can sensibly manage. PID controllers really don't like sudden nonlinear behaviour. I use the analogy or driving an old banger along a winding hilly track with half a turn of slop in the steering wheel. You (the closed loop controller) have to work bloody hard to keep on track. There's no magical solution that allows you to produce precision parts on an old dog.

Same applies to backlash compensation in your controller - in some situations it can actually double the backlash error. And if you are missing steps, you need to find out why and fix it.