Xorg не создает драйвера
Что-то я уже вконец замучился и ничего не понимаю...
В Gentoo я новичек совсем, поставил его в первый раз в самом-самом начале февраля. Многое делал почти наугад - но, как ни странное, всё вроде получалось. И иксы встали, и fluxbox запустился, и систему русифицировал (на utf причем, заодно и русские маны заставил заработать). Но вот вчера утром сделал emerge -uDN system и emerge -uDN world - после чего иксы отвалились с концами.
Исследование показало, что дело в том, что Xorg почему-то не желает создавать драйвера под себя (то есть в разделе /usr/lib/xorg/module/drivers - пусто). В make.conf карта прописана (radeon и vesa). Если ставить закрытые ati-шные драйвера (fglrx) - то они ставятся и прописываются, куда нужно, но с ними тоже не работает - просто потому, что моя карта (Radeon 9000) ими не поддерживается, это я уже выяснил. А вот открытые - даже ставиться не хотят!
В ядре (2.16.19-r5) нужные модули включены и при старте загружаются (intel-agp, agpgart, drm, radeon). Если использовать genkernel - та же история.
В чем тут может быть засада?
P.S. emerge xorg-server (и emerge -NDt) никаких ошибок не выдает, завершается нормально.
- Для комментирования войдите или зарегистрируйтесь
Xorg не создает драйвера
(глядя на часы, очень-очень мрачно) В общем, заставил я иксы работать. Вручную с сайта X.org скачал драйвера, вручную их скомпилировал, и вручную же поставил.
А вот почему то же самое оказался неспособен сделать Portage - как говорится, "Вы спрашиваете - Зебра ответить не может", м-да...
P.S. Особую пикантность ситуации придает тот факт, что для других карт драйвера совершенно спокойно устанавливались и в автоматическом режиме (если задать нужный ключ в make.conf).
И это, если честно, сильнее всего сбивало (и до сих пор сбивает) меня с толку...
Сам виноват
Достаточно было в /etc/make.conf прописать:
VIDEO_CARDS="radeon vesa"
Xorg не телепат и все подряд не собирает.
Во-первых
Во-первых собирает
Во-вторых он их указал, о чем и сообщил.
Дай поглядеть на те логи. И поищи дрова просто так на диске, возможно что просто портажеские дрова ставятся не туда (куданить в /usr/lib/opengl/radeon/, к примеру), а потом не могут создать (по каким-то причинам) симлинк. У меня с нвидией так было.
Да и еще. Вообще-то это папка и должна быть пуста. Зачем она тебе если ты ставишь drm? Либо отключай drm в ядре вместе с drm драйвером, либо ставь дрова нормальные. К тому же xorg имеет кучу built-in дравов, не пытался поюзать их? ati например
Re: Во-первых
Домой приду - могу кинуть, но, вообще-то, ничего загадочного там не было, всё писалось прямо. :) То есть, если закомментить в xorg.conf строчку Drivers - писалась ошибка парсирования файла xorg.con (не найдена секция Drivers). Если раскомментировать, но в папке /drivers пусто - писалось, что дайвера не найдены (или вообще не найдены, или, если в xorg.conf указан один драйвер, а в /drivers лежит другой - что драйвер неправильный).
Поискал, конечно. :) Всё-таки, это в Gentoo я новичок, а в Linux'e вообще - совсем даже нет. :)
М-м-м, это точно, что она должна быть пуста? Мне казалось, что drm - это просто надстройка, обеспечивающая разного рода ускорения аппаратные, так что базовый драйвер всё равно должен быть.
Соответственно, если ускорения тебе не нужны, то на счет drm можно вообще не заморачиваться. А если нужны - то есть три варианта:
1. Отключить drm в ядре, и поставить "закрытый" fglrx, который включает в себя и базовый драйвер, и drm часть - и ставится в /drivers, ага.
2. Включить drm в ядре, тогда drm часть не нужна (обеспечивается ядром), но базовая - все равно требуется.
3. drm в ядре опять-таки отключить, но доставить пакет x11-drm, и получить нужные тебе отдельные *_dri.so файлы. Но базовые *_drv.so - все равно нужны. Ну, по крайней мере, мне так кажется. :)
Впрочем, вообще отключать drm в ядре и переустанавливать xorg я пробовал - безрезультатно, увы.
Вот они-то как раз ставиться и не хотят. :) Надо будет попробовать ручками нужный пакет драйверов поставить, ага. :)
А вообще - я, кажется, окончательно понял, в чем там дело. Мне драйвера клавиатуры и мыши помогли. :) Я заметил, что, хотя остальные xorg-файлы (в тех же \extension, например) при переустановке обновляются (естественно), драйвера в \input остаются неизменными, со старой датой. Я взял, и перенес их в резервную папку, после чего переустановил xorg. Увы, драйверов в \input при этом не появилось, и иксы опять-таки отказались работать.
То есть, по какой-то причине, portage неправильно парсит make.conf - в той части, VIDEO_CARDS и INPUT_DEVICES которая, и ключи там рассматривает в смысле исключения (то есть "-radeon", "-keyboard" и т.д.). Но по emerge -pv выводит все правильно, как ни странно - то есть, возможно, ошибка возникает на более позднем этапе.
Попробую переустановить portage, ага, - посмотрим, что получится. :)
Спасибо за помощь! :))
P.S. Да, кстати, я немного слукавил (точнее - сам забыл) - xorg ставил драйвера под другие видеокарты только тогда, когда я вообще секцию VIDEO_CARDS из make.conf убирал, и начинало ставиться всё подряд. Если же ключ указывать явно (под ту же вудушку, например, или просто vga)- то опять-таки получался полный облом. :)
есть такой
есть такой пакет - gentoolkit а в нём полезна весч - equery
вот если ты скажеш
equery f имя_пакета
то она скажет что куда сунула.
а неправильно парсит только если неверно написать
Re: есть такой
Увы, насчет драйверов equery тоже молчит, как партизан. :) Это точно заговор, однозначно! ;)
Да, "написал все буквы - не смог написать слово" (почти (с)). ;)
Только вот emerge -pv, как я уже сказал, это "неправильное" слово почему-то вполне распознает - но, к сожалению, к адекватным действиям это его не побуждает, нет. :(
P.S. Да, кстати, если уж речь зашла про equery - то equery uses тоже показывает, что нужный флаг всё-таки был мной поставлен. :)
а после
а после установки переменных был сделан
emerge -uND world
Конечно. :) И
Конечно. :) И env-update && source /etc/profile тоже.
В общем, решение я, кажется, нашел (см. ниже), но смутное чувство неудовлетворенности всё равно осталось. ;)
Эта...
Мыша и клава тут не причем - они ставятся отдельными пакетами - x86-input-че-то-там (если не ошибаюсь), а если ты файлы переместил - портаж об этом не узнает. Стандартные драва - built-in которые - это которые без апаратки - ati, nv и проч. Они всегда внутри и модулями нигде не светятся.
З.Ы У меня в папке drivers лежит тока nvidia_driver который запихался туда при установке одноименного пакета. А DRM модули ставятся не туда - они пихаются в /lib/modules/ и там во глубине сибирских руд есть папочка drm. И их надо загружать modprobe (ну или в автолоад). Иначе xorg их не найдет. А дрова которые отдельные (не в x11-drm) - они скорее всего не для drm и с ним конфликтуют. А вообще почитай у них на сайте.
Re: Эта...
Да, это действительно так. :) Но то же самое относится и к видео-драйверам тоже, это я выяснил точно, заглянув в ebuild xorg-server'ный. Там за все это переменная PDEPEND отвечает. И, соответственно, если в VIDEO_CARDS задать "radeon" - то ставится пакет /x11-drivers/xf86-video-ati-{номер версии}, а если "fglrx" - то /x11-drivers/ati-drivers-{номер версии}.
С мышой, клавой, а также с другими видео-драйверам точно так же. Единственно - у ati и nvidia есть две версии драйвера, открытая и закрытая, с разными ключевыми словами (для ati я их выше указал), а у всего остального - только одна.
Возможно, у старого (монолитного) xorg-сервера они действительно были внутри, но у нового (модульного) они тоже должны лежать в /drivers, только что я в этом окончательно убедился. :)
И через него ты и работаешь, правильно? :)
Да, конечно. :) Эта (/lib/modules/dri/) папочка появляется, если пакет x11-drm доставить. Только загружать файлы в ней не надо, сервер их сам подхватывает (при наличии, естественно). Загружать надо, если drm включить модулем в ядре - тогда модуль будет называться radeon.ko, и именно на него надо натравить modprobe. :)
Конечно. :) Или папочка /dri, или модуль в ядре - но не оба разом. :)
А вообще - теперь-то, вроде, я действительно окончательно понял, в чем было дело. :) Просто (по крайней мере, у меня) ни при удалении, ни при переинсталляции xorg не удаляет (и не переинсталлирует) те пакеты, которые он сам же доставляет при первоначальной установке. И никакие комбинации ключей из испробованных мною (u, N, D, t, даже o) не могут его переубедить, увы.
Так что единственный сработавший вариант:
emerge -C xorg-x11
emerge --depclean
emerge -va xorg-x11
revdep-rebuil
После чего все необходимые драйвера появились, как по волшебству, и всё заработало. :)
Но это решение смущает меня своей неизящностью... Может быть, есть и другой вариант? :)
что-то я
что-то я непонял, а как у тя дрова пропали?
а так со всеми зависимостями
рдепенд - нужно при запуске,
депенд - при компиляции
и переставляються только если поменялась версия
Re: что-то я
Просто в самом начале, когда я еще только-только поставил Gentoo, у меня не компилировались пропиетарные ati-drivers (из-за несовместимости с ядром, как я теперь знаю). И я в ходе экпериментов поставил xorg с флагом "~x86".
Когда же я всё более-менее настроил, то решил откатиться на стабильную ветку. Но xorg начал ругаться на более новую, чем поддерживаемую версию драйверов - и отказался работать. Убедившись, что драйвера действительно не заменились, я их удалил (вдруг, думаю, само их наличие чему-то там препятствует...).
Вот и понеслось. :)
Модульные Иксы и монолитные
Как сказал Станислав Лем - студент знает материал только сразу сдачи экзамена :-) Нет ли желания сравнить скорость скролинга Вэб-страниц в броузере под xorg-x11-6.9 и новыми xorg-7.0+ ? Для этого не обязательно рушить GENTOO, достаточно поиграться с KNOPPIX_V3.7-2004-12-08-EN.iso (для примера, он использует аж xfree86-4.3.0) и KNOPPIX_V5.1.1CD-2007-01-04-EN.iso (у него уже модульные X). Я лично ытягиваю ядро и initrd из изошки и прописываю параметры из isolinux.cfg в GRUB
Пример:
title KNOPPIX 5.1.1
kernel /boot/linux ramdisk_size=100000 init=/etc/init \
lang=us apm=power-off vga=791 xmodule=fbdev \
nomce loglevel=0 BOOT_IMAGE=knoppix
initrd /boot/minirt.gz
А каталог KNOPPIX c squashs образом внути (по имени KNOPPIX) пишу в корень какого-либа раздела.
После экспериментов останется вариант для resque загрузки и восстановления GENTOO после неудачных емерже
Просто никак не могу найти подтверждения -- медленный сролинг для fbdev в модульных исках это специфика моего железа или это все же факт
я помню что в
я помню что в гене у меня был при запущеном фрамбуффере медленный скролинг. это фича - где-то видел что можно задать ограничение на то, сколько символов в секунду он показывает.
здесь видимо нето, но например в Опере можно включить "гладкое прокручивание страниц" , и ещё может иметь значение сколько за 1 "деление" колеса прокрутки прокручивается строк на странице. а вообще помоему что фбдев что веса - тормоза. а что нормальных дров нет?
ЭЭэ. не понял
ЭЭэ. не понял Дык это получается, тчо у тебя Х-ы пишут не прям в видюху а во фреймбуфер? Дык че тут удивлятся...
Так старые Хы как-то умудрялись работать быстро
При том же драйвере. Вот в чем вопрос
Re: Сам виноват
(разводит руками) "Ну не шмогла я, не шмогла!.." (с) ;)