Brokeback Mountain

In 1963, Ennis Del Mar (Heath Ledger) and Jack Twist (Jake Gyllenhaal) are hired by Joe Aguirre (Randy Quaid) to herd his sheep through the summer in the Wyoming mountains. After a night of heavy drinking, Jack makes a pass at Ennis, who is initially hesitant but eventually responds to Jack's advances. Though he informs Jack that it was a one-time incident, they develop a sexual and emotional relationship. Shortly after discovering their summer together is being cut short, they briefly fight and each is bloodied.
After Jack and Ennis part ways, Ennis marries his longtime fiancÃ©e Alma Beers (Michelle Williams) and has two daughters with her. Jack returns the next summer seeking work, but Aguirre, who observed Jack and Ennis on the mountain, refuses to rehire him.
Jack moves to Texas, where he meets, marries, and has a son with rodeo rider Lureen Newsome (Anne Hathaway). After four years, Jack visits Ennis. Upon meeting, the two kiss passionately, which Alma observes. Jack broaches the subject of creating a life together on a small ranch, but Ennis, haunted by a childhood memory of the torture and murder of two men suspected of homosexual behavior, refuses. He is also unwilling to abandon his family. Ennis and Jack continue to meet for infrequent fishing trips.
The marriages of both men deteriorate. Lureen abandons the rodeo, going into business with her father and expecting Jack to work in sales. Alma and Ennis eventually divorce in 1975.
Hearing about Ennis' divorce, Jack drives to Wyoming. He suggests again that they should live together, but Ennis refuses to move away from his children. Jack finds solace with male prostitutes in Mexico. Ennis sees his family regularly until Alma finally confronts him about her knowing the true nature of his relationship with Jack. This results in a violent argument, causing Ennis to abandon his connections with Alma. Ennis meets and has a brief romantic relationship with Cassie Cartwright (Linda Cardellini), a waitress.
Jack and Lureen meet and befriend another couple, Randall (David Harbour) and Lashawn Malone (Anna Faris). Jack begins an affair with Randall, although he later tells Ennis he had a relationship with Lashawn.
At the end of a regular fishing trip with Jack, Ennis tries to delay their next meeting. Jack's frustration erupts into argument, and Ennis blames Jack for being the cause of his own conflicted actions. Ennis begins to cry. Jack tries to hold him and there is a brief struggle, but they end up locked in an embrace. Jack watches Ennis drive away.
Some time later, Ennis receives a postcard he had sent to Jack, stamped "Deceased". He calls Lureen, who says that Jack died in an accident, when a tire he was changing exploded. As she speaks, Ennis imagines that Jack was actually beaten to death by a gang of thugs, the very same fate that Ennis feared. Lureen tells Ennis that Jack wanted to have his ashes scattered on Brokeback Mountain, but she does not know where it is.
Ennis travels to meet with Jack's mother and father (Roberta Maxwell and Peter McRobbie), and offers to take Jack's ashes to the mountain. The father refuses, preferring to have them interred in a family plot. Permitted by Jack's mother to see his childhood bedroom, Ennis finds the bloodstained shirt he thought he had lost on Brokeback Mountain. He realizes Jack kept it hanging with his own stained shirt from that summer fight. Ennis holds both shirts up to his face, silently weeping. Jack's mother lets him keep the shirts.
Later, 19-year-old Alma Jr. (Kate Mara) arrives at Ennis' trailer to tell her father she is engaged. She asks for his blessing and invites him to the wedding. Ennis asks her if her fiancÃ© really loves her and she replies "yes". After Alma leaves, Ennis goes to his closet, where his and Jack's shirts hang together, with a postcard of Brokeback Mountain tacked above. He stares at the ensemble for a moment, tears in his eyes, and murmurs, "Jack, I swear..."

Question: Who drives to Wyoming to see Ennis?
Answer: Jack