ehough/docker-kodi

why different images for alsa and pulseaudio?

mviereck opened this issue ยท 7 comments

Looks quite well, your project!

I am a bit confused why you provide different images for either pulseaudio or alsa sound?
The job could be done within one image. If you need a differentiation for your internal setup, you can look for environment variable PULSE_SERVER. If present, use pulseaudio, otherwise use alsa.

In general, pulseaudio can be provided over tcp or with shared unix socket. (x11docker shares the socket since v3.9.7.3). Either way needs environment variable PULSE_SERVER.

I think it is wise to reduce complexity on user side.

Thanks for your question.

My understanding is that, in order for PulseAudio to work with x11docker, pulseaudio needs to be installed in both the host and the image. Is that correct? Under that assumption, my rationale was to keep the image size as small as possible and thus not install PulseAudio unless it was necessary (i.e. requested by the user). The difference between the two images is quite simple.

You make a good point about the complexity. Perhaps the better option would be to have the "default" image (erichough/kodi:latest) include PulseAudio so that it works out of the box for everyone, and provide a alsa tag for folks that only use ALSA and prefer the slimmed-down image. Thoughts?

Personally I use ALSA for this image so I'm a little biased ๐Ÿ˜„

My understanding is that, in order for PulseAudio to work with x11docker, pulseaudio needs to be installed in both the host and the image. Is that correct?

Yes, that is correct. Though, pulseaudio is sort of standard for most desktop systems nowadays.
Option --alsa works on pulseaudio-on-host systems, too, but if alsa and pulseaudio try to play sound at the same time, one of them will block or disturb the other one.

Perhaps the better option would be to have the "default" image (erichough/kodi:latest) include PulseAudio so that it works out of the box for everyone, and provide a alsa tag for folks that only use ALSA and prefer the slimmed-down image. Thoughts?

That is a good attempt! Keep it easy for those who just want to use it, and provide options/other tags for those who want to fine-tune it.

You make a good point about the complexity.

I think this point is even more important if looking at the targeted users. I assume most of kodi users aren't interested in multiple options and deep code insight. They are rather interested in plug&play.

The complexity point also affects other parts of the README.md. I am wondering why you put so much effort on different ways how to stop kodi. Why not just explicitly recommend to use kodi's shutdown button?
Warn about issues with Ctrl+C in terminal or terminating nested X servers, and only give small "expert" notes on other possibilities with kill or docker stop.

Thanks for the great feedback. Let me know what you think, and send any more issues my way! ๐Ÿ‘

Well done, looks more clearly now. :-)

Did you reduce the images to provide kodi krypton version only? I am not sure about the differences, though.
On docker hub there is tag latest only. It seems you need to configure tag alsa for your new alsa branch.

The title of README.md is ehough/docker-kodi. I think it would make sense to write erichough/kodi to show the image name. (Same goes for your nfs image).

You're observant! Comments inline:

Did you reduce the images to provide kodi krypton version only? I am not sure about the differences, though.

The two images haven't changed; the tags that were listed previously were just aliases of each other. e.g. the tags erichough/kodi:latest and erichough/kodi:krypton were the exact same image, but that wasn't clear to the casual user. So in an effort to reduce confusion, I ditched the aliased tags.

Krypton is the only stable Kodi release right now. Once the next version (Leia) is out, the available tags will be:

  • erichough/kodi:latest <--- Leia
  • erichough/kodi:alsa <--- Leia, ALSA-only
  • erichough/kodi:krypton <--- Krypton
  • erichough/kodi:krypton-alsa <--- Krypton, ALSA-only

Is that clear as mud? ๐Ÿ˜„

On docker hub there is tag latest only. It seems you need to configure tag alsa for your new alsa branch.

Fixed today. Docker Hub wasn't triggering the alsa branch yesterday for some reason. I figured it was a cache issue and sure enough today it built without issue. Good catch!

The title of README.md is ehough/docker-kodi. I think it would make sense to write erichough/kodi to show the image name. (Same goes for your nfs image).

That's the penalty I pay for waiting too long to sign up for Docker Hub! I think you're probably right; I should change the name of the project in README. Thanks for the suggestion.

Is that clear as mud? smile

ok, a kodi insider knows the keywords :-D
But would anyone download Krypton if Leia is available? (Though, maybe it takes some time until Leia is stable enough even after official release).

Though, maybe it takes some time until Leia is stable enough even after official release

That's my thinking. I'd like to keep it available for folks for at least a few months after Leia's release, then I'll drop it.