Projektor trapéztorzításának javítása xrandr-rel
Három éve nagy örömmel használok egy BenQ W1070 projektort. Eddig szerencsésen mindig olyan lakásban laktam, ahol elég volt a vetítő beépített függőleges trapézkorrekciója. Tavaly októbertől viszont olyan lakásban vagyok, ahol kényelmesebb úgy a bútorok elrendezése, ha a projektor és a vászon nincs szemben egymással. A vízszintes korrekciót nem tudja ez a modell, viszont Linuxon az xrandr-rel lehetséges szoftveresen javítani a képet.
A vászon és a projektor elhelyezkedéséről jöjjön két kép.
Ebben az elhelyezkedésben a torzítás így néz ki, a kép elnyúlik jobb oldalra az ajtó irányába is:
A torzítás javításához az xrandr --transform
kapcsolóját fogjuk használni. Az xrandr kézikönyve elég szűkszavú a transformról, elrendezi annyival, hogy egy 3×3-as mátrix a bemenet. Jöjjön egy kis magyarázat.
A transform paramétert bármelyik output paraméter után kiadhatjuk, azzal az adott kimenetet fogjuk torzítani:
xrandr --output HDMI1 --transform a,b,c,d,e,f,g,h,i
A vesszővel elválasztott tagok pedig a következő módon változtatják a képet:
- a: x tengely irányú méretezés
- b: bal-jobb irányú nyírás
- c: x tengely irányú mozgatás (pixelben, pl.: -100 jobbra mozgatja a képet 100px-lel)
- d: forgatás (1.5-ös verziótól)
- e: y tengely irányú méretezés
- f: y tengely irányú mozgatás (pixelben, pl.: -100 lefele mozgatja a képet 100px-lel)
- g: forgatás
- h: fel-le irányú nyírás
- i: zoom
A fentieket összeállítva így néz ki a végleges parancs, az LVDS1 a laptop kijelzője, a DP2 a dockolóra kötött monitor és a HDMI1 pedig a projektor:
xrandr \ --output LVDS1 --off \ --output DP2 --off \ --output HDMI1 --mode 1920x1080i \ --transform 1,-0.22,0,0,1,0,-0.00022,0.00004,1 \ --left-of LVDS1
Mivel a bal felső sarokpont és a képernyő felső széle fix, ezért a projektort fizikailag meg kell dönteni, hogy a trapéz felső széle egyenes legyen. Ezt akár néhány könyvvel is el tudjuk érni:
A végeredmény pedig így néz ki: