С обновлением Android 16 QPR2 смартфоны Google Pixel 10 получили поддержку аппаратного ускорения при прорисовке приложений Linux. Механизм пока работает нестабильно, и нет ясности, почему Google не реализовала его на других устройствах, сообщает Android Authority.

В марте Google выпустила для Android приложение Linux Terminal, позволяющее запускать полнофункциональные программы для Linux на мобильных устройствах. Первоначально приложение поддерживало только ПО для режима командной строки, но в предстоящем обновлении Android 16 QPR2 компания Google начнёт устранять и это ограничение. Процесс этот небыстрый, и на большинстве Android-устройств программы с графическим интерфейсом под Linux пока будут работать не вполне корректно — всё дело в том, что в Linux Terminal сейчас используется программное средство отрисовки Lavapipe. Для сложных вычислений и растеризации — преобразования векторной графики в пиксели — Lavapipe подключает только центральный процессор, хотя графический способен выполнять эти задачи быстрее и эффективнее.

Источник изображения: androidauthority.com
Чтобы устранить этот недочёт, разработчики Google решили добавить в Linux Terminal поддержку Gfxstream. Это технология виртуализации графики, которая перенаправляет вызовы графического API из гостевой виртуальной машины на хост-устройство Android, обеспечивая рендеринг приложений Linux с графическим ускорением. В предварительной версии Android Canary 2509 за сентябрь в настройках приложения Linux Terminal появилось новое меню «Ускорение графики» с единственным пунктом существующего программного отрисовщика. А с выходом Android 16 QPR2 Beta 3 один из пользователей Reddit обнаружил, что на его Pixel 10 включилось аппаратное ускорение для приложений Linux — одна из программ под Linux обнаружила графический драйвер Vulkan на смартфоне.
В последней предварительной версии прошивки обнаружился файл наложения, который включает поддержку Gfxstream только на смартфонах Pixel 10 и делает эту опцию неактивной на других устройствах. Это не вполне понятно, потому что Gfxstream представляет собой библиотеку переадресации API, которая не зависит от модели графического ускорителя на устройстве. Графическая подсистема на чипе Tensor G5, возможно, не самая производительная на рынке, но в задачах отрисовки интерфейса она явно быстрее любого центрального процессора — в итоге у Pixel 10 в аспекте совместимости с программами под Linux оказалось явное преимущество перед другими Android-устройствами. К сожалению, даже в этом случае работа Gfxstream пока реализована нестабильно: поддерживаются лишь 47 из 142 расширений для Pixel 10, причём некоторые из них работают некорректно, а отдельные даже хуже, чем с программным отрисовщиком.
Источник: