First of all; you're not alone. I know how you feel.
When your partner is struggling so much it's hard not to feel like you owe it to him to change that. Here's the thing, though; you can't control much about the situation. You must feel beyond frustrated and possibly helpless. Truth is, no matter how much you do for him, it may never seem enough. Sometimes, the only thing you can do is be gentle and receptive. The more you try to get him to talk to you, the more defensive he'll get. All you can do is be there and be ready to listen. If he wants to talk, he'll talk. Otherwise, maybe just gently coax him to get out and do something with you or some friends, maybe try to figure out what He's be in the mood for and offer it. As the wiccans say "speak ye little, listen much". Hope this helps.