Direct call to kodi-xxx in ExecStart= allows direction of kill signal to that
rather than to kodi-standalone wrapper. This allows the kill signal to hit
the indented executable. As well, using killall in the ExecStop= allows for
synchronous stopping and for kodi to do shutdown housekeeping tasks such as
saving settings, stopping services (web, zeroconf, etc.) and unloading things.
Use the same dependencies and their order in both systemd units.
Add additional units of services that kodi uses.
Don't use "Requires=", kodi can run without a network connection.
Export WINDOWING=x11 in kodi.service to skip the autodetection that /usr/bin/kodi-standalone performs.
Give kodi-gbm.service the privileges of input group, this allows removing the kodi user from that group's membership since kodi.service does not need it.