Директор Red Hat создал с помощью ИИ Linux-приложения для Elgato и Dell

2026-03-24 149 комментарии
Директор Red Hat за несколько дней с помощью Claude разработал расширение для управления лампой Elgato через Avahi и приложение настроек веб-камеры Dell UltraSharp 4K на базе PipeWire

Директор Red Hat Christian Schaller рассказал о серии экспериментов с ИИ-ассистентами Claude, Gemini и Codex, в ходе которых создал несколько Linux-приложений для оборудования без нативной поддержки. Среди проектов — расширение GNOME Shell для управления Wi-Fi-лампой Elgato, GTK-приложение для веб-камеры Dell UltraSharp 4K и перенос классических док-апплетов Window Maker на GNOME и Wayland. Все приложения доступны в виде Flatpak и Fedora RPM.

Расширение GNOME Shell для Elgato Key Light

Лампа Elgato Key Light рассчитана на подкастеров и участников видеоконференций. Устройство обнаруживается через mDNS и управляется по протоколу Avahi. Производитель выпускает приложения только для Windows и macOS.

Schaller взял заброшенное расширение GNOME Shell и с помощью ИИ-ассистентов обновил его до актуальной версии рабочего окружения. В экспериментах он использовал Google Gemini, Claude Sonnet и Opus, а также OpenAI Codex — все модели требовали постоянного контроля со стороны человека. Базовый вариант — включение/выключение лампы, регулировка яркости и цветовой температуры — заработал после нескольких итераций. Расширение написано на JavaScript, чтобы не добавлять внешних зависимостей.

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

Приложение для веб-камеры Dell UltraSharp 4K

Второй проект — управляющее приложение для веб-камеры Dell UltraSharp WB7022. Камера работала в Linux через стандартный драйвер UVC, но доступ к расширенным функциям без фирменной утилиты отсутствовал.

Schaller установил Windows-приложение Dell, сделал скриншоты всех экранов и передал их Claude с задачей создать GTK-версию на C. Claude анализировал скриншоты, определял необходимые функции и извлекал значения USB-свойств из Windows-бинарников. На разработку ушло 3–4 дня.

Для ускорения отладки в приложение встроили функцию программного снятия скриншотов — Claude мог вносить правки и проверять результат без участия человека. Интерфейс финализирован по рекомендациям GNOME Human Interface Guidelines.

PipeWire — мультимедийный сервер для Linux, обеспечивающий маршрутизацию аудио- и видеопотоков. Заменяет PulseAudio и JACK.

Приложение работает поверх PipeWire и интегрируется с его медиаграфом — подключение камеры отображается в коммутационных приложениях вроде Helvum.

Док-апплеты Window Maker для GNOME и Wayland

Проект WMDock возвращает классические док-апплеты Window Maker в современное рабочее окружение GNOME на Wayland. Первоначально Claude написал прослойку совместимости, но апплеты засоряли меню переключения окон, а тестирование требовало постоянного перезапуска сессии GNOME Shell.

В итоге Schaller решил портировать апплеты на современные технологии и поставлять вместе с инструментом. Апплет веб-камеры перенесён с V4L1 на PipeWire, звуковой контроллер — с ESD на PulseAudio.

Window Maker — оконный менеджер для X11, вдохновлённый интерфейсом NeXTSTEP. Док-апплеты — миниатюрные встраиваемые приложения, работавшие в панели Window Maker.

Другие проекты: XMMS и Monkey Bubble

Портирование медиаплеера XMMS стало показательным примером разницы между поколениями моделей. На протяжении нескольких месяцев Schaller безуспешно просил Claude перенести кодовую базу XMMS на современный стек. Claude Opus 4.6 справился с задачей за несколько часов без вмешательства человека — перевёл плеер с GTK2 и Esound на GTK4, GStreamer и PipeWire. В обновлённой версии работают сетевые динамики через PipeWire и импорт плейлистов Spotify.

Игра Monkey Bubble из эпохи GNOME 2 портирована на GTK4 с аудио через GStreamer. Добавлены таблица рекордов через библиотеку libmanette и сетевое обнаружение игр через Avahi.

ИИ как инструмент, а не автопилот

По опыту Schaller, ИИ-ассистенты многократно ускоряют разработку, но требуют постоянного контроля. Без направления со стороны человека модели зацикливаются, упрощают задачу или отклоняются от маршрута. При создании Vulkan-приложения Red Hat Planet Claude неоднократно пытался подменить Vulkan-рендеринг на программный или OpenGL без предупреждения.

Vulkan — низкоуровневый графический API для кроссплатформенного 3D-рендеринга, разрабатываемый консорциумом Khronos Group.

Провальным оказался эксперимент с созданием SANE-драйвера для сканера Plustek OpticFilm 8200i. Без профильных знаний в области драйверов сканеров Schaller не мог направить ИИ в нужном направлении. Claude удалось запустить мотор и лампу сканера, но получить корректное изображение не вышло даже после декомпиляции Windows-драйвера через Ghidra и подключения аппаратного USB-анализатора Beagle USB 480.

© . По материалам blogs.gnome.org
Комментарии и отзывы

Нашли ошибку?

Новое на сайте