LINUX.ORG.RU

Как правильно настроить framebuffer?

 ,


2

0

В документации ядра информация по опциям местами расходится с информацией из интернетовских HOW-TO. Ещё не понятно, где информация более свежая...

В общем одни вопросы:

  • какой использовать? vga16? vesa? uvesa? radeon? ещё в в конфиге ядра есть какой-то simple framebuffer... Чем они отличаются?
  • в документации ядра сказано, что у фреймбуфера есть текстовый и графический режим, и что графический медленнее. Какой лучше и как их переключать?
  • где верный список опций? В интернете находил опции для atyfb, а в документации ядра сказано, что для atyfb нет опций.

Пока так и не получилось нормально настроить. С фреймбуфером вывод dmesg очень медленный, тормозящим скроллингом, по сравнению с загрузкой без него.
При использовании VESA fb — в dmesg ошибка:

mtrr: probably your BIOS does not setup all CPUs.
Пробовал указывать разные mtrr:n, но ошибка остаётся.

Какие опции передавать в fbcon и video и как вообще правильно всё настроить? Сейчас использую fglrx, но на будущее и про radeon интересно узнать.

★★★★★

Последнее исправление: teod0r (всего исправлений: 5)

Ничего не надо настраивать, если драйвер нормальный.

Extraterrestrial ★★★★★
()

попробуй lego

anonymous
()

разрывы прокрутки удалось победить с помощью опций синхронизации у fbset

teod0r ★★★★★
() автор топика

Как правильно настроить framebuffer?

Вот так: CONFIG_DRM_KMS_FB_HELPER=y.

какой использовать?

CONFIG_DRM_RADEON или CONFIG_DRM_NOUVEAU или CONFIG_DRM_I915.

Какой лучше и как их переключать?

Само переключит.

как правильно указывать в опциях параметров

Правильно - не указывать, оно само разберется чего умеет монитор.

где верный список опций?

Не нужны опции, все само работает.

Lavos ★★★★★
()

Дело в том, что DRM ядра неявно предоставляет фреймбуфер (по крайней мере для Intel, NVidia и AMD). Как он называется можно узнать из dmesg, но это неважно, т.к. управление разрешением происходит через параметр «video=» ядра. Только самые простые опции гарантированы: геометрия и частота (формат для vesa framebuf). Специфические опции указаны на страницах свободных дров в инете. Если ничего не указано, то драйвер DRM читает EDID моника (или высасывает из пальцаиспользует указанные пользователем данные) и т.д.

Понятно, что несвободные дрова, не знающие про DRM (ты понел) не используют фреймбуфер DRM и для них приходится использовать аутентичный фреймбуфер из большого списка «Frame Buffer Devices» конфигуратора ядра. Для карт NVidia в Gentoo рекомендуют uvesa. Имя ядерной опции, настройка разрешения и других параметров — в документации ядра по фреймбуферу.

Настоятельно рекомендуется использовать либо DRM, либо специальный фреймбуфер из-за возможных конфликтов (они действительно наблюдаются). Исключение составляет фреймбуфер VGA (возможно также и vesa/uvesa, не проверял) — он обеспечивает текстовый режим работы. Тут девиз — по возможности, ничего лишнего, в случае нескольких фреймбуферов — компиляция в виде модулей.

И последнее. Выбор текстового режима осуществляется опцией ядра по номеру режима из таблиц, приведённых в документации ядра по фреймбуферу. Графический режим можно тоже по номеру (если есть), а можно указать геометрию (если нет в таблице). Можно ничего не указывать — тогда EDID или как повезёт.

Надеюсь, букаф не очень много. Если что, попытаемся разобрать конкретный случай.

pS
()

У меня на нвидиаблобе вот что:

[    0.520787] vesafb: mode is 1280x1024x32, linelength=5120, pages=1
[    0.520787] vesafb: scrolling: redraw
[    0.520789] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    0.520796] vesafb: framebuffer at 0xed000000, mapped to 0xffffc90004100000, using 10240k, total 14336k
[    0.614121] fb0: VESA VGA frame buffer device

uvesafb то ли не работал, то ли глючил - уже не помню

pedobear
()
Ответ на: комментарий от pS

Подправил тему.
Получилось загружаться с vesafb. Оказалось не надо было вкомпиливать vga16 чтобы работала vesa, хоть в параметрах fbcon и video я явно указывал fesafb.
Осталась проблема медленного вывода больших текстов на экран. Попробую ещё поиграться с опциями fbcon и video, надеюсь поможет.
И непонятная ошибка mtrr...

teod0r ★★★★★
() автор топика
Ответ на: комментарий от pS

и почему-то больше чем 800x600 не работает. вывод vbeinfo в CLI grub'а показывает максимально возможный на ноуте 1600x900. а emerge hwinfo у меня обрывается на ошибке, проюбовал даже на чистом стэйдже.

teod0r ★★★★★
() автор топика

На nouveau все работает без настройки. Даже видео в 1080p через mplayer играет без лагов и тиринга.

MLP_Fan ★★
()
Ответ на: комментарий от pS

по этому руководству и делал. прикол в том, что эта ошибка появляется только при использовании vesafb. причём раньше активации фреймбуфера (0.181021 против 0.443834)

teod0r ★★★★★
() автор топика
Ответ на: комментарий от teod0r

mtrr: probably your BIOS does not setup all CPUs.

А перед этим строчка какая? Какой полный текст ошибки (с пометкой mtrr:)?

pS
()
Ответ на: комментарий от teod0r

mtrr: your CPUs had inconsistent variable MTRR settings
had

Интернеты говорят, что это — глюк BIOS, и проблема устранена ядром.

pS
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.