Tartalom
Bevezető
Friss Linux telepítés után a monitorunk felbontása nem szerepel az asztal beállításban lévő képernyőfelbontások között. Így nem tudjuk natív felbontásban használni a monitorunkat. A vonalak életlenek, a betűk homályosak, vajon mit csináltunk rosszul?
Ha ismerős ez a szituáció, akkor ebből a leírásból megtudhatjuk, hogyan hozhatunk létre egyedi felbontásokat a megfelelő képernyő frissítési frekvenciákkal társítva. Legyen bármilyen monitorunk is, felbontását ezután pontosan be tudjuk állítani.
Képernyőfelbontás beállítása
Az ilyen esetek többségében mindent jól csináltunk, csak a rendszer nem tudja kiolvasni a monitorunk pontos felbontását és frissítési frekvenciáját. Bizonyos hardvereknél elő szokott ez fordulni, illetve ha egy VirtualBox-ban futó gépről van szó, akkor ez a helyzet gyakrabban előfordul. Virtualbox esetén ilyenkor célszerű feltelepíteni a vendég integrációs szolgáltatásokat, hogy pontosabban felismerje gépünk hardverét. Ha ez után sem került még elő a megfelelő felbontás, akkor jöhetnek az alábbiak.
Nyissunk egy terminál ablakot, majd a sima felhasználónkkal kérdezzük le a rendelkezésre álló monitor bemeneteket és a hozzájuk kapcsolódó felbontásokat az xrandr paranccsal, hogy lássuk mi a helyzet a felbontásaink körül:
xrandr -q
Nálam friss telepítés után ezt a kimenetet adta:
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192 VGA-1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1024x768 60.00* 800x600 60.32 56.25 848x480 60.00 640x480 59.94 HDMI-1 disconnected (normal left inverted right x axis y axis) DP-1 disconnected (normal left inverted right x axis y axis) HDMI-2 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis)
Nekem egy Intel I7-be integrált Intel HD4000-es videokártyám van, és egy 19" -os monitorom, aminek a natív felbontása 1440x900, 75 Hz, de nincs a listán, tehát a telepítés után nem ismerte fel a monitorom felbontását.
A beállításhoz először ki kell kalkuláltatnunk a "modeline"-t, azaz a paraméterekből álló sort, amivel a hardver megfelelően fog tudni működni. Ha újabb, LCD/TFT/stb monitorunk van akkor ezt a cvt paranccsal tudjuk lekérdezni:
cvt 1440 900 75
Ahol értelemszerűen szóközökkel elválasztva megadjuk a vízszintes és függőleges felbontását a monitorunknak, utána pedig a frissítési frekvenciáját. Ekkor visszaadja a modeline-t, ami nálam így néz ki:
# 1440x900 74.98 Hz (CVT 1.30MA) hsync: 70.64 kHz; pclk: 136.75 MHz Modeline "1440x900_75.00" 136.75 1440 1536 1688 1936 900 903 909 942 -hsync +vsync
Ha régi crt monitort használunk, akkor pedig a régi szabványokat tartalmazó gtf parancsot futtassuk:
gtf 1440 900 75
A paramétereket itt is ugyanebben a sorrendben adjuk meg. A kimenet itt picit eltér:
# 1440x900 @ 75.00 Hz (GTF) hsync: 70.50 kHz; pclk: 136.49 MHz Modeline "1440x900_75.00" 136.49 1440 1536 1688 1936 900 901 904 940 -HSync +Vsync
Természetesen én az elsőt használom, mivel LCD monitorom van, csak szemléltetésnek mutattam be a gtf parancs használatát, ha valakinek régebbi monitora van.
Ezután az xrandr paranccsal hozzunk létre egy új felbontást a kapott modeline alapján:
xrandr --newmode "1440x900_75.00" 136.75 1440 1536 1688 1936 900 903 909 942 -hsync +vsync
Elhagyva a "Modeline" szót, az utána lévő részt egy az egyben másoljuk az xrandr parancs --newmode paramétere után. Helyes működés esetén nem ad kimenetet.
Ha ekkor lekérdezzük újra a felbontásokat:
xrandr -q
akkor már elő is került az újonnan felvitt felbontás, csak még nincs a "helyén":
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192 VGA-1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1024x768 60.00* 800x600 60.32 56.25 848x480 60.00 640x480 59.94 HDMI-1 disconnected (normal left inverted right x axis y axis) DP-1 disconnected (normal left inverted right x axis y axis) HDMI-2 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis) 1440x900_75.00 (0xd6) 136.750MHz -HSync +VSync h: width 1440 start 1536 end 1688 total 1936 skew 0 clock 70.64KHz v: height 900 start 903 end 909 total 942 clock 74.98Hz
Itt tehát láthatjuk a monitorunk bemeneteit (VGA, HDMI, stb). Majd amelyikkel használjuk a számítógépünket, ahhoz kell hozzáadni a felbontásunkat. Én a sima VGA csatlakozóval használom, így a listámban szereplő bemenetek közül a "VGA-1" -et használom:
xrandr --addmode VGA-1 1440x900_75.00
Ekkor ha újra megnézzük a felbontásainkat, akkor már a megfelelő helyen van az újonnan felvitt képernyőfelbontás:
xrandr -q
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192 VGA-1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1024x768 60.00* 800x600 60.32 56.25 848x480 60.00 640x480 59.94 1440x900_75.00 74.98 HDMI-1 disconnected (normal left inverted right x axis y axis) DP-1 disconnected (normal left inverted right x axis y axis) HDMI-2 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis)
Ezután már csak át kell váltani az új felbontásra. Mostmár az asztal grafikus beállító ablakában is megjelenik a felbontás, tehát ott is átállíthatjuk, vagy adjuk ki a következő parancsot:
xrandr -s 1440x900
Ekkor a monitor átvált a kért felbontásra.
Tartós beállítás
A felbontásunk tehát megvan, és működik is szépen. Viszont ha újraindítjuk a gépet, akkor ezt újra el kellene játszanunk. Ezért egy egyszerű megoldással tartóssá tesszük a beállításunkat.
Hozzunk létre magunknak egy shell szkript fájlt, például:
nano ~/.config/sajat_felbontas.sh
Majd tegyük bele a fentiek alapján a szükséges beállító parancsokat:
#!/bin/bash xrandr --newmode "1440x900_75.00" 136.75 1440 1536 1688 1936 900 903 909 942 -hsync +vsync xrandr --addmode VGA-1 1440x900_75.00 xrandr -s 1440x900
(Itt a lekérdező (cvt/gtf) parancsot nem kell beletenni, mert a modeline-t már kiolvastuk, és annak nem változik a tartalma.)
Tegyük futtathatóvá a chmod paranccsal:
chmod +x ~/.config/sajat_felbontas.sh
Ezután tegyük bele grafikus asztalkörnyezetünk automatikus indításába.
Konklúzió
Ezzel a módszerrel bármilyen monitorhoz beállíthatjuk a megfelelő felbontást, ha az ablakkezelőnk nem ismerné fel magától. Természetesen ehhez szükséges a videokártya driverünk megfelelő működése is. Hibás vagy rosszul bekonfigurált video vezérlővel a felbontások sem működnek megfelelően.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 2630 megtekintés