Танцувайки с NVIDIA на xubuntu, Бележки на Адлерски

Като цяло реших да инсталирам драйвера nvidia-304 от хранилището на Ubuntu. След стандартнотоapt-get install nvidia-304се изгради добре и се инсталира с dkms. Пакетът за настройки на nvidia също беше инсталиран. След рестартиране бях разочарован да установя, че разделителната способност на екрана, от която се нуждаех, не беше в списъка с настройки на nvidia! И xrandr (с който се настройва веднъж или два пъти), както вече писах, просто не работи на тези драйвери (modeline е създаден, но не е добавен!) и трябваше да ровя в конфигурациите на Xorg. Вероятно 10-12 пъти презаписах xorg.conf с различни настройки, намерих навсякъде и коригирах за моя случай, рестартирах Xorg, рестартирах компютъра - всичко без резултат. В процеса на тези заблуди аз (също като идеята на Зоркий Сокол от вица, който забеляза на третия ден, че в хамбара няма четвърта стена) разбрах, че файлът xorg.conf просто е игнориран от този драйвер, а и от самия Xorg също, доста вероятно. Но конфигурациите, намиращи се в /usr/share/X11/xorg.conf.d, се четат ясно от системата. Но въпреки това желаната резолюция не излиза в списъка с настройки на nvidia, дори и да кракнеш.

Като цяло изведнъж ми хрумна, че името на устройството може да е проблемът: в xorg.conf, генериран от nvidia-settings, се появи някакъв Device0 (ако не греша), докато изходът на xrandr показа:

DVI-I-0 изключен първичен (нормален ляв обърнат десен х ос y ос) DVI-I-1 свързан … DVI-I-2 изключен първичен (нормален ляв обърнат десен х ос y ос)

Раздел "Монитор" Идентификатор "Monitor0" ModeLine"1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsyncОпция "UseEdidDpi" "F alse" Опция "DPI" "96 x 96" Краен раздел Секция "Екран" Идентификатор "Screen0" Устройство "DVI-I-1" Опция "ModeValidation" "AllowNon60hzmodesDFPModes, NoEDIDDFPMaxSizeCheck, NoVertRefreshCheck, NoHorizSyncCheck, NoDFPNativeResolutionCheck, NoMaxSizeCheck, NoMaxPClkCheck, AllowNon EdidModes, NoEdidMa xPClkCheck" Монитор "Monitor0" DefaultDepth 24 Подраздел "Display" Depth 24 Modes "1680x1050_60.00" EndSubSection EndSection

И xorg.conf, xorg.conf.backup и т.н. подобно от /etc/X11 - премахнато. И готово! Xs startanuli с желаната резолюция. Не съм сигурен, че с т.з. Теоретичната конфигурация изглежда безупречна, но работи! 🙂

P.S.Това, което подчертах с удебелен шрифт: нищо повече от изхода на командата за резолюцията, от която се нуждая, не беше добавено към реда ModeLine:

Ръководството казва това

cvt - изчислява линиите на режим VESA CVT

В този случай 1680 е хоризонталната разделителна способност, 1050 е вертикалната разделителна способност и 60 е честотата в херца. Това е, което обикновено използвам, когато мога да коригирам разделителната способност с xrandr на безплатни драйвери. Като цяло, как да манипулирате разделителната способност на екрана с помощта наxrandrе добре написано тук: https://wiki.ubuntu.com/X/Config/Resolution

Второ, в секцията „Монитор“ (въпреки че ръководството на wiki.archlinux.org инструктира Nvidia да постави тези опции в секцията „Устройство“), добавих опциите „UseEdidDpi“ „False“ и „DPI“ „96 x 96“ - сега

дава разделителна способност: 96×96 точки на инч вместо досегашните 75×75 точки на инч