The killer feature of Kodi (on most hardware, for example the Raspberry Pi) is that it can switch the output resolution to match the video you are playing. It also bypasses things like ALSA in order to be able to bit-bang audio in supported formats directly to an external receiver. These are basic functions of normal video playback devices like blu-ray players or cable boxes.
A Plasma skin can't do any of this. So while it's probably very suitable for things like games and photo frames on a big screen, I fear that it is disadvantaged from the start for video and audio.
You don't typically don't want to switch output resolution to match the resolution of whatever your outputting on modern displays, but instead want to match the panel resolution and software scale the content. You're way too likely to confuse the monitor trying to match resolution. There's something to be said for matching frame rate, but there's even more dragons in that practically.
Doesn't that depend on how good the implementation is? Some modern TVs and receivers have exceptionally good scaling built-in.
I'd also bet with certain types of displays (eg: OLED, HDR and/or local dimming) there's benefits when there's a different aspect ratio (eg 21:9), letting the TV do something different to the backlight when it knows there there is no content in parts of the display vs getting a black signal.
Actually matching framerates is a lot more common, for example to provide smooth playback of 23.976/24 or 25 fps when the native refresh is 60hz (not cleanly divisible). Usually this is done by going up to 72hz or 75hz rather than down but it's a lot better than keeping at 60hz and stuttering. Previously this was accomplished with something called telecining which.. isn't great.,
Shouldn't the optimal solution be to adjust the display refresh rate using vesa adpative sync these days? No need for shitty interpolation when most panels can run at variable refresh rates.
You can have multiple displays connected to an HDMI hub with different refresh rates. I have this problem with a projector that runs at 240 Hz in a TV that runs at 60 Hz. It confuses my receiver.
Most people hang on to their TV for 10 years or way more than that. Expecting people to have truly modern TVs is a crapshoot. Only enthusiasts upgrade to the latest and greatest.
And unless you're a very informed technical savvy consumer who does his research and knows what he's buying, upgrading your TV might end up being a downgrade for you as you could end up replacing a perfectly good dumb TV with a new WiFi "smart" TV that spies on you and serves you ads.
Unlikely. I doubt that state of the art video processing is available in hardware. There are custom finetuned neural upscalers and frame interpolators available for every kind of content.
Usually software designed explicitly for the hardware where it runs, while OS software is designed to run on general hardware. If there is hardware specific fixes, they might be skipped as it'll make compatibility worse while software designed for exact hardware doesn't make tradeoffs like that at all.
Changing the monitor resolution doesn't seem good. A software upscaling (like lanczos, or ML upscaling if you like that) can be much higher quality than whatever upscaling (probably bilinear) the display does.
I have an Nvidia Shield and the latest Apple TV for media playback. These pair with a pretty expensive home 7.1.2 theatre system.
I’ve made my peace with software upscaling of video to match resolution/frame rate. At least the Apple TV does it pretty well. If you don’t you get a really annoying flicker as the display changes resolution. The shield on the other hand has really bad up scaling by comparison, particularly with frame rates so I just leave it on.
Far more important in my book is properly sending the raw audio out. I have a very expensive audio unit that will do a far better job upmixing the sound. Unfortunately the Apple TV doesn’t let me send the raw audio out.
I don't think this has anything to do with kodi, kodi does not seem to have a browser or allows running external applications, you can instead run kodi as an app on this
I'm sure you could run Kodi on top of this, but then it would be just as restricted as any other app, and not be able to do the things I mentioned compared to running it directly via something like LibreELEC.
I used to launch Steam games in Big picture mode from Kodi just fine.
Actually I was waiting for a desktop environment like this Plasma Bigscreen for a while but then got a new TV with Android and use that instead.
I would still prefer to use Kodi as the main app launcher on Android but it gets Killed to save memory and takes a while to start up again.
And using Kodi over HDMI is not an option anymore since a lot of content I watch comes in 4K 10bit HDR or 4K Dolby Vision and sadly desktop Linux does not support HDR and variable refresh rate over HDMI (so Linux Steam experience also bad).
I can attest that KODI has options to bypass the default audio format that was automatically selected during handshake usually through HDMI.
The use case is the following. Consider one that has:
* 5.1 capable audio system
* A TVBox (KODI)
* A TV
* A projector
Now
* The TV apps can play 5.1 content
* The TVBox (KODI) can play 5.1 content when connected to TV through HMDI (5.1 was agreed in the handshake between TV and TVBox)
* The TVBox __cannot play__ 5.1 content when connected to projector through HDMI because the projector is stereo audio only and there is no option to accept 5.1 content.
KODI gives the capability to __force__ audio output to be 5.1 if the playing video has it. It can transcoding on the fly i.e simple 5.1 in file to DTS.
It does not bypass ALSA. It uses ALSA. It bypasses the original HDMI handshake and follows the user's wishes.
Of course it does not work in my case because a) that's the universe we live and b) it hits some android capability / security problem and it switches back to stereo output.
I would really like to know more about this, and I can't seem to find anything about it. Are these projects implementing their own drivers for all the various audio hardware they can use instead of using ALSA? That certainly wasn't the case some years back when I used OpenElec.
"ALSA" has two meanings - there is only one set of Linux kernel audio drivers, and they're all ALSA no matter what distro you use. I think you're talking about this meaning.
The other meaning of "ALSA" is libasound / asound.conf / dmix, the old userspace audio stack, which is deprecated since Pulseaudio except for a few holdout distros. ALSA had difficulty mixing multiple playback streams, let alone bitstreaming DTS. I think the GP is talking about this meaning.
I sort of disagree. ALSA didn't really have difficulty mixing multiple playback streams unless you go back really far. dmix works quite well. It has a lot of problems, particularly dealing with routing, hot plugging, etc. but the dmix stuff always worked more or less fine for me, as long as I had it configured. otoh, pulse took quite a while to mature in my opinion, and had plenty of issues with this basic functionality over time, though I will at least be fair and say that it got blamed for a lot of ALSA driver issues and other nonsense too. (I think up until recently it was defaulting to doing resampling with a Speex resampler that suffered from fairly noticable aliasing in many cases, as a result of the projects paranoia to be seen as a resource hog...)
That and bitbanging audio through GPIO or otherwise bypassing the ALSA stack doesn't seem all that unreasonable. I can't find any specific information about it with LibreElec/etc. but it would not surprise me.
Oh well. I think Pipewire has a lot of potential today. It brings much improvement to routing and session management for audio and the hybrid scheduler design and considerations for pro audio use cases makes it very promising. I hope the need to bypass the Linux audio stack can disappear.
On the contrary, that's super easy with ALSA. Literally all you need to do to "bitstream" is "play" the data as if it were audio, and not have any software in between trying to adjust volume or otherwise modify it. You could do it with nothing more complicated than "aplay", making sure to specify the correct card and not dmix.
AFAIK pulseaudio, PipeWire and Jack are all built on top of libasound's snd_ APIs, it's the only sane way to use ALSA - just like you aren't going to make manual syscalls for read or write but going to use a libc
A Plasma skin can't do any of this. So while it's probably very suitable for things like games and photo frames on a big screen, I fear that it is disadvantaged from the start for video and audio.