В ядре 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-м ядре) ситуация сейчас идентичная.

Все эти полтора месяца время от времени ломаю себе голову над этой ерундой, но так ни к чему и не пришёл. Кто-нибудь имел опыт подобной ситуации? Куда копать?

Изображение пользователя Gremlin.

64бита?

64бита?

Именно так. AMD Turion64 X2 с

Именно так. AMD Turion64 X2 с видео ATI Mobility Radeon X1600. Есть один нюанс -- это hardened-ядро. На другой amd64-машине с 28-м ядром, но обычным gentoo-sources, такой проблемы нет, правда, там ещё и карта NVidia. Попробую на днях ради эксперимента собрать ванильное ядро на этом турионе.

Изображение пользователя Gremlin.

v86d пробовал?

v86d пробовал?

Нет и, честно говоря, не

Нет и, честно говоря, не хочется связываться с этим геморроем. Тут ведь вопрос в том, почему в прежней версии ядра всё прекрасно работало даже на обычной vesafb. Также проблема явно не архитектуре, как таковой: как я писал выше, на другой машине amd64 (но не с hardened-ядром и с другой видеокартой) аналогичная конфигурация продолжает прекрасно работать на новом ядре.

Изображение пользователя Gremlin.

попробуй с 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 переписал. :)

Изображение пользователя Gremlin.

кстати, есть альтернатива

кстати, есть альтернатива v86d под 64битами?

Он вроде должен работать в

Он вроде должен работать в 64-битной системе. Собирать нужно с use-флагом x86emu.

Нет, даже не собирался.

Нет, даже не собирался. Просто проверил что веса работает.