LINUX.ORG.RU

Проблемы с uvesafb

 , ,


0

0

Установил uvesafb, работает, разрешение в tty меняет, но есть несколько проблем:

1) не хочет менять scroll=. даже если вручную задать scroll=ywrap — в dmesg пишет scroll=redraw. с другими фреймбуфферами та же ситуация. видимо, из-за этого прокрутка больших текстов такая тормозная (например вывод dmesg приходится ждать секунд 10).

2) после modprobe uvesafb — заместо русских букв в tty — квадратики.РЕШЕНО: 'rc-service consolefont restart' после подгрузки uvesafb.

3) если запустить иксы, переключение между ttyями не мгновенное. причём этот эффект остаётся, если убить иксы. до запуска иксов переключает мгновенно.РЕШЕНО: после 'fbset -csync high -hsync high -vsync high' во всех tty — переключает мгновенно.

4) при прокрутке текста стрелочками в tty в тексте в некоторых местах иногда наблюдаются горизонтальные разрывы как при тиринге, но они смещаются вместе с текстом (а иногда не совсем одновременно с текстом). возможно, это тоже связано с scroll=.

Наличие или отсутствие подгруженного fglrx ситуации не меняет.
Может, нехватает USE-флагов или каких-то опций в ядре?

★★★★★

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

Если тебе не нужно какое-то ну прям сильно экзотическое разрешение - переходи лучше на vesafb, efi fb или simple fb. Последние 2 я плотно не щупал - хз как оно там. Но uvesafb - довольно дохлый

ywrap на vesafb заводится с полпинка.

Кстати что у тебя кажет zgrep MTRR /proc/config.gz ?

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

пока radeon не будет по энергопотреблению не выше fglrx я его не буду использовать

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

Если тебе не нужно какое-то ну прям сильно экзотическое разрешение

нужно. нужно 1600x900-32. остальные fb у меня максимум могут 800x600

ywrap на vesafb заводится с полпинка

см. пункт 1)

что у тебя кажет zgrep MTRR /proc/config.gz ?

CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1

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

efi fb

Я пару месяцев гонял его (когда ещё с интелом толком не разобрался), не сказать, что оно сильно шустрое (по крайней мере на моей интеграшке), но и медленным его тоже трудно назвать, примерно так же, как и с simple fb. Правда, на особо жирных высерах в stdout не проверял.

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

как кстати запускать модуль из параметров граба? у меня uvesafb что-то само не хочет подгружаться

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

как кстати запускать модуль из параметров граба?

Никак, он подгрузится позже init-системой. Хочешь бесшовной загрузки - вкомпиливай прямо в ядро. Как ты себе это представляешь - загрузить модуль из корневой ФС ДО того как эта ФС примонтирована ядром?

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

он подгрузится позже init-системой

если бы. приходится вручную подгружать

Хочешь бесшовной загрузки - вкомпиливай прямо в ядро

так он не запустит /sbin/v86d — уже проверял. он его походу пытается запустить до примонтирования корня

загрузить модуль из корневой ФС ДО того как эта ФС примонтирована ядром?

почему ДО? просто хочу чтоб сам грузил, а не вручную modprobe делать. ведь как-то это можно делать...

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

так он не запустит /sbin/v86d — уже проверял. он его походу пытается запустить до примонтирования корня

Ээээ... v86d нормально запускается ТОЛЬКО при работе из initrd. Если у тебя НЕТ initrd - uvesafb будет работать хреново

И у меня это работало именно так - UVESAFB в ядре, initrd сгенерированный genkernel-ем с v86d внутри

Когда с uvesafb начались проблемы(конкретно - когда genpatches некоторое время не выпускались, а потом пару релизов - выпускались без uvesafb) я свалил на vesafb.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

v86d нормально запускается ТОЛЬКО при работе из initrd

счего бы это? какая разница на каком этапе оно запускается?
если ядро не видит /sbin/v86d, initrd тут каким боком? ведь для работы инитрд тоже корень нужен

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

если ядро не видит /sbin/v86d, initrd тут каким боком? ведь для работы инитрд тоже корень нужен

Фишка в том, что initrd и есть этот корень. Погугли как происходит загрузка ядра с initrd.

Загрузчик передает управление ядру -> ядро подгружает initrd как корневую ФС -> грузится v86d из initrd(тут экран в традиционных FB моргает), другие действия необходимые для поиска настоящего корня(lvm, рэйд, внешние драйвера для ФС - например zfs) -> switch_root/pivot_root в новый, «настоящий» корень, указанный как root= в опциях ядра.

Чтобы экран вообще не моргал, нужно чтобы поддержка фрэймбуффера была сквозной в загрузчике и ядре. Такое достигается, например с помощью efi fb, когда фрэймбуффер инициализируется еще в загрузчике(или даже еще раньше) и управлением им просто передается дальше

Копать в сторону grub gfx payload keep

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 3)
Ответ на: комментарий от Pinkbyte

Фишка в том, что initrd и есть этот корень

я неправильно выразился. я знаю что такое initrd. хотел сказать, что в случае запуска v86d ядру всё равно откуда его грузить — из настоящего корня или из инитрд. если оно не могло загрузить из /sbin/ то и из инитрд не загрузит. у меня просто система грузится с USB, видимо, подсистема USB инициализируется после uvesafb. а ставить костыль инитрд не собираюсь

teod0r ★★★★★
() автор топика
Последнее исправление: teod0r (всего исправлений: 1)
Ответ на: комментарий от teod0r

Ну ок, я рассказал свой опыт работы с uvesafb. Успешный. Если тебя он не устраивает - ради Бога, насильно мил не будешь.

Возможно у тебя проблема вообще в другом и мои советы не помогут - тут спорить не буду.

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

Возможно у тебя проблемы вообще в другом

вероятней всего так и есть, раз во всех других fb всегда scroll=redraw и тормозной скроллинг текста

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

а как-то всё-таки через параметры граба можно ядро просить подгружать модули, или только через систему инициализации?

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

пробовал рецепт из гугла:
insmod gfxterm
insmod vbe
не работает. а в калкулейте помню там в грабе шрифт мелкий был, т.е., походу, разрешение там больше...

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

в калкулейте помню там в грабе шрифт мелкий был, т.е., походу, разрешение там больше...

grub до ядра загружается

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

grub до ядра загружается

представь себе, я знаю
как поменять разрешение в грабе? пробовал через переменные в конфиге — не меняется

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

кстати ещё заметилась такая фигня:
в иксах в xterm при прокрутке по SHIFT+PGUP наблюдаются мелькающие горизонтальные пустоты (чернота) прямоугольниками во всю ширину экрана высотой где-то с четверть экрана. даже без опций фреймбуффера в ядре. хз, может, это сам xterm. надо посмотреть, может в мане что-то про это есть. а может иксы
но скорость прокрутки в иксах нормальная

teod0r ★★★★★
() автор топика
Последнее исправление: teod0r (всего исправлений: 1)
Ответ на: комментарий от teod0r

Никак. Модули подгружает дальше либо udev, либо система инициализации. Либо вручную, конечно же...

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

vbeinfo показывает максимальное разрешение

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

не нужно какое-то ну прям сильно экзотическое разрешение
uvesafb - довольно дохлый

А как жить пользователям блоба от nvidia?

afterlanding ★★
()
Ответ на: комментарий от Waldo-de-Kard

Не пользовался Funtoo ни разу. Из деривативов Gentoo щупал Sabayon и Calculate. Ну и немного Pentoo

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

Я похоже что-то напутал, считал что он не совместим с nvidia-drivers.
Вчера пересобрал с vesafb, все отлично работает, странно что в wiki только uvesafb.

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