{"id":1013,"date":"2015-01-03T09:35:44","date_gmt":"2015-01-03T09:35:44","guid":{"rendered":"http:\/\/cdblog.cdstealer.com\/?p=1013"},"modified":"2025-01-13T18:39:07","modified_gmt":"2025-01-13T18:39:07","slug":"xbmc-with-systemd","status":"publish","type":"post","link":"https:\/\/cdblog.cdstealer.com\/?p=1013","title":{"rendered":"Kodi with Systemd"},"content":{"rendered":"<figure id=\"attachment_1016\" aria-describedby=\"caption-attachment-1016\" style=\"width: 615px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/kodi.tv\/\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1016 size-full\" src=\"https:\/\/cdblog.cdstealer.com\/wp-content\/uploads\/2015\/01\/kodi-logo-weis3.png\" alt=\"kodi-logo-weis3\" width=\"615\" height=\"195\" srcset=\"https:\/\/cdblog.cdstealer.com\/wp-content\/uploads\/2015\/01\/kodi-logo-weis3.png 615w, https:\/\/cdblog.cdstealer.com\/wp-content\/uploads\/2015\/01\/kodi-logo-weis3-300x95.png 300w\" sizes=\"auto, (max-width: 615px) 100vw, 615px\" \/><\/a><figcaption id=\"caption-attachment-1016\" class=\"wp-caption-text\">Kodi As An Appliance<\/figcaption><\/figure>\n\n\n<p class=\"wp-block-paragraph\">After installing a base gentoo OS (no gui)<br>install evilvm and kodi (or use upstream kodi)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If using upstream kodi, create the file: <strong>\/etc\/portage\/sets\/kodi<\/strong> and populate with: (adjust accordingly)<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">app-eselect\/eselect-java<br>dev-java\/java-config<br>dev-java\/openjdk-bin<br>dev-lang\/swig<br>dev-libs\/crossguid<br>dev-libs\/flatbuffers<br>dev-libs\/libcdio<br>dev-libs\/libfmt<br>dev-libs\/libfstrcmp<br>dev-libs\/libinput<br>dev-libs\/libtomcrypt<br>dev-libs\/libtommath<br>dev-libs\/rapidjson<br>dev-libs\/spdlog<br>dev-libs\/tinyxml<br>dev-python\/cffi<br>dev-python\/olefile<br>dev-python\/pillow<br>dev-python\/pycparser<br>dev-python\/pycryptodome<br>dev-python\/xkbcommon<br>dev-vcs\/git<br>media-fonts\/roboto<br>media-libs\/intel-hybrid-codec-driver<br>media-libs\/libass<br>media-libs\/libdisplay-info<br>media-libs\/libdisplay-info<br>media-libs\/libdvdcss<br>media-libs\/libdvdnav<br>media-libs\/libdvdread<br>media-libs\/libva-intel-driver<br>media-libs\/libva-intel-media-driver<br>media-libs\/taglib<br>media-sound\/pulseaudio<br>net-fs\/nfs-utils<br>net-fs\/samba<br>net-libs\/libmicrohttpd<br>sci-libs\/kissfft<br>sys-apps\/baselayout-java<br>sys-devel\/clang<br>=llvm-core\/clang-17.0.6<br>=llvm-core\/llvm-17.0.6<br>x11-wm\/evilwm<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">install the deps with: <strong>emerge -quUND @kodi<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ensure you have all the correct use flags defined in <strong>\/etc\/portage\/package.use\/package.use<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Create the file: <strong>\/usr\/lib\/systemd\/system\/kodi.service<\/strong> and populate with:<br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[Unit]<br>Description = Starts instance of Kodi<br>After = systemd-user-sessions.service network.target sound.target startx.service<br><br>[Service]<br>User = kodi<br>Group = kodi<br>PAMName=login<br>Type = simple<br>ExecStart = sh \/usr\/bin\/kodi-standalone2 -- :0 -nolisten tcp<br>Restart = on-abort<br><br>[Install]<br>WantedBy = multi-user.target<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then create the file: <strong>\/usr\/lib\/systemd\/system\/startx.service<\/strong> and populate with:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><br>[Unit]<br>Description=StartX service<br><br>[Service]<br>User = kodi<br>Group = kodi<br>PAMName=login<br>Type = simple<br>ExecStart=\/usr\/bin\/startx :0 \/usr\/bin\/evilwm<br><br>[Install]<br>WantedBy=multi-user.target<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Only enable the kodi server: <strong>systemctld enable kodi<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you have Intel GFX, create the file: \/etc\/X11\/xorg.conf.d\/20-intel.conf and populate with: (adjust accordingly)<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Section \"Module\"<br>Load \"glx\"<br>EndSection<br><br>Section \"Device\"<br>Identifier \"Card0\"<br>Driver \"modesetting\"<br>#BusID \"PCI:0:2:0\"<br>Option \"TripleBuffer\" \"false\"<br>Option \"TearFree\" \"true\"<br>Option \"SwapbuffersWait\" \"true\"<br>Option \"AccelMethod\" \"glamor\"<br>Option \"DRI\" \"iris\"<br>EndSection<br><br>Section \"dri\"<br>Mode 0666<br>EndSection<br><br>#Breaks Gnome when set to false, but breaks kodi if enabled<br>Section \"Extensions\"<br>Option \"Composite\" \"False\"<br>EndSection<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Create the kodi user and assign to the following groups:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">useradd -G tty,audio,video,render,pipewire kodi<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If everything went to plan, executing: <strong>systemctl start kodi<\/strong> should fire up X and land you at kodi.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After installing a base gentoo OS (no gui)install evilvm and kodi (or use upstream kodi) If using upstream kodi, create the file: \/etc\/portage\/sets\/kodi and populate with: (adjust accordingly) app-eselect\/eselect-javadev-java\/java-configdev-java\/openjdk-bindev-lang\/swigdev-libs\/crossguiddev-libs\/flatbuffersdev-libs\/libcdiodev-libs\/libfmtdev-libs\/libfstrcmpdev-libs\/libinputdev-libs\/libtomcryptdev-libs\/libtommathdev-libs\/rapidjsondev-libs\/spdlogdev-libs\/tinyxmldev-python\/cffidev-python\/olefiledev-python\/pillowdev-python\/pycparserdev-python\/pycryptodomedev-python\/xkbcommondev-vcs\/gitmedia-fonts\/robotomedia-libs\/intel-hybrid-codec-drivermedia-libs\/libassmedia-libs\/libdisplay-infomedia-libs\/libdisplay-infomedia-libs\/libdvdcssmedia-libs\/libdvdnavmedia-libs\/libdvdreadmedia-libs\/libva-intel-drivermedia-libs\/libva-intel-media-drivermedia-libs\/taglibmedia-sound\/pulseaudionet-fs\/nfs-utilsnet-fs\/sambanet-libs\/libmicrohttpdsci-libs\/kissfftsys-apps\/baselayout-javasys-devel\/clang=llvm-core\/clang-17.0.6=llvm-core\/llvm-17.0.6x11-wm\/evilwm install the deps with: emerge -quUND @kodi Ensure you have all the correct use flags defined in \/etc\/portage\/package.use\/package.use Create the file: \/usr\/lib\/systemd\/system\/kodi.service and populate with: [Unit]Description &hellip; <a href=\"https:\/\/cdblog.cdstealer.com\/?p=1013\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Kodi with Systemd<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[337,18,173,336],"class_list":["post-1013","post","type-post","status-publish","format-standard","hentry","category-gentoo","tag-kodi","tag-linux","tag-systemd","tag-xmbc"],"_links":{"self":[{"href":"https:\/\/cdblog.cdstealer.com\/index.php?rest_route=\/wp\/v2\/posts\/1013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cdblog.cdstealer.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cdblog.cdstealer.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cdblog.cdstealer.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cdblog.cdstealer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1013"}],"version-history":[{"count":17,"href":"https:\/\/cdblog.cdstealer.com\/index.php?rest_route=\/wp\/v2\/posts\/1013\/revisions"}],"predecessor-version":[{"id":2516,"href":"https:\/\/cdblog.cdstealer.com\/index.php?rest_route=\/wp\/v2\/posts\/1013\/revisions\/2516"}],"wp:attachment":[{"href":"https:\/\/cdblog.cdstealer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cdblog.cdstealer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1013"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cdblog.cdstealer.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}