Your options are varied all depending on a number of things the main one being which seat type you have ( standard, sport seat on M seat ) then next is the colour ( some are rare hard to find) then the age standard seats have 2 different frame size ( the later being bigger)
You dont see decent 2nd hand covers for sale very often
So options really are find a local upholstery shop to fix ( if not too dear)
Find a replacement seat in better condition ( drivers always worst for wear)
Or depending on the damage fix it yourself .
You will find replacement leather etc still available special order from Bmw at scary prices.
I priced my limited edition Orinoco seat ( cream Walknappa with green piping) you have to order the upper and lower cover ( ie full seat) and it would be just over £1900 per seat so never going to be an option.
I repaired and redyed a fairly damaged bolster on an m seat to a reasonable standard using stuff from furniture clinic.
Fixed a lot of the cracks as well on the bits i was working on.
Stephen.