В ядре 2.6.28 на ATI накрылась VESA в fbconsole
Месяца полтора назад обновился на 28-е ядро и столкнулся со следующей проблемой: ядро перестало распознавать расширенные VESA-режимы (передаваемые параметром vga= через командную строку ядра в загрузчике), соответственно, стало невозможно установить повышенное разрешение в консоли.
С установленным ранее 26-м ядром использовал режим vga=0x318, теперь же получаю ошибку, что такого режима нет. vga=ask и последющая команда scan действительно показывают только стандартные режимы VGA.
Поддержка fbconsole в ядре включена, драйвер radeonfb также включён в ядро. Релевантные параметры в загрузчике сейчас выглядят так: vga=0 video=radeonfb:mtrr:3:ywrap (установил vga=0, чтобы не получать при каждой загрузке ошибки). К слову, с vesafb (его использовал в 26-м ядре) ситуация сейчас идентичная.
Все эти полтора месяца время от времени ломаю себе голову над этой ерундой, но так ни к чему и не пришёл. Кто-нибудь имел опыт подобной ситуации? Куда копать?
- Войдите на сайт для отправки комментариев

64бита?
64бита?
Именно так. AMD Turion64 X2 с
Именно так. AMD Turion64 X2 с видео ATI Mobility Radeon X1600. Есть один нюанс -- это hardened-ядро. На другой amd64-машине с 28-м ядром, но обычным gentoo-sources, такой проблемы нет, правда, там ещё и карта NVidia. Попробую на днях ради эксперимента собрать ванильное ядро на этом турионе.
v86d пробовал?
v86d пробовал?
Нет и, честно говоря, не
Нет и, честно говоря, не хочется связываться с этим геморроем. Тут ведь вопрос в том, почему в прежней версии ядра всё прекрасно работало даже на обычной vesafb. Также проблема явно не архитектуре, как таковой: как я писал выше, на другой машине amd64 (но не с hardened-ядром и с другой видеокартой) аналогичная конфигурация продолжает прекрасно работать на новом ядре.
попробуй с v86d может
попробуй с v86d может получится
Тоже отваливалось :( Решилось
Тоже отваливалось :(
Решилось включением vesa в ядре и правкой конфигов граба. Вроде еще uvesa включил.
<*> VGA 16-color graphics support
<*> Userspace VESA VGA graphics support
[*] VESA VGA graphics support
<*> ATI Radeon display support
версия 1
kernel /vmlinuz root=/dev/sda5 vga=0x0323
версия 2
kernel /vmlinuz root=/dev/sda5 video=uvesafb:1024x768-32,mtrr:3,ywrap
v86d -- это как раз
v86d -- это как раз юзерспейсовый хэлпер для uvesa. Ладно, попробую его поставить, но вся эта возня с двойной пересборкой ядра и klibc не импонирует.
v86d попробовал и забил. На
v86d попробовал и забил. На hardened-ядре оно работать не будет, ибо хэлперу нужен доступ к /dev/mem, куда его никто не пустит. К тому же его надо ставить в initramfs, а у меня это собственный образ, который делался года два назад, и там такой бардак, что переделывать нет никакого желания. Так что пофиг, забью на это дело. Всё равно в консоли нечасто работаю.
Собрал hardened ядро.
Собрал hardened ядро. Фреймбуффер работает. Правда рухнуло все при загрузке иксов.
Я тут тоже допиливаю ядро и
Я тут тоже допиливаю ядро и новый initramfs (всё равно давно стоило сделать). Пока uvesafb фоллбэкается на обычный драйвер vga16, зато уже пингвинятки в загрузке появились. :D
А после установки hardened-ядра мир пересобирался hardened-компилятором? Если да, то иксы мог убить mprotect в настройках PaX'а в ядре.
Короче, допил закончился
Короче, допил закончился стабильным падением ядра при запуске драйвера и его доступе к /dev/mem. Это явно растёт из CONFIG_STRICT_DEVMEM, но в этой ситуации (как и в большинстве других) на рюшечки мне глубоко плевать.
Поставил обратно обычную vesafb с vga=5. Зато хоть initramfs переписал. :)
кстати, есть альтернатива
кстати, есть альтернатива v86d под 64битами?
Он вроде должен работать в
Он вроде должен работать в 64-битной системе. Собирать нужно с use-флагом x86emu.
Нет, даже не собирался.
Нет, даже не собирался. Просто проверил что веса работает.