- Переход на драйверы Nvidia и fglrx
- Установка проприетарных драйверов nvidia и fglrx :
- Удаление модулей драйверов для используемого ядра или запись их блеклист (при необходимости) :
- Смена проприетарных драйверов на открытые
- Замена драйверов nouveau/nvidia «на лету»
- Гибридная графика
- Что делать, если после всех шагов не загрузилась графическая система?
- Известные проблемы
- Ссылки по теме
- В помощь новичкам. Что делать после неудачной установки видеодрайвера Nvidia
Переход на драйверы Nvidia и fglrx
Переход со свободных драйверов nouveau и radeon на Nvidia и fglrx соответственно сопряжён с определёнными сложностями, и для его осуществления следует выполнить целую последовательность действий. Обратный переход выполняется аналогичным образом.
Примечание: Данная статья устарела в части fglrx, так как начиная с p8 его уже нет в репозитоиии
Внимание! Переход на fglrx следует осуществлять осторожно. Драйвер поддерживается производителем крайне посредственно, и часто последняя версия не соответствует текущей версии xorg, в силу чего просто не работает. Например, altbug #31980 (p8 и p9 уже не затрагивает по причине отсутствия fglrx)
Примечание: Перед установкой проприетарных драйверов можно сделать, на всякий случай, точку восстановления
Установка проприетарных драйверов nvidia и fglrx :
Важное замечание для владельцев Radeon:
Внимание: Драйвер fglrx уже ни применяется начиная с p8. Последние проприетарные драйвера ATI/AMD (fglrx) поддерживают только видеокарты серии Radeon HD 2000 и выше. Так-что в отношении карт radeon статья устарела.
Шаг 1. Обновите систему и ядро до текущего состояния репозитория. Для этого выполните в любом эмуляторе терминала
Шаг 2. Перезагрузите компьютер и выберите пункт загрузки с новым ядром (обычно это первый пункт меню загрузчика).
Шаг 3. Установите соответствующий ядерный модуль видеодрайвера и сам видеодрайвер. Если вы не знаете, какой видеокартой вы пользуетесь, то выполните в терминале команду
После того как вы узнали модель вашей видеокарты выполните следующие команды.
$ su - # apt-get install nvidia_glx_common # nvidia-install-driver
# apt-get install kernel-modules-fglrx-std-def fglrx_glx fglrx-tools
где std-def — тип вашего ядра, который можно определить при помощи команды uname -r, например
в этом случае «ваше-ядро» называется std-def.
Шаг 6. Перезагрузите компьютер.
Убедитесь, что у вас загрузился драйвер nvidia. И работает видеодрайвер nvidia
$ su - # lsmod | grep nvidia # exit
Для того чтобы посмотреть, какой видеодрайвер используется, можно выполнить команду (предварительно установив при необходимости одноимённый пакет ):
Удаление модулей драйверов для используемого ядра или запись их блеклист (при необходимости) :
Примечание: В современных системах нет необходимости удалять свободные драйвера, так-что эта глава имеет чисто теоретический интерес.
apt-get remove kernel-modules-drm-radeon-std-def#1:2.6.39-alt1
apt-get remove kernel-modules-drm-nouveau-std-def#1:2.6.39-alt1
Где «#1:2.6.39-alt1» — указание на версию модуля, если установлено более одного ядра. Если ядро одно, можно использовать просто
apt-get remove kernel-modules-drm-nouveau-std-def
При этом, если ядер окажется, всё же, более одного, apt-get завершится с ошибкой, но выведет весь список с версиями. Так что, это можно использовать, если Вы не знаете, как записать версию.
Создаём файл /etc/modprobe.d/blacklist-nvidia-x11.conf и записываем туда строчку:
3. Чтобы модуль не попал в initrd, пересобираем его:
в последнем случае сразу и переустанавливается текущий загрузчик
4. Переустановить загрузчик при необходимости.
Смена проприетарных драйверов на открытые
Шаг 0. Обновляем систему и ядро до текущего состояния репозитория, как описано выше.
Шаг 1. Заходим в терминале под пользователем root.
Шаг 2. Устанавливаем открытый драйвер в конфигурационном файле /etc/X11/xorg.conf.d/10-monitor.conf . Для этого можно воспользоваться утилитой xsetup-monitor.
Пользователям nvidia необходимо выполнить следующую команду
В принципе, этих шагов достаточно, чтобы после перезагрузки загрузиться с открытыми драйверами, однако не будет работать сплэш. Для его починки необходимо проделать следующие дополнительные шаги.
Шаг 3. Удаляем (при необходимости) файл /etc/modprobe.d/blacklist-alterator-x11
# rm -f /etc/modprobe.d/blacklist-alterator-x11
Шаг 4. Перезагружаем компьютер.
Шаг 5. Выполняем команду make-initrd
При следующей загрузке сплэш должен заработать.
Замена драйверов nouveau/nvidia «на лету»
Гибридная графика
Для управления переключениями видеокартами через amdcccle (Catalyst) необходимо дать из под рута команду
после этого появится пункт в amdcccle для переключения между intel/amd или amd/amd в зависимости от железа. Есть одно НО необходимо как минимум перезапустить X-сервер о чем и будет написано в amdcccle после совершения манипуляции.
Для управления из консоли
aticonfig --px-igpu переключение на интегрированную aticonfig --px-dgpu переключение на дискретную
и для лучшего понимания man aticonfig
Что делать, если после всех шагов не загрузилась графическая система?
При установке проприетарного драйвера ATI/Radeon установленного посредством выполнения скрипта, возможно, потребуется дать команду:
Успокойтесь и не паникуйте. Вы легко можете вернуться к использованию открытых драйверов. Для этого нужно проделать следующую последовательность шагов.
Известные проблемы
Примечание: 1. У владельцев NVIDIA в некоторых ситуациях при запуске системы мелькает логотип NVIDIA, происходит запуск Х-ов, но вместо нормальной картинки монитор показывает по центру полосу примерно в половину ширины экрана с прерывистыми диагональными линиями на ней. Если после этого сделать Ctrl+Alt+F3, Ctrl+Alt+F1, то изображение нормализуется.
Проблемы разные, а решение одно и то же:
в этом случае помогает принудительное выставление графического режима в опциях ядра при загрузке (в настройках загрузчика), например, vga=0x314. Для этого:
Шаг 1. Открываем в редакторе (для новичков рекомендуется mcedit) файл /etc/sysconfig/grub2
Шаг 2. Находим строчку с переменной GRUB_CMDLINE_LINUX_DEFAULT. Например, у автора руководства она имеет вид
GRUB_CMDLINE_LINUX_DEFAULT='quiet=1 panic=30 splash'
Шаг 3. Добавляем в переменную параметр vga=0x314
GRUB_CMDLINE_LINUX_DEFAULT='quiet=1 panic=30 splash vga=0x314'
Т.е. 0x314 — это 800×600 в режиме VESA с 16-битным цветом.
Кол-во цветов | Число бит | 640×480 | 800×600 | 1024×768 | 1280×1024 | 1440×900 | 1600×1200 |
256 | 8 | 0x301 | 0x303 | 0x305 | 0x307 | 0x360 | 0x31c |
32k | 15 | 0x310 | 0x313 | 0x316 | 0x319 | 0x361 | 0x31d |
64k | 16 | 0x311 | 0x314 | 0x317 | 0x31A | 0x362 | 0x31e |
16M | 24 | 0x312 | 0x315 | 0x318 | 0x31B | 0x363 | 0x31f |
Можно еще взять вот из такой таблицы, vga=XXX (те-же значения. но в 10-ном виде):
8bit:
640×480 — 769
800×600 — 771
1024×768 — 773
1280×1024 — 775
16bit:
640×480 — 785
800×600 — 788
1024×768 — 791
1280×1024 — 794
24bit:
640×480 — 786
800×600 — 789
1024×768 — 792
Список всех разрешений можно получить, выполнив следующую команду:
Если ничего не показало, значит, надо установить hwinfo:
# apt-get update; apt-get install hwinfo
Шаг 4. Сохраняем изменения и выходим.
Шаг 5. Перегенерируем конфиг загрузчика grub2:
# grub-mkconfig -о /boot/grub/grub.cfg
Теперь при следующей загрузке все должно нормализоваться.
У владельцев старых видеокарт NVIDIA проприетарный драйвер не стартует с сообщением
Failed to allocate/map the primary surface!
failed to allocate primary buffer: out of memory
в этом случае помогает передача в опциях ядра при загрузке параметра «nopat» (о том, как это можно сделать, смотри предыдущий пример с «vga=0x314»)
GRUB_CMDLINE_LINUX_DEFAULT='quiet=1 panic=30 splash vga=0x314 nopat'
Потом перегенерируем конфиг загрузчика grub2:
# grub-mkconfig -о /boot/grub/grub.cfg
Проблема и решение:
Если не получается сгенерировать конфигурацию загрузчика в файл с опцией -o, то стоит воспользоваться полной опцией —output
# grub-mkconfig --оutput=/boot/grub/grub.cfg
P.S. Предложения, правки приветствуются.
Ссылки по теме
В помощь новичкам. Что делать после неудачной установки видеодрайвера Nvidia
Друзья, хочу рассказать про то как я накосячил с проприетарными драйверами Nvidia, и как решил проблему. Может быть кому-нибудь это поможет, ведь это единственный из перепробованных способов, который помог мне. И есть мнение, что если что-то не так, то этот способ гарантированно поможет вернуть «как было».
Раньше никогда не использовал официальные драйвера Nvidia (хотя для игр и мультимедиа это лучшее решение), т.к. из-за них было много проблем:
1) Исчезает логотип (splash) во время загрузки системы, т.е. вместо логотипа «kubuntu» — черный экран. И соответственно не видно приглашения на ввод LVM-пароля.
2) Появляются странные проблемы со шрифтами, когда технически все осталось как было (шрифт, стиль, размер, сглаживание и т.д.), но выглядят шрифты иначе, местами очень плохо.
3) В меню Grub все действия требуют повторного нажатия клавиш, что очень странно и возникает только при использовании проприетарной графики.
Так вот, все началось с того, что я попробовал кубунту 16.04. Однажды диспетчер драйверов КДЕ предложил обновить дровишки на видео и проц, и я согласился. К тому же, свободный видеодрайвер в 16.04 работал совсем плохо — терять (как мне казалось тогда) было нечего.
Из предложенных версий видео самая свежая (и рекомендуемая) была 384.90 — ее и накатил. Я подозревал, что делать этого не стоит, но решил попробовать, ведь и с открытым драйвером было не все гладко (окна и менюшки мигали, не все прорисовывалось, хотя в 14.04 и ранее такого не было).
После перезагрузки системы не смог загрузиться в обычном режиме. Сначала подумал, что как всегда проприетарный драйвер Nvidia не отображает splash (логотип кубунты) во время загрузки системы, но оказалось что все намного хуже.
Проблема была в том, что помимо логотипа у меня на экране высвечивалось приглашение на ввод LVM пароля. А теперь вместо него был черный экран. «Ввел» пароль вслепую, нажал Enter — нифига. Никакой нагрузки на жесткий диск. Значит проблема не только в отображении сплеша, а еще раньше.
Зашел в Recovery Mode, там ввел свой LVM-пароль, дальше выбрал Resume normal boot, пошла загрузка из консоли и. снова выпал в то же меню (но на этот раз кодировка была сбита). Снова выбрал Resume, появилось окно логина (из графики!!), т.е. тут уже драйвер Nvidia заработал, зашел в диспетчер драйверов, вернул открытый драйвер, перезагрузился, зашел в нормальном режиме — все отлично.
Через несколько дней появился новый драйвер (рекомендуемый) — 384.111. Та же фигня. Снова установил драйвер, снова черный экран, снова не могу пройти LVM, т.к. до него видимо даже не доходит. Снова ковырялся с восстановлением, пытался понять откуда вообще ноги растут у этой проблемы, почему ни одна версия проприетарного драйвера не работает.
В режиме восстановления выбрал проверку файлухи с помощью fsck.
[OK] Stopped NVIDIA Persistence Daemon
(И каждый раз, запуская fsck — стопорилось намертво на разных стадиях, но всегда где-то в первую минуту проверки.)
Нажал Enter, выкинуло обратно в меню восстановления. Вобщем снова в Recovery mode ввел LVM пароль, снова выбрал Resume normal boot, снова графика включилась на стадии появления логин-окна КДЕ, и уже из графика снова вернул свободный драйвер nouveau, с которым без проблем можно было грузиться в нормальном режиме.
Но драйвер nouveau продолжал глючить, выдавая артефакты.
Попробовал на этот раз драйвер 340.102.
После этого настал пипец и перестал работать даже режим восстановления.
Зашел в Recovery Mode, ввел пароль LVM, нажал Resume normal boot — логи и черный экран. И тут мне стало хреново!!
Перезагрузился в режим Recovery Mode.
Начал снова пробовать fsck, но он всегда зависал то на одной стадии.
[OK] Reached target Encrypted Volumes
То еще что-нибудь напишет. И дальше никаких проверок.
Подключился к сети (в меню Recovery Mode это есть), потом вошел в root.
Начал с просмотра списка доступных драйверов:
sudo ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == vendor : NVIDIA Corporation model : GF114 [GeForce GTX 560 Ti] modalias : pci:v000010DEd00001200sv00001458sd0000352Bbc03sc00i00 driver : nvidia-304 - distro non-free driver : nvidia-340 - distro non-free driver : nvidia-384 - distro non-free recommended driver : xserver-xorg-video-nouveau - distro free builtin == cpu-microcode.py == driver : intel-microcode - distro free
Как видим, показывает то же самое, что и через графику (диспетчер драйверов КДЕ).
Сначала попытался откатиться на 384 (когда работал хотя-бы вход в графику через Recovery Mode).
sudo apt-get install --reinstall nvidia-384
Установил 384й драйвер. Перезагрузился — не помогло.
Таким методом я поставил все 4 версии драйвера, но проблема видимо была в том, что я просто скачал пакеты — видимо есть какая-то команда для АКТИВАЦИИ определенного драйвера, но я такой команды не знал. Поэтому мои попытки понаставить пакеты ни к чему не приводили — был активен определенный глючный драйвер, который не позволял грузиться даже через Recovery Mode.
Помимо этого начали сыпаться ошибки X-сервера, я начал паниковать, пробовать разные команды вроде dpkg —reconfigure, чтобы восстановить X-сервер и все остальное, но это не помогло, ошибок было очень много.
На самом деле я понимал, что проблема лежим на поверхности — в системе есть свободный + 3 версии проприетарных драйверов, но видимо активна та самая «левая» версия.
В итоге помог такой простой способ:
Все в той же консольке Recovery Mode делаем.
sudo apt-get purge nvidia* sudo apt-get install xserver-xorg-video-nouveau sudo reboot
И система заработала в нормальном режиме на свободной драйвере!