LINUX.ORG.RU

Интереснейшее наблюдение за KMS


0

1

Здравствуйте! Недавно приобрёл нетбук с процессором AMD. Видеочипсет ATi Radeon 4200. И столкнулся с очень интересным явлением...

Стоит Gentoo, ядро 2.6.36-r6. В ядре есть DRI-драйвер ATi и KMS к нему. Модулем. Я просто хотел его помучить, а потом установить fglrx. Установил fglrx. При этом даже Quake III тормозит если врагов по сети много. А на 3200 ничего такого не было. Потом всё само починилось.

Это проблема вкратце. Теперь подробнее. Драйвер ATI со своим KMS был модулем. Поэтому у меня в разрешении 640x480 сначала пролистывался лог загрузки, потом одновременно с монтированием раздела / применялось разрешение 1366x768. Это модуль подгружался. В загрузившейся системе даже Quake III тормозит.

Я решил что это неправильно, что сначала лог загрузки в маленьком разрешении. Поэтому вкомпилировал драйвер ATI в ядро. И что вы думаете - ошибка! Ядро перед загрузкой системы задумывалось на минуту, а потом говорило «Не удалось загрузить firmware для r600!». Могу дать точную цитату если это поможет. Ну а после этого уже начинался лог загрузки - сразу в нужном разрешении. А не в середине загрузки, как раньше. В загрузившейся без firmware дистрибутиве игры перестали тормозить!!!

Только что вернул обратно модулем (хотел решить проблему тормоза при загрузке) - тормоза игр вернулись. Теперь у меня два одинаковых ядра. Одно быстро загружается, а в другом игры не тормозят.

У меня вопрос: что это было и как сделать так, чтобы этого не было? Куда баг постить?

P.S. Пользуясь случаем спрошу. Вот раньше я это знал, теперь не помню. Для 800x600 и 256 цветов надо 512 Кб памяти минимум. А почему? Умножаю 800 на 600 на 256, получаю миллионы байт, делю на 1024, получаю 120 000. Почему не 512? Где ошибка?



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

>Куда баг постить?

В раздел для кривых рук.

Почему не 512?


Потому что не 512

Где ошибка?


В непонимании, как работают видеокарты.

devl547 ★★★★★
()

linux /vmlinuz26 root=/dev/sdxn ro nomodeset
(c) /boot/grub/grub.cfg

snoopcat ★★★★★
()

>Ядро перед загрузкой системы задумывалось на минуту, а потом говорило «Не удалось загрузить firmware для r600!»
Всё правильно. Вкомпиливаешь radeon — вкомпиливай и поддержку своего agp/pci-e, а заодно и своё firmware.

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

$ zgrep FIRMWARE /proc/config.gz
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=«radeon/R200_cp.bin»
CONFIG_EXTRA_FIRMWARE_DIR=«/lib/firmware/»
CONFIG_FIRMWARE_EDID=y
CONFIG_FIRMWARE_MEMMAP=y

Примерно так.

x3al ★★★★★
()

>В загрузившейся без firmware дистрибутиве игры перестали тормозить!!!
Странно.

в разрешении 640x480 сначала пролистывался лог загрузки

Ты что, vga=whatever в ядре используешь, или текстовый режим называешь 640x480? Любой фреймбуфер кроме родного KMSного — очень плохая идея.

x3al ★★★★★
()

И ещё. Причину тормозов без логов иксов, dmesg на предмет dri/dri2 и glxinfo угадают только телепаты.

Драйвер ATI со своим KMS был модулем.

Это вполне нормальная ситуация, в которой всё должно работать.

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

Кроме ro никаких параметров не стоит. Хотя нет, кажется описывал quiet, но я не знаю что это такое.

Конфиги предоставлю.

У меня возникла мысль... А может быть, проприетарный драйвер предоставляет свою фирмварь? И ещё, проприетарный драйвер может не дружить с KMS.

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

В проприетарном в любом случае нет KMS и непонятно, зачем открытый вообще нужен, если ты с проприетарным. Фирмварь здесь — небольшой блоб только для свободного, нет смысла её менять, но без неё полноценного KMS нет.
Меня больше интересует

В загрузившейся без firmware дистрибутиве игры перестали тормозить!!!

Выглядит фантастикой. Я помню скорость radeon с KMS без фирмвари у себя.

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

без микрокода кмс не запускается (эквивалентно nomodeset,только с длиннющим таймаутом при загрзуке,емнип, 180 секунд).

Тс'у советую читать про открытые и закрытые драйвера, параметры grub, а еще не подходить к сборке ядра.

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

>без микрокода кмс не запускается
Хм. У меня запускался, но был жутко медленным. Хотя это r200, а не r600.

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

Доберусь до ноутбука - диангостирую. Наверное ошибся где-то. Факт в том что игры то тормозят, то не тормозят. Я был уверен что это из-за разных параметров ядра

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