How to run Bioshock in Windows 7 with and/or without dx10 (maybe 8)
Please make sure all drivers, DirectX, and VC studio C++ redist fully updated (I have 2005, 2008, and 2010 on my machine, I do not know which one Bioshock requires). Also please keep in mind that this fix may not work for you if you have a sound card that is not Realtek/Creative and does not support stereo mix.
1) right click on Bioshock in steam, select properties -> go to local files -> browse local files and find bioshock.exe. Right click on it, select properties -> compatability and set bioshock.exe to run in windows vista, windows vista service pack 1, or windows vista service pack 2. Any of the 3 will do just fine but I recommend service pack 2. This will make your game not crash upon launching your game. Now to fix the sound in step 2a or 2b.
2a) two ways to fix the sound: one is set bioshock.exe to run in dx9 mode by setting "-dx9" (without the quotes) flag in launch options. DX9 will make the graphics look less appealing than DX10. This solution is for people who do not mind dx9 graphics and want the most painless solution. However some of us want this game to utilize dx10 so in order to avoid downgraded graphics go to step 2b. This step for some reason does not work for most people, if that is the case move on to step 2b.
2b)Control Panel > Hardware and Sound > Manage Audio Devices > select the Recording tab > right click the empty space below the installed devices > check Show Disabled Devices > stereo mix will appear, right click and enable stereo mix. That's it. THIS WILL NOT WORK FOR SOUND CARDS THAT DO NOT SUPPORT STEREO MIX. Your onboard audio must be either realtek or creative and with latest drivers installed for stereo mix to appear (according to online forum post for people asking why stereo mix does not appear for them). If this is the case your best bet for getting this game to run is to buy an inexpensive sound card that does support stereo mix.