Чтобы добавлять сообщения и комментарии, .

@alexst:
alexst

кстати, сиране алиэкспресс пофиксился путём залогиневания на alibaba.com

@alexst:
alexst

сиране алиэкспресс поломался. на страницу оплаты залогиниться получается один раз из N десятков, и то если прийти с английской страницы. как принудительно отключить русский интерфейс не нашел

@alexst:
alexst

А вот если я хочу отрендерить в буфер, который в памяти CPU - то какие есть модные способы стащить результат, кроме glReadPixels?

@alexst:
alexst

Запустил KVM в режиме аппаратной виртуализации на процессоре ARM Cortex A15 (TI OMAP5432). В принципе, в ванильном линуксе kvm уже работает, основные сложности были с тем, чтобы включить режим гипервизора (HYP) в u-boot (потому что опкоды SMC из TrustZone не документированы, а патч в рассылке uboot кривой). Попозже опишу подробнее процесс и подводные камни

@alexst:
alexst

Жара. Летний день. Я продираюсь сквозь толпу на мостовой. Торопливый шаг. Еще один. Нервная затяжка. Вроде никто не заметил. Я знаю, это дерьмо когда-нибудь убьёт меня, но не могу ничего с собой поделать, чтобы остановиться. Родители говорили в детстве: "Даже не начинай, никому не удавается соскочить. Все врут. Телевизоры, экстрасенсы, дяди васи из соседнего подъезда. Нет лёгкого способа прекратить за 24 часа. Вообще никакого способа. Система ничего не прощает и никого не отпускает".

Сейчас изо всех углов полезут сраные моралисты. Мол, девушка не должна дышать всякой дрянью, мол, дети больные будут, то, сё, ты же не днище-алкашка из белого гетто. Когда-то никто не верил, что это можно запретить — всем же понятно, что за производством отравы стоят целые империи, и вековые картельные сговоры и общественные традиции не сломать какими-то там законами. Были демонстрации, бунты. Начиналось всё довольно мило — давайте ограничим часть прав "наркоманов" в пользу "здоровых" людей. Затем были мелкие штрафы, надо же хоть как-то припугнуть нарушителей. Недавно вот ввели смертную казнь. Ой не стоит делать это на улице, заметут — как пить дать.

А впрочем, хрен с ним. Живем один раз. Лучше умереть счастливым, чем старым и никому не нужным. Live young, die fast, или как оно там было. Я продолжаю опускаться в пучину дегенерации и мучительно убивать себя и окружающих. Вот и очередной клиент. Я делаю глоток свежего воздуха и привычным движением срываю никотиновый респиратор с ничего не подозревающей жертвы. Подыши-ка и ты воздухом, гадина! Это тебе за всё — за таблички "No Breathing", за "один вдох кислорода убивает лошадь" и весь прочий бред, за массовую истерию. Мы — дышальщики, и будем бороться за свои права до последнего!

@alexst:
alexst

С несколькими грязными хаками, паравиртуализованный l4linux работает на телефоне.

Суть такова:
драйвер дисплея (DSS) написать я не осилил. Девайс намертво виснет при попытке записи в регистры dss. Поэтому пока что это выглядит так

xloader -> самсунговский SBL -> наш uboot -> кастомное ядро с /sdcard (если зажата кнопка. а если нет — грузит андроид)
в genode тупо вырезан инит дисплея, просто перезаписываем адрес и формат фреймбуфера.

TODO: нормальная инициализация, usb client, тачскрин, звук, 3g, dvfs и прочее энергосбережение

@alexst:
alexst

Вот запустил u-boot на Samsung Galaxy Tab 2 (P5100).

Пока что chainload вместо ядра.
Что могу сказать про девайс и uboot
В девайсе omap4. У нас уже есть портированный uboot на Galaxy Nexus. (https://www.youtube.com/watch?v=tcrNbwwPBkI) Причем, поскольку для Galaxy Nexus есть утилита для прошивки по usb, даже когда стерт бутлодер xloader из emmc (то есть, брикнуть его нельзя) — там uboot грузится сразу, вместо самсунговского бутлодера. Посмотрю — возможно, получится утилиту от Galaxy Nexus адаптировать под этот планшет

В uboot недавно появилась поддержка файловой системы EXT4, и теперь он не виснет при чтении андроидовских ФС. Теперь можно кастомные ядра/скрипты класть в папку во внутреннем хранилище.

Кстати, я перенес на последнюю версию uboot патчи для андроидовского mkbootimg формата — можно залить uboot вместо recovery, например, и использовать ванильные немодифицированные прошивки.

Что неудобно — в uboot для omap нет DFU, и в uboot вообще нет fastboot. Есть только в версиях от ti/omapzoom, которые основаны на коде 2007 года, и там нет ничего. даже фреймбуффера. С фреймбуффером вообще беда на омапах. С клоками все запутано, у меня так и не завелось в omap4 и uboot пока что

Про L4 — видимо, будет отдельный пост. Пока что основные задачи — завести usb (линуксовый драйвер в Genode в целом удалось прикрутить, но данные идут только в configuration EP, а в остальные — нет), и фреймбуффер. На планшете плохо — нет uart (у меня, по крайней мере, кабель не собран по причине лени), и отлаживать тяжело

@alexst:
alexst

а кто-нибудь подскажет под линупс гуйную программу, чтобы искать изображения в бинарниках? под оффтопик была одно время некая Image Search Engine. Я пока на кутях накидал буквально однострочник, чтобы там открываешь бинарник, задаешь размер, смещение и формат — и показывало, что там. Но в той виндовой проге был еще удобный скроллинг превьюшки.

если кому интересно, чего я хочу
plasmon.rghost.ru
github.com

@alexst:
alexst

В общем, жуйк, у меня новый ноут, но пост не об этом.

А о том, что энергосбережение под линуксом всегда оставляло желать лучшего. И тут я заметил, что в простое ноут кушает 7 ватт, а после цикла суспенд-резьюм — 15-19. Это меня никак не устраивало, и я погуглил. Оказываетя, дискретное видео (радевонь) включается втихаря, а acpi и vga_switcheroo об этом не знают.

В интернете предложен workaround — делать ON/OFF через switcheroo. Но тут пробема — видеокарта думает, что она включена, зависает, и ноут на минуту замирает.

Я тут набросал патчик, который игнорит состояние (on/off) в switcheroo и все неактивные карты (к котором не привязаны драйвера) при просыпании ноута отключает. Вроде после нескольких циклов на месте 7 ватт с интелом.

Может кто-нибудь потестить, отписаться в lkml, предложить вариант переделки?

marc.info если что

@alexst:
alexst

Ящитаю, нужно написать ядро ОС на языке со строгой типизацией и немутабельными данными, используя обмен сообщениями как альтернативу глобальным переменным и мьютексам, сделать reflection и поиск атрибутов в структурах по имени как альтернативу нестабильному API и ABI. И под это дело запилить ML-подобный DSL с синтаксисом руби. Главное, чтобы там были нормальные package'ы, и не было общих хедеров и макросов, которые каждый норовит переписать по любому поводу, чтобы те, кто не заапстримил свой код, не сидели без дела и не скучали

@alexst:
alexst

на своем ноуте я выпилил udisks и прочие костыли, ибо ломался суспенд. а тут в десктоп с федорой всунул флешку — а оно упало в oops. корни проблемы растут оттуда же. по dmesg — нулевой указатель в sd_revalidate_disk

нашел эпичный тред lkml.org где мейнтейнеры удивленно хлопают глазами типа "а откуда там нулевой указатель? где проебали синхронизацию?". и пока они там думают, как архитектурно красиво решить проблему, проблема остается: делаем на девайсе open, выдергиваем девайс, делаем ioctl — ядру пизда. чувствую, придется выделить на это день и либо натыкать проверок на NULL, либо разбираться в дебрях scsi, чтобы запилить патч, который не стыдно в рассылку кинуть. а то скоро ядра 3.X, udisks и все прелести будут во всех дистрах, и печально, что линукс будет падать от флешек, как какой-нибудь freebsd

@alexst:
alexst

Мерджнул гитца из chromium.org — внезапно починился суспенд, который сломался после мерджа месяц назад. Такими темпами скоро пофиксится фреймбуффер, а потом и дрова сами напишутся.

@alexst:
alexst

в общем, меня, как одного из немногих линуксоидов в универе, привлекли помогать одному профессору установить компилятор obj3 (какая-то система перезаписи термов. я так понимаю, это имеет отношение к курсу о формальных методах).

на оффсайте была прекомпиленная версия (для FC3, ога), но она хотела readline4 и очень древний libstdc++, так что пришлось перекомпилить. выяснилось, что код древний (2003 год) и написан с забиванием на стандарты. в итоге — clisp работает с кучей варнингов и половину бинарей не компилит. sbcl и cmucl вообще сразу падают (в том числе и потому, что где-то используется пакет user вместо common-lisp-user). я написал автору компилера. он говорит — да забей и скачай CafeOBJ, а я вообще на сайте напишу, что нечего лазить, если не некрофил.

в общем, у меня вопрос — почему люди используют windows на учебных компьютерах, как они умудряются откапывать софт, которым никто не пользуется и насколько адекватно строить учебный курс на базе такого софта.

@alexst:
alexst

Совершенно случайно вспомнил о таком проекте, как chdk. оказывается, под мою мыльницу он запилен. Запустил, посмотрел. Самое важное — сохранение в raw. Ну и куча мелочей, от файлового манагера до нормального индикатора батарейки. В принципе, в мыльнице некий армопроцессор с vxworks, а это приложение запускается через дырку (или фичу) в бутлодере, предназначенную для загрузки в рам прошивальщика и патчит некоторые процедуры в родном бинарнике. Внутри в камере все недокументированно и огорожено, так что поиграться с сенсором и dsp без большой ебли не получится. Да и не сильно хотелось, есть и более доступные способы

@alexst:
alexst

Для того, чтобы отпраздновать частичную победу над драйвером wifi, поставил на свою мобилку (http://en.wikipedia.org/wiki/Sony_Ericsson_Xperia_X1) (пока что на карту памяти) дистрибутив SHR linux, сборку для htc dream. Первые впечатления — годно (sic!), даже очень.

Можно запускать приложения через лаунчер img40.imageshack.us

Можно пользоваться интернетом img40.imageshack.us

Звонить в справочную МТС img822.imageshack.us

И читать pdf img189.imageshack.us

Если серьезно — то внутри это сборки через openembedded и e17 в качестве гуя (да, иксы). Телефон и железки через freesmartphone.org (и dbus кругом). Сам fso написан на vala и модуляризирован, можно писать плагины для gsm, управления питанием. Я два года ждал такую ОС, с тех пор, как убили кутопию.

В отличии от meego, для работы без тормозов не нужен opengl es 2.0, так что старые мобилки не в прососе. На моем небыстром девайсе гуй рисуется быстрее, чем в ондройеде

В общем, осталось портировать alsa драйвер (вместо андроидного костыля) и портировать девайс на новое ядро (где исправлены баги с wifi) и можно устраивать полевые испытания и интегрироваться в SHR

@alexst:
alexst

опять пидорасы говна накрутили где-то. вот раньше был hal, который все ненавидели (видимо, за конфиги на зумле или из-за того, что иксы тянули его). теперь его выпилили и напилили новой ненужной херни — демоны upower и udisks.
этот udisks — фееричный пиздец. он на все съемные диски вешается и опрашивает их (как hal polling). только почему-то он часто забывает прекратить прослушку, когда устройство из системы убирают. последствия тут два. первое — проебан файловый дескриптор и вместо sdb в следующий раз создастся sdc. второе — это говно не дает ядру нормально уйти в саспенд (кому интересно, могут загуглить. туча багрепортов и ни одного коментария разработчиков)

в общем, это в очередной раз подтверждает, что fd.o оккупирован пидорасами. и вроде бы все компоненты по отдельности хорошо развиваются (mesa, xorg, dbus, gst), а пользовательское окружение стремительно катится в говно. потому что раз в полтора года стабильно надо выкинуть все, что есть и переписать с нуля

@alexst:
alexst

так, признавайтесь сразу, кто мне память в сраном wl1251 порет?

@alexst:
alexst

Вот так внезапно винда добралась и до наших этих линупсов

img33.imageshack.us

@alexst:
alexst

Решил я сегодня запилить gps и bluetooth на своем планшете в хромоядре, ибо остальное железо, кроме камеры, работает.

Внезапно — проприетарщина. Оказывается, gps юзает проприетарный протокол MEIF, спецификации которого доступны с жутким NDA. А демон этого дела в андроиде занимает целый мегабайт, так что окучивать эту фигню нет ни малейшего желания. Тем более, что ни разу в андроиде я не дождался фикса и не видел его в работе.

А с bluetooth интересней. Там стоит bcm4329. Понятно, что bluetooth работает, исходники патчрама доступны. Но по одной дискуссии в irc я узнал, что в этом bcm4329 стоит arm7tdmi для управления BT/FM радио и cortex m3 для WiFi. Конечно, речи о том, чтобы запилить линупс туда не идет, но было бы неплохо сдампить из него прошивку и запилить V4L2 драйвера для радио. На большинстве коммерческих девайсов он не используется как радио и I2S интерфейс не подключен, но звук можно перенаправить через pcm транспорт от bluetooth и, скорее всего, через hci транспорт тоже, но тогда придется декодировать программно

@alexst:
alexst

Таки прочитал убунтовскую вики и установил себе свистоперделок на планшет. Рассказываю.

Раньше был драйвер evtouch, который хватал эвенты от тачскрина и умел мультитач и эмуляцию правого клика. Потом программисты иксовые решили — негоже в драйвере всякую фигню обрабатывать, лучше сделаем отдельную либу. И таки напилили. Есть базовый драйвер evdev. К нему в юзерспейсе разные обработчики. Есть два вида

Первое — пакет utouch, который содержит библиотеки и какодемона для обработки жестов и мультитачей. Вся эта дребедень требует поддержки со стороны приложений, и описана в стандарте с говорящим названием GEIS (gesture engine interface support, однако), который достиг уже версии дваноль, как и положено любому серьезному проекту.

Второе — программа ginn. Которая "Gesture Injector: No-GEIS, No-Toolkits". Ну раз без геев и тулкитов — уже хорошо. В ней можно в зумле вполне себе декларативно описывать жесты. Кроме того, по дефолту в том зумле написаны популярные жесты. Проверил в evince — скролл двумя пальцами, поворот страницы двумя пальцами. Хотя тайминги можно и подправить под себя