Переход на драйверы Nvidia и fglrx: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
 
(не показано 59 промежуточных версий 10 участников)
Строка 1: Строка 1:
{{Шаблон:Stub}}
{{Шаблон:Stub}}
{{Устарело}}


=Переход со свободных драйверов nouveau и radeon=
Переход со свободных драйверов nouveau и radeon на Nvidia и fglrx соответственно сопряжён с определёнными сложностями, и для его осуществления следует выполнить целую последовательность действий. Обратный переход выполняется аналогичным образом.
на Nvidia и fglrx соответственно сопряжён с определёнными сложностями и для его осуществления следует выполнить целую последовательность действий.


===Переход со свободных драйверов nouveau и radeon на проприетарные драйвера Nvidia и fglrx===
{{Note|Данная статья устарела в части fglrx, так как начиная с p8 его уже нет в репозитоиии}}
{{Attention|Переход на fglrx следует осуществлять осторожно. Драйвер поддерживается производителем крайне посредственно, и часто последняя версия не соответствует текущей версии xorg, в силу чего просто не работает. Например, {{altbug|31980}} (p8 и p9 уже не затрагивает по причине отсутствия fglrx) }}
 
 
 
{{Note|Перед установкой проприетарных драйверов можно сделать, на всякий случай, [[Теневое копирование+Точка восстановления|'''точку восстановления''']]}}
 
 
== Установка проприетарных драйверов nvidia и fglrx : ==
 
'''Важное замечание для владельцев Radeon''':
 
 
{{Внимание| Драйвер fglrx уже ни применяется начиная с p8. Последние проприетарные драйвера ATI/AMD (fglrx) поддерживают только видеокарты серии Radeon HD 2000 и выше. Так-что в отношении карт radeon статья устарела.}}


1. Если вы ещё ни разу не обновляли дистрибутив, убедитесь, что apt настроен на нужный репозитарий. Это удобно сделать с помощью команды
[[Apt-repo|apt-repo]].
<source lang=bash>
apt-repo
</source>


2. Обновить ядро до последней версии в используемом репозитории:
{{note|в статье предполагается, что у вас стоит ядро типа std-def}}
Открыть терминал  и получить права пользователя root:
'''Шаг 1.''' Обновите систему и ядро до текущего состояния репозитория. Для этого выполните в любом эмуляторе терминала


  <tt>[[Su|su -]]</tt>
  <tt>$ su -</tt>


или нажать <Ctrl+<Alt>+<F1>(или F2...F6) и войти как root:
<tt><nowiki># apt-get update </nowiki></tt>


<source lang=bash>
<tt><nowiki># apt-get dist-upgrade</nowiki></tt>
login: root
passwsd: <пароль root - не отображается>
</source>


Обновить индекс содержимого репозитория:
<tt><nowiki># update-kernel</nowiki></tt>


<tt>apt-get update</tt>
'''Шаг 2.''' Перезагрузите компьютер и выберите пункт загрузки с новым ядром (обычно это первый пункт меню загрузчика).


Обновить систему:
'''Шаг 3.''' Установите соответствующий ядерный модуль видеодрайвера и сам видеодрайвер. Если вы не знаете, какой видеокартой вы пользуетесь, то выполните в терминале команду
<tt>apt-get dist-upgrade</tt>


Обновить ядро:
  <tt>$ lspci | grep VGA</tt>
  <tt>update-kernel</tt>


3. Перезагрузить компьютер c новым ядром.
После того как вы узнали модель вашей видеокарты выполните следующие команды.


4. Открыть терминал и получить права пользователя root: <tt>[[Su|su -]]</tt>
<div style="display: inline; color: red;">Для владельцев Nvidia</div>


5. установить модули для используемого вами ядра:
  <tt>$ su -</tt>
  <tt>apt-get install nvidia_glx_common
nvidia-install-driver</tt>
   
   
или для fglrx
<tt># apt-get install nvidia_glx_common
  <tt>apt-get install kernel-modules-fglrx-ваше-ядро</tt>,
# nvidia-install-driver</tt>
где ''ваше ядро'' можно определить при помощи команды <tt>uname -r</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>
<source lang=bash>
Строка 52: Строка 60:
в этом случае "ваше-ядро" называется std-def.
в этом случае "ваше-ядро" называется std-def.


'''Шаг 6.''' Перезагрузите компьютер.


'''Вместо 6-го и 7-го пунктов можно из графики выполнить вызов центр управления системой'''
Убедитесь, что у вас загрузился драйвер nvidia. И работает видеодрайвер nvidia


({{prg|асс}})
<source lang=bash>
 
$ su -
и выбрать в нём нужный драйвер (см настройку дисплея в нём). Он-же автоматом пропишет всё нужное в чёрные листы (blacklist) - верно в p7 и выще.
# lsmod | grep nvidia
 
# exit
6. Создать файл /etc/modprobe.d/blacklist-video.conf со следующим содержимым:
 
blacklist radeon
blacklist nouveau
7. Создать файл: /etc/X11/xorg.conf.d/50-driver.conf со следующим содержимым:
<source lang=text>
Section "Device"
    Identifier  "Card0|0"
    Driver      "nvidia"
EndSection
</source>
или, соответственно fglrx
<source lang=text>
Section "Device"
    Identifier  "Card0|0"
    Driver      "fglrx"
EndSection
</source>
</source>


Если используется /etc/X11/xorg.conf (например, дистрибутив старого поколения),
Для того чтобы посмотреть, какой видеодрайвер используется, можно выполнить команду (предварительно установив при необходимости одноимённый пакет ):
файл 50-driver.conf '''создавать не надо''', а изменения следует делать в соответствующей секции
<source lang=text>
Section "Device"
.........
    Driver      "nvidia" (заменяем вместо того, что там прописан)
или
    Driver      "fglrx" (заменяем вместо того, что там прописан)
  .....
EndSection
</source>
в xorg.conf.


8. Перегенерируем загрузочную запись (от root):
<source lang=bash>
<source lang=bash>
rmmod radeon
$ inxi -G
или
rmmod nouveau
installkernel $(uname -r)
</source>
</source>


9. Перезагрузиться.
== Удаление модулей драйверов для используемого ядра или запись их блеклист (при необходимости) : ==


'''Возможная проблема:'''
{{Note | В современных системах нет необходимости удалять свободные драйвера, так-что эта глава имеет чисто теоретический интерес.}}


Несмотря на blacklist-video.conf, radeon и nouveau могут быть загружены всё равно,
0. Выходим из графики:
например, если они попали в initrd.  


В случае такой проблемы можно удалить их совсем (см. Удаление модулей свободных драйверов для используемого ядра). Однако, следует помнить, что возвращать модуль, возможно, придётся из архива репозитария, если будет необходимость сохранить старое ядро. Архивы ведутся для Sisyphus и стабильных репозитариев, начиная с p7/t7.
<source lang=bash>
 
<Ctrl> + <Alt> + <F4>
=== Удаление модулей свободных драйверов для используемого ядра: ===
# telinit 3
</source>


1. Удаляем модуль
1. Удаляем модуль
Строка 126: Строка 102:
При этом, если ядер окажется, всё же, более одного, apt-get завершится с ошибкой, но выведет весь список с версиями. Так что, это можно использовать, если Вы не знаете, как записать версию.
При этом, если ядер окажется, всё же, более одного, apt-get завершится с ошибкой, но выведет весь список с версиями. Так что, это можно использовать, если Вы не знаете, как записать версию.


2. Пересобрираем initrd:  
2. Помещение модуля в 
  <tt>make-initrd</tt>
 
Создаём файл /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>installkernel $(uname -r)</tt>
  <tt>installkernel $(uname -r)</tt>
в последнем случаее сразу и переустанавливается текущий загрузчик
в последнем случае сразу и переустанавливается текущий загрузчик
 
4. Переустановить загрузчик при необходимости.
 
== Смена проприетарных драйверов на открытые ==
'''Шаг 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>
 
При следующей загрузке сплэш должен заработать.


3. Переустановить загрузчик при необходимости.
== Замена драйверов nouveau/nvidia "на лету"  ==


см [[Установка_проприетарных_драйверов_NVIDIA_и_ATI]]
[[Nvidia#.D0.97.D0.B0.D0.BC.D0.B5.D0.BD.D0.B0_.D0.B4.D1.80.D0.B0.D0.B9.D0.B2.D0.B5.D1.80.D0.BE.D0.B2_nouveau.2Fnvidia_.22.D0.BD.D0.B0_.D0.BB.D0.B5.D1.82.D1.83.22|Замена драйверов nouveau/nvidia "на лету"]]


=== Гибридная графика ===
== Гибридная графика ==
Для '''Nvidia''' основная статья [[Nvidia_optimus,_настройка_и_запуск_bumblebee]]
Для '''Nvidia''' основная статья [[Nvidia_optimus,_настройка_и_запуск_bumblebee]]


Для '''AMD''':
Для '''AMD''':


Для управления переключениями видеокартами через amdcccle (Catalyst) необходимо дать из под рута команду aticonfig --initial после этого появится пункт в
Для управления переключениями видеокартами через amdcccle (Catalyst) необходимо дать из под рута команду  
amdcccle для переключения м/у intel/amd или amd/amd в зависимости от железа. Есть одно НО необходимо как минимум перезапустить X-сервер о чем и будет написано в amdcccle после совершения манипуляции.  
<source lang="bash">aticonfig --initial</source>
после этого появится пункт в amdcccle для переключения между intel/amd или amd/amd в зависимости от железа. Есть одно НО необходимо как минимум перезапустить X-сервер о чем и будет написано в amdcccle после совершения манипуляции.  


Для управления из консоли  
Для управления из консоли  


<tt>aticonfig --px-igpu переключение на интегрированную  
<source lang="bash">aticonfig --px-igpu переключение на интегрированную


aticonfig --px-dgpu переключение на дискретную </tt>
aticonfig --px-dgpu переключение на дискретную</source>


и для лучшего понимания man aticonfig
и для лучшего понимания man aticonfig


=== Ссылки по теме ===
== Что делать, если после всех шагов не загрузилась графическая система? ==
При установке проприетарного драйвера ATI/Radeon установленного посредством выполнения скрипта, возможно, потребуется дать команду:
<tt><nowiki># amdconfig --initial -f</nowiki></tt>
Успокойтесь и не паникуйте. Вы легко можете вернуться к использованию открытых драйверов. Для этого нужно проделать следующую последовательность шагов.
 
== Известные проблемы  ==
'''Проблема:'''
 
{{note| 1. У владельцев NVIDIA в некоторых ситуациях при запуске системы мелькает логотип NVIDIA, происходит запуск Х-ов, но вместо нормальной картинки монитор показывает по центру полосу примерно в половину ширины экрана с прерывистыми диагональными линиями на ней. Если после этого сделать Ctrl+Alt+F3, Ctrl+Alt+F1, то изображение нормализуется.}}
{{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_и_ATI]]
==Ссылки по теме==
*[[Nvidia|Настройка видеокарт Nvidia]]
*[http://forum.altlinux.org/index.php/topic,11721.msg148508.html#msg148508  Оригинал статьи на форуме]


[[Nvidia]]
{{todo|добавить пояснение причин и проблем}}


[[Category:FAQ]]
{{Category navigation|title=Видеодрайвера|category=Видеодрайвера|sortkey={{SUBPAGENAME}}}}
[[Category:Hardware]]

Текущая версия от 16:25, 21 декабря 2023

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
48px-Mail-mark-junk red.svg.png
Эта статья конкретно протухла.
Статья уже не подходит под современные реалии, под современные версии Альта или сломана совсем. Возможно, её уже не доработать и не поместить в архив.


Переход со свободных драйверов 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 статья устарела.


Примечание: в статье предполагается, что у вас стоит ядро типа std-def

Шаг 1. Обновите систему и ядро до текущего состояния репозитория. Для этого выполните в любом эмуляторе терминала

$ su -
# apt-get update 
# apt-get dist-upgrade
# update-kernel

Шаг 2. Перезагрузите компьютер и выберите пункт загрузки с новым ядром (обычно это первый пункт меню загрузчика).

Шаг 3. Установите соответствующий ядерный модуль видеодрайвера и сам видеодрайвер. Если вы не знаете, какой видеокартой вы пользуетесь, то выполните в терминале команду

$ lspci | grep VGA

После того как вы узнали модель вашей видеокарты выполните следующие команды.

Для владельцев Nvidia
$ su -

# apt-get install nvidia_glx_common
# nvidia-install-driver
Для владельцев Radeon
$ 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

Успокойтесь и не паникуйте. Вы легко можете вернуться к использованию открытых драйверов. Для этого нужно проделать следующую последовательность шагов.

Известные проблемы

Проблема:

Примечание: 1. У владельцев NVIDIA в некоторых ситуациях при запуске системы мелькает логотип NVIDIA, происходит запуск Х-ов, но вместо нормальной картинки монитор показывает по центру полосу примерно в половину ширины экрана с прерывистыми диагональными линиями на ней. Если после этого сделать Ctrl+Alt+F3, Ctrl+Alt+F1, то изображение нормализуется.
Примечание: 2. В консоли шрифт (по нажатию Сtrl+Аlt+(1-6)) Шрифт очень крупный.


Решение:

Проблемы разные, а решение одно и то же:

в этом случае помогает принудительное выставление графического режима в опциях ядра при загрузке (в настройках загрузчика), например, 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-битным цветом.

Кол-во цветовЧисло бит640x480800x6001024x7681280x10241440x9001600x1200
25680x3010x3030x3050x3070x3600x31c
32k150x3100x3130x3160x3190x3610x31d
64k160x3110x3140x3170x31A0x3620x31e
16M240x3120x3150x3180x31B0x3630x31f

Можно еще взять вот из такой таблицы, 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. Предложения, правки приветствуются.

Ссылки по теме

TODO:
добавить пояснение причин и проблем