Second vote for Retro-Clean. I bought some at my LQS and it works like a charm. Dissolve in hot water, soak linens at least over night then wash as usual. In the summer you can put it out in a pail in the sun to keep the water warm.
I had a 'white' sheet that was in great shape except for yellowing where it had been slept on. Retro-Clean brought it back to pure white.
When I bought it, a lady at the shop told me she worked at the museum and it was what they used for old linens.