Skip to content

LCD pages

LordBooker edited this page Oct 29, 2026 · 5 revisions

LCD pages

Devices with LCD: Logitech G13 (tested), Logitech G510, Logitech G15, Logitech G15 v2 (untested). The LCD is monochrome, 160 × 43 pixels.

LCD tab with preview

Pages

Page Content
Start animation a flame wall burns the start image and reveals Tux and the device name (about 9 s); see below
Profile name the name of the profile, large, for 3 seconds when the profile changes; see below
Status device, profile, layer M1–M3, "REC" while recording
System load of CPU, RAM, GPU and VRAM as bars with percentages; CPU and GPU temperature, used RAM and VRAM
CPU load, all CPU temperatures, the clock of each logical CPU (thread) as a bar; off by default
AMD GPU load, core and memory clock, all temperatures, VRAM, power, fan; off by default
NVIDIA GPU load, core and memory clock, temperature, VRAM, power, fan; off by default, untested
Clock time with seconds, day and date in your language
Text text from scripts, up to five lines (Scripting with D-Bus)

The LCD tab chooses the enabled pages and their order (global for all devices), shows a preview and can show a page on the device. The round button BD shows the next page; other keys can be bound to LCD page actions (next, previous or a specific page).

Start animation

The flame intro known from linux-g13-driver. On the G13 it starts with the firmware's "G13" logo, on G15, G15 v2 and G510 with a dark display; at the end Tux and the device name appear.

  • It is the first entry in the LCD tab and cannot be moved; untick it to switch it off.
  • When enabled it plays every time the device connects – when the daemon starts at login, after replugging and after waking up – and its final image stays until you switch to the next page.
  • It is not part of the pages the round button goes through; "next" goes to the first page.
  • A text from a script interrupts it; after a temporary text it continues.
  • LcdPage s intro (D-Bus) or Show this page on the device plays it again.

New installations have it enabled; after an update from an older version it is listed unticked.

Profile name

When you switch to another profile (with a key, in the application or over D-Bus), the LCD shows its name for 3 seconds and then returns to the page that was shown before. A change of the layer (M1–M3) and the first profile after connecting do not show it. Untick Profile name in the LCD tab to switch it off; it is not part of the pages the round button goes through.

The name is drawn as large as it fits:

Length Size
up to 5 characters largest, about the size of the G13 logo of the start animation
6, up to 8, up to 13 characters one line, smaller step by step
up to 26 characters with a space two lines, broken at the space, e.g. "Elite" / "Dangerous"
up to 26 characters without a fitting space one small line
longer one small line, cut with ~ after 26 characters

New installations have the page enabled; after an update from an older version it is listed unticked.

System page

  • CPU load from /proc/stat, RAM from /proc/meminfo (used = total − available).
  • CPU temperature: AMD (k10temp, zenpower) or Intel (coretemp).
  • GPU: AMD graphics cards with the amdgpu driver – load, VRAM and temperature of the card with the most VRAM. Intel graphics have no load value in sysfs; NVIDIA is not supported yet.
  • Without a supported GPU the page shows CPU, RAM and swap (if configured).
  • The values are refreshed once per second, only while the page is shown.

CPU page

  • Top row: load and all temperatures of the CPU sensor (k10temp, zenpower or coretemp), e.g. CPU 5% Tctl 45° CCD1 29°. If they do not fit, the values after the first are combined (70° 61/63/60°).
  • Intel (coretemp, untested): besides the package it has a temperature per core; only the hottest core is shown, e.g. CPU 23% Pkg 61° Max 68°.
  • Below, over the whole width: one bar per logical CPU (every thread, so 16 bars on an 8-core CPU with SMT), from 0 up to the highest clock of the CPU (on Intel CPUs with P- and E-cores the highest of all cores). The bars get narrower with more CPUs: with a gap between them up to 52, one pixel each up to 158; with more, one bar stands for several CPUs and shows the highest clock among them.
  • Needs cpufreq (/sys/devices/system/cpu/cpu*/cpufreq); without it the page says so.

GPU pages

Row AMD GPU (amdgpu) NVIDIA GPU (NVML)
1 load as bar and percent load as bar and percent
2 core and memory clock (MHz) graphics and memory clock (MHz)
3 all temperatures (edge, junction, mem) GPU temperature
4 VRAM as bar, used/total VRAM as bar, used/total
5 power (W), fan (rpm) power (W), fan (%)
  • AMD: the card with the most VRAM, read from sysfs and hwmon.
  • NVIDIA: the first GPU, read through NVML (libnvidia-ml.so.1), which comes with the proprietary NVIDIA driver (on Arch nvidia-utils); nouveau is not supported. NVML gives consumer cards no hotspot or memory temperature. Not tested on hardware yet – feedback is welcome.
  • Values the driver does not report are shown as -- or left out. Without the GPU the page shows the reason, e.g. no NVIDIA driver (NVML).
  • Values are refreshed once per second, only while the page is shown.

Text page

busctl --user call io.github.lordbooker.GKeyConfig /io/github/lordbooker/GKeyConfig \
    io.github.lordbooker.GKeyConfig1 LcdText si "Build done" 5

Lines are separated by a newline character; in bash write $'Line 1\nLine 2'. With a duration in seconds the text is shown temporarily and the previous page returns; 0 keeps it until the page is changed.

Clone this wiki locally