Rupert Everett has attacked Hollywood for not giving him romantic roles because he is gay.

The 47-year-old, who publishes his autobiography next month, has also revealed he had a sexual relationship with the late Paula Yates while she was married to Bob Geldof.

Everett said: “Without doubt gays are discriminated against in show business. The straight one gets to walk down a red carpet with a beautiful girl and everything works out and the gay one has to back-pedal and do independent movies. Yet everything Hugh Grant does, I could be in.”

His long career has included roles in several major Hollywood productions, but always in minor gay roles.

He made his screen debut in 1986 in the homoerotic British film Another Country.

Everett came out as gay in 1989, which many people think damaged his career prospects in the US.

The star has also revealed he had occasional sexual relationships with Paula Yates over a six-year period.

Despite identifying as gay, Everett has had numerous liaisons with women, including Susan Sarandon and Beatrice Dalle.

“That side of our relationship was tenuous to say the least, and our lives (eventually) went in different directions,” he said of Yates, who died of an overdose in 2000.

“I am mystified by my heterosexual affairs – but then I am mystified by most of my relationships.”

Despite his attraction to women, Everett said he is happier being out than being big box-office like his fellow Brit Hugh Grant:

“To be a movie star you have got to have a good-looking girlfriend and for Hugh, Elizabeth Hurley helped. It is a trophy job. You need a lot of energy to have a trophy girlfriend. I take my hat off to anyone who has one.”

Everett will reprise his role as Prince Charming in the upcoming Shrek The Third, due for release in 2007.