LINUX.ORG.RU

Прогресс в разработке открытого драйвера для GPU Vivante

 , , , ,


1

1

В своём блоге Wladimir J. van der Laan, основатель проекта Etna_viv, рассказал от текущем прогрессе в разработке открытого драйвера OpenGL|ES для графических ядер от фирмы Vivante (“Etnaviv Mesa fork”). Представлены скриншоты игры glquake, где показан существенный прогресс в качестве работы драйвера за последний месяц.

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

Проще всего сейчас собрать драйвер для открытой игровой приставки GCW-Zero, где уже предусмотрены соответствующие опции при сборке файловой системы. Сборка под другие системы может быть не столь тривиальна, но можно также рассчитывать на помощь разработчиков.

>>> Подробности



Проверено: tazhate ()

Проще всего сейчас собрать драйвер для открытой игровой приставке GCW-Zero,

попробую сегодня вечерком

Barsik ()

хмм выглядит годно, на опеннете скрины первоквака есть с прогрессом. жаль только что поддерживает только окаменелости - никакого 4000 (не говоря уже о Immersion 16 - сдвоеный 4000). похоже не видать медиападоводам нормальных дров :(

madarexxx ()

Насколько Vivante сейчас распространены на десктопах?

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

На кой хер нужны десктопы? Vivante, например, в гуглоочках.

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

Vivante, например, в гуглоочках.

Нет там vivante. У них SoC 4430 - там только pvr540.

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

Как на LOR вставлять картинки в новости я не знаю, - было бы и тут с картинками. Картинок больше в оригинальном сообщении тут: http://blog.visucore.com/2013/8/23/more-progress

И, кстати, уже появились новые скриншоты и пояснения о состоянии драйвера:

https://blog.visucore.com/2013/8/28/current-state-of-etnaviv-driver

Вкратце текущее состояние такое:

  • Сейчас поддерживаются следующие GPU: GC600, GC800, GC860, GC880, а ядра GC2000 (что поставили в Freescale i.MX6) и выше пока не поддерживаются, - в них несколько пиксельных конвейеров, а под это ещё предстоит написать соответствующий код в драйвере.
  • Поддерживаются API OpenGL|ES 1.x (большая часть) и OpenGL|ES 2.0.
  • Реализован шейдерный компилятор в объеме, достаточном для работы шейдеров, требуемых для эмуляции фиксированного конвейера OpenGL|ES 1.x.
  • Поддержано управление буферами, 2D и Cubemap текстуры, генерация mipmap.
  • Для тех GPU, что поддерживают только один буфер вершин или у которых нет 32-разрядных индексов применяется программная эмуляция из Mesa. Также TGSI операции LRP и POW могут быть реализованы через более простые.

Планы по драйверу:

  • Исправления текущих проблем
  • По оптимизациям: в основном улучшать компилятор шейдеров, а также добавить расширения присутствующие в BLOB драйвере, но в настоящее время не задействованные в etnaviv
  • Создать для Xorg 2D EXA драйвер.
  • Взаимодействия с DMA буферами и DRM через модуль ядра от Vivante.
  • Влиться в основные ветки ядра, Mesa и других библиотек.

P.S. С документацией на HiSilicon K3V2 очень плохо (скорее никак). Так что есть Immersion 16 не понятно, сколько там ядер GC4000 вроде толком и не разобрались.

troosh ()
Ответ на: комментарий от CYB3R

Вот кстати список систем на кристалле, использующих эти GPU (взятый с https://github.com/laanwj/etna_viv) и некоторых устройства их использующих.

  • На базе ARM процессоров:
    • Marvell Armada 1500 использует GC1000: Google TV, OLPC
    • Marvell Armada 510 использует GC600: CuBox
    • Rockchip 2918 использует GC800: в различных планшетах
    • Freescale i.MX6 Quad and Dual использует GC2000 + GC320 + GC355: Zealz GK802, Wandboard, Novena и пр.
    • Freescale i.MX6 DualLite/Solo использует GC880 + GC320
    • Freescale i.MX6 SoloLite использует GC320 + GC355 (no 3D)
    • Actions Semiconductor ATM7029 использует GC1000
  • На базе MIPS процессоров:
    • Ingenic JZ4770 использует a GC860: GCW Zero
    • Ingenic JZ4760 использует GC200 (только 2D)

    Ещё больше список здесь: http://ru.wikipedia.org/wiki/Vivante_Corporation

troosh ()
Ответ на: комментарий от anonymous

Кстати да, облака, облака...

Vivante свои топовые GPU как раз и позиционирует для серверов в датацентры, под лозунгом, что их GPU «Smaller - Faster - Cooler» (меньше-быстрее-холоднее). Правда я ещё про такие чипы не слышал.

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

Я разводил платку на JZ4760, но забросил. Решил начать с JZ4725 и JZ4755, там вивантовской графики нет.

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

K3v2 реально холоднее и быстрее тегры 3, но нет нормальной обвязки драйверной :( так что практическая польза не слишком видна

madarexxx ()
Ответ на: комментарий от troosh

спасибо за подробное сообщение и ссылки ^_^ жаль что с 4000 всё плохо

madarexxx ()

Омские линуксоиды одобряют!

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

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