Обновился.
Ядро - 2.6.32.
xorg-server - 1.7.6.
Дров - xf86-video-ati - 6.12.6.
Mesa - 7.7.1.
Появилось аппаратное 3D, но например в chromium-bsu, такая хрень при попытке сменить разрешение из игрового GUI и вылет игры:
IRQ's not enabled, falling back to busy waits: 2 0
error loading font: GLC: couldn't set context
Из консоли параметры меняются нормально. Возможно ли победить на текущих версиях хозяйства? Хотя вылет из-за «error loading font: GLC: couldn't set context» и это видимо проблема игры, но всё же интересно насчёт прерывания.
>смотри dmesg на предмет firmware, скорее всего у тебя нет R600_rlc.bin или R700_rlc.bin
Да, нема. В /lib/firmware/radeon лежат всякие RV6XX_me.bin, RV6XX_pfp.bin. Что делать?
Хм. А что такое R600_rlc.bin и почему это нужно откуда-то качать?
ну и собственно ядро нужно запускать с modeset=1 или radeon.modset=1
Разве по-умолчанию не должно уже быть modeset=1? Читал, что нужно ставить modeset=0, если необходимо вырубить. По крайней мере у меня перестало писать - «IRQ's not enabled, falling back to busy waits: 2 0» и без этой опции.
R600_rlc.bin прошивка для включения irq?
смотря как собрано ядро, c включеным kms по дефолту или нет.
я так полагаю, раз перестало ругаться на irq то и 3д не работает?
>если ядро не может его загрузить - не врубает 3d. это если просто объяснять.
Что же они не включили в состав ядра то, что оно пытается грузить? Не понятна логика.
оно есть в ядре, но только с какой-то версии, может даже с 33, плюс есть глубоко интимные проблемы в каждом дистрибутиве, которые могут отразится на включении этого файла в состав ядра, в сусе он ставиться вместе с пакетом kernel-firmware,так что по умолчанию этого файла просто нет.
эта прошивка грузится только с кмс, точно,посмотри через lsmod какие модули загружены, останови иксы, выгрузи модуль radeon, загрузи его с параметром modeset=1, проверь dmesg на предмет загрузки прошивки.
Ещё передача параметров ведру - ноль эффекта. После ввода логина и пароля, делаю как Вы советовали - гружу radeon вручную с параметром modeset=1 и 3D фурычит.
>значит нужно патчить ядро или поставить версию 33, drm в 32 походу еще без irq.
Несколько вопросов. Что такое libdrm и зачем ей нужен irq? KMS как понимаю это установка видеорежимов ядром? Если я переключаюсь в терминал, то разрешение переключается с того которое у меня на десктопе в другое(на большее). Возможно это настроить?
не libdrm, а ядерный модуль drm, который юзает модуль radeon, а для kms можно указывать разрешение, но как, я особо не вникал, у меня всегда 1024х768 подхватывает, и мне хватает, нужно что-то типа video=VGA-1:1280x1024 пердать ядру, подставив верное разрешение и видеовыход.
работает и просто video=1280x1024, но у меня kms нормально грузиться при загрузке,он в ядре по умолчанию, ты же запускаешь руками, не знаю как оно подхватит разрешение.
Спасибо, передача параметра «video» ядру, помогла с разрешением в терминале. Что касается передачи параметра модулю через параметр ядра, то как я понял это возможно только для встроенных в ядро модулей. Так что действительно надо искать другой путь передать modeset.
нет, модулями все тоже прекрасно работает, в новых ядрах есть CONFIG_DRM_RADEON_KMS=y что значит включен по умолчанию, если он не нужен, то нужно наоборот выключать, передав nomodeset или modeset=0
У меня «CONFIG_DRM_RADEON_KMS=y» и тем не менее не включается. Кстати я всё-таки не понимаю, если modeset=1 включает KMS(а оно таки видимо включает, раз только с ним меняется разрешение в терминале.), то почему без него вырубается аппаратное 3D? Как-то это немного разрозненно выглядит.
На самом деле KMS включается и без передачи модулю radeon параметра modeset=1. На это указывает строка в dmesg: «[drm] radeon kernel modesetting enabled», и то что в терминале таки меняется разрешение. Но нет аппаратного 3D, очень забавно.
http://www.x.org/wiki/radeonBuildHowTo
попробуй рецепты от сюда, иксы не видят твоего kms потому и нет 3д, а вот если вручную то видят, поиграйся с debug параметром, может что-то и узнаешь.
Ага, нужно грузить драйвер до иксов, теперь пучком. Осталось понять что за: «do_wait: drmWaitVBlank returned -1, IRQs don't seem to be working correctly.»