[edit] merkkasin tämän jo kerran ratkenneeksi, mutta ei ollutkaan [/edit]
Kiitos linkeistä, niillä pääsin hyvin oikeaan suuntaan. Ongelma ei ollutkaan yhtään niin uniikki kuin olin pelännyt.
Sain jotain tuloksia jo pelkällä xrandrilla.
xrandr --output VGA1 --fb 1024x600 --mode 1280x1024 --panning 1024x600 --rotate right --transform 1.00,0,0,0,1.00,-680,0,0,1
Selitys: Näytöstä noin puolet oikealta on rikki. Koska haluan, että näkyvä kuva on vaaka- eikä pystyasennossa, sekä näyttö että kuva on keikautettu. Kuva olisi ollut suoraviivaisempi saada ruudun yläosaan, mutta halusin sen mieluummin alas (ja rikkinäisen osan ylös).
--output VGA1 = jostakin syystä output on oltava, vaikka ainut näyttö
--rotate right = kääntää kuvaa oikealle
--fb 1024x600 = tämä on nyt käytössä oleva resoluutio (käännön jälkeen)
--panning 1024x600 = tähän tulee sama arvo kuin fb
--mode 1280x1024 = (tämä ei ole ihan selvä) se resoluutio jota näyttö käyttäisi natiivisti
--transform 1.00,0,0,0,1.00,-680,0,0,1 = tällä tehdään siirto alemmas. Tästä lisää.
Manuaalin mukaan panningissä olisi muoto, jolla kuvaa voisi myös siirtää:1024x600+680+0 (tai 1024x600-680-0), mutta en saa sitä tekemään mitään.
Myöskin manuaalista löytyy --pos niin kuin position, mutta se taitaa toimia vain monen näytön kanssa.
Transformille annetaan 3x3 matriisi, jolla voi tehdä vaikka ja mitä (keystone, skew, rotate, suoraan sanottuna 2-ulotteisen homogeenisen koordinaatiston
affiinikuvaus, jonka käsittelyssä auttaa tutkinto matematiikassa), mutta manuaalista puuttuu yksinkertainen esimerkki:
--transform 1.05,0,10,0,0.95,-680,0,0,1
joka vastaa matriisia
|1.05 0 10 |
|0 0.95 -680 |
|0 0 1 |
Tämä skaalaa x-akselin suunnassa 105%, y-akselin suunnassa 95%. Ja lisäksi siirtää kuvaa vaakasuunnassa 10 pikseliä vasemmalle (varmaankin) ja alaspäin 680 pikseliä.
-----
Ongelmia:
*Tällainen virheilmoitus tulee kun tuon xrandr loitsun heittää:
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 29 (RRSetPanning)
Serial number of failed request: 30
Current serial number in output stream: 30
btw: jos koko ja offsetit ei täsmää niin virhe näyttää:
xrandr: specified screen 1024x800 not large enough for output VGA1 (1024x1280+0+0)
*Alt+tab ikkunanvaihtaja (gnome) ei tule keskelle näkyvää aluetta, vaan liian alas
*Alapalkki (gnomen palkki, joka sattuu olemaan alareunassa) ei näy, vaan siitä näkyy taustakuva läpi. (se ilmeisesti piirtyisi jonnekin aivan liian alas, jonnekin mihin hiirellä ei edes pääse)
*Näytöllä osio, joka on jätetty pois käytöstä ei välttämättä ole musta, vaan siinä näkyy haamukuvia siitä mitä siinä sattui olemaan.
*VLC -fullscreen menee liian alas (eli 'fullscreen-alue' ei ole sama kuin 'maximized-window -alue')
*Ruutu.fi (flash) fullscreen menee liian alas.
*supertux2 (sdl) kaatuu heti startista
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 153 (XFree86-VidModeExtension)
Minor opcode of failed request: 10 (XF86VidModeSwitchToMode)
Value in failed request: 0x7d
Serial number of failed request: 166
Current serial number in output stream: 168
*supertuxkart (irrlicht) ei välitä yhtään säädöistäni, vaan käyttää koko näyttöä pystyasennossa.