LINUX.ORG.RU

KDE4 на MK809III (RK3188)

 ,


5

5

Давненько обещал добраться и довести напильником свои наработки по рокчипу, да тут и как раз приехал сабжевый ТВ стик. В общем, это все оказалось очень веселым приключением. Логичным продолжением моих прошлых трип-репортов про рокчип.

Дефолтный андроед у меня вообще так и не загрузился ни разу на нем, показав только кукишь в HDMI, и был быстро и решительно выпилен в реактор. В сам девайс была воткнута 8гиговая SD карта, на которую был раскатан корень Debian Jessie, готовый к экспериментам. Ну и понеслась.

Первым делом я открыл его, запомнил партнамберы того, что внутри и впаял внутрь HC-05 блютуз модуль, чтобы можно было не возиться лишний раз с проводами, подрубая терминал.

Первым серьезным приключением был вайфай. Сначала я сделал дамп стокового ядра, и загрузил дебиан, где костыльным модулем снял дамп использованных gpio ног. На основе лога загрузки и дампа я стал корячить уже корячить ядро.

Вайфай и блютуз тут AP6210. Это такая сборка из двух чипов от бредкома (broadcom). Если кто не знает, это те самые ребятки которые играют в опенсурс с Raspberry PI а тем временем плодят дичайшие огороженные костыли во всех других разработках. В общем, чтобы заработал вайфай, нам надо прописать нужные нам ножки rfkill, и прочее в arch/arm/mach-rk3188/, после чего воткнуть бинарный огороженный модуль rkwifi.ko. Я очень много времени убил на вайфай, пытаясь понять почему он не работает. Оказалось, что rfkill для вайфая прописывается... В platform_data bluetooth'a. Почему? А в топку логику, Китай же!

Блютуз так и не ожил, несмотря ни на какие манипуляции с brcm_patchram_plus, оставил его на закуску.

В остальном все завелось сравнительно быстро, включая даже мали. С этим мне пришлось изрядно повозиться. Сначала я искал причину того, что шрифты выглядели как лютое УГ, от которого вытекали глаза пару секунд. Когда я почти отчаялся - понял что виной всему оказался встроенный в новенький 55' ящик филипс «улучшайзер» изображения «Digital Crystal Clear». Если оно отключено телевизор сам добавляет артефактов по вкусу. Пока я это искал, заодно поднял и 32х битный цвет, вместо 16ти. Это избавило от неведомых косяков с QT_GRAPHICSSYSTEM=native, из-за которых все артифачило до невозможности.

Теперь самое интересное. mali воткнулся и завелся на ура. Из нестандартного пришлось только сделать один LD_PRELOAD для одного отсутствующего символа. Шестерни (es2gears) так же на ура завращались выдавая 300 fps (не бенчмарк, да). Вот только фон у них при включенным композитинге оказался прозрачным. Как сказал мне rz2k это скорее всего отсутствующий umplock в fbturbo. Еще при этом логотип K рыжий вместо синего (наблюдается только на 32х битах, на 16ти - все ок, но артефакты Qt).

Следующий косяк - это отсутствующий в либах вызов XInitThreads(), который приводит в частности к тому, что запуск es2_info завершается ошибкой. Пропатчить сходу по методу exception13 не вышло, сделал LD_PRELOAD, но он не сработал... В общем тоже просит любви.

В итоге пока остался на kwin_gles + xrender, который оказался на удивление шустрым. C остальным еще предстоит повеселиться. Что-то подсказывает мне, что основные мои проблемы решит патч на XInitThreads() но кто этих китайцев знает...

Теперь самое вкусное. На http://github.com/linux-rockchip/rockchip-3.0 Вы найдете бранч ядра ncrmnt-muldev. Именно там можно откопать мое патченное/напиленное ядро, в котором есть поддержка сабжевого стика, а вскоре добавится и поддержка планшета Pipo M6 Pro 3g.

TODO: Увлекательное путешествие в суть umplock'а и кишки fbturbo, а так же не менее увлекательное приключение с дизассемблингом и патчингом libMali.so по методу exception13. Да и на планшет наработки надо бы перетащить, ибо уже юзабельно.

>>> Просмотр (1920x1080, 404 Kb)

★★★★★

Проверено: JB ()
Последнее исправление: JB (всего исправлений: 5)

Месье знает толк в извращениях :) - Зачет!

XXL
()

ЗдОрово! Но пилить, видать ещё долго =\

приключение с дизассемблингом и патчингом libMali.so

А открытые lima(так кажется) не фурычат?
богомипсов маловато, на какой частоте работает? Как производительность? Как ФФ себя чувствует, по крайней мере? Видео играет?

GAMer ★★★★★
()

Так вроде есть готовые сборки для этого железа.
На моём Minix Neo X7 всё без плясок с бубном заводилось.

Сейчас жду появления в продаже Tronsmart Vega S89 или Minix X8 - буду пилить десктоп на нём. А миникс как домашний недосерверок работает.

devl547 ★★★★★
()
Последнее исправление: devl547 (всего исправлений: 1)

Еще при этом логотип K рыжий вместо синего

RGBA vs BGRA.

отсутствующий в либах вызов XInitThreads()

Я на эти грабли уже наступал. Не должно быть ни в какой библиотеке вызова XInitThreads. Его должна программа вызвать, до каких-либо других вызовов Xlib. Если его вызвать где-то в середине, выползут шальные баги. Вот такой вот весёлый Xlib.

i-rinat ★★★★★
()
Ответ на: комментарий от devl547

Да пошли эти говносборочки лесом. Зарекся давно их ставить.

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от yax123

Емнип он у меня в планшете. Заведется, куда денется. Только модуль огороженный.

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от GAMer

Там степпинг включён, потому и мало. А так к У меня макс 1.6Ghz

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от devl547

Tronsmart Vega S89 давно в продаже, вот только можно ли на нем нормально завести линь не понятно...

angel_il ★★★★
()

Круто, ты мужик =)

false ★★★★★
()
Ответ на: комментарий от i-rinat

Я на эти грабли уже наступал. Не должно быть ни в какой библиотеке вызова XInitThreads. Его должна программа вызвать, до каких-либо других вызовов Xlib. Если его вызвать где-то в середине, выползут шальные баги. Вот такой вот весёлый Xlib.

Как расписывал эксепшн - libMali.so использует трединг унутрях. Да и es2_info потом с руганью на остутствующий XInitThreads падает.

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от Shadow

Вообще в rockchip'е если память не изменяет - on2, про который мне много чего втирали, типа это хорошо, опенсурсно, годно, умеет VP9 и т.п. Но реально я что-то про это нифига не видел реальных сырцов.

В конце концов можно через libhybris закостылить блобы от дройда. теоретически. В общем, красноглазим-с.

ncrmnt ★★★★★
() автор топика
Последнее исправление: ncrmnt (всего исправлений: 2)

Крутое приключение. Эх, вот ведь чем крут linux - возможностью пилить его напильником! Всё реже подобное слышу в последнее время, а жаль.

jekader ★★★★★
()
Ответ на: комментарий от ncrmnt

трединг

С тредингом всё ещё можно сериализовывать вызовы Xlib.

руганью на остутствующий XInitThreads падает.

Это не ругань на отсутствующий XInitThreads, это предложение его вкорячить в main(). К тому же, одного этого вызова недостаточно, нужно все вызовы Xlib оборачивать в XLockDisplay()/XUnlockDisplay(). Без этого всё равно будет падать.

i-rinat ★★★★★
()

Молодец, всегда с интересом слежу за попытками приручить linux на arm.

einhander ★★★★★
()
Ответ на: комментарий от ncrmnt

Ну, мне для браузера, скайпа и, что бы видео смотреть, как раз - пойдет. До игрушечки на эмуляторе Денди/Сеги поиграть. Скайп то есть для дебьяна на arm?

ivanlex ★★★★★
()
Ответ на: комментарий от ivanlex

Все кроме скайпа. Скайп только через qemu-x86 разве что

ncrmnt ★★★★★
() автор топика

аффтар, пеши исчо

haku ★★★★★
()
Ответ на: комментарий от devl547

А смысл? KDE через него едва ли заработает полноценно. Подожду когда в репах будет.

ncrmnt ★★★★★
() автор топика

А как у arm kernel сейчас дела с device tree files? Ещё пока нельзя на них сделать то что ты сделал в дереве ядра?

thesame ★★★★
()
Ответ на: комментарий от thesame

о_О Переведи на русский язык! Ничерта не понял.

ncrmnt ★★★★★
() автор топика
Последнее исправление: ncrmnt (всего исправлений: 1)
Ответ на: комментарий от zorg

наоборот удобно, когда по хаутушке делаешь что-то.

ncrmnt ★★★★★
() автор топика

Годнота! Радостно, что есть ещё рукастые люди.

Deleted
()

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

KivApple ★★★★★
()

Где можно HC-05 достать нынче? И какое там питание, к sunxi подключится? P.S с sun4i всё намного лучше. А баг с фоном шестерёнок воспроизводится. Видео аппаратно декодирует?

mittorn ★★★★★
()
Последнее исправление: mittorn (всего исправлений: 1)
Ответ на: комментарий от mittorn

Где можно HC-05 достать нынче?

алиэкспресс

И какое там питание, к sunxi подключится?

3.3 вольта. Конфигуришь на хосте, цепляешь землю, RX, TX. На PMIC находишь выход 3.3 и цепляешь к нему соплей пинание. Далее двусторонний скотч/термоклей и профит.

ncrmnt ★★★★★
() автор топика

не надо даже до сматривать сообщение до конца что бы понять кто автор. и так все понятно сразу.

респект лютый.

vovan72
()

Где-то валяется MK808 (RK3066), надо тоже попробовать. Хотя по спецификации чипа он не умеет бутиться с SD, так что наврядли.

d9d9 ★★★★
()

Вот только фон у них при включенным композитинге оказался прозрачным. Как сказал мне rz2k это скорее всего отсутствующий umplock в fbturbo.

У меня на ноуте с Sandy Bridge и дровами от интела проявляется такой же баг. Если выключить эффекты в kwin, то прозрачность исчезает, если включить появляется. Никак руки не доходят разобраться кто виноват: xorg 1.15, ядро или кеды.

pftBest ★★★★
()

запомнил партнамберы того

прочитал «порнобаннеры», долго думал о возможностях мозга поставлять мне неверную информацию =(

Kompilainenn ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.