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: Во-первых

Night Nord написал(а):
Дай поглядеть на те логи.

Домой приду - могу кинуть, но, вообще-то, ничего загадочного там не было, всё писалось прямо. :) То есть, если закомментить в xorg.conf строчку Drivers - писалась ошибка парсирования файла xorg.con (не найдена секция Drivers). Если раскомментировать, но в папке /drivers пусто - писалось, что дайвера не найдены (или вообще не найдены, или, если в xorg.conf указан один драйвер, а в /drivers лежит другой - что драйвер неправильный).

Цитата:
И поищи дрова просто так на диске, возможно что просто портажеские дрова ставятся не туда (куданить в /usr/lib/opengl/radeon/, к примеру), а потом не могут создать (по каким-то причинам) симлинк. У меня с нвидией так было.

Поискал, конечно. :) Всё-таки, это в Gentoo я новичок, а в Linux'e вообще - совсем даже нет. :)

Цитата:
Да и еще. Вообще-то это папка и должна быть пуста. Зачем она тебе если ты ставишь drm? Либо отключай drm в ядре вместе с drm драйвером, либо ставь дрова нормальные.

М-м-м, это точно, что она должна быть пуста? Мне казалось, что drm - это просто надстройка, обеспечивающая разного рода ускорения аппаратные, так что базовый драйвер всё равно должен быть.

Соответственно, если ускорения тебе не нужны, то на счет drm можно вообще не заморачиваться. А если нужны - то есть три варианта:

1. Отключить drm в ядре, и поставить "закрытый" fglrx, который включает в себя и базовый драйвер, и drm часть - и ставится в /drivers, ага.

2. Включить drm в ядре, тогда drm часть не нужна (обеспечивается ядром), но базовая - все равно требуется.

3. drm в ядре опять-таки отключить, но доставить пакет x11-drm, и получить нужные тебе отдельные *_dri.so файлы. Но базовые *_drv.so - все равно нужны. Ну, по крайней мере, мне так кажется. :)

Впрочем, вообще отключать drm в ядре и переустанавливать xorg я пробовал - безрезультатно, увы.

Цитата:
К тому же xorg имеет кучу built-in дравов, не пытался поюзать их? ati например

Вот они-то как раз ставиться и не хотят. :) Надо будет попробовать ручками нужный пакет драйверов поставить, ага. :)

А вообще - я, кажется, окончательно понял, в чем там дело. Мне драйвера клавиатуры и мыши помогли. :) Я заметил, что, хотя остальные 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: есть такой

evadim написал(а):
есть такой пакет - gentoolkit а в нём полезна весч - equery
вот если ты скажеш
equery f имя_пакета
то она скажет что куда сунула.

Увы, насчет драйверов 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: Эта...

Night Nord написал(а):
Мыша и клава тут не причем - они ставятся отдельными пакетами - x86-input-че-то-там (если не ошибаюсь)

Да, это действительно так. :) Но то же самое относится и к видео-драйверам тоже, это я выяснил точно, заглянув в ebuild xorg-server'ный. Там за все это переменная PDEPEND отвечает. И, соответственно, если в VIDEO_CARDS задать "radeon" - то ставится пакет /x11-drivers/xf86-video-ati-{номер версии}, а если "fglrx" - то /x11-drivers/ati-drivers-{номер версии}.

С мышой, клавой, а также с другими видео-драйверам точно так же. Единственно - у ati и nvidia есть две версии драйвера, открытая и закрытая, с разными ключевыми словами (для ati я их выше указал), а у всего остального - только одна.

Цитата:
Стандартные драва - built-in которые - это которые без апаратки - ati, nv и проч. Они всегда внутри и модулями нигде не светятся.

Возможно, у старого (монолитного) xorg-сервера они действительно были внутри, но у нового (модульного) они тоже должны лежать в /drivers, только что я в этом окончательно убедился. :)

Цитата:
З.Ы У меня в папке drivers лежит тока nvidia_driver который запихался туда при установке одноименного пакета.

И через него ты и работаешь, правильно? :)

Цитата:
А DRM модули ставятся не туда - они пихаются в /lib/modules/ и там во глубине сибирских руд есть папочка drm. И их надо загружать modprobe (ну или в автолоад).

Да, конечно. :) Эта (/lib/modules/dri/) папочка появляется, если пакет x11-drm доставить. Только загружать файлы в ней не надо, сервер их сам подхватывает (при наличии, естественно). Загружать надо, если drm включить модулем в ядре - тогда модуль будет называться radeon.ko, и именно на него надо натравить modprobe. :)

Цитата:
А дрова которые отдельные (не в x11-drm) - они скорее всего не для drm и с ним конфликтуют.

Конечно. :) Или папочка /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: Сам виноват

(разводит руками) "Ну не шмогла я, не шмогла!.." (с) ;)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".