And if you use 3D printer firmware then this feature can be used directly.
Aza is also building one.
The trouble with two rails is that if they are imperfect, then they will “fight” each other on the X position of the gantry, and it will tend produce worse results than a single rail. With one rail determining X position and the other end following, it should work fine even if the X axis is long. It won’t be worse when it gets farther away from the rail.