Package Details: kodi-standalone-service 1.137-2

Git Clone URL: https://aur.archlinux.org/kodi-standalone-service.git (read-only, click to copy)
Package Base: kodi-standalone-service
Description: Systemd services to run kodi in stand-alone mode without a DE
Upstream URL: https://github.com/graysky2/kodi-standalone-service
Licenses: MIT
Replaces: kodi-standalone-gbm-service, kodi-standalone-wayland-service, kodi-standalone-x11-service
Submitter: graysky
Maintainer: graysky
Last Packager: graysky
Votes: 68
Popularity: 0.30
First Submitted: 2014-11-05 20:25 (UTC)
Last Updated: 2024-07-06 08:38 (UTC)

Dependencies (6)

Required by (1)

Sources (1)

Latest Comments

1 2 3 4 5 6 .. 22 Next › Last »

Managor commented on 2024-07-06 02:57 (UTC) (edited on 2024-07-06 02:59 (UTC) by Managor)

Remove xwayland as an optional dependency. Kodi runs on native wayland.

graysky commented on 2023-12-29 17:05 (UTC) (edited on 2023-12-29 17:05 (UTC) by graysky)

Agreed about the machine specific stuff. Need someone with my knowledge to recommend a solution to allow the right volume levels to work and to maintain the security of not assigning the kodi user a shell.

unpo commented on 2023-12-29 14:46 (UTC)

@graysky I set the volume to 100% like this: wpctl set-volume @DEFAULT_AUDIO_SINK@ 1.0.

Wireplumber, the session manager, creates two files in ~/.local/state/wireplumber: default-routes and restore-stream. The first contains the volume setting, but also the per machine specific names of the cards in use so my guess is that mine is not useful at all for this purpose. For completeness sake here is default-routes:


[default-routes]
alsa_card.usb-miniDSP_miniDSP_Flex-00:output:analog-output:channelMap=FL;FR;
alsa_card.usb-miniDSP_miniDSP_Flex-00:output:analog-output:channelVolumes=1.0;1.0;
alsa_card.usb-miniDSP_miniDSP_Flex-00:output:analog-output:latencyOffsetNsec=0
alsa_card.usb-miniDSP_miniDSP_Flex-00:profile:output:analog-stereo+input:analog-surround-40=analog-output;

graysky commented on 2023-12-29 13:36 (UTC)

@unpo - when you change the volume after setting the session to 100% as you suggested, does that create a config file and if so where? Thinking something like ~/.config/pipewire/something ... if it does, show me that file. The package could simply provide it.

graysky commented on 2023-12-27 17:02 (UTC)

@unpo - I do not want to allow the kodi user shell access for security reasons. Is there any other method to grant pipewire access to volume levels? I am not a pipewire user.

unpo commented on 2023-12-27 15:02 (UTC)

kodi-gbm user here. When pipewire is installed, kodi will pick pipewire, this script will setup a user sessions for user kodi, in which systemd will start pipewire.socket and pipewire.service.

The volume output in this session is 23,5 dB lower while alsamixer is at 100% and the kodi-instance itself also has volume maxed out. Passing KODI_AE_SINK=ALSA in kodi-standalone results therefor in full output, which makes it seem pipewire might be a bit buggy. I have read people tossing out pipewire for only this reason, because it's not super apparent, especially not in a tty only environment with a nologin user that there is yet another volume control. Well, at least not to me.

You need to change /bin/nologin for use kodi to /bin/bash, login as kodi, change the pipewire volume in that session to 100%, logout and revert to '/bin/nologin'. Now the volume is and will be the same across the graph.

graysky commented on 2023-11-29 21:08 (UTC)

I didn't realize that the --user kodi was superfluous. Removing it still results in a graceful shutdown.

Nebulosa commented on 2023-11-29 07:51 (UTC) (edited on 2023-11-29 07:59 (UTC) by Nebulosa)

I'm using Kodi standalone X11 service. I don't use kodi user but use my login, so I created drop-in file:

/etc/systemd/system/kodi-x11.service.d
└─username.conf
[Service]
User=nebulosa
Group=nebulosa

Everything works fine except stopping the service because it hardcodes the 'kodi' user:

ExecStop=/usr/bin/killall --user kodi --exact --wait kodi.bin

I tested with creating drop-in file:

/etc/systemd/system/kodi-x11.service.d
└─stop.conf

[Service]
ExecStop=
ExecStop=/usr/bin/killall --exact --wait kodi.bin

and now stopping service works correct.

I think it should be edited for default settings..

graysky commented on 2023-10-01 14:10 (UTC)

I never had to adjust this before. You might try posting on the kodi forums for some ideas: https://forum.kodi.tv/forumdisplay.php?fid=52