This question has two possible answers, and it depends entirely on the accuracy of the assessment of the team by the star employee.
The first possibility: This person is overly impressed with their own skills, or has some insecurity about them and is projecting that onto their teammates. I'm going to skip this possibility, as Kent Anderson's answer covers the response to this scenario very well..
The second possibility, and the one I believe is probably more likely: They are correct. You call him a "star performer," which I infer means his skills really ARE that good.
The good news is that this person is loyal to your team. If they weren't, the frustration would have driven them out by now. The frustration is in being surrounded by mediocrity, possibly bordering on ineptitude, and having no one seem to care about it.
That "no one?" That's YOU. You are the manager, and if you accept the mediocrity, you are killing your team's performance, and you are driving this person out. Development is an art, and anyone who is "satisfied" with their skill as an artist is deadwood. I worked in television for many years, and did a lot of arts programs along the way. I've never met a dancer, painter, singer, musician, lighting director, prop builder, or any other artist who was "satisfied" with their own work. They are constantly striving to be better, and that's what makes them great. Developers should be the same way.
When you put these people in a team with those who feel they are "good enough," it drives them absolutely insane. (You can change that to a first-person sentence, from me, if you wish.) It's like putting Aretha Franklin in a dive bar band, or having Nico Rosberg do valet parking. You are destroying this person.
Now, what are you going to do about it?
Option 1: You take the employee aside, and say, "We accept mediocrity in this team. I realize you're better than that, but we aren't going to be able to let you reach your potential, here. I understand if you need to seek better challenges, but please contribute to the team as long as you're here." And be sure you MEAN it. If you accept mediocrity, then you've already lost this person. Accept it.
Option 2: Listen to them. (I'm betting they're right.) Ask him point-blank, "OK, you're right. What are 5 things we can do in the next 6 months to get better?" Put it on him to tell you what skills the team needs to develop. It sounds like their biggest issue is architecture (although I'll bet that there are more issues than you're aware of). Are there analysis practices or design patterns that your team needs to learn?
Now implement it. Don't give it to this employee to do, as they're likely already at odds with their teammates. Give it to another team member. Completely out of the scope of this discussion, assign another team member to become an expert at a particular design pattern, and train the rest of the team. Assign another to an analysis practice, etc. Stagger the rollout so that it doesn't overwhelm your team.
The star performer will see that you're demanding the team improve, and they will (likely) understand if it takes some time to build momentum.