Доступен свободный драйвер для графической подсистемы Raspberry Pi

Спустя месяц после открытия компанией Broadcom компонентов прошивки c реализацией стека OpenGL ES 1.½.0 и публикации полной документации на видеоускоритель VideoCore IV подготовлен полностью свободный видеодрайвер для графической подсистемы Raspberry Pi. Соревнование по разработке полностью открытого драйвера, демонстрирующего приемлемую производительность выиграл разработчик Симон Холл, которому будет вручено вознаграждение в размере 10 тысяч долларов. Напомним, что в день двухлетия проекта фонд Raspberry Pi Foundation учредил конкурс по созданию полностью открытого видеодрайвера, который можно было бы использовать для запуска на Raspberry Pi игры Quake III в хорошем качестве (минимум 20fps при разрешении 1920×1080). Новый открытый драйвер продемонстрировал впечатляющие 133 FPS, что гораздо лучшие результата, ожидаемого организаторами конкурса.

Симон Холл — это уже давно знакомый на этом поприще программист, известный по разработке DMA-модулей для системы Raspbian. В своём блоге разработчики Raspberry Pi, описали, какие шаги нужно сделать для сборки графических драйверов. Вероятнее всего, драйвер будет встроен в следующую версию дистрибутива Raspbian. Для быстрой сборки рекомендуется использовать кросскомпилятор вместо сборки на ARM миникомпьютере, так как в случае использовании последнего может потребоваться 8 Гб свободного места на флеш-карте и около 12 часов компиляции. При использовании GCC 4.7 можно рассчитывать на увеличение производительности кода примерное на 10% в сравнении с предыдущими версиями компилятора.

Графическая подсистема чипов Broadcom кардинально отличается от подсистем других производителей и представляет собой по сути самодостаточный векторный процессор (VPU), выходящий за рамки DSP, на котором работает некоторое подобие операционной системы. GPU может выполнять приложения независимо от остальной системы, самостоятельно компилировать шейдеры и обменивается сообщениями с системным процессором через совместно используемую область памяти.

©  OpenNet