Help with framebuffer video player

Hi,
I want to switch my project boschkundendienst/raspisignage: Digital Signage client (player) and cms (server) using archlinux|ARM on a Raspberry Pi (github.com) from archlinux/arm to manjaro/arm.

No problems so far. Currently I am trying to restore a functionality that was possible when using archlinux/arm.
I was using omxplayer to play videos via cron. What happened was that the video was playing in the framebuffer and when ended the display somehow automatically switched back to the previous screen with chromium. (not showing any terminal at all. it was smooth)

I know, that omxplayer is gone and mpv, vlc and mplayer support playing in the framebuffer. - I tested that by using mpv in an SSH shell while no X was running and I could see the video playing in the framebuffer.

But now, when X is running showing chromium in fullscreen this does not work anymore. When I execute mpv in an SSH shell it shows the following:

[alarm@manjarosignage ~]$ mpv --fs TearsOfSteel.mp4
 (+) Video --vid=1 (*) (h264 1280x534 24.000fps)
 (+) Audio --aid=1 (*) (aac 2ch 44100Hz)
[vo/gpu/drm] VT_GETMODE failed: Inappropriate ioctl for device
[vo/gpu/drm] Failed to set up VT switcher. Terminal switching will be unavailable.
[vo/gpu/drm] Failed to acquire DRM master: Permission denied
[vo/gpu/drm] Failed to commit ModeSetting atomic request: Permission denied
[vo/gpu/opengl] Failed to set CRTC for connector 32: Permission denied
[vo/gpu] Failed to commit atomic request: Permission denied
[vo/gpu/drm] Failed to commit ModeSetting atomic request: Permission denied
[vo/gpu/drm] Failed to restore previous mode
[vo/gpu/drm] Failed to drop DRM master: Permission denied
[vo/gpu-next/drm] Can't handle VT release - signal already used
[vo/gpu-next/drm] Failed to set up VT switcher. Terminal switching will be unavailable.
[vo/gpu-next/drm] Failed to acquire DRM master: Permission denied
[vo/gpu-next/drm] Failed to commit ModeSetting atomic request: Permission denied
[vo/gpu-next/opengl] Failed to set CRTC for connector 32: Permission denied
[vo/gpu-next] Failed to commit atomic request: Permission denied
[vo/gpu-next/drm] Failed to commit ModeSetting atomic request: Permission denied
[vo/gpu-next/drm] Failed to restore previous mode
[vo/gpu-next/drm] Failed to drop DRM master: Permission denied
Error opening/initializing the selected video_out (--vo) device.
Video: no video
Exiting... (Errors when loading file)

When stopping lightdm and try afterwards it works:

[alarm@manjarosignage ~]$ mpv --fs TearsOfSteel.mp4
 (+) Video --vid=1 (*) (h264 1280x534 24.000fps)
 (+) Audio --aid=1 (*) (aac 2ch 44100Hz)
[vo/gpu/drm] VT_GETMODE failed: Inappropriate ioctl for device
[vo/gpu/drm] Failed to set up VT switcher. Terminal switching will be unavailable.
[vo/gpu] High bit depth FBOs unsupported. Enabling dumb mode.
[vo/gpu] Most extended features will be disabled.
[E] pw.loop [loop.c:67 pw_loop_new()] 0xaaaae001a110: can't make support.system handle: No such file or directory
AO: [alsa] 44100Hz stereo 2ch float
VO: [gpu] 1280x534 yuv420p

It also works when X is running and switching terminals manually

[alarm@manjarosignage ~]$ sudo systemctl start lightdm
[alarm@manjarosignage ~]$ sudo chvt 1
[alarm@manjarosignage ~]$ mpv --fs TearsOfSteel.mp4
 (+) Video --vid=1 (*) (h264 1280x534 24.000fps)
 (+) Audio --aid=1 (*) (aac 2ch 44100Hz)
[vo/gpu/drm] VT_GETMODE failed: Inappropriate ioctl for device
[vo/gpu/drm] Failed to set up VT switcher. Terminal switching will be unavailable.
[vo/gpu] High bit depth FBOs unsupported. Enabling dumb mode.
[vo/gpu] Most extended features will be disabled.
[E] pw.loop [loop.c:67 pw_loop_new()] 0xaaaaeca85110: can't make support.system handle: No such file or directory
AO: [alsa] 44100Hz stereo 2ch float
VO: [gpu] 1280x534 yuv420p
Exiting... (Quit)
[alarm@manjarosignage ~]$ sudo chvt 7

But doing it this way temporarely shows VT1 terminal with some text before playing the video and afterwards before switchting back to VT7.

So could someone help to restore the functionality to play a video in the framebuffer (started from cron) that automatically switches terminals and after the video has ended switches back?

I would be very interested why this worked automagically with omxplayer or archlinuxarm and what could be the root cause.

Thanks in advance.

Greets Peter

1 Like

Hello,

Please share the device used and the os image version used.

@Darksky is our senior device support maintainer for RPI devices. He will respond when he is available online.

Most error are due to permission issue.

Can you check the config of mpv, it is forcing hwacc while either the firmware file is missing or the vpu drivers are missing.

I have not messed with the way your project works and have never used the programs you have mentioned. I did not have the time to install your project from your git and try to figure out why things were not working. Since omxplayer is not in the picture it is my belief that your issue may not be specific to the rpi anymore.

With what I have installed here I received the same errors but if I export the DISPLAY in the ssh terminal with the mpv command then the video played fine. So it looks like how ever you have it set up mpv is not wanting to play in framebuffer mode for some reason as I can resize and move the player window.

So sorry I can not be much help.

1 Like

Hi, thanks for all the replies. I had to give a way the device but will come back here when I have it in my hands again. Will investigate that on an x86 installation, too and follow up.