Skip to content

Libre Panel v0.7.1

Choose a tag to compare

@syntensa syntensa released this 26 Oct 17:24
· 247 commits to main since this release

A transition for every occasion and twelve new ones; community themes shared in two clicks and
found for your panel; an update with one click; drivers for Thermalright, BeadaPanel, NZXT,
Thermaltake and Waveshare's own kind of display; a third less memory; sharper video that costs
the processor less, with black as black on the 12.3"; the round report with its lows and
temperatures; Japanese, Russian and Italian; and nothing loaded with administrator rights that
others can change.

The screens in turn, one after another, along the new line of light

Security

  • With administrator rights, nothing that other programs can change is loaded or
    started.
    Started with the highest rights (Start with Windows → With administrator
    rights
    , or "Run as administrator"), Libre Panel used to load the plugin folders in your
    profile and start the ffmpeg named in config.toml with those rights, and any program you
    run may change both. Now it loads no plugin folders from there and starts ffmpeg,
    PresentMon and the AI agents' programs only from Program Files, Windows or its own
    folder (as root on Linux: folders that belong to root). A video.ffmpeg elsewhere is
    passed over for the program that came with Libre Panel, so smooth motion goes on;
    Settings → Overview says what was held back. The sensor service reads the locked sensors
    without these rights, so they are seldom needed. Thanks to an outside review for pointing
    at it.

New

  • Transitions for every occasion, and twelve more of them. Music, the PC at rest, the
    screens in turn and the rest switched with a faint fade; now Settings → Panel →
    Transitions gives each occasion its own (a game, music, rest, screens in turn, the
    autopilot, the round report, a theme chosen), a default, a pace (fast, normal, leisurely)
    and Random. Music starts with the entrance showing its cover and track and ends with
    "Music ended"; the screens in turn follow a line of light. New: wipe, zoom, iris, blinds,
    dissolve and slides to every side, and the elaborate line of light, glitch, tiles and
    shatter. ▶ plays one on the panels, out to a card with its name and back.
  • Themes travel as files, and a community gallery. Export… on a theme's card (Start →
    Themes) saves it as a .zip with the pictures and fonts it names and nothing of your folders;
    Import… (or the file dropped on the gallery) adds a shared one to yours under a free name,
    checked before anything is in place (size, kinds of files, paths, a theme.json that parses).
    Share with everyone… (the globe on your theme's card) asks what it is called and shows,
    saves the theme and opens GitHub's form, filled in: drag the file in and send. A workflow
    checks it where it can write nothing, draws its picture with the demo readings and opens the
    pull request. Community themes, a closed section of the gallery, lists the themes others
    shared, those made for the panel chosen in the header first, marked Fits; one made for
    another size asks before it installs, an installed one goes on the panel with one click, and
    a download whose hash or size does not fit its entry is not installed. Nothing is asked of
    the network until the section is opened.
  • Update with one click: where a newer version is out, Start's card and Settings → About
    offer "Update to …". The download comes only from this repository's releases over HTTPS and
    is checked against the published size and the release's SHA256SUMS (every release from
    now on carries that file). A second click installs it: the Windows setup runs silently after
    the app has quit and the app starts again, a portable zip is unpacked beside the running
    folder with the settings copied, an AppImage replaces itself in place; a Linux tarball only
    lands in Downloads. A pre-release is offered pre-releases of its own line, a release only
    releases.
  • More makers' screens, unverified: drivers for Thermalright's Trofeo Vision (the 6.86"
    and the 9.16" and 11.3" bars), every BeadaPanel model (on the Panel-Link stream they all
    take), the NZXT Krakens with an LCD (Z53/Z63/Z73, Kraken 2023, Elite RGB 2024, Plus 2024:
    still pictures through the cooler's picture memory, never its pump or fans) and
    Thermaltake's 6" LCD, each written from the published sources (credited in NOTICE.md) and
    none yet seen on real hardware: auto finds them, Settings lists them, HARDWARE.md says
    what each cannot do. auto now looks on past a maker's screen it does not drive.
  • Waveshare USB monitors (experimental). These displays draw their own themes from their
    card and take only the values from the PC: the new service Waveshare USB monitor
    (Settings → Game mode and more) sends them Libre Panel's readings, under the keys their
    themes use, and sets the brightness (on the display's own scale, so as bright as with
    Waveshare's program) and turns the picture where you ask. Nothing is written on the card, and
    a port another program has open (wsmonitor's service) is left to it, with a word on the card.
    On Linux, Set up sensors and panel access now also hands units with the ids 1234:5678 from
    the touchscreen driver to the serial one. The protocol is the one Derik-for-real24 documented
    in the wsmonitor project (#21), with thanks; the same frames from its client were seen
    working on a display.
  • JONSBO ZC-360: each screen a panel of its own. One click in Settings → Panels makes the
    three fan screens three panels of 640×180 and back: each shows a theme of its own, the
    header's panel switch picks the one Live shows and Design edits, and the three keep one
    brightness. Seven versions of Lumen for one screen; the three start with CPU, GPU and
    memory, each a lit ring beside its history. (Asked for in #13; not yet seen on the
    hardware.)
  • Japanese, Russian and Italian: the app, the panel texts and the tray in ten languages
    now (Settings → Start and system → Language); the three new ones have not had a native
    speaker's review yet, so corrections are welcome.
  • What Libre Panel costs your PC: a card Load on this PC in Live → Diagnose shows Libre
    Panel's processor share and its private memory as the Task Manager counts them (the working
    set beside it), per process (the app, each panel's process, each ffmpeg, PresentMon, the
    window, the sensor service), the threads of the app by name, and how long
    LibreHardwareMonitor's rounds take with their slowest parts. Copy as text for an issue; the
    panel report carries it too. Nothing is measured while the card is not on screen.
  • Check the colours, in the app: Settings → Panel → Check the colours encodes a test
    picture with every encoder that works on this PC, the colours made on the graphics card and
    by the processor, decodes both and compares them patch by patch: identical, a level
    shift
    (black and white) or a matrix shift (the colours). It says who converts and why,
    with the day it was checked and Check again; Show it on the panel switches the test
    picture between both ways with A and B in a corner, and Is black too light on the panel?
    Compare
    shows any panel both ranges, A looks right or B looks right writing the one
    that does.
  • An experiment for the video mode, for those who want to try what the panels take beyond
    what was measured on the 9.2": a card Video experiment under Settings → Panel with the bit
    rate's cap, the quality, x264's speed, the profile, the encoder (the graphics card's: at
    little cost to the processor), the keyframe spacing and 60 frames a second, each written at
    once, with Live's tiles and the log's lines about the video underneath, and a way back to the
    measured settings. Run every step by itself tries them all in turn, judges each step and
    shows a table to copy into an issue (Video).
  • Stills as JPEG on TURZX USB panels: [device] still = "auto" | "png" | "jpeg" says how a
    panel takes its pictures without smooth motion. JPEG goes to the layer under the PNG one and
    is decoded in hardware; "auto" is JPEG on the 5.2", which shows nothing of a PNG, and PNG on
    the others, where it is proven. Settings → Panel → Advanced has the switch (Stills).
  • A service can say what it is doing (Service.summary()), shown on its card in the app.

Changes

  • Sharper video that costs less: the quality is crf 20 (was 25), the profile is high on the
    9.2" and the 12.3", and the encoder is the graphics card's where it was measured to show
    (AMD's h264_amf; x264 takes over where one fails). The bit rate's cap grows with the pixels
    and the frame rate and then follows the panel, between 1 and 32 Mbit/s, so the 12.3" is no
    longer held to the 9.2"'s 2 Mbit/s; a step of the cap starts the new stream beside the old
    one without a gap, and the rate a panel got to is kept for the next run. The frames go into
    ffmpeg as four bytes a pixel, about 8 ms less processor time per frame with a card's encoder
    and 4 ms with x264 on the 12.3".
  • The graphics card converts the colours only where it is proven right: with
    video.pixels = "auto" the processor converts until a colour check has compared the card's
    conversion with it; the first time the video mode starts a card's encoder with a new ffmpeg
    or graphics driver, that check runs by itself in the background (a few frames, a few seconds,
    never on the panel). Where the colours come out identical the card takes over, else the
    processor stays. Every stream says it is BT.601, in the range it has, whichever encoder made
    it, so a player on the PC shows it as the panel does.
  • 30 frames a second by default: the video mode runs at 30 instead of 50. On the panels it
    still looks smooth, and it asks far less of the PC: measured with two panels, 7.5 % of a
    16-thread processor (1.2 cores) at 30 against 12.4 % (2.0 cores) at 50. Settings → Panel →
    Frames per second says what 50 costs, for whoever wants it. A panel set to 50 by hand keeps
    it.
  • A third less memory in many places. The renderer's caches are held by their size in
    bytes instead of a count (the frames stay the same to the pixel), the app's pictures (the
    themes' previews, the community's) go a minute after its window closes, and the window's
    WebView2 runs with one renderer and no disk caches. Measured in the video mode: a panel's
    own process 110 → 74 MB, Lumen on the 12.3" 139 → 110 MB, the main process after Start
    showed every theme 246 → 164 MB and a minute after the window closed 151 MB.
  • The renderer keeps more between frames: the lit rings redraw only their tip, the
    background is laid once for the whole panel, the fans of a list turn over the list, and list
    patterns are matched only when the readings' keys change. The same pixels, 13 to 19 % less
    processor time per frame on the game screen.
  • The round report tells more: the round's 1 % and 0.1 % lows, its average and longest
    frame time (every frame of the round counted), the course of the CPU and GPU temperatures
    over the round, and the PC's peak power where the power service runs, on all five report
    screens; game.fps_avg, game.fps_1low, game.fps_01low, game.frametime_avg and
    game.frametime_max are readings for any screen. Live → History keeps a round's report as a
    picture.
  • The screens use their room: the card of what plays sets the title, the artist and the
    player a size larger; Almanac's clock is a tenth larger on the 9.2" and 12.3"; a clock
    module with room to spare runs the seconds along a line under the date; the processes card
    shows four rows; the ring instrument can show the course of the load under its rows (Arena
    beside a companion on the 12.3"); Agents say for how long each one has been working, waiting
    or idle; names no longer end in dots where a shorter word fits.
  • Panels: the TURZX 9.2", 8.8" and 12.3" are listed as verified on the hardware (#19,
    #20).
  • The GitHub page and the website, shorter and quicker to grasp: a grid of the features
    under the download buttons, "Several panels at once" as a section of its own, a compact tour
    with the rest of each part folded away; the long theme descriptions live in THEMES.md.

Fixes

  • Black looked grey on the 12.3" in video mode: its decoder shows the video as full range,
    so the video of limited range looked washed out while the stills were right. It now gets full
    range by itself ([device] video_range, each panel its own).
  • "Automatic" chose x264 where the graphics card's encoder works: the test of an encoder
    fed it 64×64 pictures, which a card's encoder may refuse although it encodes the panel's
    pictures fine. The test now runs the video mode's own command as the video mode feeds it.
  • A theme opens at once from the gallery: Edit opens Design in a fifth of a second instead
    of waiting for every preview.
  • Japanese on the panel in Japanese glyphs on Linux: the panel's fallback fonts follow the
    app's language.
  • The app's server reads every request to the end before it answers: on Windows an
    answer could be thrown away (the renewal of the notify key).

Which file? Windows: …-setup.exe, Linux: ….AppImage; see Install.