Jak ustawić monitor na natywną rozdzielczość, która nie jest wymieniona na liście rozdzielczości?

45

Po zainstalowaniu Ubuntu 10.04 z moim Samsung SyncMaster B2030, natywna rozdzielczość (1600X900) nie znajduje się na liście rozdzielczości.

Riyaz Mohammed Ibrahim
źródło
2
Oprócz korzystania z rozwiązania krótkoterminowego, rozważ zgłoszenie błędu, aby rozdzielczość mogła być poprawnie domyślnie skonfigurowana w przyszłych wersjach Ubuntu:$ ubuntu-bug xserver-xorg
ændrük 11.01.11
dzięki za wskaźnik ændrük, złożył raport o błędzie, bugs.launchpad.net/ubuntu/+source/xorg/+bug/701772
Riyaz Mohammed Ibrahim

Odpowiedzi:

45

Natywna rozdzielczość dla Samsung SyncMaster B2030 wynosi 1600 * 600 60 Hz

  1. Wygeneruj modelinę, używając cvt:

    cvt 1600 900 60
    

    który będzie:

    # 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz
    Modeline "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
    
  2. Uzyskaj nazwę wyjścia, do którego podłączony jest monitor:

    xrandr
    

    Wynikiem tego są między innymi:

    Screen 0: minimum 320 x 200, current 1600 x 900, maximum 8192 x 8192
    VGA1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
    

    W tym przykładzie nazwa wyniku to VGA1.

  3. Utwórz nową modelinę (z wartościami z danych wyjściowych cvt):

    xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
    

    Uwaga:

    • powyższe powinno znajdować się w jednej linii
    • zanotuj x w 1600 x 900_60,00
  4. Dodaj wyżej utworzoną modelinę:

    xrandr --addmode VGA1 1600x900_60.00
    
  5. Jeśli wszystko poszło dobrze, xrandr wyświetli listę nowo dodanej rozdzielczości.

  6. Przetestuj nowo dodaną rozdzielczość:

    xrandr --output VGA1 --mode 1600x900_60.00
    

Rozdzielczość ustawiona za pomocą powyższych poleceń nie będzie utrzymywać się między sesjami. Do wersji Ubuntu 11.04 możesz dodać następujące wiersze na początku, /etc/gdm/Init/Defaultaby ustawić rozdzielczość automatycznie przy każdym logowaniu:

xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
xrandr --addmode VGA1 1600x900_60.00
xrandr --output VGA1 --mode 1600x900_60.00

To pytanie opisuje inne sposoby na xrandrtrwałe dostosowanie.

Riyaz Mohammed Ibrahim
źródło
Czy możesz wyjaśnić inne opcje w kroku 3? 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsyncco oznaczają te wartości, żebym mógł to przełożyć na swój użytek
Jiew Meng
Ale co, jeśli xrandr nie rozpoznaje żadnej nazwy wyjściowej, a konkretnie DVI-0, jak opisano w tym pytaniu: askubuntu.com/questions/186288/...
ysap
1
Zrobiłem to dla mojego Viewsonic G790 (natywna rozdzielczość 1600x1280_76.00) i otrzymałem błąd: xrandr --newmode "1600x1280_76.00" 223,00 1600 1728 1896 2192 1280 1283 1290 1339 -hsync + vsync xrandr: Nie udało się uzyskać rozmiaru gamma dla wyjście domyślne X Błąd nieudanego żądania: BadName (nazwany kolor lub czcionka nie istnieje) Główny kod operacji nieudanego żądania: 140 (RANDR) Mały kod operacji nieudanego żądania: 16 (RRCreateMode) Numer seryjny nieudanego żądania: 19 Bieżący numer seryjny na wyjściu stream: 19
Scooter
Dziękujemy za pokazanie, jak korzystać cvt! Widzę te linie trybów od lat i nigdy nie wiedziałem, jak je obliczyć.
ntc2
Z nowoczesnych monitorów LCD, należałoby zredukowane wygaszanie z cvt -r.
Bharat Khatri
6

Najpierw wpisz xrandr w swoim terminalu i sprawdź, które urządzenie jest podłączone. Może to VGA1, tak jak w tym przypadku. Jeśli nie, zastąp VGA1 podłączonym urządzeniem w poniższych poleceniach. Następnie utwórz nowy dokument i nadaj mu nazwę, np .: - „twoja nazwa.sh” Wpisz:

xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
xrandr --addmode VGA1 1600x900_60.00
xrandr --output VGA1 --mode 1600x900_60.00
unity --replace

i zapisz go w folderze domowym (dotyczy to rozdzielczości 1600x900). Zrób to przez:

chmod a+x ~/yourname.sh

otwórz aplikacje startowe i kliknij „DODAJ”. Podaj nazwę i wpisz w wierszu polecenia

bash /home/yourname/yourname.sh

kliknij zapisz. Zmiana pojawia się po wylogowaniu i zalogowaniu

Nikhil
źródło
Podoba mi się ta metoda, ponieważ jest dość ogólna.
Sam Watkins,
0

Jeśli nie chcesz męczyć się z uruchamianiem wszystkich poleceń zgodnie z instrukcjami w innych odpowiedziach, możesz użyć narzędzia, które zrobi to za Ciebie:

  • wykonuje cvtpolecenie
  • wykonuje newmode, addmodei outputpolecenia
  • tworzy plik startowy, który wykonuje powyższe po zalogowaniu.

Możesz pobrać program tutaj .

Powiedz mi dlaczego
źródło