[PLUGIN] Glass - Phoenix risen from the PeppyMeter Screensaver ashes

Hi, @nerd

When I clicked “Use glass-evo on the screen”, I expected glass-evo to take over the display from the kiosk. However, after triggering it, the Waveshare 5-inch OLED touchscreen connected to my Raspberry Pi 5 went black for about 90 seconds, and then reverted back to the previous screen.

The Screen tab showed the following message:

glass-evo could not start, so the screen went back to the kiosk. (exit 1 glass: SDL error: Can't load EGL/GL library on window creation.)

A similar error message was also displayed under the Status tab.

Additionally, I occasionally get a red error toast notification:

Touch Display - Error applying screensaver timeout settings: Error: ENOENT: no such file or directory, stat '/tmp/.X11-unix/X'

Volumio_-The_Music_Player-_Google_Chrome_310

Apologies for not providing the detailed log files right now as it is quite late here. I will extract and upload the complete system logs tomorrow morning.

Thank you!

Hey @dewen,

No way around it:

Kind Regards,

I have installed Glass and it looks fantastic with a great management interface.
Apologies if this has been asked before.
I run a Lyrion server on Windows 11.
I have installed Volumio on a RPi 4 8Gb, installed Glass and the Squeezelite plugins

|Glass|0.7.99 (arm) · build 2516743|
|Volumio|4.204 · pi · Raspberry Pi 4 Model B Rev 1.5 · backend up 4.7 h|

In Lyrion I can see players , one each for Squeezelite, UPnP, and Airplay

When I initiate playback from Lyrion to any one of these three players I am getting inconsistent results results for album art display and audio rendering in my chosen template. Sometimes works sometimes not.
Is this use case something that should work seamlessly ?
If you can confirm yes I will gather the required diagnostics and post, or is it something that is not supported ?

Thanks

Hey @jfbuk,

Same, no way around it:

Upgrade first, then reproduce.

Kind Regards,

Hey @dewen @jfbuk,

In order to investigate anything I need you to follow post #2 or #80. You need to provide me with the details as requested, or simply I have no way to investigate anything.

Frankly - your choice.

Kind Regards,

Hi @nerd,

I realise the diagnostic requirement but my post was asking the question of whether I should expect my use case to work before I uploaded anything.
Your first response to upgrade and re-test suggests that it should.
If I still get the problem I will upload the needed diagnostics
Regards

Hi @nerd

I am having an issue when clicking “Use glass-evo on the screen”. The system throws an error:

SDL error: Can’t load EGL/GL library on window creation.

System Environment

  1. Volumio Version: 4.204
  2. Glass Version: 0.8.30
  3. Glass-evo Version: 0.1.21
  4. Hardware: Raspberry Pi 5 Model B Rev 1.0 (8GB RAM)
  5. Display: Waveshare 5.5-inch AMOLED (HDMI-A-1: 1080×1920, portrait by nature)
  6. Active Theme & Meter: 1920x1080_g5_721_ms, 121G5_Pioneer S+M
  7. Audio Source: Local files
  8. Performance Profile: Full
  9. Installed Plugins:
  • Touch Display 3.6.0
  • Now Playing 1.0.6
  • Spotify 4.5.0
  • FM/DAB Radio 1.3.9
  1. Remote Client: Windows (x64 22H2), 16GB RAM | Glass_remote version: 0.7.77

Description of the Issue

  • What Happened: When I press “Use glass-evo on the screen”, the connected touchscreen on the Pi 5 turns black for about 30 seconds and then reverts back to the kiosk. glass-evo fails to display on both the physical screen and FACE.
  • Expected Behavior: glass-evo should take over the display, showing the glass control/clock on both the physical screen and FACE.

Logs & Diagnostics

Additional Troubleshooting Done

  1. Checked EGL/GL Libraries: Ran sudo apt-get install -y libegl1 libgl1. Both libegl1 and libgl1 are already at the newest version (1.6.0-1).
  2. Display Configuration: I am using a Waveshare AMOLED 5.5-inch panel and applied 2aCD’s guide for GPU-accelerated screen rotation on Pi 4/5. I’m not sure if this custom GPU rotation configuration conflicts with SDL/EGL library loading under glass-evo.

Thank you for your help!

Glass Report :

Glass report: Something else
What I did and what I saw: While press "use glass-evo on the screen", the display turn black for about 30 seconds then come back, the glass-evo seems not get control of the display and FACE.
Reproduced between Oct 03 12:12:28 and Oct 03 12:14:58 by the player's clock, as in the log, with Glass logging in full.
System log: http://logs.volumio.org/volumio/LEfsz7K.html

Diagnosis
  Something else: the checks found no cause
  Checked: Glass 0.8.30 is the latest release.

volumio · Glass 0.8.30

Player
  Glass: 0.8.30 (arm) · build 4ede771
  Volumio: 4.204 · pi · Raspberry Pi 5 Model B Rev 1.0 · backend up 5 min
  Memory: 7.77 GB · 845.0 MB in use · 6.94 GB available
  Other plugins: FM/DAB Radio 1.3.9 (music_service) · on · in the audio path
    Now Playing 1.0.6 (user_interface) · on
    Radio Browser 1.0.3 (music_service) · on
    Spotify 4.5.0 (music_service) · on
    System information 3.1.1 (user_interface) · on
    Touch Display 3.6.0 (user_interface) · on
  Addresses: hidden until revealed
  Manager: http://volumio.local:5582/ · up 5 min
  Anymote: http://volumio.local:5582/anymote
  PeppyMeter Screensaver enabled: no

Screen
  Display: showing · DISPLAY=:0 · opens after 30 s
  Screen: screen 1920x1080 · theme 1920x1080 · mouse on · since 2026-10-03 12:14
  Drawn on: X (opengl) · the screen is the kiosk's
  Screen owner: The kiosk owns the screen: it is the player's interface, Glass a screensaver over it. · glass-evo: installed 0.1.21 · glass-evo took the screen on 2026/10/3 下午12:13:28; it turned off: Now Playing, Touch Display, getty@tty1. Given back on 2026/10/3 下午12:13:47. · glass-evo could not start, so the screen went back to the kiosk. (exit 1 glass: SDL error: Can't load EGL/GL library on window creation. | libGL: Can't open configuration file /etc/drirc: No such file or directory. | libGL: Can't open configuration file /home/volumio/.drirc: No such file or directory.) · Face size: normal
  Kiosk: Kiosk service: active · X server: up · Touch Display plugin: on (angle 0) · Display Configuration plugin: off
  Screen settings: rotation 0 · pointer hidden
  Touch mapping: Calibrated ·  · matrix 1.011, 0.003, -0.017, 0.001, 0.995, -0.024
  Panels: HDMI-A-1: connected, 1080×1920, portrait by nature · HDMI-A-2: nothing connected
  Inputs: Touch: WaveShare WaveShare (event5) · Mice: none · Keyboards: none · HDMI remotes: vc4-hdmi-0 (event1), vc4-hdmi-1 (event3)
  Backlight: none
  Interactive controls: On for every theme
  Performance: Full · 60 fps · governor on · Raspberry Pi 5 Model B Rev 1.0

Audio
  Audio path: the tap heads the ALSA chain · output volumio
  Player: play · mpd · Aline Piboule - Deux Pièces, Op. 104: No. 1, Nocturne No. 11 in F-Sharp Minor · measured · flac 96 kHz 24 bit
  Audio rings: glasstap.glass.2421.0 (96000 Hz, 2 ch, live)
  Channel: 1 displays connected

Themes
  Theme on show: 1920x1080_g5_721_ms · All meters, at random · now 121G5_Pioneer S+M
  Theme folders: 21 themes in /data/INTERNAL/glass/templates · 5 spectrum twins in /data/INTERNAL/glass/templates_spectrum
  Fonts: Light: Built in · Regular: Built in · Bold: Built in · Italic: Built in · Clock digits: Built in · 0 uploaded
  Network share: themes editable from computers on the network
  Car Dash: off
  Artist fanart: on · Personal key · on each title · 0 artists cached
  Catalog: 182 themes · catalog changed 2026-10-01 20:36 · 19 installed from it

Network and remotes
  Remote displays: Remote displays are off on this player.

Face and Anymote
  Face: 1 pages watching · frames flow

Housekeeping
  Logging: verbose
  Last upgrade: 0.8.23 · 0.8.30 · 2026-10-03 11:21
  Releases offered: released ones only
  Newest backup: before-0.8.30 · 2026-10-03 11:21
  Internal storage: 72.23 GB free
  Recent problems: 2026-10-03T12:13:45+0800 volumio volumio[1405]: error: glass: the display did not run: exit 1 glass: SDL error: Can't load EGL/GL library on window creation. | libGL: Can't open configuration file /etc/drirc: No such file or directory. | libGL: Can't open configuration file /home/volumio/.drirc: No such file or directory.
    2026-10-03T12:13:45+0800 volumio volumio[1405]: warn: glass: screen owner: glass-evo cannot hold the screen (face-failed: exit 1 glass: SDL error: Can't load EGL/GL library on window creation. | libGL: Can't open configuration file /etc/drirc: No such file or directory. | libGL: Can't open configuration file /home/volumio/.drirc: No such file or directory.); the kiosk gets it back
    2026-10-03T12:13:45+0800 volumio volumio[1405]: warn: glass: the display died 1 s after launch; next attempt in 1 s

Hey @dewen,

Thank you, a model report. The Status sheet already narrows it down: glass-evo took the screen and died within a second with “Can’t load EGL/GL library on window creation”, and the screen went back to the kiosk as designed.

What is still missing is the other side of the comparison: what the kiosk’s X server uses to draw on that panel. 2aCD’s guide changes exactly that, with its own X configuration (96-amoled_mode.conf) and the xrandr rotation. Whether that is involved is a hypothesis until the X log says so.

With the kiosk on the screen as usual, copy the X server’s log to the player’s Internal Storage share:

cp /var/log/Xorg.0.log /data/INTERNAL/

Then on your PC, open \volumio\Internal Storage, zip Xorg.0.log, and attach the zip to your post here. If the forum will not take the attachment, use a file transfer service of your choice and post the link. A screenshot of the log does not count, per post 2.

Kind Regards,

Hi @nerd ,

Here is the Xorg.0.log file from the player as requested:

Hope this helps diagnose whether 2aCD’s X configuration / xrandr setup is causing the issue with EGL/GL library loading.

Thank you!

Hey @dewen,

Thank you, that log was worth the trip.

The X log says the problem is not 2aCD’s rotation. X drives the panel through KMS as intended, and the rotation is plain. But X itself fails at the same step glass-evo does:

(EE) modeset(0): eglGetDisplay() failed
modeset(0): glamor initialization failed

after which X falls back to software drawing (swrast). In other words, your kiosk is running without the GPU too. It just does not complain about it. glass-evo has no software fallback, so it says so out loud.

The likely suspect is the Mesa driver behind EGL, not EGL itself. libegl1, which you checked, is only the front desk; the doctor behind it is another package. Please post the output of:

dpkg -l libegl-mesa0 libgl1-mesa-dri libgbm1

For comparison, a working Pi 5 on Volumio 4.204 shows all three as “ii”, version 24.2.8-1~bpo12+rpt5, armhf. Anything missing or different on yours is the lead.

That is a hypothesis being tested, not a diagnosis. The command only reads; it changes nothing.

Kind Regards,

Hi @nerd,

Thank you for the detailed explanation! That makes a lot of sense—I didn’t realize the Kiosk was silently falling back to software rendering.

Here is the output from running dpkg -l libegl-mesa0 libgl1-mesa-dri libgbm1:
volumio@volumio_~_319

It looks like all three packages are installed (ii), but their versions are 24.2.8-1~bpo12+rpt4 (whereas your working Pi 5 has rpt5).

Should I attempt to update these Mesa packages to rpt5, or is there another way to get GPU acceleration working?

Kind regards,

DeWen

Hey @dewen,

Good eye on rpt4 against rpt5, but that one is a red herring. I read the Raspberry Pi changelog for both. rpt5 adds a single security fix and nothing else. The one Pi 5 display fix in that series came in rpt2, and you already have it. The difference is only the date the Touch Display plugin installed X and Mesa on each player. So no need to update Mesa, and please don’t: apt on Volumio writes over the system image, and a half-upgraded Mesa can leave a player with no screen at all.

The packages are in place, so the next question is whether EGL can find Mesa at all. The front desk (libglvnd) looks for a small registration file pointing at the Mesa driver. Without it, eglGetDisplay fails exactly as in your log, packages or not. Please post the output of:

ls -l /usr/share/glvnd/egl_vendor.d/ /usr/lib/arm-linux-gnueabihf/libEGL_mesa.so.0*

For comparison, the working Pi 5 shows:

lrwxrwxrwx 1 root root     20 Jul  1 15:39 /usr/lib/arm-linux-gnueabihf/libEGL_mesa.so.0 -> libEGL_mesa.so.0.0.0
-rw-r--r-- 1 root root 302320 Jul  1 15:39 /usr/lib/arm-linux-gnueabihf/libEGL_mesa.so.0.0.0

/usr/share/glvnd/egl_vendor.d/:
total 4
-rw-r--r-- 1 root root 105 Jul  1 15:39 50_mesa.json

Your dates and the file size will differ, since your Mesa is the older revision. What matters is whether 50_mesa.json and libEGL_mesa.so.0 are there at all. Again, the command only reads.

Kind Regards,

Hi @nerd,

Thank you for clarifying the rpt4 vs rpt5 difference and warning against running apt upgrade.

I ran the command, and it seems both 50_mesa.json and libEGL_mesa.so.0 exist on my system as well:

lrwxrwxrwx 1 root root 20 Sep 18 2025 /usr/lib/arm-linux-gnueabihf/libEGL_mesa.so.0 → libEGL_mesa.so.0.0.0
-rw-r–r-- 1 root root 302320 Sep 18 2025 /usr/lib/arm-linux-gnueabihf/libEGL_mesa.so.0.0.0
/usr/share/glvnd/egl_vendor.d/:
total 1
-rw-r–r-- 1 root root 105 Sep 18 2025 50_mesa.json

I thought it might also be helpful to share my /boot/userconfig.txt settings, in case any of these DRM/HDMI parameters conflict with KMS hardware acceleration on the Pi 5:

max_framebuffer_height=1920
config_hdmi_boost=10
hdmi_group=2
hdmi_mode=87
hdmi_timings=1080 1 26 4 50 1920 1 8 2 6 0 0 0 60 0 135580000 3
hdmi_drive=1
hdmi_blanking=1
dtoverlay=vc4-kms-v3d,cma-256

Note: These settings (especially hdmi_timings and hdmi_mode) were added based on the Waveshare display setup instructions and 2aCD’s guide. Could legacy HDMI timing options interfere with Mesa/EGL initialization under vc4-kms-v3d on Pi 5?

Kind regards,

DeWen

Hey @dewen,

Thank you, everything checks out on the Mesa side. Time to take the shortcut instead: those AMOLED settings come from 2aCD’s guide, not from Glass or the Touch Display plugin, and they change how the Pi’s GPU starts. Let us take them out of the picture, retest, and put them back afterwards if needed. Everything below keeps a copy. Hmmm… This is becoming off-topic, but worth the track record…

  1. Keep a copy of your boot settings:
sudo cp /boot/userconfig.txt /boot/userconfig.txt.amoled
  1. Turn off the AMOLED timing lines, and keep KMS but without 2aCD’s memory setting:
sudo sed -i -E -e 's/^(max_framebuffer_height|config_hdmi_boost|hdmi_group|hdmi_mode|hdmi_timings|hdmi_drive|hdmi_blanking)/#&/' -e 's/^dtoverlay=vc4-kms-v3d,cma-256/dtoverlay=vc4-kms-v3d/' /boot/userconfig.txt
  1. Move 2aCD’s two X files out of the way:
sudo mv /etc/X11/xorg.conf.d/96-amoled_mode.conf /etc/X11/Xsession.d/55x11-rotate_display /home/volumio/
  1. Reboot:
sudo reboot

Expect the screen to come up in portrait, possibly with the touch off. That is the price of the test. Use the Manager from your PC.

Then:

  • Post the output of grep -n -E "glamor|eglGetDisplay|swrast" /var/log/Xorg.0.log
  • Press “Use glass-evo on the screen” in the Manager’s Screen tab, and post the Status sheet’s Screen owner line.

To put everything back as it was:

sudo cp /boot/userconfig.txt.amoled /boot/userconfig.txt && sudo mv /home/volumio/96-amoled_mode.conf /etc/X11/xorg.conf.d/ && sudo mv /home/volumio/55x11-rotate_display /etc/X11/Xsession.d/ && sudo reboot

Kind Regards,

Hi @nerd,

Thank you for providing the clear step-by-step instructions for this test!

Here are the results after removing 2aCD’s AMOLED configs, Xorg configurations, and rebooting:

  1. grep -n -E "glamor|eglGetDisplay|swrast" /var/log/Xorg.0.log output:

Plaintext96:[ 27.408] (II) Loading sub module "glamoregl" 97:[ 27.408] (II) LoadModule: "glamoregl" 98:[ 27.408] (II) Loading /usr/lib/xorg/modules/libglamoregl.so 99:[ 27.421] (II) Module glamoregl: vendor="X.Org Foundation" 102:[ 27.590] (EE) modeset(0): eglGetDisplay() failed 103:[ 27.590] (II) modeset(0): glamor initialization failed 219:[ 27.887] (II) IGLX: Loaded and initialized swrast

  1. Screen owner status after pressing “Use glass-evo on the screen”:

glass-evo took the screen on 2026/10/3 下午9:07:01; it turned off: Now Playing, Touch Display, getty@tty1. Given back on 2026/10/3 下午9:07:24. glass-evo could not start, so the screen went back to the kiosk. (exit 1 glass: SDL error: Can't load EGL/GL library on window creation. | libGL: Can't open configuration file /etc/drirc: No such file or directory. | libGL: Can't open configuration file /home/volumio/.drirc: No such file or directory. | Can't open configuration file /etc/drirc: No such file or directory.)

Conclusion & Next Steps

This confirms that the issue persists even without 2aCD’s screen rotation and custom HDMI timings.

To completely eliminate any residual system state or package conflict, I plan to reflash a completely fresh Volumio image and test glass-evo without applying any screen rotation modifications or 2aCD scripts.

I will keep you posted on the results from the clean installation!

Kind regards,

As previously posted inconsistent album art display when using Volumio as aSqueezelite player
Volumio playback screen (Manifest)

Anymote display in Win 11 Browser

Diagnostics

Volumio version 4.204.

Glass version - 00.8.30 (arm) · build 4ede771

Device - Raspberry Pi 4 Model B Rev 1.5.8Gb

Screen - no screen size from X · theme 1920x1080 · mouse on

Theme and meter on show - 1920x1080_g5_713_CD · One meter: 172G5_Sony557 Cust · now 172G5_Sony557 Cust

Source – various – local files, Radio Paradise, internet radio - playback initiated from Lyrion server

Performance profile - Custom.

Other plugins installed - Squeezelite

What happened, what you expected, and how to reproduce it –

Lyrion – select Volumio as Squeezelite player and initiate playback
Manifest Volumio playback display includes album art
Anymote display with selected them - no album art

The remote machine: Windows 11.used to manage Glass in browser and Anymote display

Log
glass-log-jfbvolumio-2026-10-03-13-20.txt (111.1 KB)

Apologies if I have missed anything

Hi @nerd,

Great news! After reflashing a completely fresh Volumio image, installing the Touch Display plugin (with a 90-degree screen rotation set), and then installing Glass and glass-evo, I selected the option to rotate the Pi screen by 90 degrees directly within Glass.

Everything is now working perfectly! glass-evo launched successfully on both FACE and the physical Display.

It seems the clean installation removed whatever low-level graphics/driver conflict was present on the previous setup. Using Glass’s built-in display rotation alongside the official Touch Display plugin works like a charm.

Thank you so much for your patient help, thorough step-by-step diagnostic guidance, and deep explanation of the underlying driver architecture. I really learned a lot throughout this troubleshooting process!

Kind regards,

DeWen

1 Like

Hey @jfbuk,

Yes, this should work, and thank you for the details: screenshots → they showed exactly where to look. Took time to dig into unfamiliar Lyrion source code (don’t ask!).

The Squeezelite plugin passes your Lyrion server’s covers on without saying they are pictures. I think this should be reported in the corresponding plugin’s tread. Volumio’s own page shows them anyway; Glass did not. That is fixed in Glass 0.8.31 (System tab, upgrade; and glass-evo 0.1.22 if you use it). Covers from radio stations came a different way, which is why it worked sometimes.

If the meters ever stand still while music plays from Lyrion, look at the Status tab’s Player line: it says “measured” or “not measured”. If it says “not measured”, restart the Squeezelite plugin once and tell me.

Kind Regards,

Thanks @nerd :tada:
I have upgraded and looking good.
I will cross - reference a post to the Squeezelite plugin thread

Hi @Gelo5,

Good news! I found the answer to the CUE album issue in the Glass Wiki documentation:

According to the Glass Wiki Troubleshooting:

  • This issue was fixed in version 0.7.88.
  • Previously, Volumio handled track names inside CUE sheets differently, which caused Glass to mistake them for audio streams without folder paths—hence back.jpg and other folder pictures didn’t show up.
  • In version 0.7.88 and later, the CUE sheet’s folder is now correctly recognized.

So updating Glass to version 0.7.88 or higher should resolve the issue for CUE + FLAC / APE albums!

Hope this helps!

1 Like