The use of O rings in square cut grooves as used for cast iron rings is a poor solution. O rings are meant to fit into semicircular grooves so they can roll as the piston slides in the cylinder. A square groove means the ring bunches up against a flat surface and it doesn't roll but gets squeezed out into closer contact with the bore and high wear rates occur. If there are ports in the liner then it gets the bacon slicer treatment as it gets shaved on every stroke!
I have used PTFE square rings, Vesconite rings, bronze rings, dural rings, mild steel and cast iron rings with varying degrees of success. If I had the choice then it would be either bronze or mild steel in a cast iron sleeve liner. For a gunmetal or bronze liner then CI or mild steel is the best, but my 3 1/2" Netta has dural rings and they work fine. Even the D-slide valves are dural and they show almost zero wear if the lubrication is up to scratch.
In a mechanical engineering textbook I read that for steam engines operating at low pressure – ie below 250psi – then pistons with NO rings have very little leakage compared to ones with rings. In fact no grooves and a plain piston works perfectly well as long as the piston fit is correct. Many model aero engines of the compression ignition types never had rings fitted and the combustion pressure in that sort of engine is ten times or more of a steam engine. Piston compressors in fridges similarly have no rings on the pistons.
In my experiments I found that a groove in the piston without a ring works only slightly less well than a piston with a ring, it is a labyrinth seal, same as a piston with a ring. The major difference is in the friction, the piston with a ring has considerably more friction and friction in small engines robs power.
In steam engines the condensate which forms in the bore is an adequate piston to liner lubricant and seal when cast iron is used.
Look at the piston in a Crosby Indicator to see how well it seals, it has a single groove with no ring and it seals perfectly! The condensate fills up the groove and acts like a flexible ring. The friction is virtually zero!