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.
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
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.
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.
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.