Skip to content

Attract Plasma

The plasma mode renders a lava-lamp-style plasma blob effect by evaluating overlapping sine-based color functions at each pixel position. The pattern morphs continuously over time, producing smooth organic blob shapes that shift and merge through a cycling 256-step gradient palette.

Options

Key Type Description Default Allowed Values
speed float Morph speed multiplier controlling how quickly the plasma blobs shift and evolve over time 1.0 any valid float (0.1–10.0 recommended)
density float Density parameter kept for uniformity across attract modes, does not visibly affect plasma output 0.5 any valid float (0.1–1.0)
cycle_rate float Color palette cycles per second controlling how rapidly the gradient hues rotate through the spectrum 1.0 any valid float (0.1–5.0 recommended)
blob_scale float Spatial frequency multiplier for blob size, higher values produce smaller more numerous blobs 1.0 any valid float (0.5–4.0)

Policy Fields

Field Type Range Default Description
Speed float64 [0.1, 10.0] 1.0 Morph speed multiplier
Density float64 [0.1, 1.0] 0.5 Reserved for uniformity
CycleRate float64 [0.1, 5.0] 1.0 Color palette cycles/second
BlobScale float64 [0.5, 4.0] 1.0 Spatial frequency multiplier

CLI Examples

Query current plasma policy settings:

cyberhudctl display attract_plasma

Set a faster morph speed with tighter blob scaling:

cyberhudctl display config 0 speed=3.0 blob_scale=2.0

Panel Compatibility

  • Color TFT — full RGB plasma rendering with smooth gradient transitions across the 256-step palette. This is the ideal panel type for the plasma effect.
  • Monochrome OLED — the plasma pattern is rendered in grayscale, mapping palette intensity to white levels. Blob shapes remain visible but without color variation.
  • E-Ink — renders a single static frame due to slow refresh characteristics. See E-Ink Behavior below.

E-Ink Behavior

On e-ink panels, the plasma mode renders a single static plasma frame at time=0 for slow-refresh panels. The RenderCacheKey remains stable after the initial frame, preventing unnecessary refreshes that would cause flicker or ghosting on e-ink displays.

Snapshots

Color

color-8x16 8x16
8x16
color-16x8 16x8
16x8
color-80x160 80x160
80x160
color-slow-104x212 104x212
104x212
color-slow-122x250 122x250
122x250
color-128x128 128x128
128x128
color-128x160 128x160
128x160
color-slow-128x296 128x296
128x296
color-135x240 135x240
135x240
color-160x80 160x80
160x80
color-160x128 160x128
160x128
color-slow-176x264 176x264
176x264
color-slow-200x200 200x200
200x200
color-slow-212x104 212x104
212x104
color-240x135 240x135
240x135
color-240x240 240x240
240x240
color-240x320 240x320
240x320
color-slow-250x122 250x122
250x122
color-slow-264x176 264x176
264x176
color-slow-296x128 296x128
296x128
color-slow-300x400 300x400
300x400
color-320x240 320x240
320x240
color-320x480 320x480
320x480
color-slow-400x300 400x300
400x300
color-480x320 480x320
480x320
color-480x800 480x800
480x800
color-slow-480x800 480x800
480x800
color-800x480 800x480
800x480
color-slow-800x480 800x480
800x480

Grayscale

grayscale-fast-8x16 8x16
8x16
grayscale-fast-16x8 16x8
16x8
grayscale-fast-80x160 80x160
80x160
grayscale-slow-104x212 104x212
104x212
grayscale-slow-122x250 122x250
122x250
grayscale-fast-128x128 128x128
128x128
grayscale-fast-128x160 128x160
128x160
grayscale-slow-128x296 128x296
128x296
grayscale-fast-135x240 135x240
135x240
grayscale-fast-160x80 160x80
160x80
grayscale-fast-160x128 160x128
160x128
grayscale-slow-176x264 176x264
176x264
grayscale-slow-200x200 200x200
200x200
grayscale-slow-212x104 212x104
212x104
grayscale-fast-240x135 240x135
240x135
grayscale-fast-240x240 240x240
240x240
grayscale-fast-240x320 240x320
240x320
grayscale-slow-250x122 250x122
250x122
grayscale-slow-264x176 264x176
264x176
grayscale-slow-296x128 296x128
296x128
grayscale-slow-300x400 300x400
300x400
grayscale-fast-320x240 320x240
320x240
grayscale-fast-320x480 320x480
320x480
grayscale-slow-400x300 400x300
400x300
grayscale-fast-480x320 480x320
480x320
grayscale-fast-480x800 480x800
480x800
grayscale-slow-480x800 480x800
480x800
grayscale-fast-800x480 800x480
800x480
grayscale-slow-800x480 800x480
800x480

Mono

mono-8x16 8x16
8x16
mono-16x8 16x8
16x8
mono-32x128 32x128
32x128
mono-64x128 64x128
64x128
mono-slow-104x212 104x212
104x212
mono-slow-122x250 122x250
122x250
mono-128x32 128x32
128x32
mono-128x64 128x64
128x64
mono-128x128 128x128
128x128
mono-slow-128x296 128x296
128x296
mono-slow-176x264 176x264
176x264
mono-slow-200x200 200x200
200x200
mono-slow-212x104 212x104
212x104
mono-slow-250x122 250x122
250x122
mono-slow-264x176 264x176
264x176
mono-slow-296x128 296x128
296x128
mono-slow-300x400 300x400
300x400
mono-slow-400x300 400x300
400x300
mono-slow-480x800 480x800
480x800
mono-slow-800x480 800x480
800x480