Covering the smoke detector? That’s dangerous and stupid. Why are you worried about this kid? Sorry, time to look out for yourself.
First, you’re an adult. Today, you say you know the roommate smoked in the room. You uncovered the smoke detector for Pete’s sake. Tell your roommate you specifically asked for a non smoking roommate. Ask your roommate what he thinks is a good way to resolve it. If you don’t think his suggestion is fair, explain that you know he covered the smoke detector, then go straight to the RA, then right up the Dean of Res Life, or whoever. The onus is on HIM to shape up or ship out.
You have proof. Your room and your belongings stink of smoke. That is totally unacceptable. You do not have to tolerate that even the tiniest bit. This relationship is doomed anyway, so why should you have to suffer on his behalf? Speak up for yourself, you did nothing wrong. Yeah, it will be awkward for a few minutes. Then you’ll be glad you spoke.