Официально представлен код нового открытого драйвера Lima, позволяющего обеспечить поддержку графического сопроцессора Mali (Mali-200 и Mali-400), применяемого во многих чипах на основе архитектуры ARM. Открытый драйвер был создан при поддержке компании Codethink на основе реверс-инжиниринга закрытого Linux-драйвера, поддерживаемого компанией ARM.

Несмотря на то, что драйвер Lima позиционируется в роли экспериментального и пока готов только начальный прототип, на базе которого только планируется создать полноценный драйвер Mesa/Gallium, в представленном коде уже поддерживается OpenGL ES и многие возможности, которые присутствуют в проприетарном Linux-драйвере от компании ARM. Код открыт под лицензией GPLv2.

GPU Mali используется многими производителями телефонов и планшетов, поставляемых с платформой Android. Среди поддерживаемого драйвером Lima оборудования отмечаются такие SoC на базе Mali-400, как AMLogic 8726-M, Allwinner A10, ST-Ericsson Novathor, Samsung Exynos, а также SoC Telechips 8902/8803 на базе Mali-200. Чип Samsung Exynos в частности задействован в таком популярном смартфоне, как Samsung Galaxy S II. Появление открытого драйвера для GPU Mali является большим прорывом, так как на рынке потребительских устройств на базе архитектуры ARM сложилась необычная ситуация - на данных устройствах доминируют открытые операционные системы, но для графических подсистем этих устройств доступны как правило только проприетарные драйверы, что усложняет жизнь таких проектов, как CyanogenMod.

Открытый драйвер создан Люком Верхегеном (Luc Verhaegen), одним из ключевых разработчиков драйверов RadeonHD и VIA Unichrome, активно участвующим в разработке X.Org. Отмечается, что существенно упростил процесс обратного инжиниринга самодостаточный характер ARM Mali GPU, который не требует загрузки микрокода и настройки регистров из пространства пользователя. Основные трудности возникли с разбором особенностей работы компилятора шейдеров, для изучения которого использовался метод перехвата и анализа потока команд к GPU.

Источник: http://www.opennet.ru/opennews/art.shtml?num=33043