nextus 05.02.2011 19:40 idea

Изливание перманентного батхёрта или «как я провёл субботу», который к концу дня вылился в этот срыв покров с технологии hybrid graphics. С середины обещаю господские прыщетрюкачества.
Продолжаю ленту хейтерства на все оси подряд. В этот раз выяснилось у глубоком отсосе пинукса с гибридными видеокартами в ноутбуках. Несколько лет назад появились первые ноутбуки, в которых было две видеокарты: одна дискретная для всяких ёбостей типа игр, другая встроенная в материнскую плату, для работы вдали от розеток, так как потребляет в пару раз меньше энергии. Естественно всё это было ориентировано на спермоось, что не помешало в получении многих подводных камней. Например, при таком режиме switchable grahics обычные дрова для ati с ихнего сайта не встанут из-за модифицированного биоса GPU, придётся качать несвежие патченные версии с сайта производителя ноутбука, в которых что-то вполне может не работать. У меня например не определялась hdmi звуковая карта, из-за чего не получалось поиграть с такой-то акустикой на большом экране ._. Благо, в биосах леново есть функция, позволяющая изменить тип графической подсистемы с switchable на только дискретную, в которой интегральная полностью игнорируется. Считается, что мне ещё повезло, потому что в ноутах от hp такой фичи в биосе нет, и всем предлагается дружно сосать. Но всё это меркнет перед тем, что мне устроил линукс. Целый год, целый блядь год я не подозревал какую же он хуйню творит с этими видюхами.
В прыщах поддержка таких видеокарт появилась в ядрах, начиная с .33 версии, фича в конфиге называется vgaswitcheroo, только особого толка от неё всё равно мало: в иксах без перезапуска это не будет работать из-за архаичности сервера. К тому же проприетарный кусок говна под именем catalyst всё равно не умеет такие штуки, а швабодный xf86-video-ati для семейства evergreen умеет даже меньше (да там 3d только пару недель назад запилили), чем интеловая карточка. Т.е. выбор был очевиден, плюс батарейку жрать будет меньше.
В конфиг икса добавил секцию:
Section "Device"
Identifier "Intel GMA HD 5700"
Driver "intel"
BusID "PCI:0:2:0"
EndSection
BusID взял из lspci | grep VGA (там выводило две строчки с разными адресами, т.е. по идее видеокарты аккуратно определяются, всё красиво). Всё заработало и был таков. Отдельные пиздецы вроде адового нагрева ноута (не, ну правда, он иногда сам отключался, если его на кровати оставить) и относительно громкого вентилятора я списывал на саму конструкцию ноута. И сейчас блядь, спустя столько времени, что же оказывается? Эта линусова ссанина ВСЁ ЭТО ВРЕМЯ ПИТАЛА ДВЕ ВИДЮХИ СРАЗУ БЛЯДЬ. НО ЗАЧЕМ? Чтобы это узнать надо всего-ничего: базовые знания прыщей и звание телепата на уровне падавана: монтируем debugfs ядра, можно добавить такую строчку в fstab:
none /sys/kernel/debug debugfs defaults 0 0
теперь вы можете^W^Wвам надо ПЕРЕЗАГРУЗИТЬ КОМПЬЮТЕР. Ах да, у вас обязательно должно быть ведро, скомпиленное с опцией CONFIG_VGA_SWITCHEROO=y или m, zgrep -i switch /proc/config.gz в помощь. В конце концов должен появиться заполненный файлик /sys/kernel/debug/vgaswitcheroo/switch, в котором будет нечто следующее:
0:+:Pwr:0000:00:02.0
1: :Pwr:0000:01:00.0
> Pwr
НУ ВЫ ПОНЕЛИ. По первоночальному замыслу всё это даже удобно:
echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch переключает на интегрированную карту, а echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch на дискретную. echo OFF отключает БЛЯДЬ ПИТАНИЕ ОТ НЕ ИСПОЛЬЗУЕМОЙ, И ПОЧЕМУ ЭТА ХУЙНЯ НЕ ПО ДЕФОЛТУ ПРОИСХОДИТ? Для предвкушающих написать что-то в сторону arselinux скажу (если кто-то дочитал до сюда, лол), на убунте всё также, более того, 60% инфы я получил с убунтуфорума. Отдельный батхёрт начинается с того этапа, что после выключения ати карты, иксы просто не стартуют, а вся система зависает К ХУЯМ. В логах (EE) вообще нет. Получив следующий ранг телепата (в интернетах я вообще по этому поводу ничего не смог нагуглить), я добавил ядрёный модуль radeon в блэклист (в арче для этого есть отдельная строчка в /etc/rc.conf), ТЕПЕРЬ Я МОГУ ПЕРЕЗАГРУЗИТЬ КАМПУТЕР (rmmod radeon выдаёт няшный бэктрейс и остаётся висеть в памяти) и … чтобы вы думали? Файлик /sys/kernel/debug/vgaswitcheroo/switch ТЕПЕРЬ ПУСТОЙ, раз нет видюхи, нахуй мне де работать с ней? И что сука характерно, её питание продолжается. Слава яйцам, есть дети достойных матерей, запиливших это: https://github.com/mkottman/acpi_call (отдельный пакетик для арча в AUR'е: http://aur.archlinux.org/packages.php?ID... который позволяет управлять питанием порта видюхи напрямую посылая команды acpi. Чтобы узнать какой именно порт надо пидорнуть в пакете есть файлик test_off.sh. Для меня это было:
Trying \_SB.PCI0.P0P2.PEGP._OFF: works!
Ну а дальше в /etc/rc.local: echo '\_SB.PCI0.P0P2.PEGP._OFF' > /proc/acpi/call , и тысяча хуёв в мой рот, всё работает. Если из блэклиста убрать radeon, то иксы опять всю систему вешают. На самом деле возможно хватит и в параметрах ядра в грабовском menu.lst добавить radeon.nomodeset к уже существующему i915.modeset=1, но мне уже западло проверять. Вы только посмотрите на эти цифры по grep rate /proc/acpi/battery/BAT1/state :
ДО: present rate: 2526 mA ПОСЛЕ: present rate: 1426 mA
По powertop видно, что потребление упало с 23W до 16W. Увеличение экономии заряда на 50% это вам не пёсий анус. Это я уж не говорю о том, что он теперь НЕ ШУМИТ.
Вот так и вижу будущее: батарейки на основе ядерного распада, управлением степенью изоляцией которого занимается специальный ДРОЙВЕР в ядре, которого на 60% дистров не будет вовсе из-за опции N в конфиге, а у других будет работать с дефолтной опцией manual. А радиация она такая, не понюхаешь.

1. ulidtko 05.02.2011 20:05 lunatic asylum

> добавил ядрёный модуль radeon в блэклист (в арче для этого есть отдельная строчка в /etc/rc.conf)
> отдельная строчка в /etc/rc.conf
> arselinux

Во всех мейнстримных дистрибутивах /etc/modprobe.d/blacklist.conf есличо.

2. nextusulidtko /1 05.02.2011 20:14 idea

это ок, я просто перечитал арчвики :3

3. eurekafagnextus /2 05.02.2011 20:18 4811200621296934162594879

Арсевики.

4. nextuseurekafag /3 05.02.2011 20:21 idea

Попизди мне ещё тут .\_/. мне почти всегда попадаются маны либо с арчвики либо с гентушного. Про доебановскую вики узнал только сейчас, специально погуглив

5. eurekafagnextus /4 05.02.2011 20:22 4811200621296934162594879

У меня тоже так, лол. И с форумов тоже. Но обычно это ТИПИЧНЫЕ ПРЫЩЕПРОБЛЕМЫ, возникающие out of fucking nowhere, что как бы намекает на стандартность оных в Arselinux и пёсьей ссанине.

6. ulidtkonextus /4 05.02.2011 20:23 lunatic asylum

гугль подтасовывает результаты соответственно твоим привычкам.

7. nextusulidtko /6 05.02.2011 20:32 idea

Я понимаю, но это не только лично моё мнение, да что там, когда я рассказываю про арч, то некоторые говорили что брали гайды с ихнего вики (собственно из-за него только о таком дистре и слышали).

8. ulidtkonextus /7 05.02.2011 20:39 lunatic asylum

я не спорю, арчевики довольно-таки неплохой ресурс. Ещё мне нравится аур — в убунте сильно не хватает настоящего community repository. Но rc.conf — ссанина.

9. nextusulidtko /8 05.02.2011 20:47 idea

У арча нет задачи учить линуксу, а rc.conf отражает всю простоту дистрибутива: добавить демон на автозапуск при старте системы — просто написать его название в нужную строчку, без всяких трюкачеств с симлинками и init-левелами в init.d. К тому же наличие rc.conf позволяет им писать, что они взяли из freebsd™ лучшее©. Ну а если не нравится rc.conf, то вполне можешь хранить свои конфиги в стандартных местах, лепи чего хочешь, в этом СУТЬ линукса в общем и арча в частности.
А AUR это та самая няша, которой уже достаточно, чтобы даже не думать о переходе на другие дистрибутивы :3

10. h31 05.02.2011 21:42 Psi+

Багрепорты уже написаны?

11. ulidtkoh31 /10 05.02.2011 21:43 lunatic asylum

ну он же в бложек высрался уже.

12. h31ulidtko /11 05.02.2011 21:46 Psi+

cat /inet/бложек/высер > /inet/bugtracker

13. ulidtkoh31 /12 05.02.2011 21:46 lunatic asylum

bugtracker: unacceptable format

14. h31ulidtko /13 05.02.2011 21:49 Psi+

cat /inet/бложек/высер | sed '...' > /inet/bugtracker

15. nextush31 /10 05.02.2011 21:50 idea

Да им ответить по схожей проблеме то впадлу за 2 месяца:
https://bugzilla.kernel.org/show_bug.cgi...

16. h31nextus /15 05.02.2011 21:50 Psi+

А ты надови.

17. nextush31 /16 05.02.2011 21:51 idea

Ещё скажи патч им выслать.
%%FOP FOP FOP, МОЁ ИМЯ БУДЕТ В ЧЕЙНДЖЛОГЕ ЯДРА, Я ЛИНУКС ХАКОР%%
отправь патч @ стань акционером ядра

18. nextush31 /16 05.02.2011 21:54 idea

Да им вообще похуй на этот vgaswitcheroo лол:
https://bugzilla.kernel.org/buglist.cgi?...

Do you really want to delete ?