In order for it to run you have to disable some things first, disable(in steam settings) steam community in-game. Also if your tf2 starts in directx9.. you may want to use a command to have it run via directx8.
I can run tf2 under linux but the fps is bad, I'm sure if I lowered some stuff it might be playable but under windows I have everything on high and it runs nicely, wine has a ways to go.. Perhaps it needs more ram witch I didn't have, maybe that's why.. doubt it lol
I'm getting another ram stick in a few days though so it will be interesting to see how it reacts under windows even. Just disabling in-game chat if I remember correctly made it run for me but let us know what's up?