Repository navigation
Releases: xvin84/Adalight
Release list
v0.26.0
⚠️ Beta. Adalight is pre-1.0 — a few rough edges are expected. Please report bugs and ideas in the issues.
🇬🇧 English
What's new in v0.26.0
The board is no longer mute. The Adalight protocol used to be one-way: the
host talks, the board says nothing. While it says nothing, there is no way to
detect the baud rate or to tell your backlight apart from some other COM port.
The bundled firmware now introduces itself with a single line — and everything
else rests on that.
Firmware (firmware/Gyver_Ambilight/):
- The LED count in the header is finally honoured. The firmware verified it
with the checksum and then ignored it, always readingNUM_LEDS * 3bytes: a
host sending 102 LEDs got a 200 ms stall and a silently dropped frame — no
light, no message. Now it reads exactly what was announced, discards extras and
darkens the missing LEDs. This only stayed hidden because our app always sends
exactly 120; any third-party Adalight host with a different count broke. - The board introduces itself:
ADALIGHT v2 id=A1B2C3D4 leds=120 baud=500000 order=GRB— on power-up and in reply to the?command. Commands
are accepted only between frames, so they never interfere with the stream, and
a host that only writes never notices the replies. - A unique four-byte id, generated once on first power-up and kept in
EEPROM. The app remembers settings per board instead of per port number, so
reconnecting under a new number breaks nothing. - Self-test via
T: a dot runs along the strip driven by the firmware, with
no frames from the host. It also starts by itself on the very first power-up if
no frame arrives within 3 seconds — plug the kit into a phone charger and check
it with no computer at all. A button on the board (BUTTON_PIN) starts the
same thing on a long press. - Smooth fade-out: on timeout the strip fades over a second instead of
snapping off. An incoming frame cancels both the fade and the self-test. - A 2-second watchdog. On boards with a pre-Optiboot bootloader it has to be
turned off — see the warning infirmware/README.md. - Steady current instead of "breathing": FastLED's dynamic limit
recalculated brightness on every frame, so bright scenes pulsed. It is replaced
by a fixedMAX_BRIGHTNESSceiling: predictable current, steady picture.
App:
- The baud rate detects itself. Candidates are tried in turn (500000,
250000, 1000000, 115200) and the board's answer is the proof. The rate found is
remembered by board id, so next time the search is a single attempt. The
setting moved out of the main panel behind "Show advanced settings". - A port list that makes sense: identified boards come first as "Backlight
(A1B2C3D4)", everything else goes into an "other ports" group (never hidden —
it might be a non-standard board). A single identified board is selected
automatically. Below the list you can see the firmware version and advice to
update it if it is old. - "Blink" makes the strip breathe white, so someone with three COM ports can
tell which one is the backlight. It uses ordinary frames, needs no new firmware
commands, and is available only for identified boards: sending frames into a
printer or a modem is not allowed. "Board self-test" sends theTcommand. - A busy port is no longer confused with a missing board: different message,
different fix. Missing permissions (EACCES) stay separate too, as before. - Boards with older firmware (which only send
Ada) work in compatibility mode:
no id, no self-test, baud rate taken from the settings. - The CLI gained
--identify(where the board is, what firmware, what baud) and
--self-test.
What is Adalight
Screen-edge ambient lighting (ambilight) for an LED strip behind your monitor: the app captures the screen, averages the colors along the edges and streams them to an Arduino/ESP over the classic Adalight protocol. Runs on Windows and Linux/Wayland with a Qt GUI and a tray icon.
Key features
- Screen capture with autodetected backend (dxcam/bettercam/mss on Windows, wf-recorder/grim on Wayland).
- Lamp mode: solid / gradient / rainbows / breathing / fireplace / comet / aurora / starry sky — works without capture.
- Music mode: system audio drives the LEDs (spectrum, bass pulse, bass waves, beat flashes).
- Smart port picker: only boards (Arduino/ESP) and USB devices are shown by default, with friendly labels; “Show all ports” reveals the rest.
- Color pipeline: gamma / brightness / saturation / color temperature / white balance / shadow cut-off; brightness schedule and adaptive brightness.
- Transports: serial (Adalight over USB) and WLED over Wi-Fi (beta).
- Everything is a mod: effects, music, capture, transports and notifications are built-in mods; plugins extend them via a single contract and an event bus.
- Notification flashes, presets (Movie/Game/Work), profiles, autostart, auto-update, first-run wizard, RU/EN UI, dark/light themes.
Full feature list and docs — see the README.
Download: Windows — Adalight-Setup.exe (installer, recommended) or portable Adalight.exe; Linux — Adalight-linux-x86_64 (chmod +x, Wayland capture needs wf-recorder).
Board firmware (Arduino/ESP) is in firmware/ — a reference Adalight sketch by AlexGyver (https://alexgyver.ru/arduino_ambilight/), included with attribution.
⚠️ Бета-версия. Adalight ещё до 1.0 — возможны шероховатости. Пишите об ошибках и идеях в issues.
🇷🇺 Русский
Что нового в v0.26.0
Плата перестала быть немой. Раньше протокол Adalight был односторонним:
хост говорит, плата молчит. Пока она молчит, невозможно ни определить скорость
порта, ни отличить свою подсветку от чужого COM-порта. Теперь прошивка из
комплекта представляется одной строкой — и на ней держится всё остальное.
Прошивка (firmware/Gyver_Ambilight/):
- Счётчик диодов из заголовка наконец работает. Прошивка проверяла его
контрольной суммой и дальше игнорировала, читая всегдаNUM_LEDS * 3байта:
хост, приславший 102 диода, получал зависание на 200 мс и молча выброшенный
кадр — без подсветки и без единого сообщения. Теперь читается ровно столько,
сколько сказано, лишнее отбрасывается, недостающие диоды гаснут. Всплывало это
только потому, что наше приложение всегда шлёт ровно 120; любой сторонний
Adalight-хост с другим числом диодов ломался. - Плата представляется:
ADALIGHT v2 id=A1B2C3D4 leds=120 baud=500000 order=GRB— при включении и в ответ на команду?. Команды принимаются
только между кадрами, поэтому в поток данных не вмешиваются, а хост, который
только пишет и не читает, ответов не замечает. - Уникальный id из четырёх байт: генерируется один раз при первом включении
и живёт в EEPROM. Приложение помнит настройки по конкретной плате, а не по
номеру порта, — переподключение с новым номером ничего не ломает. - Самотест командой
T: бегущая точка по ленте силами прошивки, без потока
кадров от хоста. Он же запускается сам при первом включении, если за 3 секунды
не пришло ни одного кадра, — набор можно проверить, воткнув его в обычную
зарядку, вообще без компьютера. Кнопка на плате (BUTTON_PIN) запускает то же
самое удержанием. - Плавное гашение: по таймауту лента гаснет за секунду, а не мгновенно.
Пришедший кадр прерывает и гашение, и самотест. - Сторожевой таймер на 2 секунды. На платах со старым (доoptiboot)
загрузчиком его надо выключить — предупреждение вfirmware/README.md. - Ток вместо «дыхания»: динамический лимит FastLED пересчитывал яркость на
каждом кадре, и на светлых сценах она пульсировала. Вместо него —
фиксированный потолокMAX_BRIGHTNESS: ток предсказуем, картинка ровная.
Приложение:
- Скорость порта определяется сама. Кандидаты перебираются по очереди
(500000, 250000, 1000000, 115200), признак успеха — ответ платы. Найденная
скорость запоминается по id платы, поэтому в следующий раз перебор сводится к
одной попытке. Из основных настроек скорость убрана — она за галочкой
«Показать дополнительные настройки». - Понятный список портов: опознанные платы идут сверху как «Подсветка
(A1B2C3D4)», всё остальное — отдельной группой «другие порты» (не прячем:
вдруг там нестандартная плата). Единственная опознанная плата выбирается сама.
Под списком видно версию прошивки и совет обновить её, если она старая. - «Мигнуть» — лента плавно дышит белым, чтобы человек с тремя COM-портами
понял, какой из них его подсветка. Работает обычными кадрами, без новых команд
в прошивке, и только для опознанных плат: слать кадры в принтер или модем
нельзя. «Самотест платы» отправляет командуT. - Занятый порт больше не путается с пропавшей платой: это разные сообщения и
разные действия. Нет прав (EACCES) — тоже отдельно, как и раньше. - Платы со старой прошивкой (шлют только
Ada) работают в режиме
совместимости: без id и самотеста, скорость — из настроек. - В CLI появились
--identify(где плата, какая прошивка, на какой скорости) и
--self-test.
Что такое Adalight
Фоновая подсветка (ambilight) для LED-ленты за монитором: приложение захватывает экран, усредняет цвета по краям и шлёт их на Arduino/ESP по классическому протоколу Adalight. Работает на Windows и Linux/Wayland, есть графический интерфейс на Qt и иконка в трее.
Основные возможности
- Захват экрана с авто-выбором бэкенда (dxcam/bettercam/mss на Windows, wf-recorder/grim на Wayland).
- Режим «Лампа»: цвет / градиент / радуги / дыхание / камин / комета / северное сияние / звёздное небо — работает без захвата.
- Цветомузыка: звук системы управляет лентой (спектр, пульс от баса, волны от баса, вспышки на битах).
- **Умный выб...
v0.25.0
⚠️ Beta. Adalight is pre-1.0 — a few rough edges are expected. Please report bugs and ideas in the issues.
🇬🇧 English
What's new in v0.25.0
A new built-in mod, Power guard, for strips powered from the same board
that drives them. A WS2812B channel draws 20 mA at full brightness, so a white
LED is 60 mA: eight LEDs are enough to eat half an amp of USB. On bright scenes
that current runs through the board's protection diode and traces — and it is
the board that heats up.
- The mod estimates the current from every frame before it is sent and, while
it stays over the power budget, dims the whole strip — but never below the
minimum brightness you set. It drops instantly (the limit is not exceeded for
even one frame) and recovers smoothly, over a configurable recovery time. - The estimate is taken from the original frame, not from the already dimmed
one, so there is no feedback loop and the brightness does not "breathe" on
flickering scenes. - Settings: power budget (500 mA USB by default), safety headroom, minimum
brightness and recovery time. The datasheet currents — 20 mA per channel,
~1 mA idle, the board's own draw — sit behind a new "Show advanced
settings" checkbox (any mod can use it: a schema field with
"advanced": true). - While the strip is dimmed, the status card shows the estimated current and
the current brightness — a darker picture no longer looks like a bug. - The mod is off by default: it changes what you see on the strip, so turning
it on is the user's call. - Note: this is a calculation from datasheet currents, not a measurement. It
lowers the risk on bright scenes, but it does not replace an external power
supply and does nothing while the app is not running.
To make it possible, the core got frame filters — a new mod API
(api.register_frame_filter): a mod receives the finished frame bytes right
before they are sent and may change them. Filters run in every mode, including
the strip tests, and the preview now shows what actually went to the strip.
Docs: docs/PLUGINS.md (ru).
What is Adalight
Screen-edge ambient lighting (ambilight) for an LED strip behind your monitor: the app captures the screen, averages the colors along the edges and streams them to an Arduino/ESP over the classic Adalight protocol. Runs on Windows and Linux/Wayland with a Qt GUI and a tray icon.
Key features
- Screen capture with autodetected backend (dxcam/bettercam/mss on Windows, wf-recorder/grim on Wayland).
- Lamp mode: solid / gradient / rainbows / breathing / fireplace / comet / aurora / starry sky — works without capture.
- Music mode: system audio drives the LEDs (spectrum, bass pulse, bass waves, beat flashes).
- Smart port picker: only boards (Arduino/ESP) and USB devices are shown by default, with friendly labels; “Show all ports” reveals the rest.
- Color pipeline: gamma / brightness / saturation / color temperature / white balance / shadow cut-off; brightness schedule and adaptive brightness.
- Transports: serial (Adalight over USB) and WLED over Wi-Fi (beta).
- Everything is a mod: effects, music, capture, transports and notifications are built-in mods; plugins extend them via a single contract and an event bus.
- Notification flashes, presets (Movie/Game/Work), profiles, autostart, auto-update, first-run wizard, RU/EN UI, dark/light themes.
Full feature list and docs — see the README.
Download: Windows — Adalight-Setup.exe (installer, recommended) or portable Adalight.exe; Linux — Adalight-linux-x86_64 (chmod +x, Wayland capture needs wf-recorder).
Board firmware (Arduino/ESP) is in firmware/ — a reference Adalight sketch by AlexGyver (https://alexgyver.ru/arduino_ambilight/), included with attribution.
⚠️ Бета-версия. Adalight ещё до 1.0 — возможны шероховатости. Пишите об ошибках и идеях в issues.
🇷🇺 Русский
Что нового в v0.25.0
Новый встроенный мод «Защита питания» — для лент, которые питаются от той
же платы, что и управляет ими. У WS2812B один канал диода берёт 20 мА на
полной яркости, то есть белый диод — 60 мА: восьми диодов хватает, чтобы
выбрать полампера USB. На ярких сценах ток идёт через защитный диод и дорожки
платы, и греется именно плата.
- Мод оценивает ток по каждому кадру перед отправкой и, пока тот выше бюджета
питания, приглушает всю ленту — но не ниже заданной минимальной яркости.
Вниз регулятор идёт мгновенно (лимит не превышается ни на кадр), обратно —
плавно, за настраиваемое время возврата. - Оценка берётся с исходного кадра, а не с уже приглушённого, — обратной связи
нет, поэтому яркость не «дышит» на мигающих сценах. - Настройки: бюджет питания (по умолчанию 500 мА USB), запас безопасности,
минимальная яркость и время возврата. Паспортные токи ленты — 20 мА на
канал, ~1 мА покоя, потребление платы — спрятаны за новой галочкой
«Показать дополнительные настройки» (её умеет любой мод: поле схемы с
"advanced": true). - Пока лента приглушена, статус-карточка показывает оценку тока и текущую
яркость — просевшая картинка не выглядит поломкой. - По умолчанию мод выключен: он меняет то, что видно на ленте, поэтому включать
его должен пользователь. - Важно: это расчёт по паспортным токам, а не измерение. Мод снижает риск на
ярких сценах, но не заменяет внешнее питание и не работает, когда приложение
не запущено.
Под это в ядре появился фильтр кадра — новая возможность API модов
(api.register_frame_filter): мод получает готовые байты кадра перед самой
отправкой и может их изменить. Фильтры работают во всех режимах, включая тесты
ленты, а предпросмотр теперь показывает то, что реально ушло на ленту.
Документация — в docs/PLUGINS.md.
Что такое Adalight
Фоновая подсветка (ambilight) для LED-ленты за монитором: приложение захватывает экран, усредняет цвета по краям и шлёт их на Arduino/ESP по классическому протоколу Adalight. Работает на Windows и Linux/Wayland, есть графический интерфейс на Qt и иконка в трее.
Основные возможности
- Захват экрана с авто-выбором бэкенда (dxcam/bettercam/mss на Windows, wf-recorder/grim на Wayland).
- Режим «Лампа»: цвет / градиент / радуги / дыхание / камин / комета / северное сияние / звёздное небо — работает без захвата.
- Цветомузыка: звук системы управляет лентой (спектр, пульс от баса, волны от баса, вспышки на битах).
- Умный выбор порта: по умолчанию показаны только платы (Arduino/ESP) и USB-устройства с понятными ярлыками; «Показать все порты» открывает остальные.
- Конвейер цвета: гамма / яркость / насыщенность / температура / баланс белого / отсечка теней; расписание яркости и адаптивная яркость.
- Транспорты: serial (Adalight по USB) и WLED по Wi-Fi (beta).
- Всё есть мод: эффекты, музыка, захват, транспорты и уведомления — встроенные моды; плагины расширяют их через единый контракт и событийную шину.
- Вспышки уведомлений, пресеты (Кино/Игра/Работа), профили, автозапуск, автообновление, мастер первого запуска, RU/EN интерфейс, тёмная/светлая темы.
Полный список возможностей и документация — в README.
Скачать: Windows — Adalight-Setup.exe (установщик, рекомендуется) или переносимый Adalight.exe; Linux — Adalight-linux-x86_64 (chmod +x, для захвата на Wayland нужен wf-recorder).
Прошивка для платы (Arduino/ESP) — в firmware/: эталонный скетч Adalight авторства AlexGyver (https://alexgyver.ru/arduino_ambilight/), добавлен с указанием авторства.
v0.24.2
⚠️ Beta. Adalight is pre-1.0 — a few rough edges are expected. Please report bugs and ideas in the issues.
🇬🇧 English
What's new in v0.24.2
The monitor picker broke itself: "Monitor 'HDMI-A-1 (1920x1080)' not found.
Available: eDP-1, HDMI-A-1". The list label ended up in output while capture
needs the bare name — deleting " (1920x1080)" by hand really did help.
- Cause: when the monitor list was rebuilt (refresh button, re-applying the
settings) the field's text was remembered instead of the monitor name. The
field is editable, so the text went straight back in, the selected item was
"lost", and the full label got saved into the config. - A list's value now always comes from the item's data, not from its caption; a
name typed by hand is still kept as is. - An already broken config heals itself: the label is recognized both when
loading the UI and in capture itself — no manualconfig.jsonediting,--live
without the GUI included.
What is Adalight
Screen-edge ambient lighting (ambilight) for an LED strip behind your monitor: the app captures the screen, averages the colors along the edges and streams them to an Arduino/ESP over the classic Adalight protocol. Runs on Windows and Linux/Wayland with a Qt GUI and a tray icon.
Key features
- Screen capture with autodetected backend (dxcam/bettercam/mss on Windows, wf-recorder/grim on Wayland).
- Lamp mode: solid / gradient / rainbows / breathing / fireplace / comet / aurora / starry sky — works without capture.
- Music mode: system audio drives the LEDs (spectrum, bass pulse, bass waves, beat flashes).
- Smart port picker: only boards (Arduino/ESP) and USB devices are shown by default, with friendly labels; “Show all ports” reveals the rest.
- Color pipeline: gamma / brightness / saturation / color temperature / white balance / shadow cut-off; brightness schedule and adaptive brightness.
- Transports: serial (Adalight over USB) and WLED over Wi-Fi (beta).
- Everything is a mod: effects, music, capture, transports and notifications are built-in mods; plugins extend them via a single contract and an event bus.
- Notification flashes, presets (Movie/Game/Work), profiles, autostart, auto-update, first-run wizard, RU/EN UI, dark/light themes.
Full feature list and docs — see the README.
Download: Windows — Adalight-Setup.exe (installer, recommended) or portable Adalight.exe; Linux — Adalight-linux-x86_64 (chmod +x, Wayland capture needs wf-recorder).
Board firmware (Arduino/ESP) is in firmware/ — a reference Adalight sketch by AlexGyver (https://alexgyver.ru/arduino_ambilight/), included with attribution.
⚠️ Бета-версия. Adalight ещё до 1.0 — возможны шероховатости. Пишите об ошибках и идеях в issues.
🇷🇺 Русский
Что нового в v0.24.2
Выбор монитора ломал сам себя: «Монитор 'HDMI-A-1 (1920x1080)' не найден.
Доступны: eDP-1, HDMI-A-1». В output уходил ярлык из списка, а захвату нужно
имя — стереть « (1920x1080)» руками действительно помогало.
- Причина: при пересборке списка мониторов (кнопка обновления, повторное
применение настроек) запоминался текст поля, а не имя монитора. Поле
редактируемое, поэтому текст возвращался в него как есть, выбранный пункт
«терялся» — и в конфиг сохранялся ярлык целиком. - Значение списка теперь всегда берётся из данных пункта, а не из подписи;
вписанное руками имя по-прежнему сохраняется как есть. - Уже испорченный конфиг чинится сам: ярлык распознаётся и при загрузке в
интерфейс, и в самом захвате — правкаconfig.jsonруками не нужна, в том
числе для--liveбез GUI.
Что такое Adalight
Фоновая подсветка (ambilight) для LED-ленты за монитором: приложение захватывает экран, усредняет цвета по краям и шлёт их на Arduino/ESP по классическому протоколу Adalight. Работает на Windows и Linux/Wayland, есть графический интерфейс на Qt и иконка в трее.
Основные возможности
- Захват экрана с авто-выбором бэкенда (dxcam/bettercam/mss на Windows, wf-recorder/grim на Wayland).
- Режим «Лампа»: цвет / градиент / радуги / дыхание / камин / комета / северное сияние / звёздное небо — работает без захвата.
- Цветомузыка: звук системы управляет лентой (спектр, пульс от баса, волны от баса, вспышки на битах).
- Умный выбор порта: по умолчанию показаны только платы (Arduino/ESP) и USB-устройства с понятными ярлыками; «Показать все порты» открывает остальные.
- Конвейер цвета: гамма / яркость / насыщенность / температура / баланс белого / отсечка теней; расписание яркости и адаптивная яркость.
- Транспорты: serial (Adalight по USB) и WLED по Wi-Fi (beta).
- Всё есть мод: эффекты, музыка, захват, транспорты и уведомления — встроенные моды; плагины расширяют их через единый контракт и событийную шину.
- Вспышки уведомлений, пресеты (Кино/Игра/Работа), профили, автозапуск, автообновление, мастер первого запуска, RU/EN интерфейс, тёмная/светлая темы.
Полный список возможностей и документация — в README.
Скачать: Windows — Adalight-Setup.exe (установщик, рекомендуется) или переносимый Adalight.exe; Linux — Adalight-linux-x86_64 (chmod +x, для захвата на Wayland нужен wf-recorder).
Прошивка для платы (Arduino/ESP) — в firmware/: эталонный скетч Adalight авторства AlexGyver (https://alexgyver.ru/arduino_ambilight/), добавлен с указанием авторства.
v0.24.1
⚠️ Beta. Adalight is pre-1.0 — a few rough edges are expected. Please report bugs and ideas in the issues.
🇬🇧 English
What's new in v0.24.1
Wayland capture did not work in the built binary: "Could not get the monitor
list via hyprctl … returned non-zero exit status 1". Running from source worked
fine, so the bug stayed invisible during development.
- Cause: PyInstaller puts its temporary folder — with libraries from the build
machine (Ubuntu) — intoLD_LIBRARY_PATH, and child processes inherit it, so
hyprctl,grimandwf-recorderloaded a foreignlibstdc++and died
before doing anything ("version GLIBCXX_3.4.35 not found"). On distributions
with a newer toolchain (Arch and others) capture never started. - External programs now run through
adalight.subproc, with the environment as
it was before the bundle started (hyprctl,grim,wf-recorder,pkexec
for the udev rule,dbus-monitorfor notification flashes). - Errors became explainable: the tool's own output is included — "returned
non-zero exit status 1" became "hyprctl monitors: code 1, hyprctl: … version
GLIBCXX_3.4.35 not found". Same forwf-recorder: its stderr is no longer
discarded but shown as the reason for the crash. - Layout: long list items ("Perimeter spectrum", a port path, a monitor name)
stretched the settings column past its maximum and the right edge of the form
slid under the preview — on multi-monitor systems the "refresh monitors"
button became unreachable. - The brightness schedule explanation moved from the checkbox label into a
tooltip; a long plugin name in the manager is elided instead of growing a
scrollbar. - README screenshots updated: English ones for
README.md, Russian ones for
README.ru.md.
What is Adalight
Screen-edge ambient lighting (ambilight) for an LED strip behind your monitor: the app captures the screen, averages the colors along the edges and streams them to an Arduino/ESP over the classic Adalight protocol. Runs on Windows and Linux/Wayland with a Qt GUI and a tray icon.
Key features
- Screen capture with autodetected backend (dxcam/bettercam/mss on Windows, wf-recorder/grim on Wayland).
- Lamp mode: solid / gradient / rainbows / breathing / fireplace / comet / aurora / starry sky — works without capture.
- Music mode: system audio drives the LEDs (spectrum, bass pulse, bass waves, beat flashes).
- Smart port picker: only boards (Arduino/ESP) and USB devices are shown by default, with friendly labels; “Show all ports” reveals the rest.
- Color pipeline: gamma / brightness / saturation / color temperature / white balance / shadow cut-off; brightness schedule and adaptive brightness.
- Transports: serial (Adalight over USB) and WLED over Wi-Fi (beta).
- Everything is a mod: effects, music, capture, transports and notifications are built-in mods; plugins extend them via a single contract and an event bus.
- Notification flashes, presets (Movie/Game/Work), profiles, autostart, auto-update, first-run wizard, RU/EN UI, dark/light themes.
Full feature list and docs — see the README.
Download: Windows — Adalight-Setup.exe (installer, recommended) or portable Adalight.exe; Linux — Adalight-linux-x86_64 (chmod +x, Wayland capture needs wf-recorder).
Board firmware (Arduino/ESP) is in firmware/ — a reference Adalight sketch by AlexGyver (https://alexgyver.ru/arduino_ambilight/), included with attribution.
⚠️ Бета-версия. Adalight ещё до 1.0 — возможны шероховатости. Пишите об ошибках и идеях в issues.
🇷🇺 Русский
Что нового в v0.24.1
Захват на Wayland не работал в собранном бинарнике: «Не удалось получить список
мониторов через hyprctl … returned non-zero exit status 1». Из исходников всё
запускалось, поэтому ошибку не было видно при разработке.
- Причина: PyInstaller подставляет в
LD_LIBRARY_PATHсвою временную папку с
библиотеками сборочной машины (Ubuntu), и её наследуют дочерние процессы —
hyprctl,grim,wf-recorderгрузили чужойlibstdc++и падали ещё до
работы («version GLIBCXX_3.4.35 not found»). На дистрибутивах со свежим
toolchain (Arch и др.) захват не запускался вообще. - Сторонние программы теперь запускаются через
adalight.subproc— с
окружением, каким оно было до старта бандла (hyprctl,grim,wf-recorder,
pkexecдля udev-правила,dbus-monitorдля вспышек уведомлений). - Ошибки стали объяснимыми: в сообщение попадает вывод самой утилиты — было
«returned non-zero exit status 1», стало «hyprctl monitors: код 1, hyprctl:
… version GLIBCXX_3.4.35 not found». То же дляwf-recorder: его stderr
больше не уходит в никуда, а показывается в причине падения. - Вёрстка: длинные пункты списков («Спектр по периметру», путь к порту, имя
монитора) распирали колонку настроек шире её максимума, и правый край формы
уезжал под предпросмотр — на многомониторных системах кнопка обновления
списка мониторов становилась недоступной. - Пояснение к расписанию яркости переехало из подписи галочки в подсказку, имя
плагина в менеджере обрезается многоточием вместо полосы прокрутки. - Скриншоты в README обновлены: английские для
README.md, русские для
README.ru.md.
Что такое Adalight
Фоновая подсветка (ambilight) для LED-ленты за монитором: приложение захватывает экран, усредняет цвета по краям и шлёт их на Arduino/ESP по классическому протоколу Adalight. Работает на Windows и Linux/Wayland, есть графический интерфейс на Qt и иконка в трее.
Основные возможности
- Захват экрана с авто-выбором бэкенда (dxcam/bettercam/mss на Windows, wf-recorder/grim на Wayland).
- Режим «Лампа»: цвет / градиент / радуги / дыхание / камин / комета / северное сияние / звёздное небо — работает без захвата.
- Цветомузыка: звук системы управляет лентой (спектр, пульс от баса, волны от баса, вспышки на битах).
- Умный выбор порта: по умолчанию показаны только платы (Arduino/ESP) и USB-устройства с понятными ярлыками; «Показать все порты» открывает остальные.
- Конвейер цвета: гамма / яркость / насыщенность / температура / баланс белого / отсечка теней; расписание яркости и адаптивная яркость.
- Транспорты: serial (Adalight по USB) и WLED по Wi-Fi (beta).
- Всё есть мод: эффекты, музыка, захват, транспорты и уведомления — встроенные моды; плагины расширяют их через единый контракт и событийную шину.
- Вспышки уведомлений, пресеты (Кино/Игра/Работа), профили, автозапуск, автообновление, мастер первого запуска, RU/EN интерфейс, тёмная/светлая темы.
Полный список возможностей и документация — в README.
Скачать: Windows — Adalight-Setup.exe (установщик, рекомендуется) или переносимый Adalight.exe; Linux — Adalight-linux-x86_64 (chmod +x, для захвата на Wayland нужен wf-recorder).
Прошивка для платы (Arduino/ESP) — в firmware/: эталонный скетч Adalight авторства AlexGyver (https://alexgyver.ru/arduino_ambilight/), добавлен с указанием авторства.
v0.24.0
⚠️ Beta. Adalight is pre-1.0 — a few rough edges are expected. Please report bugs and ideas in the issues.
🇬🇧 English
What's new in v0.24.0
Output performance and port handling. The app was pushing ~25 fps to the strip
while the link could do 137; profiling showed nearly the whole frame was spent
averaging zones over the full frame, with the loop capped by target_fps: 30.
- Zone averaging now uses a fixed sample grid (16×16 per zone, one vectorized
numpy call per frame): ~35 ms on a 1080p frame became ~1.5 ms — the cost no
longer depends on the screen resolution. - Default
target_fpsraised from 30 to 120: the ceiling is now set by capture
and port speed, not by an app timer. A saved config keeps the old value —
raise "Target FPS" in the settings. - The "sides" and "running dot" tests send frames at the full pipeline rate and
report fps — a built-in throughput measurement without external scripts (the
dot still moves at an eye-friendly pace). - A real fps counter (averaged over a second) in every mode, in the status card
and in the tray icon tooltip. - The preview refreshes at its own rate (15 fps by default, configurable in
"Appearance") — UI repaints no longer get in the way of the output loop. - Built-in pipeline profiler:
ADALIGHT_PROFILE=1prints the per-section frame
breakdown (capture / frame / port / preview / wait) to stderr. - Unplugging the board no longer kills the backlight: the engine switches to
"Waiting for the board…", reopens the port every 2 seconds and resumes on its
own after replugging (device.lost/device.restoredevents for plugins too). - On Linux the port is remembered by its stable
/dev/serial/by-id/…path,
which is tied to the chip and survives renumbering (ttyUSB0→ttyUSB1).
If the port is still gone and exactly one board is present — it is used. - Chips are told apart by the VID:PID pair (CH340 vs CH9102 are no longer
confused); ports with unknown chips are not hidden but shown in an
"other ports" group. - Release builds are now verified by running them: the built binary must start
(and, on Linux, bring up its window) or the release is not published. The old
check only made sure the file existed. - The permission error (
errno 13) no longer looks like "board not found": a
dedicated dialog explains the device is visible and offers to install the
udev rule with one button (via pkexec) or show the manual command. The rule
(packaging/99-adalight.rules,TAG+="uaccess"— access via systemd-logind,
no groups or re-login) ships with the app and the release.
What is Adalight
Screen-edge ambient lighting (ambilight) for an LED strip behind your monitor: the app captures the screen, averages the colors along the edges and streams them to an Arduino/ESP over the classic Adalight protocol. Runs on Windows and Linux/Wayland with a Qt GUI and a tray icon.
Key features
- Screen capture with autodetected backend (dxcam/bettercam/mss on Windows, wf-recorder/grim on Wayland).
- Lamp mode: solid / gradient / rainbows / breathing / fireplace / comet / aurora / starry sky — works without capture.
- Music mode: system audio drives the LEDs (spectrum, bass pulse, bass waves, beat flashes).
- Smart port picker: only boards (Arduino/ESP) and USB devices are shown by default, with friendly labels; “Show all ports” reveals the rest.
- Color pipeline: gamma / brightness / saturation / color temperature / white balance / shadow cut-off; brightness schedule and adaptive brightness.
- Transports: serial (Adalight over USB) and WLED over Wi-Fi (beta).
- Everything is a mod: effects, music, capture, transports and notifications are built-in mods; plugins extend them via a single contract and an event bus.
- Notification flashes, presets (Movie/Game/Work), profiles, autostart, auto-update, first-run wizard, RU/EN UI, dark/light themes.
Full feature list and docs — see the README.
Download: Windows — Adalight-Setup.exe (installer, recommended) or portable Adalight.exe; Linux — Adalight-linux-x86_64 (chmod +x, Wayland capture needs wf-recorder).
Board firmware (Arduino/ESP) is in firmware/ — a reference Adalight sketch by AlexGyver (https://alexgyver.ru/arduino_ambilight/), included with attribution.
⚠️ Бета-версия. Adalight ещё до 1.0 — возможны шероховатости. Пишите об ошибках и идеях в issues.
🇷🇺 Русский
Что нового в v0.24.0
Производительность вывода и работа с портом. Приложение отдавало на ленту
~25 кадров в секунду при свободном канале на 137; профилирование показало, что
почти всё время кадра съедало усреднение зон по полному кадру, а потолок цикла
задавал target_fps: 30.
- Усреднение зон переведено на фиксированную сетку отсчётов (16×16 на зону,
один векторный вызов numpy на кадр): было ~35 мс на кадре 1080p, стало
~1.5 мс — время больше не зависит от разрешения экрана. target_fpsпо умолчанию поднят с 30 до 120: потолок теперь задают захват и
скорость порта, а не таймер приложения. В сохранённом конфиге старое значение
остаётся — поднимите «Целевой FPS» в настройках.- Тесты «стороны» и «бегущая точка» шлют кадры на полной скорости тракта и
показывают fps — это встроенный замер пропускной способности без внешних
скриптов (точка по-прежнему движется в глазном темпе). - Счётчик реального fps (усреднение за секунду) во всех режимах, в
статус-карточке и в подсказке иконки трея. - Предпросмотр обновляется не чаще своего fps (по умолчанию 15, настраивается
во «Внешнем виде») — перерисовка интерфейса больше не мешает циклу вывода. - Встроенный профилировщик конвейера:
ADALIGHT_PROFILE=1печатает раскладку
кадра по участкам (захват / кадр / порт / предпросмотр / ожидание) в stderr. - Отключение платы на ходу больше не роняет подсветку: движок переходит в
«Ожидание платы…», переоткрывает порт каждые 2 секунды и сам продолжает
работу после переподключения (событияdevice.lost/device.restored—
и для плагинов). - На Linux порт запоминается стабильным путём
/dev/serial/by-id/…, который
привязан к чипу и переживает смену номера (ttyUSB0→ttyUSB1). Если порт
всё же исчез, а среди портов ровно одна плата — открывается она. - Чипы различаются по паре VID:PID (CH340 и CH9102 больше не путаются);
порты с неизвестным чипом не прячутся, а показываются группой «другие порты». - Сборка релиза теперь проверяется запуском: собранный бинарник обязан
стартовать (на Linux — ещё и поднять окно), иначе релиз не публикуется.
Прежняя проверка убеждалась лишь в том, что файл существует. - Ошибка прав доступа (
errno 13) больше не выглядит как «плата не найдена»:
отдельное окно объясняет, что устройство видно, и предлагает установить
udev-правило одной кнопкой (через pkexec) или показать команду для ручной
установки. Правило (packaging/99-adalight.rules,TAG+="uaccess"— права
через systemd-logind, без групп и перелогина) входит в поставку и в релиз.
Что такое Adalight
Фоновая подсветка (ambilight) для LED-ленты за монитором: приложение захватывает экран, усредняет цвета по краям и шлёт их на Arduino/ESP по классическому протоколу Adalight. Работает на Windows и Linux/Wayland, есть графический интерфейс на Qt и иконка в трее.
Основные возможности
- Захват экрана с авто-выбором бэкенда (dxcam/bettercam/mss на Windows, wf-recorder/grim на Wayland).
- Режим «Лампа»: цвет / градиент / радуги / дыхание / камин / комета / северное сияние / звёздное небо — работает без захвата.
- Цветомузыка: звук системы управляет лентой (спектр, пульс от баса, волны от баса, вспышки на битах).
- Умный выбор порта: по умолчанию показаны только платы (Arduino/ESP) и USB-устройства с понятными ярлыками; «Показать все порты» открывает остальные.
- Конвейер цвета: гамма / яркость / насыщенность / температура / баланс белого / отсечка теней; расписание яркости и адаптивная яркость.
- Транспорты: serial (Adalight по USB) и WLED по Wi-Fi (beta).
- Всё есть мод: эффекты, музыка, захват, транспорты и уведомления — встроенные моды; плагины расширяют их через единый контракт и событийную шину.
- Вспышки уведомлений, пресеты (Кино/Игра/Работа), профили, автозапуск, автообновление, мастер первого запуска, RU/EN интерфейс, тёмная/светлая темы.
Полный список возможностей и документация — в README.
Скачать: Windows — Adalight-Setup.exe (установщик, рекомендуется) или переносимый Adalight.exe; Linux — Adalight-linux-x86_64 (chmod +x, для захвата на Wayland нужен wf-recorder).
Прошивка для платы (Arduino/ESP) — в firmware/: эталонный скетч Adalight авторства AlexGyver (https://alexgyver.ru/arduino_ambilight/), добавлен с указанием авторства.
v0.23.0
⚠️ Beta. Adalight is pre-1.0 — a few rough edges are expected. Please report bugs and ideas in the issues.
🇬🇧 English
What's new in v0.23.0
- Fixed: on Windows the built-in mods (lamp effects, music, screen capture,
transports) were not found — the app reported "plugin not found" and did not
really work. The cause was loading mods dynamically by string name, which the
.exebuilder (PyInstaller) did not see and did not bundle. Mods are now
imported statically and always end up in the build. Linux was unaffected
(running from source).
What is Adalight
Screen-edge ambient lighting (ambilight) for an LED strip behind your monitor: the app captures the screen, averages the colors along the edges and streams them to an Arduino/ESP over the classic Adalight protocol. Runs on Windows and Linux/Wayland with a Qt GUI and a tray icon.
Key features
- Screen capture with autodetected backend (dxcam/bettercam/mss on Windows, wf-recorder/grim on Wayland).
- Lamp mode: solid / gradient / rainbows / breathing / fireplace / comet / aurora / starry sky — works without capture.
- Music mode: system audio drives the LEDs (spectrum, bass pulse, bass waves, beat flashes).
- Smart port picker: only boards (Arduino/ESP) and USB devices are shown by default, with friendly labels; “Show all ports” reveals the rest.
- Color pipeline: gamma / brightness / saturation / color temperature / white balance / shadow cut-off; brightness schedule and adaptive brightness.
- Transports: serial (Adalight over USB) and WLED over Wi-Fi (beta).
- Everything is a mod: effects, music, capture, transports and notifications are built-in mods; plugins extend them via a single contract and an event bus.
- Notification flashes, presets (Movie/Game/Work), profiles, autostart, auto-update, first-run wizard, RU/EN UI, dark/light themes.
Full feature list and docs — see the README.
Download: Windows — Adalight-Setup.exe (installer, recommended) or portable Adalight.exe; Linux — Adalight-linux-x86_64 (chmod +x, Wayland capture needs wf-recorder).
Board firmware (Arduino/ESP) is in firmware/ — a reference Adalight sketch by AlexGyver (https://alexgyver.ru/arduino_ambilight/), included with attribution.
⚠️ Бета-версия. Adalight ещё до 1.0 — возможны шероховатости. Пишите об ошибках и идеях в issues.
🇷🇺 Русский
Что нового в v0.23.0
- Исправлено: на Windows встроенные моды (эффекты лампы, цветомузыка, захват
экрана, транспорты) не находились — приложение сообщало «не удалось найти
плагин» и по сути не работало. Причина — динамическая загрузка модов по
строковому имени, которую сборщик.exe(PyInstaller) не видел и не
упаковывал в дистрибутив. Теперь моды подключаются статическими импортами и
всегда попадают в сборку. На Linux ошибка не проявлялась (запуск из
исходников).
Что такое Adalight
Фоновая подсветка (ambilight) для LED-ленты за монитором: приложение захватывает экран, усредняет цвета по краям и шлёт их на Arduino/ESP по классическому протоколу Adalight. Работает на Windows и Linux/Wayland, есть графический интерфейс на Qt и иконка в трее.
Основные возможности
- Захват экрана с авто-выбором бэкенда (dxcam/bettercam/mss на Windows, wf-recorder/grim на Wayland).
- Режим «Лампа»: цвет / градиент / радуги / дыхание / камин / комета / северное сияние / звёздное небо — работает без захвата.
- Цветомузыка: звук системы управляет лентой (спектр, пульс от баса, волны от баса, вспышки на битах).
- Умный выбор порта: по умолчанию показаны только платы (Arduino/ESP) и USB-устройства с понятными ярлыками; «Показать все порты» открывает остальные.
- Конвейер цвета: гамма / яркость / насыщенность / температура / баланс белого / отсечка теней; расписание яркости и адаптивная яркость.
- Транспорты: serial (Adalight по USB) и WLED по Wi-Fi (beta).
- Всё есть мод: эффекты, музыка, захват, транспорты и уведомления — встроенные моды; плагины расширяют их через единый контракт и событийную шину.
- Вспышки уведомлений, пресеты (Кино/Игра/Работа), профили, автозапуск, автообновление, мастер первого запуска, RU/EN интерфейс, тёмная/светлая темы.
Полный список возможностей и документация — в README.
Скачать: Windows — Adalight-Setup.exe (установщик, рекомендуется) или переносимый Adalight.exe; Linux — Adalight-linux-x86_64 (chmod +x, для захвата на Wayland нужен wf-recorder).
Прошивка для платы (Arduino/ESP) — в firmware/: эталонный скетч Adalight авторства AlexGyver (https://alexgyver.ru/arduino_ambilight/), добавлен с указанием авторства.
v0.22.0
⚠️ Beta. Adalight is pre-1.0 — a few rough edges are expected. Please report bugs and ideas in the issues.
🇬🇧 English
What's new in v0.22.0
- Smart port picker: by default the list shows only boards (Arduino/ESP) and USB
devices — with friendly labels ("COM5 — Arduino Uno"); noisy system ports
(ttyS*) are hidden. Recognition is by the USB descriptor (VID/PID), like "Get
Board Info" in the Arduino IDE — the board is never opened or probed. - A "Show all ports" checkbox — for a board with an exotic chip that isn't listed.
- Beta marker in the window title and the About dialog.
- Board firmware added to the repo (firmware/) — a reference Adalight sketch by
AlexGyver (alexgyver.ru/arduino_ambilight), included with attribution. - Richer GitHub release notes: what's new, a description and the features,
English first, then Russian.
What is Adalight
Screen-edge ambient lighting (ambilight) for an LED strip behind your monitor: the app captures the screen, averages the colors along the edges and streams them to an Arduino/ESP over the classic Adalight protocol. Runs on Windows and Linux/Wayland with a Qt GUI and a tray icon.
Key features
- Screen capture with autodetected backend (dxcam/bettercam/mss on Windows, wf-recorder/grim on Wayland).
- Lamp mode: solid / gradient / rainbows / breathing / fireplace / comet / aurora / starry sky — works without capture.
- Music mode: system audio drives the LEDs (spectrum, bass pulse, bass waves, beat flashes).
- Smart port picker: only boards (Arduino/ESP) and USB devices are shown by default, with friendly labels; “Show all ports” reveals the rest.
- Color pipeline: gamma / brightness / saturation / color temperature / white balance / shadow cut-off; brightness schedule and adaptive brightness.
- Transports: serial (Adalight over USB) and WLED over Wi-Fi (beta).
- Everything is a mod: effects, music, capture, transports and notifications are built-in mods; plugins extend them via a single contract and an event bus.
- Notification flashes, presets (Movie/Game/Work), profiles, autostart, auto-update, first-run wizard, RU/EN UI, dark/light themes.
Full feature list and docs — see the README.
Download: Windows — Adalight-Setup.exe (installer, recommended) or portable Adalight.exe; Linux — Adalight-linux-x86_64 (chmod +x, Wayland capture needs wf-recorder).
Board firmware (Arduino/ESP) is in firmware/ — a reference Adalight sketch by AlexGyver (https://alexgyver.ru/arduino_ambilight/), included with attribution.
⚠️ Бета-версия. Adalight ещё до 1.0 — возможны шероховатости. Пишите об ошибках и идеях в issues.
🇷🇺 Русский
Что нового в v0.22.0
- Умный выбор порта: по умолчанию в списке показаны только платы (Arduino/ESP)
и USB-устройства — с понятными ярлыками («COM5 — Arduino Uno»), а мусорные
системные порты (ttyS*) скрыты. Распознавание по USB-дескриптору (VID/PID),
как «Get Board Info» в Arduino IDE — плату не трогаем и не открываем. - Галочка «Показать все порты» — если платы нет в списке (экзотический чип).
- Пометка бета-версии в заголовке окна и в окне «О программе».
- В репозиторий добавлена прошивка (firmware/) — эталонный скетч Adalight
авторства AlexGyver (alexgyver.ru/arduino_ambilight), с указанием авторства. - Тело GitHub-релиза теперь подробное: «что нового», описание и возможности,
сначала на английском, затем на русском.
Что такое Adalight
Фоновая подсветка (ambilight) для LED-ленты за монитором: приложение захватывает экран, усредняет цвета по краям и шлёт их на Arduino/ESP по классическому протоколу Adalight. Работает на Windows и Linux/Wayland, есть графический интерфейс на Qt и иконка в трее.
Основные возможности
- Захват экрана с авто-выбором бэкенда (dxcam/bettercam/mss на Windows, wf-recorder/grim на Wayland).
- Режим «Лампа»: цвет / градиент / радуги / дыхание / камин / комета / северное сияние / звёздное небо — работает без захвата.
- Цветомузыка: звук системы управляет лентой (спектр, пульс от баса, волны от баса, вспышки на битах).
- Умный выбор порта: по умолчанию показаны только платы (Arduino/ESP) и USB-устройства с понятными ярлыками; «Показать все порты» открывает остальные.
- Конвейер цвета: гамма / яркость / насыщенность / температура / баланс белого / отсечка теней; расписание яркости и адаптивная яркость.
- Транспорты: serial (Adalight по USB) и WLED по Wi-Fi (beta).
- Всё есть мод: эффекты, музыка, захват, транспорты и уведомления — встроенные моды; плагины расширяют их через единый контракт и событийную шину.
- Вспышки уведомлений, пресеты (Кино/Игра/Работа), профили, автозапуск, автообновление, мастер первого запуска, RU/EN интерфейс, тёмная/светлая темы.
Полный список возможностей и документация — в README.
Скачать: Windows — Adalight-Setup.exe (установщик, рекомендуется) или переносимый Adalight.exe; Linux — Adalight-linux-x86_64 (chmod +x, для захвата на Wayland нужен wf-recorder).
Прошивка для платы (Arduino/ESP) — в firmware/: эталонный скетч Adalight авторства AlexGyver (https://alexgyver.ru/arduino_ambilight/), добавлен с указанием авторства.