X képernyő méret

Fórumok

Sziasztok!

A kérdés az lenne, hogyan lehet elmagyarázni az Xorg-nak, hogy a 800x600-as felbontásnál a látható képméret csak 800x480 (a CRT monitoron 800x600 látszik, az LCD-n pedig ebből csak a felső 800x480-as darab, és az LCD van üzemszerűen használva).
Addig eljutottam, hogy legeneráltam az xorg.conf -ot. Gondolom ebbe kéne valami okosságot beleírni. Csakhogy ami dokumentációt találtam a konfig fájlról, az régi, és a fele sem igaz. Az aktuális Xorg dokumentáció pedig azt írja, hogy a legenerált fájlban minden kiadható opció benne van, csak törölni kell a komment jelet. A fájlban egyetlen sor kikommentezet opció van:
...
Section "Monitor"
#DisplaySize 430 270 # mm
Identifier "Monitor0"
VendorName "SAM"
ModelName "SyncMaster"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
...
Azért próbaképpen töröltem a kommentet, és beírtam a 800 és 480-as értéket, de az xfce ugyanúgy lelóg az LCD-ről.
Tényleg csak ennyi lehetőség van a konfig fájlban? Ha ennél több, hol van erről valami dokumentáció, ami igaz is?

Hozzászólások

Nem vagy egy nagy xorg guru nekem is valaki adta a tippet, de nezd az en beallitasomat sok kornyezetre. Mindig kikommentezem a felesleges sort. Es man az xorg.conf es az arandr a te jobaratod!


Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
        SubSection "Display"
                #Virtual        2304 960
#               Modes "1600x1200"
                Modes "1280x1024"
        EndSubSection
EndSection

Section "Device"
 Identifier     "Configured Video Device"
EndSection

Section "ServerFlags"
        Option  "DontZap" "false"
EndSection

Szerintem ennek semmi köze az X-hez. A monitordon próbáld meg beállítani, hogy ne vágja le az alját/tetejét.

Ha egy LCD 480 soros, akkor az 480-sor akkor is ha a fejem tetejére állok. Be lehet állítani ugyan, hogy ne az alját vágja le, hanem sorokat hagyjon ki egyenletesen, összenyomva a képet, de akkor meg iszonyat ronda lesz a kép, főleg a feliratok, márpedig ezen főleg feliratok vannak.
Az alaplap (AMD Geode LX800) meg nem támogatja a 800x480-as felbontást. Egyetlen felbontás ad megfelelő képet a 800x600, de ebben az esetben nem látszik az alsó 120 sor.

Köszi, megnéztem. Elvileg az Ubuntu repo-ban is ez van.
Sikerült egy kicsit ügyesebben keresni, és találtam néhány xorg.conf mintát. Ezzel sikerült elérni, hogy a log szerint a 800x480-as felbontással próbálkozva dobjon egy hátast (sig 11) az X szerver :(.
Az, hogy lelóg a kép egy része csak egy kényelmi probléma, egy fix program fut rajta, így a probléma áthidalható, de az érintő panelt nem lehet beállítani, mert az okos kalibráló program a felbontás differenciái miatt nem hiszi el a bevitt pozíciót.
Lehet, bennem van a hiba (hiába, öregszem) de nekem tele van az okos programokkal a hócipőm (meg más is, de próbálok kulturált maradni), bérmennyire is ez a trendi, én azt szeretem, ha egy program azt csinálja amit "mondok", azt pedig, hogy hülyeség-e azt én majd eldöntöm, vagy majd rájövök.
Eddig ezen a gépen egy szarrá hekkel Fedora 8 volt, amit a régi lib-ek miatt kellene egy újabb linuxra cserélni. Az volt a - bizonyára teljesen hibás - elképzelésem, hogy ezt hekkelés nélkül lenne jó megoldani. Jelentősen leegyszerűsítené a frissítéseket, ha nem kéne utána az egyéb helyről összelapátolt modulokat pl. újrafordítgatni.

Az alaplap egy wafer-lx2, egy 7"-os 800x480-as LCD modullal, meg egy eGalax touchscreen.
A geode driver kiakadása megoldódott a legújabb verzió fordításával (ezt ugye nem akartam, de ez van).
A HW igen zseniális. Ha beállítom BIOS-ból a 800x480-as felbontást, akkor nincs kép (csak csíkok) az LCD-n. Ezt a BIOS észre is veszi, és beállítja a CRT módot. Ha beállítom a 800x600-as felbontást, akkor mindenképpen ez lesz a felbontás, ha az X beállítja a 800x480-at, akkor minden negyedik sort duplázza (ettől jó ronda lesz) és lelóg a kép alja.
Ha az X-en is és a BIOS-ban is a 800x600-at használom, akkor nem ronda, és persze lelóg az alja. Ez ugyan nem tragédia, csak nagyon bosszantó lenne, ha létezne az érintőképernyő beállítására ilyen körülmények között is eszköz.
Egy jó régi "calibrate" nevű programnál az alsó két pozíció kilóg a képről, így nem lehet rábökni. Az xinput-calibrate programnál ugyan kikapcsolható, hogy felülbírálja a kalibrációs pontokat, ha túl nagy az eltérés, de egy picsányi ablakot rak fel (ami mérete alapján alkalmatlan a kalibrációra, gratulálok a programozónak) és mivel az alsó pontoknál az aktuális (kalibrálatlan) pozíció az ablakon kívül van, így nem érzékeli, ha böködöm az alsó két pozíciót. Egy changelog-ban ugyan azt olvastam, hogy megadható a képernyő méret, és bár a legújabbat töltöttem le ez az opció még sincs benne.
Az xorg.conf-ban ugyan sok mindent be lehet állítani, de az ugye nincs túldokumentálva. A virtuális kép méret csak nagyobb lehet a valósnál, egyébként nem foglakozik ezzel az opcióval. A modeline opciókkal hiába próbálkozom a HW megoldja, hogy úgyse legyen jó, ill. még nem találtam el a helyes értékeket.
Kifogytam az ötletekből.

Fél megoldás született.
Az LCD sajnos nem ad képet, ha a BIOS-ban 800x480-as felbontást állítok be. Minden variációt nem próbáltam, mivel minden rossz beállítás után CMOS resetet, és linux fájlrendszer helyreállítást kell csinálni, így elég macerás.
800x600-as BIOS beállításnál van kép, de "lelóg" az alsó 120sor.
Bár megtaláltam azt a fork-ot, ahol a touch screen kalibrálónak megadható a felbontás, de így hibás értékeket ad a program.
Ha lefordítom a gyári eGalax drivert, azzal be tudom kalibrálni a screent, de ekkor meg a touch screen működése fura. Ha a toll megérinti a képernyőt, akkor a kurzor elugrik a 0,0 pozícióba, és a toll elvételekor ugrik a helyére. Gyakorlatilag használhatatlan.
A fél megoldás végül is az lett, hogy az alsó 120 sor hiánya tudomásul van véve, a touch screent meg kézzel bekalibráltam.

Bocs, nem olvastam végig, mert rohanok, de ha inteles videokártyád van (mert pl EeePC, ahogy föntebb emlegették), akkor az xrandr programra van szükséged. Amit azzal nem lehet beállítani, azt nem lehet beállítani. Ráadásul nem is olyan bonyolult használni.
Csaba