Переход на драйверы Nvidia и fglrx: различия между версиями
Нет описания правки |
|||
(не показано 8 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
{{Шаблон:Stub}} | {{Шаблон:Stub}} | ||
{{Устарело}} | |||
Переход со свободных драйверов nouveau и radeon на Nvidia и fglrx соответственно сопряжён с определёнными сложностями, и для его осуществления следует выполнить целую последовательность действий. Обратный переход выполняется аналогичным образом. | Переход со свободных драйверов nouveau и radeon на Nvidia и fglrx соответственно сопряжён с определёнными сложностями, и для его осуществления следует выполнить целую последовательность действий. Обратный переход выполняется аналогичным образом. | ||
Строка 61: | Строка 62: | ||
'''Шаг 6.''' Перезагрузите компьютер. | '''Шаг 6.''' Перезагрузите компьютер. | ||
== Удаление модулей | Убедитесь, что у вас загрузился драйвер nvidia. И работает видеодрайвер nvidia | ||
<source lang=bash> | |||
$ su - | |||
# lsmod | grep nvidia | |||
# exit | |||
</source> | |||
Для того чтобы посмотреть, какой видеодрайвер используется, можно выполнить команду (предварительно установив при необходимости одноимённый пакет ): | |||
<source lang=bash> | |||
$ inxi -G | |||
</source> | |||
== Удаление модулей драйверов для используемого ядра или запись их блеклист (при необходимости) : == | |||
{{Note | В современных системах нет необходимости удалять свободные драйвера, так-что эта глава имеет чисто теоретический интерес.}} | |||
0. Выходим из графики: | |||
<source lang=bash> | |||
<Ctrl> + <Alt> + <F4> | |||
# telinit 3 | |||
</source> | |||
1. Удаляем модуль | 1. Удаляем модуль | ||
Строка 78: | Строка 102: | ||
При этом, если ядер окажется, всё же, более одного, apt-get завершится с ошибкой, но выведет весь список с версиями. Так что, это можно использовать, если Вы не знаете, как записать версию. | При этом, если ядер окажется, всё же, более одного, apt-get завершится с ошибкой, но выведет весь список с версиями. Так что, это можно использовать, если Вы не знаете, как записать версию. | ||
2. | 2. Помещение модуля в | ||
Создаём файл /etc/modprobe.d/blacklist-nvidia-x11.conf и записываем туда строчку: | |||
blacklist nouveau | |||
Выгружаем модуль | |||
<source lang=bash> | |||
# rmmod nouveau | |||
</source> | |||
3. Чтобы модуль не попал в initrd, пересобираем его: | |||
<tt>make-initrd -k $(uname -r)</tt> | <tt>make-initrd -k $(uname -r)</tt> | ||
или просто: | или просто: | ||
Строка 84: | Строка 119: | ||
в последнем случае сразу и переустанавливается текущий загрузчик | в последнем случае сразу и переустанавливается текущий загрузчик | ||
4. Переустановить загрузчик при необходимости. | |||
== Смена проприетарных драйверов на открытые == | == Смена проприетарных драйверов на открытые == |
Текущая версия от 16:25, 21 декабря 2023
Переход со свободных драйверов nouveau и radeon на Nvidia и fglrx соответственно сопряжён с определёнными сложностями, и для его осуществления следует выполнить целую последовательность действий. Обратный переход выполняется аналогичным образом.
Установка проприетарных драйверов nvidia и fglrx :
Важное замечание для владельцев Radeon:
Шаг 1. Обновите систему и ядро до текущего состояния репозитория. Для этого выполните в любом эмуляторе терминала
$ su -
# apt-get update
# apt-get dist-upgrade
# update-kernel
Шаг 2. Перезагрузите компьютер и выберите пункт загрузки с новым ядром (обычно это первый пункт меню загрузчика).
Шаг 3. Установите соответствующий ядерный модуль видеодрайвера и сам видеодрайвер. Если вы не знаете, какой видеокартой вы пользуетесь, то выполните в терминале команду
$ lspci | grep VGA
После того как вы узнали модель вашей видеокарты выполните следующие команды.
$ su - # apt-get install nvidia_glx_common # nvidia-install-driver
$ su -
# apt-get install kernel-modules-fglrx-std-def fglrx_glx fglrx-tools
где std-def — тип вашего ядра, который можно определить при помощи команды uname -r, например
$ uname -r
2.6.39-std-def-alt1
в этом случае "ваше-ядро" называется std-def.
Шаг 6. Перезагрузите компьютер.
Убедитесь, что у вас загрузился драйвер nvidia. И работает видеодрайвер nvidia
$ su -
# lsmod | grep nvidia
# exit
Для того чтобы посмотреть, какой видеодрайвер используется, можно выполнить команду (предварительно установив при необходимости одноимённый пакет ):
$ inxi -G
Удаление модулей драйверов для используемого ядра или запись их блеклист (при необходимости) :
0. Выходим из графики:
<Ctrl> + <Alt> + <F4>
# telinit 3
1. Удаляем модуль
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 завершится с ошибкой, но выведет весь список с версиями. Так что, это можно использовать, если Вы не знаете, как записать версию.
2. Помещение модуля в
Создаём файл /etc/modprobe.d/blacklist-nvidia-x11.conf и записываем туда строчку:
blacklist nouveau
Выгружаем модуль
# rmmod nouveau
3. Чтобы модуль не попал в initrd, пересобираем его:
make-initrd -k $(uname -r)
или просто:
installkernel $(uname -r)
в последнем случае сразу и переустанавливается текущий загрузчик
4. Переустановить загрузчик при необходимости.
Смена проприетарных драйверов на открытые
Шаг 0. Обновляем систему и ядро до текущего состояния репозитория, как описано выше.
Шаг 1. Заходим в терминале под пользователем root.
Шаг 2. Устанавливаем открытый драйвер в конфигурационном файле /etc/X11/xorg.conf.d/10-monitor.conf . Для этого можно воспользоваться утилитой xsetup-monitor.
Пользователям nvidia необходимо выполнить следующую команду
# xsetup-monitor -d nouveau
Пользователям radeon
# xsetup-monitor -d radeon
В принципе, этих шагов достаточно, чтобы после перезагрузки загрузиться с открытыми драйверами, однако не будет работать сплэш. Для его починки необходимо проделать следующие дополнительные шаги.
Шаг 3. Удаляем (при необходимости) файл /etc/modprobe.d/blacklist-alterator-x11
# rm -f /etc/modprobe.d/blacklist-alterator-x11
Шаг 4. Перезагружаем компьютер.
Шаг 5. Выполняем команду make-initrd
# make-initrd
При следующей загрузке сплэш должен заработать.
Замена драйверов nouveau/nvidia "на лету"
Замена драйверов nouveau/nvidia "на лету"
Гибридная графика
Для Nvidia основная статья Nvidia_optimus,_настройка_и_запуск_bumblebee
Для AMD:
Для управления переключениями видеокартами через amdcccle (Catalyst) необходимо дать из под рута команду
aticonfig --initial
после этого появится пункт в amdcccle для переключения между intel/amd или amd/amd в зависимости от железа. Есть одно НО необходимо как минимум перезапустить X-сервер о чем и будет написано в amdcccle после совершения манипуляции.
Для управления из консоли
aticonfig --px-igpu переключение на интегрированную
aticonfig --px-dgpu переключение на дискретную
и для лучшего понимания man aticonfig
Что делать, если после всех шагов не загрузилась графическая система?
При установке проприетарного драйвера ATI/Radeon установленного посредством выполнения скрипта, возможно, потребуется дать команду:
# amdconfig --initial -f
Успокойтесь и не паникуйте. Вы легко можете вернуться к использованию открытых драйверов. Для этого нужно проделать следующую последовательность шагов.
Известные проблемы
Проблема:
Решение:
Проблемы разные, а решение одно и то же:
в этом случае помогает принудительное выставление графического режима в опциях ядра при загрузке (в настройках загрузчика), например, vga=0x314. Для этого:
Шаг 1. Открываем в редакторе (для новичков рекомендуется mcedit) файл /etc/sysconfig/grub2
$ su-
# 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 - это 800x600 в режиме VESA с 16-битным цветом.
Кол-во цветов | Число бит | 640x480 | 800x600 | 1024x768 | 1280x1024 | 1440x900 | 1600x1200 |
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:
640x480 - 769
800x600 - 771
1024x768 - 773
1280x1024 - 775
16bit:
640x480 - 785
800x600 - 788
1024x768 - 791
1280x1024 - 794
24bit:
640x480 - 786
800x600 - 789
1024x768 - 792
Список всех разрешений можно получить, выполнив следующую команду:
# hwinfo --framebuffer
Если ничего не показало, значит, надо установить hwinfo:
# apt-get update; apt-get install hwinfo
Шаг 4. Сохраняем изменения и выходим.
Шаг 5. Перегенерируем конфиг загрузчика grub2:
$ su -
# grub-mkconfig -о /boot/grub/grub.cfg
Теперь при следующей загрузке все должно нормализоваться.
Проблема:
У владельцев старых видеокарт NVIDIA проприетарный драйвер не стартует с сообщением
Failed to allocate/map the primary surface!
или
conflicting memory type
или
failed to allocate primary buffer: out of memory
Решение:
в этом случае помогает передача в опциях ядра при загрузке параметра "nopat" (о том, как это можно сделать, смотри предыдущий пример с "vga=0x314")
GRUB_CMDLINE_LINUX_DEFAULT='quiet=1 panic=30 splash vga=0x314 nopat'
Потом перегенерируем конфиг загрузчика grub2:
$ su -
# grub-mkconfig -о /boot/grub/grub.cfg
Проблема и решение:
Если не получается сгенерировать конфигурацию загрузчика в файл с опцией -o, то стоит воспользоваться полной опцией --output
# grub-mkconfig --оutput=/boot/grub/grub.cfg
P.S. Предложения, правки приветствуются.
Ссылки по теме