Selective Culling?

Hi, I have a bit of a problem when trying to render a fan duct, the duct is made out of a cylinder, (from a modelling program, not an OpenGL primitive). I obviously need both sides to show up so I have disable culling. The problem is that I get artifacts without culling, as you can imagine, where the cylinder is too close to the surface it is setting on, and anywhere surfaces are too close. Is there a way I can only cull the faces that should be hidden? I have depth testing on, but that doens’t seem to make a difference.

check the faq section 12 - the depth buffer