Переход на драйверы Nvidia и fglrx: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 6: | Строка 6: | ||
{{Attention|Переход на fglrx следует осуществлять осторожно. Драйвер поддерживается производителем крайне посредственно, и часто последняя версия не соответствует текущей версии xorg, в силу чего просто не работает. Например, {{altbug|31980}} (p8 и p9 уже не затрагивает по причине отсутствия fglrx) }} | {{Attention|Переход на fglrx следует осуществлять осторожно. Драйвер поддерживается производителем крайне посредственно, и часто последняя версия не соответствует текущей версии xorg, в силу чего просто не работает. Например, {{altbug|31980}} (p8 и p9 уже не затрагивает по причине отсутствия fglrx) }} | ||
{{Note|Перед установкой проприетарных драйверов сделайте, на всякий случай, [[Теневое копирование+Точка восстановления|'''точку восстановления''']]}} | {{Note|Перед установкой проприетарных драйверов сделайте, на всякий случай, [[Теневое копирование+Точка восстановления|'''точку восстановления''']]}} | ||
===Переход со свободных драйверов nouveau и radeon на проприетарные драйвера Nvidia и fglrx=== | ===Переход со свободных драйверов nouveau и radeon на проприетарные драйвера Nvidia и fglrx=== | ||
Строка 153: | Строка 156: | ||
и для лучшего понимания man aticonfig | и для лучшего понимания man aticonfig | ||
== Установка проприетарных драйверов на дистрибутивах шестой платформы. == | |||
== Установка проприетарных драйверов NVIDIA и ATI : == | |||
'''Важное замечание для владельцев Radeon''': | |||
Последние проприетарные драйвера ATI/AMD (fglrx) поддерживают только видеокарты | |||
серии Radeon HD 2000 и выше. Если у вас более старая видеокарта, то вам придется | |||
использовать открытый драйвер и дальнейшую инструкцию вы можете не читать. | |||
{{note|в статье предполагается, что у вас стоит ядро типа std-def}} | |||
'''Шаг 1.''' Обновите систему и ядро до текущего состояния репозитория. Для этого выполните в любом эмуляторе терминала | |||
<tt>$ su -</tt> | |||
<tt><nowiki># apt-get update </nowiki></tt> | |||
<tt><nowiki># apt-get dist-upgrade</nowiki></tt> | |||
<tt><nowiki># update-kernel</nowiki></tt> | |||
'''Шаг 2.''' Перезагрузите компьютер и выберите пункт загрузки с новым ядром (обычно это первый пункт меню загрузчика). | |||
'''Шаг 3.''' Установите соответствующий ядерный модуль видеодрайвера и сам видеодрайвер. Если вы не знаете, какой видеокартой вы пользуетесь, то выполните в терминале команду | |||
<tt>$ lspci | grep VGA</tt> | |||
После того как вы узнали модель вашей видеокарты выполните следующие команды. | |||
<div style="display: inline; color: red;">Для владельцев Nvidia</div> | |||
<tt>$ su -</tt> | |||
<tt># apt-get install nvidia_glx_common | |||
# nvidia-install-driver</tt> | |||
<div style="display: inline; color: red;">Для владельцев Radeon</div> | |||
<tt>$ su -</tt> | |||
<tt><nowiki># apt-get install kernel-modules-fglrx-std-def fglrx_glx fglrx-tools</nowiki></tt> | |||
где ''std-def'' — [[Kernels/Flavours|тип вашего ядра]], который можно определить при помощи команды <tt>uname -r</tt>, например | |||
<source lang=bash> | |||
$ uname -r | |||
2.6.39-std-def-alt1 | |||
</source> | |||
в этом случае "ваше-ядро" называется std-def. | |||
'''Шаг 4.''' (может не требоваться в ряде случаев вместе с шагом 5) Если не установлен, то установите модуль альтератора (центр управления системой), который отвечает за настройку X сервера. | |||
<tt><nowiki># apt-get install alterator-x11</nowiki></tt> | |||
'''Шаг 5.''' Запустите альтератор, например, нажав Alt + F2 и введя в появившемся окне "acc". Зайдите в пункт "Дисплей", нажмите кнопку "Другой драйвер" и в появившемся окне выберите нужный драйвер: nvidia — Nvidia (proprietary) для владельцев Nvidia карт fglrx - ATI Radeon для владельцев карт Radeon. Нажмите "OK" и затем "Применить". Должно появиться окошко, сообщающее, что все изменения вступят в силу после перезагрузки. | |||
'''Шаг 6.''' Перезагрузите компьютер. | |||
== Что делать, если после всех шагов не загрузилась графическая система? == | |||
При установке проприетарного драйвера ATI/Radeon установленного посредством выполнения скрипта, возможно, потребуется дать команду: | |||
<tt><nowiki># amdconfig --initial -f</nowiki></tt> | |||
Успокойтесь и не паникуйте. Вы легко можете вернуться к использованию открытых драйверов. Для этого нужно проделать следующую последовательность шагов. | |||
== Смена проприетарных драйверов на открытые == | |||
'''Шаг 0.''' Обновляем систему и ядро до текущего состояния репозитория, как описано выше. | |||
'''Шаг 1.''' Заходим в терминале под пользователем root. | |||
'''Шаг 2.''' Устанавливаем открытый драйвер в конфигурационном файле /etc/X11/xorg.conf.d/10-monitor.conf . Для этого можно воспользоваться утилитой xsetup-monitor. | |||
Пользователям nvidia необходимо выполнить следующую команду | |||
<tt><nowiki># xsetup-monitor -d nouveau</nowiki></tt> | |||
Пользователям radeon | |||
<tt><nowiki># xsetup-monitor -d radeon</nowiki></tt> | |||
В принципе, этих шагов достаточно, чтобы после перезагрузки загрузиться с открытыми драйверами, однако не будет работать сплэш. Для его починки необходимо проделать следующие дополнительные шаги. | |||
'''Шаг 3.''' Удаляем файл /etc/modprobe.d/blacklist-alterator-x11 | |||
<tt><nowiki># rm -f /etc/modprobe.d/blacklist-alterator-x11</nowiki></tt> | |||
'''Шаг 4.''' Перезагружаем компьютер. | |||
'''Шаг 5.''' Выполняем команду make-initrd | |||
<tt><nowiki># make-initrd </nowiki></tt> | |||
При следующей загрузке сплэш должен заработать. | |||
== Известные проблемы == | |||
'''Проблема:''' | |||
{{note| 1. У владельцев NVIDIA в некоторых ситуациях при запуске системы мелькает логотип NVIDIA, происходит запуск Х-ов, но вместо нормальной картинки монитор показывает по центру полосу примерно в половину ширины экрана с прерывистыми диагональными линиями на ней. Если после этого сделать Ctrl+Alt+F1, Ctrl+Alt+F7, то изображение нормализуется.}} | |||
{{note| 2. В консоли шрифт (по нажатию Сtrl+Аlt+(1-6)) Шрифт очень крупный.}} | |||
'''Решение:''' | |||
Проблемы разные, а решение одно и то же: | |||
в этом случае помогает принудительное выставление графического режима в опциях ядра при загрузке (в настройках загрузчика), например, vga=0x314. Для этого: | |||
'''Шаг 1.''' Открываем в редакторе (для новичков рекомендуется mcedit) файл /etc/sysconfig/grub2 | |||
<tt>$ su- </tt> | |||
<tt><nowiki># </nowiki>mcedit /etc/sysconfig/grub2 </tt> | |||
'''Шаг 2.''' Находим строчку с переменной GRUB_CMDLINE_LINUX_DEFAULT. Например, у автора руководства она имеет вид | |||
<tt>GRUB_CMDLINE_LINUX_DEFAULT='quiet=1 panic=30 splash'</tt> | |||
'''Шаг 3.''' Добавляем в переменную параметр vga=0x314 | |||
<tt>GRUB_CMDLINE_LINUX_DEFAULT='quiet=1 panic=30 splash vga=0x314'</tt> | |||
Т.е. 0x314 - это 800x600 в режиме VESA с 16-битным цветом. | |||
<table border="1"> | |||
<tr> | |||
<td>Кол-во цветов</td><td>Число бит</td><td>640x480</td><td>800x600</td><td>1024x768</td><td>1280x1024</td><td>1440x900</td><td>1600x1200</td> | |||
</tr> | |||
<tr> | |||
<td>256</td><td>8</td><td>0x301</td><td>0x303</td><td>0x305</td><td>0x307</td><td>0x360</td><td>0x31c</td> | |||
</tr> | |||
<tr> | |||
<td>32k</td><td>15</td><td>0x310</td><td>0x313</td><td>0x316</td><td>0x319</td><td>0x361</td><td>0x31d</td> | |||
</tr> | |||
<tr> | |||
<td>64k</td><td>16</td><td>0x311</td><td>0x314</td><td>0x317</td><td>0x31A</td><td>0x362</td><td>0x31e</td> | |||
</tr> | |||
<tr> | |||
<td>16M</td><td>24</td><td>0x312</td><td>0x315</td><td>0x318</td><td>0x31B</td><td>0x363</td><td>0x31f</td> | |||
</tr> | |||
</table> | |||
Можно еще взять вот из такой таблицы, vga=XXX (те-же значения. но в 10-ном виде): | |||
8bit: | |||
<br>640x480 - 769 | |||
<br>800x600 - 771 | |||
<br>1024x768 - 773 | |||
<br>1280x1024 - 775 | |||
16bit: | |||
<br>640x480 - 785 | |||
<br>800x600 - 788 | |||
<br>1024x768 - 791 | |||
<br>1280x1024 - 794 | |||
24bit: | |||
<br>640x480 - 786 | |||
<br>800x600 - 789 | |||
<br>1024x768 - 792 | |||
Список всех разрешений можно получить, выполнив следующую команду: | |||
<tt># hwinfo --framebuffer</tt> | |||
Если ничего не показало, значит, надо установить hwinfo: | |||
<tt># apt-get update; apt-get install hwinfo</tt> | |||
'''Шаг 4.''' Сохраняем изменения и выходим. | |||
'''Шаг 5.''' Перегенерируем конфиг загрузчика grub2: | |||
<tt>$ su -</tt> | |||
<tt><nowiki># grub-mkconfig -о /boot/grub/grub.cfg</nowiki></tt> | |||
Теперь при следующей загрузке все должно нормализоваться. | |||
'''Проблема:''' | |||
У владельцев старых видеокарт NVIDIA проприетарный драйвер не стартует с сообщением | |||
<tt> Failed to allocate/map the primary surface! </tt> | |||
или | |||
<tt> conflicting memory type </tt> | |||
или | |||
<tt> failed to allocate primary buffer: out of memory </tt> | |||
'''Решение:''' | |||
в этом случае помогает передача в опциях ядра при загрузке параметра "nopat" (о том, как это можно сделать, смотри предыдущий пример с "vga=0x314") | |||
<tt>GRUB_CMDLINE_LINUX_DEFAULT='quiet=1 panic=30 splash vga=0x314 nopat'</tt> | |||
Потом перегенерируем конфиг загрузчика grub2: | |||
<tt>$ su -</tt> | |||
<tt><nowiki># grub-mkconfig -о /boot/grub/grub.cfg</nowiki></tt> | |||
'''Проблема и решение:'''<br> | |||
Если не получается сгенерировать конфигурацию загрузчика в файл с опцией -o, то стоит воспользоваться полной опцией --output | |||
<tt><nowiki># grub-mkconfig --оutput=/boot/grub/grub.cfg</nowiki></tt> | |||
P.S. Предложения, правки приветствуются. | |||
==Ссылки по теме== | |||
*[[Nvidia|Настройка видеокарт Nvidia в Сизифе]] | |||
*[[Переход на драйверы Nvidia и fglrx]] | |||
*[http://forum.altlinux.org/index.php/topic,11721.msg148508.html#msg148508 Оригинал статьи на форуме] | |||
{{Category navigation|title=Видеодрайвера|category=Видеодрайвера|sortkey={{SUBPAGENAME}}}} | |||
=== Ссылки по теме === | === Ссылки по теме === |
Версия от 22:22, 23 июля 2022
Переход со свободных драйверов nouveau и radeon на Nvidia и fglrx соответственно сопряжён с определёнными сложностями, и для его осуществления следует выполнить целую последовательность действий. Обратный переход выполняется аналогичным образом.
Переход со свободных драйверов nouveau и radeon на проприетарные драйвера Nvidia и fglrx
1. Если вы ещё ни разу не обновляли дистрибутив, убедитесь, что apt настроен на нужный репозитарий. Это удобно сделать с помощью команды apt-repo.
apt-repo
2. Обновить ядро до последней версии в используемом репозитории: Открыть терминал и получить права пользователя root:
su -
или нажать <Ctrl+<Alt>+<F1>(или F2...F6) и войти как root:
login: root
passwsd: <пароль root - не отображается>
Обновить индекс содержимого репозитория:
apt-get update
Обновить систему:
apt-get dist-upgrade
Обновить ядро:
update-kernel
3. Перезагрузить компьютер c новым ядром.
4. Открыть терминал и получить права пользователя root: su -
5. установить модули для текущего используемого вами ядра:
apt-get install nvidia_glx_common nvidia-install-driver
или для fglrx
apt-get install kernel-modules-fglrx-ваше-ядро
где ваше ядро можно определить при помощи команды uname -r, например
$ uname -r
2.6.39-std-def-alt1
в этом случае "ваше-ядро" называется std-def.
6. Создать файл /etc/modprobe.d/blacklist-video.conf со следующим содержимым:
blacklist radeon blacklist nouveau
7. Создать файл: /etc/X11/xorg.conf.d/50-driver.conf со следующим содержимым:
Section "Device"
Identifier "Card0|0"
Driver "nvidia"
EndSection
или, соответственно fglrx
Section "Device"
Identifier "Card0|0"
Driver "fglrx"
EndSection
Если используется /etc/X11/xorg.conf (например, дистрибутив старого поколения), файл 50-driver.conf создавать не надо, а изменения следует делать в соответствующей секции
Section "Device"
.........
Driver "nvidia" (заменяем вместо того, что там прописан)
или
Driver "fglrx" (заменяем вместо того, что там прописан)
.....
EndSection
в xorg.conf.
8. Перегенерируем загрузочную запись (от root):
rmmod radeon
или
rmmod nouveau
installkernel $(uname -r)
9. Перезагрузиться.
Возможная проблема:
Несмотря на blacklist-video.conf, radeon и nouveau могут быть загружены всё равно, например, если они попали в initrd.
В случае такой проблемы можно удалить их совсем (см. Удаление модулей свободных драйверов для используемого ядра). Однако, следует помнить, что возвращать модуль, возможно, придётся из архива репозитария, если будет необходимость сохранить старое ядро. Архивы ведутся для Sisyphus и стабильных репозитариев, начиная с p7/t7.
Удаление модулей свободных драйверов для используемого ядра:
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. Пересобрираем initrd:
make-initrd -k $(uname -r)
или просто:
installkernel $(uname -r)
в последнем случае сразу и переустанавливается текущий загрузчик
3. Переустановить загрузчик при необходимости.
см Установка_проприетарных_драйверов_NVIDIA_и_ATI
Замена драйверов 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
Установка проприетарных драйверов на дистрибутивах шестой платформы.
Установка проприетарных драйверов NVIDIA и ATI :
Важное замечание для владельцев Radeon:
Последние проприетарные драйвера ATI/AMD (fglrx) поддерживают только видеокарты серии Radeon HD 2000 и выше. Если у вас более старая видеокарта, то вам придется использовать открытый драйвер и дальнейшую инструкцию вы можете не читать.
Шаг 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.
Шаг 4. (может не требоваться в ряде случаев вместе с шагом 5) Если не установлен, то установите модуль альтератора (центр управления системой), который отвечает за настройку X сервера.
# apt-get install alterator-x11
Шаг 5. Запустите альтератор, например, нажав Alt + F2 и введя в появившемся окне "acc". Зайдите в пункт "Дисплей", нажмите кнопку "Другой драйвер" и в появившемся окне выберите нужный драйвер: nvidia — Nvidia (proprietary) для владельцев Nvidia карт fglrx - ATI Radeon для владельцев карт Radeon. Нажмите "OK" и затем "Применить". Должно появиться окошко, сообщающее, что все изменения вступят в силу после перезагрузки.
Шаг 6. Перезагрузите компьютер.
Что делать, если после всех шагов не загрузилась графическая система?
При установке проприетарного драйвера ATI/Radeon установленного посредством выполнения скрипта, возможно, потребуется дать команду:
# amdconfig --initial -f
Успокойтесь и не паникуйте. Вы легко можете вернуться к использованию открытых драйверов. Для этого нужно проделать следующую последовательность шагов.
Смена проприетарных драйверов на открытые
Шаг 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
При следующей загрузке сплэш должен заработать.
Известные проблемы
Проблема:
Решение:
Проблемы разные, а решение одно и то же:
в этом случае помогает принудительное выставление графического режима в опциях ядра при загрузке (в настройках загрузчика), например, 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. Предложения, правки приветствуются.
Ссылки по теме