I did some more testing now. First I tried it with a fresh config but it's the same result.
My Hyperion runs on CoreELEC with the Addon that comes from the CoreELEC repo. Sadly there are no other versions than 2.0.16 for testing.
But I can definitively confirm now that it's not the grabber, because I just remembered that we also effects in Hyperion ![]()
and with the Rainbow swirl (and probably all other effects) it's exactly the same and very noticeable.
Next I tried it with another instance on my PC using the sirfragalot/hyperion.ng docker image, on version 2.0.16 and 2.1.1, and there it's exactly the same, so it should be easily reproduceable (no hardware needed, just the default effect as source and /dev/null as LED device). But there's one difference: it's not permanent. It's very noticeable after a restart of Hyperion and after about 30 seconds disappears and is completely smooth. Although sometimes there is still some flickering at random times.
But testing it with the rainbow effect, I just realized that this flickering is actually not noticeable on the real hardware LEDs. But still, I often see flickering just like in the preview when watching something where movement is in the center but mostly still image at the edges of the screen. Maybe these are different kind of issues?
Here's the debug log from my test instance:
2025-10-26T13:14:39.473Z [WEBSOCKET] (DEBUG) (WebSocketJsonHandler.cpp:62:onDisconnected()) WebSocket disconnected from ::ffff:172.19.0.1 initiated via: http://localhost:8190
2025-10-26T13:14:39.869Z [WEBSOCKET] (DEBUG) (WebSocketJsonHandler.cpp:22:WebSocketJsonHandler()) New WebSocket connection from ::ffff:172.19.0.1 initiated via: http://localhost:8190
2025-10-26T13:14:39.869Z [WEBSOCKET] (INFO) JSON-API service is ready to process requests
2025-10-26T13:14:39.939Z [WEBSOCKET] (DEBUG) (JsonAPI.cpp:141:handleInstanceSwitch()) Client '::ffff:172.19.0.1' switch to Hyperion instance 0
2025-10-26T13:14:39.976Z [WEBSOCKET] (DEBUG) (JsonCallbacks.cpp:88:subscribe()) log streaming activated for client ::ffff:172.19.0.1
2025-10-26T13:14:46.615Z [WEBSOCKET] (DEBUG) (JsonCallbacks.cpp:216:unsubscribe()) log streaming deactivated for client ::ffff:172.19.0.1
2025-10-26T13:14:48.937Z [LEDDEVICE|First LED Hardware instance] (DEBUG) (LedDevice.cpp:200:disable()) Disable device file'
2025-10-26T13:14:48.937Z [LEDDEVICE|First LED Hardware instance] (INFO) Switching device file OFF
2025-10-26T13:14:48.937Z [LEDDEVICE|First LED Hardware instance] (DEBUG) (LedDevice.cpp:365:writeBlack()) Set LED strip to black to switch LEDs off
2025-10-26T13:14:48.937Z [LEDDEVICE|First LED Hardware instance] (DEBUG) (LedDevice.cpp:371:writeColor()) Writes: [5]
2025-10-26T13:14:48.938Z [LEDDEVICE|First LED Hardware instance] (INFO) Device file is OFF
2025-10-26T13:14:48.938Z [LEDDEVICE|First LED Hardware instance] (DEBUG) (LedDeviceFile.cpp:85:close()) File: /dev/null
2025-10-26T13:14:48.938Z [COMPONENTREG|First LED Hardware instance] (DEBUG) (ComponentRegister.cpp:96:setNewComponentState()) LED device: disabled
2025-10-26T13:15:08.226Z [EFFECTENGINE|First LED Hardware instance] (INFO) Effect "Rainbow swirl" finished
2025-10-26T13:15:08.387Z [MUXER|First LED Hardware instance] (DEBUG) (PriorityMuxer.cpp:391:updatePriorities()) Removed source priority 1
2025-10-26T13:15:08.387Z [MUXER|First LED Hardware instance] (DEBUG) (PriorityMuxer.cpp:454:updatePriorities()) Set visible priority to 255
2025-10-26T13:15:08.387Z [HYPERION|First LED Hardware instance] (DEBUG) (Hyperion.cpp:616:handleSourceAvailability()) No source left -> Pause output processing and switch LED-Device off
2025-10-26T13:15:08.388Z [SMOOTHING|First LED Hardware instance] (DEBUG) (LinearColorSmoothing.cpp:722:selectConfig()) [0] - Type: Linear, Pause: false, Settling time: 150ms, Interval: 40ms (25Hz), delay: 0 frames
2025-10-26T13:15:13.067Z [EFFECTENGINE|First LED Hardware instance] (INFO) Run effect "Rainbow swirl" on channel 1
2025-10-26T13:15:13.067Z [EFFECTENGINE|First LED Hardware instance] (DEBUG) (EffectEngine.cpp:213:runEffectScript()) Start the effect: "Rainbow swirl"
2025-10-26T13:15:13.067Z [MUXER|First LED Hardware instance] (DEBUG) (PriorityMuxer.cpp:214:registerInput()) Reuse input 'Hyperion Web-UI@::ffff:172.19.0.1/EFFECT' (Rainbow swirl) with priority 1
2025-10-26T13:15:13.138Z [MUXER|First LED Hardware instance] (DEBUG) (PriorityMuxer.cpp:454:updatePriorities()) Set visible priority to 1
2025-10-26T13:15:13.138Z [HYPERION|First LED Hardware instance] (DEBUG) (Hyperion.cpp:632:handleSourceAvailability()) new source available -> LED-Device not enabled, cannot switch on LED-device
2025-10-26T13:15:13.138Z [SMOOTHING|First LED Hardware instance] (DEBUG) (LinearColorSmoothing.cpp:698:selectConfig()) Run Effect with Smoothing enabled
2025-10-26T13:15:13.138Z [SMOOTHING|First LED Hardware instance] (DEBUG) (LinearColorSmoothing.cpp:722:selectConfig()) [4] - Type: Linear, Pause: false, Settling time: 200ms, Interval: 40ms (25Hz), delay: 0 frames
2025-10-26T13:15:16.903Z [WEBSOCKET] (DEBUG) (JsonCallbacks.cpp:88:subscribe()) log streaming activated for client ::ffff:172.19.0.1
Display More