LinuxForum.Fans
Тема

openSUSE12.2, GRUB1,GRUB2 и "сложный способ" установки драйвера NVIDIA

Автор: rash 9 сообщений 4531 просмотров
#268687

Добрый день сообществу!
Установил openSUSE 12.2 rc2. Остался доволен работой, за исключением одного: не смог установить "сложным способом" проприетарный драйвер NVIDIA. Я, как и прежде, заблаговременно удалил драйвер nouveau, т.к. на него ругается инсталятор нвидии, но при повторной попытке инсталятор нвидии, как ни в чем не бывало, так же ругался на присутствии в системе драйвера nouveau и не захотел устанавливаться :-(
Подскажите - как решить проблему?
Спасибо.

#268689
"rash" написал:
Я, как и прежде, заблаговременно удалил драйвер nouveau

В инструкции по установке это где прописано?

#268694

verg, добрый день!
Проприетарный драйвер NVIDIA, у меня по крайней мере, не устанавливается в систему, если там имеется nouveau. В своем "ругательстве" инсталятор прямо об этом сообщает.

#268697
"rash" написал:
Проприетарный драйвер NVIDIA, у меня по крайней мере, не устанавливается в систему, если там имеется nouveau. В своем "ругательстве" инсталятор прямо об этом сообщает.

Да, но в инструкции нет ничего про удаление драйвера nouveau. Короче делать этого не нужно.


А если быть точнее: Достаточно в загрузку GRUB прописать опцию nomodeset

А нуво добавить в чёрный список:

text
# echo "blacklist nouveau" >> /etc/modprobe.d/50-blacklist.conf
#268706

Конечно, в мануэле явно ничего на сей счет не указано. В отличие от инсталятора, который явно говорит о том, кто ему мешает.
Но вот фрагмент:

text
Отключение Kernel Mode Setting (KMS)
Kernel Mode Setting (KMS) используется в поддерживаемых версиях дистрибутива (11.4 и 12.1). Пользователи этих версий могут пропустить эту секцию. 

исходя из этого, пропускаю и не прописываю nomodeset. И в черный список нуво добавляется. В общем, мануэль выполняется полностью.
И несколько непоследовательно: в случае с GRUB2 куда писать nomodeset?

#268709
"rash" написал:
И несколько непоследовательно: в случае с GRUB2 куда писать nomodeset?

В файле:

text
/etc/default/grub

найти строку:

text
GRUB_CMDLINE_LINUX_DEFAULT=""

Прописываем nomodeset:

text
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

(остальные параметры через пробел в эти же кавычки"
пример:

text
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

Далее:

text
# grub2-mkconfig -o /boot/grub2/grub.cfg

Дополнительно сделать это:

text
Так же удалите поддержку KMS из initrd. Отредактируйте файл /etc/sysconfig/kernel указав следующее значение "NO-KMS-IN-INITRD = yes". Затем выполните:
# mkinitrd

и это:

text
# echo "blacklist nouveau" >> /etc/modprobe.d/50-blacklist.conf
rash написал:
Kernel Mode Setting (KMS) используется в поддерживаемых версиях дистрибутива

Вот только проприетарный драйвер NVIDIA не работает в этом режиме и его надо отключать.

#268710

verg, спасибо за диалог и за советы!
Всенепременно выполню все согласно последнего поста.
После отпишусь.
С уважением.

#268853

Все сделал согласно поста 6, драйвер установился, работает.
Все таки сценарий "сложного способа" требует редакции.
Думаю, никто не будет спорить с тем, что порядок изложения информации в документе предполагает соответствующую хронологию действий. В "сложном способе" в самом начале указана установка драйвера в то время, как без выполнения всех подготовительных действий (в нашем случае - пост 6) таковая невозможна. Т.е. установка драйвера NVIDIAxxxxxx.run должна быть в конце "сложного способа".
verg, спасибо за помощь!
Думаю, тему можно считать закрытой.

#269636

Добавил в список полезных советов для openSUSE12.1 (потом и в новый список для версии 12.2)
Совет №21: Полезные советы для openSUSE 12.1

21) openSUSE12.1, GRUB-legacy, GRUB2 и "сложный способ" установки драйвера NVIDIA

Показать
Обновление инструкции из вики: http://ru.opensuse.org/SDB:NVIDIA_-_сложный_способ
Подготовка к установке:
Показать
1) Загружаем драйвер (файл *.run с ftp или сайта nvidia) Например последний: [url]ftp://download.nvidia.com/XFree86/Linux-x86/304.37/NVIDIA-Linux-x86-304.37.run[/url]
2) Копируем его в в домашнюю папку в каталог /home/user/nvidia: (где user - это ваш пользователь)
Такой вид:
text
/home/user/nvidia/NVIDIA-Linux-x86-304.37.run

3) Добавляем своего пользователя в группу video: (в openSUSE пользователь уже в этой группе)
Пример:
[console]# gpasswd -a verg video
Adding user verg to group video[/console]
4) Удаляем репозиторий nvidia и драйвера nvidia из реп, присутствующие в системе
поиск пакетов:
[console]$ rpm -qa | grep nvidia[/console]
удаление:
[console]# zypper rm пакет1 пакет2[/console]
5) Устанавливаем gcc и make:
[console]# zypper in gcc make[/console]
6) Устанавливаем kernel-devel и kernel-source для своего ядра
Например:
Смотрим какое у нас ядро:
[console]$ uname -a
Linux localhost 3.5.1-38-desktop #1 SMP PREEMPT Fri Aug 10 15:25:03 UTC 2012 (370c9f4) i686 i686 i386 GNU/Linux[/console]
(ядро десктопное поэтому: kernel-desktop-devel)
Cтавим следующие:
[console]# zypper in kernel-desktop-devel kernel-source kernel-devel[/console]
7)GRUB1: Прописываем nomodeset в загрузку grub1:
[console]# mcedit /boot/grub/menu.lst[/console]
Пример:

Показать
text
# Modified by YaST2. Last modification on Fri Aug 17 12:00:07 MSK 2012
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# For the new kernel it try to figure out old parameters. In case we are not able to recognize it (e.g. change of flavor or strange install order ) it it use as fallback installation parameters from /etc/sysconfig/bootloader

default 0 timeout 8 ##YaST - generic_mbr gfxmenu (hd0,1)/boot/message ##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux### title Desktop -- openSUSE 12.1 - 3.5.2-39 root (hd0,1) kernel /boot/vmlinuz-3.5.2-39-desktop root=/dev/disk/by-id/ata-SAMSUNG_SP2514N_S08BJ1HL915606-part2 resume=/dev/disk/by-id/ata-SAMSUNG_SP2514N_S08BJ1HL915606-part9 splash=silent quiet nomodeset showopts vga=0x31b initrd /boot/initrd-3.5.2-39-desktop

###Don't change this comment - YaST2 identifier: Original name: failsafe### title Failsafe -- openSUSE 12.1 - 3.5.2-39 root (hd0,1) kernel /boot/vmlinuz-3.5.2-39-desktop root=/dev/disk/by-id/ata-SAMSUNG_SP2514N_S08BJ1HL915606-part2 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x314 initrd /boot/initrd-3.5.2-39-desktop

7)GRUB2: Прописываем nomodeset в загрузку grub2:

Показать
В файле:
text
/etc/default/grub

найти строку:

text
GRUB_CMDLINE_LINUX_DEFAULT=""

Прописываем nomodeset:

text
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

(остальные параметры через пробел в эти же кавычки"
пример:

text
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

Далее:
[console]# grub2-mkconfig -o /boot/grub2/grub.cfg[/console]

8 )Дополнительно сделать это: Так же удалите поддержку KMS из initrd. Отредактируйте файл /etc/sysconfig/kernel указав следующее значение "NO-KMS-IN-INITRD = yes". Затем выполните:
[console]# mkinitrd[/console]
9) Добавление nouveau в черный список: (ОБЯЗАТЕЛЬНО!) - можно и с помощью этого нового драйвера, но сделаем по старинке
[console]# echo "blacklist nouveau" >> /etc/modprobe.d/50-blacklist.conf[/console]

Установка драйвера:

Показать
1) Открываем терминал(любой - можно и программу Konsole) и набираем:
[console]# init 3[/console]
2) Выбросит в голый терминал с предложением ввести логин и пароль рута (вводим)
3) Если ядро скомпилировано с версией gcc отличной от той, что в системе, введите следующее:
[console]# export IGNORE_CC_MISMATCH=1[/console]
4) Далее ставим драйвер: (где user - это ваш пользователь)
[console]# sh /home/user/nvidia/[/console]
Далее жмём клавишу "TAB" и строка принимает вид:
text
# sh /home/user/nvidia/NVIDIA-Linux-x86-304.37.run

Ввод - ставим драйвер - жмём практически везде "Yes", когда будет предложено сгенерировать новый xorg.conf, то соглашаемся.
5) Перезагрузка (Ctrl+Alt+Delete)
6) Проверка работоспособности видеокарты:
[console]$ glxinfo | grep direct
direct rendering: Yes[/console]
7) Утилита конфигурации: (иногда требуется запуск и от рута для сохранения действий в xorg.conf)

text
nvidia-settings

Примечание: После каждого обновления ядра или xorg-server требуется повторение процедуры установки драйвера

Войдите или зарегистрируйтесь, чтобы ответить.