Problem z wyświetlaniem rozdzielczości 16:9 na Debianie

Cześć, gdy już myślałem że mogę korzystać z Linuxa, przyszło mi się zmierzyć z jeszcze jednym problemem - sterownikami.

Posiadam kartę GeForce GTX 460 SE, zainstalowałem sobie sterowniki zgodnie z tym

Czyli dodałem do /etc/apt/sources.list
deb http://httpredir.debian.org/debian/ stretch main contrib non-free

A później wykonałem
apt update
apt install linux-headers-$(uname -r|sed 's/[^-]*-[^-]*-//') nvidia-driver

Wyskoczyło mi ładnie żebym zresetował komputer, zresetowałem i niby wszystko działa. Jest nvidia-settings, karta graficzna widoczna.
Najpierw spróbowałem ustawić rozdzielczość normalnie przez Ustawienia, widzę coś takiego
Zrzut%20ekranu%20z%202018-02-11%2013-52-47
No i to cały problem, gdy ustawię 1360x768 ekran nie mieści się i ucina lewą stronę, co ciekawsze wychodzi na to że na screenach zawsze wychodzi normalnie zdjęcie jakbym miał 1360x768, ale wyświetla mi uciętą lewą stronę (jakby nie mieściła się)
Próbowałem naprawdę wiele, m.in:



https://ubuntuforums.org/showthread.php?t=1799523

W sumie nie wiem czemu tak się dzieje :frowning:

xrandr -q wyświetla:

Screen 0: minimum 8 x 8, current 1360 x 768, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 connected primary 1360x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00 +
1360x768 59.96* 59.80
1152x864 60.00
800x600 72.19 60.32 56.25
680x384 59.96 59.80
640x480 59.94
512x384 60.00
400x300 72.19
320x240 60.05
DVI-I-2 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DVI-I-3 disconnected (normal left inverted right x axis y axis)

Zauważyłem że problem chyba polega na tym że proporcja ekranu (po zmianie rozdzielczości) nadal jest 4:3, czy mogę jakoś wymusić aby uważał że proporcje wynoszą 16:9?

A co się dzieje jak ustawisz przez nvidia-settings, w zakładce.

nvidia-settings -p "X Server Display Configuration"

Czy to jest Debian 9. Co masz wpisane w konfiguracji xorg-a. Tu.

cat /etc/X11/xorg.conf

czy tu

cat /etc/X11/xorg.conf.d/20-nvidia.conf

Debian 9
nvidia-settings -p "X Server Display Configuration" wyświetla ten panel gdzie ustawiałem przez nvidia-settings rozdzielczość (gdziekolwiek jej nie ustawię jest ten sam problem)

xorg.conf domyślnie nie miałem w ogóle, zainstalowałem nvidia-xconfig a następnie przy jego pomocy stworzył się plik w /etc/X11/xorg.conf
Kombinowałem trochę z dopisaniem tam Modeline, aktualnie ustawiłem tam błędnie HorizSync oraz VertRefresh, mam przez to do wyboru różne rozdzielczości ale tak czy siak, ekran wychodzi poza monitor na wszystkich 16:9, wszystkie 4:3 jakie włączę wyglądają normalnie.
W ustawieniach ekranu w ustawieniach normalnych proporcję mam ciągle 4:3 chociaż rozdzielczość jest 16:9

Plik xorg.conf
https://pastebin.com/Sk5VR3Cx

Jakkolwiek bym tego nie ustawił (xrandr w terminalu, ustawienia czy nvidia-settings) i tak nie działa i jest dziwnie rozciągnięty dla 1360x768 (moja rozdzielczość)

Środowisko to GNOME

Zapisz sobie gdzieś ten xorg.conf ( tak by go tam nie było ), powiedzmy przenieś jako zapas do domowego .
mv /etc/X11/xorg.conf $HOME/xorg.conf_zapas

i zrób tak z roota, czy z sudo.

mkdir /etc/X11/xorg.conf.d/

i ( nie musi być nano może być gedit)

nano /etc/X11/xorg.conf.d/20-nvidia.conf

Tylko z taka zawartością.

Section "Device"
        Identifier "My GPU"
        Driver "nvidia"
EndSection

Jak dalej będą problemy to zmień na taki wpis:

Section "Monitor"
    Identifier     "Monitor"
    Option         "metamodes" "1360x768_60"
EndSection

Section "Device"
    Identifier     "Configured Video Device"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen"
    Monitor        "Monitor"
EndSection

Tylko sprawdzaj po kolei, po każdej zmianie restart X-ów, wystarczy się przelogować. Jak coś pójdzie źle usuwaj zmieniony i przywracaj swój stary, pomału nie pomyl się.

@anon1494722
Hm, zrobiłem jak napisałeś ale nie widzę żadnej zmiany. Nie muszę gdzieś zapisać aby załadował ten plik z folderu
xorg.conf.d?
Ustawiłem jeszcze dla pewności chmod 777 dla folderu i pliku, ale nie widze żadnej różnicy

ls -la && ls xorg.conf.d/ -la

razem 96
drwxr-xr-x 11 root root 4096 lut 11 18:04 .
drwxr-xr-x 121 root root 12288 lut 11 18:11 …
drwxr-xr-x 2 root root 4096 lut 11 03:03 app-defaults
-rw-r–r-- 1 root root 15 lut 11 03:06 default-display-manager
drwxr-xr-x 6 root root 4096 lut 11 02:59 fonts
-rw-r–r-- 1 root root 17394 lis 23 2016 rgb.txt
drwxr-xr-x 2 root root 4096 lut 11 03:03 xinit
drwxr-xr-x 2 root root 4096 lip 18 2017 xkb
drwxrwxrwx 2 root root 4096 lut 11 18:10 xorg.conf.d
-rwxr-xr-x 1 root root 709 lis 23 2016 Xreset
drwxr-xr-x 2 root root 4096 lut 11 02:48 Xreset.d
drwxr-xr-x 2 root root 4096 lut 11 02:48 Xresources
-rwxr-xr-x 1 root root 3517 lis 23 2016 Xsession
drwxr-xr-x 2 root root 4096 lut 11 03:03 Xsession.d
-rw-r–r-- 1 root root 265 lis 23 2016 Xsession.options
drwxr-xr-x 2 root root 4096 lut 11 03:03 xsm
-rw-r–r-- 1 root root 13 gru 5 2016 XvMCConfig
-rw-r–r-- 1 root root 630 lut 11 03:03 Xwrapper.config
razem 12
drwxrwxrwx 2 root root 4096 lut 11 18:10 .
drwxr-xr-x 11 root root 4096 lut 11 18:04 …
-rwxrwxrwx 1 root root 331 lut 11 18:10 20-nvidia.conf

cat xorg.conf.d/20-nvidia.conf

Section "Monitor"
Identifier "Monitor"
Option “metamodes” "1360x768_60"
EndSection

Section "Device"
Identifier "Configured Video Device"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection

Section "Screen"
Identifier "Screen"
Monitor "Monitor"
EndSection

Pliki i folder maja należeć do root-a i nic nie trzeba tam zmieniać, to nie jest miejsce gdzie wszyscy mogą robić co chcą, ma być z roota dla folderu
chmod 755 /etc/X11/xorg.conf.d/
a dla pliku
chmod 644 /etc/X11/xorg.conf.d/20-nvidia.conf
Nie wiem dlaczego ale masz złe cudzysłowy przy “metamodes” , powinny być "metamodes", muszą być takie jakie tworzy prosty edytor. Pokaż

cat /var/log/Xorg.0.log

https://pastebin.com/PKWGYwq7

Poprawiłem chmody oraz zauważyłem w tych logach że w /usr/share/X11 jest folder oraz pliki:

root@debian:/usr/share/X11/xorg.conf.d# ls -la
razem 48
drwxr-xr-x 2 root root 4096 lut 11 19:06 .
drwxr-xr-x 5 root root 4096 lut 11 02:59 …
-rw-r–r-- 1 root root 92 lis 17 2016 10-amdgpu.conf
-rw-r–r-- 1 root root 1350 paź 14 13:36 10-quirks.conf
-rw-r–r-- 1 root root 964 sty 12 2017 40-libinput.conf
-rw-r–r-- 1 root root 2747 sty 23 2017 70-wacom.conf
-rw-r–r-- 1 root root 21432 lut 11 19:05 log
lrwxrwxrwx 1 root root 50 lut 11 11:05 nvidia-drm-outputclass.conf -> /etc/alternatives/glx–nvidia-drm-outputclass.conf

Powinienem spróbować wprowadzić plik 20-nvidia* tutaj?

co do tych dziwnych znaczków cudzysłowa, w pliku ich nie mam, musiałem coś zepsuć kopiując na forum

Jest w dobrym miejscu, zresztą tak jest też opisane na stronie Debian nvidia.

https://wiki.debian.org/NvidiaGraphicsDrivers#Manual

A sprawdź mi czy tak jest też źle.

xrandr --output DVI-I-1 --mode 1360x768 --rate 59.96

i tak

xrandr --output DVI-I-1 --mode 1360x768 --rate 59.80

Sprawdzałem już taką opcję oraz
xrandr -s 1360x768 :frowning:

Ale z różnym rate.

Powiem ci że takie dziwactwa to pamiętam sprzed ery LCD, z CRT i D-SUB VGA/Video, ale nic poszukamy.

Nie rozpoznaje twojego Monitora i daje złą rozdzielczość i DPI, jaki ty masz monitor, może przejściówkę masz z DVI na VGA.

Przejrzałem teraz Xorg.0.log i jedyne co w logach jest dziwne, poza nierozpoznanym monitorem to, to.

NVIDIA(0):Setting mode "DVI-I-1: nvidia-auto-select @1024x768 +0+0 {ViewPortIn=1024x768, ViewPortOut=1024x768+0+0}"

i to

CRT-1 does not have an EDID, or its EDID does not contain a
[    26.747] (WW) NVIDIA(0):     maximum image size; cannot compute DPI from CRT-1's EDID.
[    26.747] (==) NVIDIA(0): DPI set to (75, 75); computed from built-in default

Czy na otwartym sterowniku nouveau, był taki sam błąd z rozdzielczością. To jest istotne bo może będzie trzeba szukać “CustomEDID” na livecd. Na teraz spróbuj wygenerować modeline.

gtf 1360 768 60

Linie zaczynającą się od Modeline do końca +Vsync wklej do /etc/X11/xorg.conf.d/20-nvidia.conf za linie “#… Modeline” , i zmień resztę by wyglądało tak.

Section "Monitor"
    Identifier     "Monitor"
    #... Modeline 
    # VertRefresh   28.0 - 80.0
    # HorizSync     43.0 - 72.0
EndSection

Section "Device"
    Identifier     "Configured Video Device"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen"
    Monitor        "Monitor"
    Option "DPI" "96 x 96"
    SubSection "Display"
	Depth  24
        Modes "1360x768_60.00"
    EndSubSection
EndSection

Jak dalej nic możesz dodać (skasować #) VertRefresh i HorizSync i wpisać właściwe dla swojego monitora.

No właśnie przed chwilą sobie przypomniałem bardzo prawdopodobnie istotną kwestię, przepraszam że dopiero teraz, ale tak. Posiadam przejściówkę, w karcie mam tylko wyjście DVI, natomiast w monitorze jest wejście VGA toteż korzystam z przejściówki wpiętej w DVI
Niestety na livecd miałem cały czas rozdzielczość 1024x768 (4:3) i przystąpiłem od razu do instalacji, nie sprawdzałem czy mogę ustawić swoją rozdzielczość ale podejrzewam że byłoby tak samo

Monitor to LG FLATRON W1943SS, w sumie to nie jest to monitor CRT tak jak myśli Linux tylko LCD.

Przepraszam że nie uwzględniłem kwestii z przejściówką na początku :frowning:

Pewnie się nie dało ustawić prawidłowej, zgłupiał nam bo dostaje niepełne informacje, pomyślę co zrobić z tymi informacjami co szuka w EDID o monitorze. Dziwne bo ten monitor jest na tyle nowy że ma informacje do odczytu ustawień dla karty graficznej.

O nie jest to takie bardzo istotne, nawet z przejściówką monitor i rozdzielczość są rozpoznawane prawidłowo (powinny być). Czy w takim podłączeniu działał prawidłowo wcześniej, przełóż w karcie z DVI-I-1 do DVI-I-0, a nawet przekręć kabel to co było w monitorze do karty i odwrotnie.

Tu w Owner’s Manual pdf są podane prawidłowe częstotliwości do twojego monitora zmień w konfiguracji, to też może pomóc.

HorizSync 30.0 - 61.0
VertRefresh 56.0 - 75.0

Co do pozostałych ustawień w 20-nvidia.conf, to Modeline powinno dać mu prawidłowe parametry, a oprócz tego co pisałem wyżej można w sekcji Section "Device" dodać Option "UseEDID" "false" lub Option "UseEdidFreqs" "false" i sprawdzić z tym wygenerowanym Modeline, może nie będzie próbował szukał informacji w “Extended Display Identification Data” których nie może dostać i wczyta ustawienia z konfiga.

@anon1494722 Przetestowałem wszystkie dane przez Ciebie możliwości, nie działało. Zmieniłem port i… działa, ale tylko teoretycznie. Ekran nadal jest delikatnie ucięty i nie łapie do końca ostrości, wydaje mi się że system korzysta z proporcji 4:3 przy rozdzielczości 16:9 i wykrywa mój monitor jako CRT (a jest LCD)

Jeśli chodzi czy wcześniej było dobrze, nie wiem jak na Linuxie bo to moje pierwsze podejście do LInuxa na tym komputerze, ale na Windowsie 10 jest dobrze (mam dual-boot)

Tutaj xrandr -q

Screen 0: minimum 8 x 8, current 1360 x 768, maximum 16384 x 16384
DVI-I-0 connected primary 1360x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 75.03 + 70.07 60.00
1440x900 59.89
1360x768 60.00* 59.96 59.80
1280x960 60.00
1152x864 60.00
832x624 74.55
800x600 75.00 72.19 60.32 56.25
720x450 59.89
680x384 59.96 59.80
640x480 75.00 72.81 59.94
512x384 70.07 60.00
400x300 72.19
320x240 72.81 60.05
DVI-I-1 disconnected (normal left inverted right x axis y axis)
DVI-I-2 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DVI-I-3 disconnected (normal left inverted right x axis y axis)

Za chwilę sprawdzę twoją pierwszą konfigurację którą mi dałeś na samym początku, może przez wprowadzone zmiany teraz mam problem i edytuje ten post, a póki co zostawiam jeszcze zdjecie ilustrujące problem teraz (zwróć proszę delikatnie problem na ucięty lewy bok):

EDIT: Z normalnym plikiem problem powraca, pobawię się jeszcze trochę i dam znać

EDIT2: Pobawiłem się jeszcze, zakomentowałem linijki które nie robią różnicy w 20-nvidia.conf, teraz wygląda to tak:
https://pastebin.com/xRuxdb1w

EDIT3: Log z teraz
https://pastebin.com/h7vB8JCr

1 polubienie

A odkomentuj (usuń hashe, ja tam dodałem # by sprawdzić z i bez ) przed HorizSync i VertRefresh, i spróbuj jak te wartości będą używane. Może już tak sprawdzałeś, ale musiałem o to zapytać.

Czy to znaczy że na podłączonym “nowym” DVI próbowałeś z tą najprostszą konfiguracją tylko ze sterownikiem nvidii. A wpisy z UseEDID nic nie dały bo są za-komentowane, czy DPI sprawdzałeś.

Można wygenerować Modeline przez cvt i z nim spróbować ( zastąpić tamten Modeline ), zmiany będą nieduże, na takie nikłe przesuniecie może coś to da.

cvt 1360 768 60

Pokaż.

xrandr --verbose

Jak jest Windows i na nim dobrze działa to z niego może pobierzemy EDID, ale to później, na razie sprawdź to co napisałem i może jakie jest odświeżanie na Windowsie, bo może nie 60 równe, a takie jak pokazuje xrandr 59.96 ( tu możesz coś zmienić jak brakuje tak niewiele, pamiętać o zmianie również w Section “Screen” -> Modes ) i Modeline musi być inna.

Tak miałem prosić o log z teraz. Sprawdzałem ten log, dlatego przerwałem pisanie tego posta, dalej nie rozpoznaje monitora, ale jeszcze wpadło mi coś takiego. Dodaj w Section “Screen” nad SubSection , takie dwa wpisy.

Option         "ModeValidation" "AllowNonEdidModes"
Option         "MetaModes" "DVI-I-0: 1360x768 +0+0"

Aby uporządkować to wszystko, najważniejsze na teraz to właściwe parametry HorizSync i VertRefresh (bez hasha), oraz poprawny Modeline.

Edycja: ======================

Możesz też użyć tego co wygenerowałeś na początku i z nowymi opcjami zastąpić to co jest w /etc/X11/xorg.conf.d/20-nvidia.conf ( co prawda tam są zbędne sekcje, ale też można ), dla ułatwienia zrobiłem taki, z tym że trzeba po kolei sprawdzać i zmienić Modeline, i przy następnej próbie od-hashować linie.

Option         "ModeValidation" "AllowNonEdidModes"
Option         "MetaModes" "DVI-I-0: 1360x768 +0+0"

Wyglądać to może tak.

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Modeline "1360x768_60.00"  84.72  1360 1424 1568 1776  768 769 772 795  -HSync +Vsync
    HorizSync       30.0 - 61.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
    Option         "DPI" "96 x 96"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    # Option         "ModeValidation" "AllowNonEdidModes"
    # Option         "MetaModes" "DVI-I-0: 1360x768 +0+0"
    SubSection     "Display"
        Depth       24
	Modes "1360x768_60.00"
    EndSubSection
EndSection

@anon1494722
Wybacz że dopiero teraz odpowiadam ale pobawiłem się z wieloma konfiguracjami i zauważyłem że:
Używając cvt nie ważne czy
cvt 1360 768 60
cvt 1360 768 59.96
cvt 1360 768 59.80
Zawsze kończy się że problem z przesuniętym mocno ekranem wraca

Spróbowałem
gtf 1360 768 59.96
I nie widać różnicy (nadal delikatnie ucięty)

gtf 1360 768 59.80
Skutkuje mocno przesuniętym ekranem

Przywróciłem swój plik z samego początku i działa, tak naprawdę ustawić musiałem tylko linijkę z Modeline, resztę również przeniosłem (oznaczyłem w pliku że ta linijka jest zbędna) i cały plik jest tutaj:
https://pastebin.com/wZ4RRTgD

xrandr --verbose
https://pastebin.com/veCs8XGJ

Windows 10 mówi mi że mam równe 60

EDIT:
Spróbowałem pobrać to EDID na Windowsie 10, próbowałem dwóch aplikacji oraz sprawdzić w rejestrze, ale wszędzie kończy się to niepowodzeniem :open_mouth:, w rejestrze natomiast zamiast EDID jest wpisane BAD_EDID :frowning:

No myślałem że jakimś cudem dostaniemy się do danych z EDID, ale tak jak wcześniej monitor ich nie podaje.

Wygenerowanie prawidłowych danych Modeline w sytuacji gdzie nie ma informacji od monitora dla karty, jak wędzisz jest kluczowe, sam xorg może być prostszy. Czyli mam rozumieć że już działa prawidłowo i kończymy, jak tak to usuń zbędne linie z konfiguracji i niepotrzebne sekcje. Jak się nie pomyliłem to coś takiego powinno wystarczyć do prawidłowego działania (tu też jest za dużo, ale dla bezpieczeństwa nie ma mnie przy tym komputerze).

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Modeline   "1360x768_60.00"  84.72  1360 1424 1568 1776  768 769 772 795  -HSync +Vsync
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
EndSection

Po prostu, zrób najmniejszy działający reszte dopisuje się w miarę potrzeb i zapisz sobie na zapas/przyszłość, na pewno przyda się przy tm monitorze. Bardzo rzadko teraz przy LCD zdarzają się takie problemy.

A to gorzej, bo to znaczy że jak źle zrozumiałem twoje “że działa”, jako “dobrze działa”, to musimy szukać tego gdzieś do twojego monitora.

Jak używasz Gnome to doinstaluj.

apt-get install gnome-tweak-tool

Można uruchomić w konsoli ( z aktywatora nazywa się Dostrajanie ).

gnome-tweak-tool

Ustawisz lepsze renderowanie czcionek ( hinting - Slight, wygładzanie - Rgba) i parę innych rzeczy np. skalowanie. Gnome powinno się dostosowywać do siebie, bo jak się zainstaluje z metapackages to ciągnie pełno programów, z których nie korzystamy.

Ustawiłem tak jak wspomniałeś, oczywiście “działa”, miałem na myśli nadal ucięty delikatnie pasek :frowning:

A tak na marginesie. Kolega próbował inne przejściówki? Bo przejściówka nie równa przejściówce. Może któryś pin jest wycięty i sterownik nie otrzymuje prawidłowych informacji o parametrach monitora. Do tego sprawdź czy sam monitor ma opcję sterująca EDID, bo są takie które pozwalają wyłączyć EDID.