Doom запустили на наушниках PineBuds Pro с открытым кодом благодаря разгонке процессора

|
Doom запустили на наушниках PineBuds Pro с открытым кодом благодаря разгонке процессора

Энтузиаст Арин Саркисян из Сиднея смог запустить легендарную игру Doom на наушниках PineBuds Pro — устройстве с открытым программным обеспечением и сравнительно мощным встроенным процессором. Его проект получил название Doombuds и подробно описан на специальном сайте, посвященном порту игры.

Об этом сообщает ProIT

Технические особенности запуска Doom на PineBuds Pro

Для реализации идеи Саркисян использовал прошивку с открытым кодом и разогнал чип Cortex-M4F с базовых 100 МГц до 300 МГц, отключив режим низкого энергопотребления. Благодаря этому удалось повысить производительность и частоту кадров до 18 FPS. Кроме того, инженер оптимизировал использование оперативной памяти: стандартно наушники имеют 768 КБ RAM, но после отключения сопроцессора этот объем увеличился до 992 КБ. Поскольку оригинальный DOOM требует 4 МБ оперативной памяти, была проведена серия программных оптимизаций, чтобы уменьшить необходимый объем в четыре раза. Файл ресурсов DOOM также был уменьшен — с 4,2 МБ до 1,7 МБ, чтобы уместиться в 4 МБ доступной памяти устройства.

Подключение, управление и доступность проекта

Поскольку PineBuds Pro не оснащены дисплеем, передача данных возможна только через Bluetooth или UART-контакты. Bluetooth имеет ограниченную пропускную способность (до 1 Мбит/с), поэтому Саркисян рекомендует использовать аппаратное подключение через UART, которое обеспечивает 2,4 Мбит/с. Однако даже с таким соединением без сжатия потока можно получить лишь 3 кадра в секунду. Для оптимизации видеопотока применено MJPEG — последовательность JPEG-изображений, что позволяет получить 18 кадров в секунду с использованием рекомендованного кодека.

Проект состоит из четырех основных компонентов: порта DOOM для наушников, «последовательного сервера» для связи между наушниками и веб-сервером, самого веб-сервера, который управляет ресурсами, очередью и нажатием клавиш, и статической веб-страницы для взаимодействия с пользователем. Играть в Doom можно через браузер, а все необходимые файлы и инструкции размещены на GitHub. На сайте Doombuds реализована виртуальная очередь и стрим на Twitch, что позволяет всем желающим дистанционно подключаться к наушникам и запускать игру из своего браузера.

«Наушники не имеют дисплея, поэтому единственный способ передавать данные к ним/от них — через Bluetooth или контакты UART. Bluetooth достаточно медленный: ‘вам повезет, если вы получите стабильное соединение со скоростью 1 Мбит/с’, так что аппаратное подключение кажется лучшим. Соединение UART обеспечивает 2,4 Мбит/с полезной пропускной способности, но без сжатия потока это всего лишь 3 кадра в секунду. Для сжатия модер использовал невымогательный к ресурсам поток MJPEG — это изображения JPEG, которые воспроизводятся одно за другим. Он рекомендует нужный кодек, с которым частоту кадров удалось поднять до фактических 18 кадров в секунду».

Подробные инструкции доступны для всех желающих, так что энтузиасты могут повторить этот эксперимент на своих PineBuds Pro.