LinuxForum.Fans
Тема

[Решено] Ядро 3.7.x+ и NVIDIA 304.xx-Legacy и openSUSE 12.2

Автор: verg 8 сообщений 3207 просмотров
#292441

Особенно для пользователей видеокарт: NVIDIA GeForce 6 и 7.

Проблема:
Проприетарный драйвер NVIDIA 304.64 не устанавливается на ядро версии 3.7.x.
Решение:
Предварительно: (в помощь) "Сложный способ" установки драйвера NVIDIA Совет №17 Полезные советы для openSUSE 12.2

Подробная установка:
(Действуем от суперпользователя)
1) Создаём недостающий каталог и симлинк на файл version.h, как того требует установщик драйвера :

text
# mkdir /usr/src/linux-obj/$(uname -i)/desktop/include/linux/ && ln -s /usr/src/linux-obj/$(uname -i)/desktop/include/generated/uapi/linux/version.h /usr/src/linux-obj/$(uname -i)/desktop/include/linux/version.h

2) Cоздаём временный каталог /nvidia (будет находиться в домашнем каталоге суперпользователя - для примера и нашего удобства)

text
# mkdir ~/nvidia

3) Качаем драйвер, если у кого ещё нет:

text
# wget -P ~/nvidia ftp://download.nvidia.com/XFree86/Linux-x86/304.64/NVIDIA-Linux-x86-304.64.run

4) У кого уже есть, копируем его в каталог /root/nvidia:

text
# mv /путь_до вашего_файла/NVIDIA-Linux-x86-304.64.run ~/nvidia/NVIDIA-Linux-x86-304.64.run

5) Качаем патч для драйвера:

text
# wget -P ~/nvidia http://www.lwfinger.com/nvidia_patches/patch_nvidia_304_60.run_for_3.7

6) Устанавливаем патч:

text
# sh ~/nvidia/NVIDIA-Linux-x86-304.64.run --apply-patch ~/nvidia/patch_nvidia_304_60.run_for_3.7

7) Перемещаем полученный файл, который имееть название: NVIDIA-Linux-x86-304.64-custom.run в наш временный каталог:

text
# mv NVIDIA-Linux-x86-304.64-custom.run ~/nvidia/NVIDIA-Linux-x86-304.64-custom.run

8 ) Удаляем лишние файлы (ранее скаченный драйвер и патч) - можно конечно и не удалять

text
# rm -f ~/nvidia/NVIDIA-Linux-x86-304.64.run ~/nvidia/patch_nvidia_304_60.run_for_3.7

9) Команды для окончательной установки из "init 3" - подробности в Совет №17 Полезные советы для openSUSE 12.2 (категория - Установка драйвера)
a) Для пользователей репозитория Tumbleweed:

text
# sh ~/nvidia/NVIDIA-Linux-x86-304.64-custom.run

b) Для пользователей репозитория Kernel:/stable/standard/:

text
# export IGNORE_CC_MISMATCH=1 && sh ~/nvidia/NVIDIA-Linux-x86-304.64-custom.run

Установка одной командой:
Скопируйте следующую команду в лог истории баша суперпользователя (root) (это нужно для простого запуска большой команды из голой консоли)

text
su
Пароль:
Команда
Ввод (Enter)

(Команды для системы 32бит)
(Внимание: Команду вводить вместе с решёткой "#")

Команда для пользователей репозитория Tumbleweed
text

# mkdir /usr/src/linux-obj/$(uname -i)/desktop/include/linux/ && ln -s /usr/src/linux-obj/$(uname -i)/desktop/include/generated/uapi/linux/version.h /usr/src/linux-obj/$(uname -i)/desktop/include/linux/version.h && wget -P ~/nvidia ftp://download.nvidia.com/XFree86/Linux-x86/304.64/NVIDIA-Linux-x86-304.64.run http://www.lwfinger.com/nvidia_patches/patch_nvidia_304_60.run_for_3.7 && sh ~/nvidia/NVIDIA-Linux-x86-304.64.run --apply-patch ~/nvidia/patch_nvidia_304_60.run_for_3.7 && mv NVIDIA-Linux-x86-304.64-custom.run ~/nvidia/NVIDIA-Linux-x86-304.64-custom.run && rm -f ~/nvidia/NVIDIA-Linux-x86-304.64.run ~/nvidia/patch_nvidia_304_60.run_for_3.7 && sh ~/nvidia/NVIDIA-Linux-x86-304.64-custom.run

Команда для пользователей репозитория Kernel:/stable/standard/
text
# mkdir /usr/src/linux-obj/$(uname -i)/desktop/include/linux/ && ln -s /usr/src/linux-obj/$(uname -i)/desktop/include/generated/uapi/linux/version.h /usr/src/linux-obj/$(uname -i)/desktop/include/linux/version.h && wget -P ~/nvidia ftp://download.nvidia.com/XFree86/Linux-x86/304.64/NVIDIA-Linux-x86-304.64.run http://www.lwfinger.com/nvidia_patches/patch_nvidia_304_60.run_for_3.7 && sh ~/nvidia/NVIDIA-Linux-x86-304.64.run --apply-patch ~/nvidia/patch_nvidia_304_60.run_for_3.7 && mv NVIDIA-Linux-x86-304.64-custom.run ~/nvidia/NVIDIA-Linux-x86-304.64-custom.run && rm -f ~/nvidia/NVIDIA-Linux-x86-304.64.run ~/nvidia/patch_nvidia_304_60.run_for_3.7 && export IGNORE_CC_MISMATCH=1 && sh ~/nvidia/NVIDIA-Linux-x86-304.64-custom.run

Установка драйвера:
1) Открываем терминал(любой - можно и программу Konsole) и набираем:
[console]# init 3[/console]
2) Выбросит в голый терминал с предложением ввести логин и пароль рута (вводим)
3) Клавиша "Стрелка вверх" (видим нашу ранее введённую команду)
4) Клавиша "Home" (курсор переходит в начало команды прямо на символ "#" в этой команде)
5) Клавиша "Delete" (удаляется символ "#" в команде)
6) Далее ставим драйвер: Клавиша "Enter"
7) Перезагрузка.

Не проверено! Команды для системы 64бит

Команда для пользователей репозитория Tumbleweed:
text
# mkdir /usr/src/linux-obj/$(uname -i)/desktop/include/linux/ && ln -s /usr/src/linux-obj/$(uname -i)/desktop/include/generated/uapi/linux/version.h /usr/src/linux-obj/$(uname -i)/desktop/include/linux/version.h && wget -P ~/nvidia ftp://download.nvidia.com/XFree86/Linux-x86_64/304.64/NVIDIA-Linux-x86_64-304.64.run http://www.lwfinger.com/nvidia_patches/patch_nvidia_304_60.run_for_3.7 && sh ~/nvidia/NVIDIA-Linux-x86_64-304.64.run --apply-patch ~/nvidia/patch_nvidia_304_60.run_for_3.7 && mv NVIDIA-Linux-x86_64-304.64-custom.run ~/nvidia/NVIDIA-Linux-x86_64-304.64-custom.run && rm -f ~/nvidia/NVIDIA-Linux-x86_64-304.64.run ~/nvidia/patch_nvidia_304_60.run_for_3.7 && sh ~/nvidia/NVIDIA-Linux-x86_64-304.64-custom.run

Команда для пользователей репозитория Kernel:/stable/standard/:

text
# mkdir /usr/src/linux-obj/$(uname -i)/desktop/include/linux/ && ln -s /usr/src/linux-obj/$(uname -i)/desktop/include/generated/uapi/linux/version.h /usr/src/linux-obj/$(uname -i)/desktop/include/linux/version.h && wget -P ~/nvidia ftp://download.nvidia.com/XFree86/Linux-x86_64/304.64/NVIDIA-Linux-x86_64-304.64.run http://www.lwfinger.com/nvidia_patches/patch_nvidia_304_60.run_for_3.7 && sh ~/nvidia/NVIDIA-Linux-x86_64-304.64.run --apply-patch ~/nvidia/patch_nvidia_304_60.run_for_3.7 && mv NVIDIA-Linux-x86_64-304.64-custom.run ~/nvidia/NVIDIA-Linux-x86_64-304.64-custom.run && rm -f ~/nvidia/NVIDIA-Linux-x86_64-304.64.run ~/nvidia/patch_nvidia_304_60.run_for_3.7 && export IGNORE_CC_MISMATCH=1 && sh ~/nvidia/NVIDIA-Linux-x86_64-304.64-custom.run

з.ы. оформил как совет № 48 Полезные советы для openSUSE 12.2

#292635

Update: Добавил подробное описание.

#306632

verg, https://bugs.gentoo.org/show_bug.cgi?id=447566
Походу, та же беда и в Слаке будет :) Сегодня заберу ядро из -current, проверю. У меня драйвера 173.14.36, с 3.2.29 собралось без вопросов, погляжу, как с 3.7.1 будет...

#306637
"yars" написал:
У меня драйвера 173.14.36

Интересно, когда и эти обновят.

А за новые драйвера можно не волноваться (310 и 313) с ними уж точно проблем не будет.




В репах nvidia для openSUSE почему-то и 304.64 и 173.14.36 собраны для ядра 3.7.9 (интересно рабочие) [url]ftp://download.nvidia.com/opensuse/12.3/i586/[/url]

#306644
"verg" написал:
Интересно, когда и эти обновят.

Эти не так давно вышли: http://www.nvidia.com/object/linux-display-ia32-173.14.36-driver.html.
Но если запилят обновление - я только за :)

#306952
"verg⇓" написал:
А за новые драйвера можно не волноваться (310 и 313) с ними уж точно проблем не будет.

Вот и вышли 313.26

#307508

yars,
Вышел драйвер 173.14.37, как на заказ. (или они там на сусе сидят и пилят к релизу =) )
[url]ftp://download.nvidia.com/XFree86/Linux-x86/173.14.37/[/url]
[url]ftp://download.nvidia.com/XFree86/Linux-x86_64/173.14.37/[/url]

text
Changes since 173.14.36:

Removed a spurious dependency on libpangox from the nvidia-settings binary shipped as part of the driver package. Added support for X.Org xserver ABI 14 (xorg-server 1.14). Fixed font rendering performance and corruption problems on X servers with backported support for the new glyph cache functionality added to Pixman 0.27.

Так же вышел драйвер с длительной поддержкой 310.40
http://www.nvidia.com/object/linux-display-ia32-310.40-driver.html
http://www.nvidia.com/object/linux-display-amd64-310.40-driver.html

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