I want to create a minimal install for mpv
playback through jellyfin-mpv-shim and macast. this is going to be a base for a FOSS media sink akin to a Chromecast. you attach it to your TV and it plays whatever you send it, like movies from your jellyfin server and youtube/vimeo/piped/etc videos. otherwise, there’s no interaction with it, it doesn’t handle input (remotes, mice, keyboards, etc.), it’s controlled via apps (jellyfin android and allcast).
I’ve already made a proof-of-concept device running debian 12 with Plasma and it (mostly) works. now I’d like to trim the fat and install only what’s absolutely necessary as I currently only have a 2006 macbook with busted screen and GMA950 with a mechanical HD. I’m gonna go with LAN only so I don’t have to dick around with broadcom WLAN.
what do I need in terms of DEs and/OR WMs? do I need those at all? I seem to remember that I could run firefox in kiosk mode without anything else but X11, could I run mpv like that? or possibly wayland? what would be the absolute minimum package-wise to achieve this?
to reiterate, it’s only going to display full-screen mpv when there’s video to play, no menus, navigation, nada. possibly some slideshow-while-idle thingy in the future if it doesn’t add too much in terms of software needed, but not right now.
I’m currently building a similar device, which uses miraclecast for screen sharing from a phone or laptop and jellyfin in firefox kiosk mode controlled via the jellyfin app as a idle screen. Also sending media links via kde connect is possible. I still want to implement hypnotix for tv and some kind of intigration with the streaming services of the german public brodcasters. I haven’t thought about dlna but I like the idea.
I’m also using Debian as a base but I’m using LXQT with Wayland insted if Plasma. I tested everythin on a rasberry pi 4b but it’s struggeling. I want to move everything to a rock 5c.
If you want to run a single Wayland application, use Cage: https://github.com/cage-kiosk/cage
I would expect cage to be smaller than an X11 server.
MPV should work fine with Wayland and Pipewire.
So basically a personalized FOSS chromecast device? Also, howd you send the media links? Via ssh?
jellyfin’s android app has the cast functionality built-in, it connects to jellyfin-mpv-shim. you select the video from the app and press play and that’s it - it plays on the remote device. you can then pause, ff/rewind, change subs, etc., from the android app.
as to youtube videos, select video in newpipe, share to allcast, allcast connects to macast, which uses yt-dl to play the video via mpv. you can then control the playback (stop, skip, etc) from allcast.
this all works on a full-featured desktop without problems; I’d like to strip everything but the bare necessities needed to run mpv.
I don’t have any experience with your exact question.
But I would look into xinit and try if you can start just mpv.
If this doesn’t work look for a slim WM and configer it that the applications are displayed in fullscreen and launch mpv after the WM.
Probably any of the tiling window managers should work: https://wiki.archlinux.org/title/Window_manager
yeah, that’s the main question - do I need a window manager, when I all want is just full screen?
I’ve found something called mpv-kiosk, but that’s a snap and that monstrosity is the opposite of what I need.
You shouldn’t need a window manager, you should be able to pass a tell mpv to just run full screen.
Alternativly, if you’re up for a bit more work, it looks like you can get mpv to run in tge framebuffer and so not need ecen X11. It might take recompiling a few packages, I’m not sure whether the options are built by default now, but you could have a look at this thread fir example: https://bbs.archlinux.org/viewtopic.php?id=176072
the fb route would be awesome, I’m adding this to my research list. would video playback be accelerated in this case?
I believe so, but that’s definitely something you’d need to check yourself.
I also found this, It’s for a RaspberryPi but surely can be adapted:
https://gist.github.com/seffs/2395ca640d6d8d8228a19a9995418211
You can look at the source of the snap and check what it does
What should be shown if there is currently no playback?
doesn’t matter. in the future I might cobble something together, like a clock or weather or a slideshow, but I’m fine with a blank/black/whatever screen.
Wayland is the future, but this is one of the things where X11 is like meant for it.
I would still go with Wayland. Use a compositor that just displays fullscreen.
Note that MPV needs XWayland, players like Celluloid/Haruna are Wayland native.
No idea about the rest though.
Other than his choice of video player not supporting Wayland yet, why is this perfect for X11?
If he is only going to run one app, he can use Cage.
I dont know the details, but easy remote control, network transparency etc.
This does not apply to a web-client (MPV) getting the media and just displaying it, with the station connected to a normal display.
So no, this is likely unproblematic on Wayland.
Nice recommendation!
Doesn’t MPV run natively on Wayland?
I dont know it didnt the last time I checked