Как правильно установить видеодрайвер nVidia?

Автор CoolAller, 22 мая 2014, 23:57:49

« назад - далее »

0 Пользователи и 7 гостей просматривают эту тему.

qupl

Цитата: CoolAller от 26 мая 2014, 00:10:23Тема про установку драйвера. Я создал ее для того, чтобы получить ответы на некоторые вопросы, а не для того чтобы кого-то раздражать - не нравится не читайте.
[ot]Пока не наблюдается решения хоть какого-то вопроса.[/ot]

Udachnik

Цитата: CoolAller от 24 мая 2014, 22:38:01
nvidia-xconfig больше не работает
Работает. Я же пишу сюда как-то.

CoolAller

#32
В общем беда...

Похоже внесение в blacklist модулей nouveau больше не работает, как и добавление в него параметра:  options nouveau modeset=0  , который раньше позволял выгрузить модуль nouveau командой: modprobe -r nouveau  после остановки Х-сервера.

После внесения модуля nouveau в blacklist.conf он все равно не выгружается, даже после перезагрузки:
# lsmod | grep nouveau
Спойлер
nouveau               783567  2
mxm_wmi                12467  1 nouveau
wmi                    17147  2 mxm_wmi,nouveau
video                  17543  1 nouveau
i2c_algo_bit           12647  1 nouveau
ttm                    59659  1 nouveau
drm_kms_helper         35191  1 nouveau
drm                   193948  4 ttm,drm_kms_helper,nouveau
i2c_core               23380  5 drm,i2c_i801,drm_kms_helper,i2c_algo_bit,nouveau
button                 12824  1 nouveau

Попытка выгрузить модуль не помогает:
# modprobe -r nouveau

Module nouveau is in use.

Так как обычно драйвер nvidia при установке сам фиксит выгрузку модуля nouveau, останавливаю менеджер дисплея и пытаюсь установить драйвер:
aptitude install nvidia-glx nvidia-kernel-`uname -r` nvidia-kernel-dkms nvidia-settings nvidia-xconfig

Ожидаемо появляется сообщение о том, что модуль nouveau сейчас загружен и вызывает конфликт с драйвером nvidia, установщик предлагает для разрешения ситуации по завершении установки сделать перезагрузку, соглашаюсь, нажимаю OK.



Далее происходит настройка nvidia-kernel-dkms (успешно - Done), а вот nvidia-current пишет: Running module version sanity check. Error! Module version 319.72 for nvidia-current.ko.  Is not newer than what is already found in kernel 3.11-2-686-pae (319.72) You may override by specifying --force.



После запускаю nvidia-xconfig, который рапортует о удачном создании /etc/X11/xorg.conf

Далее делаю reboot, после перезагрузки перестала работать настройка мониторов стандартными средствами DE Mate. Запускаю #nvidia-settings, настраиваю мониторы, сохраняю xorg.conf (содержимое привожу ниже под спойлером), перезагружаю комп и все настройки снова сбрасываются, т.е. они не применяются из /etc/X11/xorg.conf У файла xorg.conf стоят разрешения -rw-r--r-- (то есть разрешено чтение для всех и запись для суперпользователя)

Вот содержимое xorg.conf:

Спойлер
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 319.72  (buildd@binet)  Sat Nov  9 15:39:30 UTC 2013

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 319.72  (buildd@binet)  Sat Nov  9 15:43:03 UTC 2013

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

Section "Files"
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      "Samsung SyncMaster"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 60.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 285"
EndSection

Section "Screen"

# Removed Option "metamodes" "DFP-0: nvidia-auto-select +1920+0, DFP-1: nvidia-auto-select +0+0"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-1"
    Option         "metamodes" "DFP-0: 1920x1080_60 +1920+0, DFP-1: 1920x1080_60 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Проверяю модуль nouveau после установки драйвера nvidia: # lsmod | grep nouveau  (отсутствует, т.е. конфликтов нет)
Ради интереса после установки проверил в /etc/modprobe.d/ файл blacklist.conf - он пуст. Но зато там есть линки nvidia-blacklists-nouveau.conf -> /etc/alternatives/glx--nvidia-blacklists-nouveau.conf и nvidia.conf -> /etc/alternatives/nvidia--nvidia-modprobe.conf. Так же эти файлы есть и в /etc/nvidia/
Содержимое nvidia-blacklists-nouveau.conf -> /etc/alternatives/glx--nvidia-blacklists-nouveau.conf:
Спойлер
# You need to run "update-initramfs -u" after editing this file.
# see #580894
blacklist nouveau
Содержимое nvidia.conf -> /etc/alternatives/nvidia--nvidia-modprobe.conf:
Спойлер
alias nvidia nvidia-current
remove nvidia-current rmmod nvidia

Помимо этого при старте системы (инициализация демонов) сбросилось разрешение, которое теперь не соответствует разрешению монитора. Вроде писали, что можно как-то исправить, но в приведенных выше ссылках этого нет. Впрочем данный вопрос сейчас не так актуален, так как нормально установить драйвер не удалось. Но частично решение может быть такое:
Спойлер
Открываем файл конфигурации grub:
# nano /etc/default/grub
Добавляем/исправляем строки на следующие, изменив разрешение на своё:
GRUB_GFXMODE=1920x1080x24
GRUB_GFXPAYLOAD_LINUX=keep

*Возможно потребуется использовать 16-битную глубину цвета (GRUB_GFXMODE=1920x1080x16)
Обновляем настройки grub:
# update-grub

Если используется Plymouth (свободный графический экран загрузки для Linux), то добавляем:
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
Обновляем initramfs:
update-initramfs -u
Примечание: Мне не очень понравилось то, что окно grub масштабируется на весь экран и шрифт в меню выбора OS стал мелким, но строки инициализации ядра и демонов стали выглядеть нормально, как и заставка Plymouth. Немного помогает выставление разрешения ниже максимального для используемого экрана (желательно соблюдать пропорции 16:9 или 16:10 и т.д. для того чтобы не искажать заставку Plymouth) Если знаете как это исправить отпишите пожалуйста ниже.

PS. Поскольку неизвестно как правильно выгружать модуль nouveau, остается только как обычно, по наитию, пользоваться костылями.
Вот костыль для выгрузки nouveau посредством редактирования загрузчика grub (может кому-то пригодится, если кто-то имеет желание экспериментировать с установкой драйвера локально):
Спойлер
В /etc/default/grub правим/добавляем:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
GRUB_TERMINAL=console
GRUB_GFXPAYLOAD_LINUX=text

Делаем обновление настроек grub и перезагружаем OS:
sudo update-grub
sudo reboot

После перезагрузки:
ctrl+alt+F1 ---логинимся (лучше под root)

Останавливаем менеджер дисплея:
sudo service *dm stop или sudo /etc/init.d/*dm stop

Выгружаем модуль nouveau:
sudo modprobe -r nouveau

Пробуем устанавливать драйвер nvidia...

По завершению установки:
sudo update-initramfs -u
sudo reboot
Особо неистовые служители культа могут попробовать отредактировать образ initramfs или пересобрать ядро, выпилив оттуда nouveau ) И все это ради установки драйвера) В общем наслаждайтесь user friendly)

qupl

Цитата: CoolAller от 29 мая 2014, 04:22:49You may override by specifying --force.
Вариант №1.

Или сначала удалить все связанное с nvidia, а потом устанавливать драйвер заново.

CoolAller

#34
qupl, Так ничего из компонентов или драйверов nvidia перед установкой не было в системе. В прошлый раз было точно так же, на только что установленной системе, а с OS предустанавливаются только свободные драйвера. (выше добавил два спойлера с содержимым nvidia-blacklists-nouveau.conf и nvidia.conf)

Кто-нибудь использует это же ядро linux-image-3.11-2-686-pae?

CoolAller

#35
В общем попробовал удалить и снова поставить драйвер:

# aptitude purge nvidia-glx nvidia-kernel-3.11-2-686-pae nvidia-kernel-dkms nvidia-settings nvidia-xconfig
В ходе удаления тоже возникла ошибка:

Вручную удалил оставшиеся в системе пакеты nvidia:
aptitude purge xserver-xorg-video-nvidia nvidia-installer-cleanup nvidia-support glx-alternative-nvidia libgl1-nvidia-glx libnvidia-ml1 nvidia-alternative nvidia-kernel-common nvidia-vdpau-driver

Удалил конфиги (оставшиеся после команды purge...):
/etc/X11/xorg.conf , линки и сами файлы nvidia-blacklists-nouveau.conf -> /etc/alternatives/glx--nvidia-blacklists-nouveau.conf и nvidia.conf -> /etc/alternatives/nvidia--nvidia-modprobe.conf

После нужно обязательно сделать: # update-initramfs -u (чтобы не получить после перезагрузки мертвую систему, так как модуль nouveau был бы попрежнему отключен даже для терминала)

После этого переустановил все заново и все повторилось в точности, как и в прошлый раз. Больше вариантов я не вижу и что делать с этим глючиловом не понятно. Может у кого-то есть какие-то мысли по этому поводу?

ihammers

При быстром просмотре темы не увидел модель видеокарты. Можете привести описание железа.

У меня есть предположение, но оно относиться только к некоторым ноутбукам с двумя видеокартами.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

CoolAller

ihammers, это не ноутбук, это десктоп, видеокарта nVidia 285GTX (референсный дизайн) в Windows устанавливаются стандартные драйвера с сайта nVidia.

CoolAller

Люди I need Help )) Может кто-нибудь попробует установить дрова nVidia на другой видеокарте с этим же ядром linux-image-3.11-2-686-pae?