5 ms·
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 a
by LeoPanthera 4y ago
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.
- rascul 4y agoHow does Kodi bypass ALSA?
- jaimex2 4y agoHe's talking about the embedded Kodi derivatives. (CoreElec, OpenElec, LibreElec etc) They run their own audio stack.
- rascul 4y agoI 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.
- mappu 4y ago"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.
- nephanth 4y agoDoesn't pulseaudio solve that though ?
- jchw 4y agoI 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.
- account42 4y ago> ALSA had difficulty mixing multiple playback streams At some point long before PulseAudio was ever a thing maybe but dmix with the default config has been working just fine all this time.
- dTal 4y ago>let alone bitstreaming DTS 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.
- jcelerier 4y agoAFAIK 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
- ariendj 4y agoNo they don't. They run ALSA.
- ariendj 4y agoIt does no such thing. It either plays out via ALSA or Pulseaudio.
- vasvir 4y agoI 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.
- electriczigjam 4y agoI 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
- LeoPanthera 4y agoI'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. Kodi can actually run third party apps, for what it's worth: https://kodi.tv/addons/matrix/ https://kodi.tv/addons/matrix/
- electriczigjam 4y agoBut kodi is still an application with addons, Kodi is not going to allow you to run native applications on top of it
- jaimex2 4y agoIndeed, Kodi shines because it has native addons that make a consistent experience. Everything is easy to drive via a TV remote. The skin system lets you have as much UI eye candy as you like. Chances are someone has made an addon for whatever you want to consume. You're just running ye old HTPC otherwise.
- Jnr 4y agoYou can run native apps from Kodi. 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).
- monocasa 4y agoYou 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.
- gregmac 4y agoDoesn'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.
- booi 4y agoActually 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.,
- account42 4y agoShouldn'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.
- water8 4y agoYou 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.
- 4y ago
- cypress66 4y agoChanging 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.
- charrondev 4y agoI 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.
- jicksaw 4y agoIf it's using mpv, the xrandr plugin could work for resolution or frame rate switching. https://gitlab.com/lvml/mpv-plugin-xrandr https://gitlab.com/lvml/mpv-plugin-xrandr
- ariendj 4y agoAudio passthrough on the pi is done using ALSA. There is no bitbanging of anything going on here.
- dTal 4y agoThere's no reason a "Plasma skin" can't do anything Kodi can do. They're both just a bunch of software.