psieg / Lightpack

Lightpack and Prismatik open repository

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linux prismatik sound visualisation very lacking in comparison to windows

thedjnK opened this issue · comments

When using the windows prismatik sound visualiation mode, the output is very good. However, on linux (tested on x86_64 and aarch64 with pulseaudio) in the same mode, the output can only really be described as almost useless, the lower LEDs never illuminate and the upper LEDs do not really illuminate to a level that looks anything remotely like the windows version. I don't know if this is a difference in maybe how the monitor input for pulseaudio is or if it's even fixable (haven't looked at the code) but just wondered if there was a known reason for this?

Unrelated to this, on aarch64 (raspberry pi) there is a period of about 1-2 minutes after starting whereby prismatik maxes out 1 CPU core at 100% utilisation and the LEDs are not enabled until the program icon then fully appears and starts working - no such issue on windows. Also the LED setup page does not work well on aarch64 and generally locks up when LEDs are specified at the sides.

Windows version from release page, version 5.11.2.29.
Linux versions for x86_64 and aarch64 built manually from latest source.
aarch64 board is 2GB RAM raspberry pi 4 and 1GB RAM raspberry pi 3.

Output device is a fake adalight, fake as in not official but a custom device built on zephyr which accepts the same commands and outputs as a real device would, via USB-CDC, with a chain length of 13 LEDs. Baud rate is set to 921600 but is actually whatever speed the USB device can accept data at.

Unrelated to this, on aarch64 (raspberry pi) there is a period of about 1-2 minutes after starting whereby prismatik maxes out 1 CPU core at 100% utilisation and the LEDs are not enabled until the program icon then fully appears and starts working - no such issue on windows. Also the LED setup page does not work well on aarch64 and generally locks up when LEDs are specified at the sides.

try rebuilding with a lower value for MaximumNumberOfLeds::Device::AbsoluteMaximum (src/enums.hpp), and redo a fresh profile (or manually remove all the extra LEDs from the one you are using)
maybe the current limit is too much for the pi
if not, try profiling