Bug 13370

Summary: [FR] tips for wise choices
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: alterator-x11Assignee: Nobody's working on this, feel free to take it <nobody>
Status: NEW --- QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P2 CC: boyarsh, ktirf, led, legion, sem, snejok, zerg
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 13545    

Description Michael Shigorin 2007-11-09 16:17:07 MSK
В процессе работы по двум проектам (саморазворачивающиеся рабочие места
фиксированной функциональности и ALTSP) накопился ряд пожеланий к инфраструктуре
настройки X-сервера, которые мы надеемся потихоньку сделать сами, но если в ту
сторону будут мысли/работы -- хотелось бы сообща и с учётом нижесказанного.

В первом проекте потребовалась возможность повлиять на выбор драйвера (примерно
так: "не хочу закрытый, кроме как на крайний случай" или "хочу максимально
надёжный, 2D достаточно")

Ситуация: имеется 2D-only задача и ряд железа, включающий неподдерживаемые как
свободными, так и проприетарными (работающий под чем-то одним) драйверами NVIDIA
и ATI.  В данном случае ориентация на nv+ati была подмочена GF7025 (только
nvidia) и Radeon EAX1550 (только fglrx и, возможно, avivo).

Эвристика получилась такая: автодетектнутый (x11setupdrv -d --nosetup) драйвер
nvidia заменяется на nv, авто-fglrx заменяется на ati, далее если драйвер
остался неизвестным, но на PCI (последнее 0300 по порядку шин) видим
видеоадаптер производства ATI, то ставим fglrx (поскольку неизвестный по нашей
базе адаптер по факту имеет заметные шансы не подняться под "ati"); аналогично
для unknown NVIDIA ставим "nvidia".

Поскольку все эти кувыркания (x11updatedrv у меня в git) неинтересны и
малореюзабельны, то и подумалось, что было бы правильно доработать x11_autosetup
до умения /etc/sysconfig/x11_autosetup с хинтами вроде "хватит и 2D" или
"максимальное разрешение -- 1024x768" (когда дойдём до поддержки dualhead, то
эти самые хинты понадобятся 100%, поскольку получаем схожую ситуацию -- разные
драйверы имеют разные возможности, при этом разные пользователи хотят разного --
в нашем случае потребовалось настраивать вторую голову исключительно на ATI как
:0.1).

При обсуждении потребностей LTSP (и в частности возможности ограничить
разрешение на терминале с терминал-сервера -- на случай CRT-мониторов, которые
слишком высокого мнения о своих способностях) led@ была высказана мысль, что
уметь получать эти хинты из командной строки для случая бездисковых клиентов
было бы тоже хорошо.
Comment 1 Michael Shigorin 2007-11-09 16:50:42 MSK
[15:41:23] <Rider> не, то что ты предлагаешь - это не то. Нужен конфиг, который
перекрывает систему приоритетов для драйверов
[15:41:41] <Rider> насколько я понимаю - сейчас никаких особых приоритетов у
драйверов нет
[15:41:50] <gvy> хм... значит, опять плохо выразился -- мне это и надо ;-)
[15:42:01] <Rider> соответственно невозможен тонкий тюнинг.. например - известно
что на такой-то машинке лучше работает ati, а не fglrx
[15:42:17] <Rider> соответственно мы должны прописать в некую базу данную информацию
[15:42:31] <Rider> только база должна быть не в /etc/sysconfig, а в /usr/share
[15:43:00] <Rider> плюс x11_autosetup должен уметь дополнять её из /etc, коль уж
на то пошло
[15:43:01] <gvy> а если ручками?  для экземпляра?
[15:43:05] <Rider> и база должна быть полной, а не хаки типа "каждый для себя"
[15:45:31] <Rider> тогда это интересно и нужно. Только вот x11_autosetup
придётся многому научить. Например - детекту платформы. 
Для примера - известно что ATI X1400 с fglrx плохо работает на Thinkpad T61
модели 2007FUG - соответственно нужно каким-то образом прописать что на этой
модели нужно использовать не fglrx, а (например) ati или vesa. Но ни в коем
случае не использовать ati или vesa на других X1400
[15:46:05] <Rider> т.е. - нужна возможность управлять поведением в зависимости
от окружения
[15:46:32] <gvy> тоже да -- я думаю пока выложить AW'шный platform-detect для
образца, week@ не против, а оно GPL
[15:47:03] <Rider> ну выложи, только вот толку... в общем ты лучше с boyarsh это
всё перетри сначала
[15:47:05] <Rider> и с inger
[15:47:14] <gvy> для того багу и повесил ;-)
Comment 2 Michael Shigorin 2007-11-26 16:55:37 MSK
перевешиваю, как обсудили (вообще напрашивается вытащить эти скрипты из
alterator-x11 в какой-то разделяемый пакет, нет?  на терминалах нам alterator
вроде как и не нужен...)
Comment 3 Michael Shigorin 2007-11-26 16:56:09 MSK
упс, 2 inger
Comment 4 Michael Shigorin 2008-01-20 20:42:02 MSK
*** Bug 4635 has been marked as a duplicate of this bug. ***
Comment 5 Michael Shigorin 2008-01-20 20:42:43 MSK
2 ktirf: вот об этом говорил, хорошо бы до 4.1 придумать.
Comment 6 Michael Shigorin 2008-06-20 18:22:49 MSD
Пока суть да дело, в /i/u/4.0 отправлен alterator-x11-0.13.8-alt0.M40.2.
Comment 7 inger@altlinux.org 2008-06-20 19:02:38 MSD
(In reply to comment #6)
> Пока суть да дело, в /i/u/4.0 отправлен alterator-x11-0.13.8-alt0.M40.2.
> 

если есть там изменения которых нет в Сизифе, то это плохо ... надо сначала класть в Сизиф, а потом бэкпортить в бранч.
Comment 8 Michael Shigorin 2008-06-21 15:46:32 MSD
Понимаешь, мне оно надо на M40.  Причём как раз когда вы со Славой занялись перелопачиванием модулей в сизифе (в т.ч. /x11) -- заниматься в срочном порядке форвардпортом, ловлей грабель, а потом всё равно бэкпортом ну никак не улыбалось.

Для начала предлагаю всё-таки посмотреть и починить #15901, сейчас в сизифе alterator-backend-x11 немного нерабочий (и смысл этого разлома я так и не понял).

А нужные изменения -- вот:
http://git.altlinux.org/people/mike/packages/?p=alterator-x11.git;a=commitdiff;h=82a8ded717b7f793606383f49a06e7436495e746
http://git.altlinux.org/people/mike/packages/?p=alterator-x11.git;a=commitdiff;h=9c4d7a7602bd1c0f9a1c12ea93e954d1a47a04f4
http://git.altlinux.org/people/mike/packages/?p=alterator-x11.git;a=commitdiff;h=28b2aff182ae74ed78a2e0df2d43c9e7fd7fac18
Comment 9 Vladislav Zavjalov 2008-06-21 16:10:27 MSD
 #15901 исправлена в 0.15-alt6
Comment 10 Michael Shigorin 2009-10-30 14:01:02 MSK
Не добрался.