Probléma leírása
Xubuntu 14.04, de már más rendszer esetén is tapasztaltam, szerintem a probléma rendszerfüggetlen. Sőt, Windows esetén is előfordult már!
Ha a monitoromat közvetlenül a VGA kártyámra kötöm a normál VGA csatlakozóval, akkor rendesen felismeri és autómatikusan beállítja a normál felbontást 1280x1024-re.
Ha a monitor és a gép közé beiktatok egy KVM switchet, akkor nem ismeri fel a rendszer a monitort és az optimális felbontást, hanem 1024x768-ra áll.
A probléma oka
Idézet egy támogatói fórumból:
Szerintem csak annyi a gond, hogy a KVM switch egyszerűen nem viszi át a monitor által támogatott üzemmódok lekérdezéséhez használt DDC/EDID infókat, ezért a videokártya drivere beáll a default 60 Hz-re. Túl sokat nem lehet tenni ilyen esetben, nézz utána, hogyan lehet kikényszeríteni az általad használt videokártyánál, hogy egy bizonyos, kézzel megadott üzemmódban működjön. Linuxon, Windowson egyaránt megoldható xorg.conf paraméterek állítgatásával, illetve a registrykulcsok szerkesztésével. Ha megadod konkrétan, hogy milyen oprendszert használsz, illetve milyen videokártya dolgozik a gépedben, akkor megpróbálhatok tippet adni ehhez.
Megoldás
Megadjuk a rendszernek a működési paramétereket kézzel.
1. Működési paraméterek "beszerzése"
1.1. KVM switch nélkül indítjuk el a gépet
Ilyenkor normális felbontásban elindul a gép és a monitor.
Kérjük le a szükséges paramétereket:
~$ xvidtune -show
"1280x1024" 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
1.2. Működési paraméterek kiszámítása
A monitorom felbontása 1280x1024, frissítési frekvencia 60Hz, ennyi információ elég is.
~$ cvt -r 1280 1024 60
# 1280x1024 59.79 Hz (CVT 1.31M4-R) hsync: 63.02 kHz; pclk: 90.75 MHz
Modeline "1280x1024R" 90.75 1280 1328 1360 1440 1024 1027 1034 1054 +hsync -vsync
vagy
~$ cvt 1280 1024 60
# 1280x1024 59.89 Hz (CVT 1.31M4) hsync: 63.67 kHz; pclk: 109.00 MHz
Modeline "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
vagy
~$ gtf 1280 1024 60
# 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz
Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
Én az xvidtune kimenetét fogom használni, mert az mutatja az aktuális, éppen működő értékeket, ha ilyenem nem lenne, akkor használnám az egyiket a számított érték közül. Jegyezzük fel az értékeket, mondjuk másoljuk bele egy szövegfájlba, és mentsük el.
Indítsuk újra a gépet mostmár a KVM switch csatlakoztatásával. Ha eleve csatlakoztatva van és a számolós módszert alkalmaztuk, akkor nem kell újraindítani.
2. Videókártya csatlakozójának a neve
Erre az információra szükségünk lesz, mert ehhez fogjuk megadni a működési paramétereket. Adjuk ki az xrandr parancsot.
~$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
HDMI-0 disconnected (normal left inverted right x axis y axis)
DVI-0 disconnected (normal left inverted right x axis y axis)
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 334mm x 270mm
1024x768 60.0*
800x600 60.3 56.2
848x480 60.0
640x480 59.9
Azt látjuk, hogy a videókártyámon 3 csatlakozó van: HDMI, DVI és VGA. Ez így igaz. Én a VGA-t fogom használni, ennek a neve nálam VGA-0.
3. Új felbontás hozzáadása
Az előzőekben beszerzett információk szerint összerakjuk a következő parancsokat:
xrandr --newmode "1280x1024" 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
xrandr --addmode VGA-0 "1280x1024"
Ha most újra kiadjuk az xrandr parancsot, látni fogjuk, hogy egy új felbontás is létrejött, de még nem az az aktív.
~$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
HDMI-0 disconnected (normal left inverted right x axis y axis)
DVI-0 disconnected (normal left inverted right x axis y axis)
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.0 *
800x600 60.3 56.2
848x480 60.0
640x480 59.9
1280x1024 60.0
4. Új felbontás kipróbálása
xrandr --output VGA-0 --mode 1280x1024
Ezzel a parancsal már működik is az új felbontásunk, de csak addig, amíg ki nem jelentkezünk vagy újra nem indítjuk a gépet.
5. Új felbontás "félig végleges" beállítása
Igazából én nem állítanám be ezt véglegesre, mivel nem használom folyamatosan a KVM switchet. Inkább azt csinálom, hogy létrehozok egy scriptet a /usr/local/sbin mappában, mondjuk monitor1280x1024_60.sh néven. A tartalma az előzőeknek megfelelően a következő lesz:
#!/bin/bash
xrandr --newmode "1280x1024" 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
xrandr --addmode VGA-0 "1280x1024"
xrandr --output VGA-0 --mode 1280x1024
Ezután a fájlt futtathatóvá változtatjuk:
sudo chmod a+x /usr/local/sbin/monitor1280x1024_60.sh
Ezek után, ha KVM switchcsel indítom a gépet, nincs más dolgom mint nyitni egy terminált és begépelni, hogy monitor és nyomni egy "TAB" gombot, ami kiegészíti a parancs többi részét is, majd "ENTER".