trapezoidal distortion in X

Magnus Kessler Magnus.Kessler at
Tue Apr 2 01:30:32 PDT 2013

On Monday 01 Apr 2013 15:31:35 Lasaro Camargos wrote:
> Dear XOrg developers,

Dear Lásaro,

> I am looking for a way to correct trapezoidal distortion due to a
> projection from a projector that is not right in front of the window
> it will project on. For example, the projector may be at the ceiling,
> just a few feet away from the wall it is supposed to project into, or
> even moving in some remotely controlled way. I would like to, given my
> previous knowledge of how projector and projection screen/wall are
> relatively to each other, distort the buffer in X so that the
> projection is corrected. The idea is to make it work for X, not only
> for my own programs, and that is why I am looking into X.

What you describe here is referred to as "keystone correction" in the xorg 
documentation. In particular, you might want to have a look at the man page 
for xrandr. Look for the "--transform" option

While the documentation doesn't give the exact recipe for keystone correction, 
all the underlying maths have been implemented for quite some time already.

Hope this helps a bit,


> Please advise:
> - have you seem similar ideas implemented anywhere else? I would love
> not having to do it myself, since this is a mean not an end of my
> projects.
> - if you have not, how would you implement it?
> - if this is an abominable idea, please explain why. I am easily convinced.
> I swear to have done my homework and not found anything related to
> what I need to do.
> Best regards.
> Lásaro
> _______________________________________________
> xorg-devel at X.Org development
> Archives:
> Info:

More information about the xorg-devel mailing list