Какие части стандартной архитектуры графического драйвера Linux используются в Android?

Например, можно ли использовать драйвер Nouveau и обеспечить аппаратное ускорение отрисовки, когда Android скомпилирован для x86?

Я не думаю, что этот вопрос по теме здесь. Это сайт для пользователей Android, а не для разработчиков Android. Подробнее о том, какие вопросы рассматриваются по теме, см. в разделе часто задаваемых вопросов. Возможно, вам больше повезет с Stack Overflow, и в этом случае мод может помочь вам с его переносом.
Звучит как вопрос об архитектуре и драйверах Android, а не о программировании, поэтому я уверен, что он здесь по теме. Есть ли кто-нибудь, кто знает Android на достаточно низком уровне, чтобы ответить, это другой вопрос, я знаю, что не знаю ответа.
Разве драйвер nouveau не предназначен специально для Xorg, который нельзя/нельзя использовать для Android?
Я согласен с @GAThrawn. Это не очень подходит, но это не явно не по теме.

Ответы (2)

Noveau — это драйвер для графической системы X.org, поэтому его нельзя использовать дословно. Единственная часть, которая, как я ожидаю, может оказаться полезной, — это код, который фактически взаимодействует с оборудованием. То же самое справедливо и для любого другого драйвера X.org.

Но в случае с Noveau большая часть работы связана с реинжинирингом аппаратного интерфейса, поскольку Nvidia отказывается публиковать документацию. Эта работа определенно может быть повторно использована в гипотетическом драйвере Nvidia для Android.

Почти ни одна обычная графическая архитектура Linux не используется на Android (то есть Mesa, XWindows и т. д.). Разработчики драйверов могут повторно использовать основные части своих драйверов, но для того, чтобы драйверы работали с SurfaceFlinger (и gralloc, и с помощью Hardware Composer), требуется много усилий, включая 3D-рендеринг, а также вывод на дисплей (поддержка HDMI и т. д.). .).