Posts by akaylor

    There are a few threads here with useful information but also a lot of guesses and probably old requirements. I just got things working and thought I'd condense what worked.

    Updated 5-12-2024 with LE 12.0 and Proxmox 8.1.4

    Before Chewitt can say it.....
    1) VMWare isn't supported, but there is an OVA that makes installing on ESXi, Workstation, or Fusion very easy. Personally, I've used it for years without issue, but I'm completely done with any VMWare products after the changes Broadcom made recently.
    2) Proxmox is extra not supported. It's possible none of the dev's are running it for their own testing.

    What I'm doing and why
    There are a few use cases for virtualizing Kodi. I run all my Kodi instances off a dedicated MariaDB instance instead of local DBs. This means every TV in the house has the same library and watched status. My partner and I have separate profiles so it's hard to tell which profile a TV will be logged into. Add to that some aggressive Pi power saving and media updates were a mess. Running a separate Kodi VM for each profile makes library updates run extra smooth. My point is, if you are using vt-D to pass hardware direct to the Kodi VM. Good luck. I'm not setting that up to test, though I suspect you'll just need to select your video card instead of VirGL.


    Installing Kodi in Proxmox
    Skip the OVA. There are directions for extracting the virtual disk image from the OVA and converting it to something Proxmox supports, which defeats the entire point of combining VM specs and a disk image in this file type. Maybe this disk image has some no longer required drivers stripped out. I didn't dig into it. Get the "Generic PC" version of LE and make a boot USB.

    Next, create a new VM in Proxmox. The only setting you need to change is the display, which needs to be VirGL / Virtio-gl. You'll also need to install some libraries before starting the VM (apt -y install libgl1 && apt -y install libegl1).

    Before starting the new VM go into its settings, then hardware, and Add a USB device. Choose "Use USB Vendor/Device ID" and choose the install USB device you created earlier. This will pass the USB device directly to the VM and allow you to boot from it.

    Switch to Console and start the VM. You may have to hit Esc and choose the USB device from a boot list. From here on out it's a regular LE install.

    In other threads people have suggested a few other tweaks like:
    - Switching from UEFI to SeaBIOS, but that's the default now.
    - Switching from a SCSI controller to a SATA one. Both work with the "Generic PC" build
    - Switching from the VirtIO network card to an E1000. Both work with the "Generic PC" build

    Jsaathof, you picked the perfect old thread to resurrect, I just started looking at this again a few weeks ago. After 15 years of using Kodi for my whole house, I'm happy I can help at least one other user. :)

    The problem with the libraries was actually an artifact of how I was testing. It's all in the git issue published above. The problem, at least in my instance, had nothing to do with the addon or libraries. The issue is that the LE scripts that set up the addon environment are still using the config files for the master profile but I'm using multiple profiles (one for my wife, one for me, one for our guest room). The Kodi GUI is pointing to a different addon directory so the settings are never read and it looks like rsyslog isn't running and sent me down the path above.

    I couldn't figure out a way through the Kodi API to detect if a non-default profile was in use but when I submitted a more accurate description of the issue (https://github.com/LibreELEC/LibreELEC.tv/issues/8055) it was assigned to the LE 12.0 project. I looked through the Kodi API's and didn't see anything that would return a profile name, but maybe there is something undoc'ed or an artifact on disk that someone smarter than I can find and fix.

    In the meantime. If you are running into the non-default profile issue. You can manually edit the /storage/.kodi/userdata/addon_data/service.rsyslog/rsyslog.conf file with your settings. Then edit the settings.xml in the same dir and set RSYSLOG_MANUAL to true, if its not already. The rsyslog.conf structure is a universe unto its own, so if you want to cheat a bit you can use the file elements that the addon builds for you. Grab those from /storage/.kodi/addons/service.rsyslog/config/ and merge them into your rsyslog.conf.

    The only piece you can't just copy and paste is the one line that actually specifies where to send the logs. You can see my config below. Just change the target and port and you should be fine. Generally, you don't want syslog as TCP, so I'd leave the protocol. I also set the template to send RFC5424 logs. The project named the template before the RFC was finalized and they never changed the name.

    action(type="omfwd" template="RSYSLOG_SyslogProtocol23Format" target="syslog.local" protocol="UDP" port="515")

    The next time I get some lab time I'm going to see if I can improve the rsyslog.conf to handle some of Kodi's multi-line logs more gracefully and a Splunk app for the logs. I'll try and post an update with whatever else I come up with.

    I'm trying to forward logs and the rsyslog addon (9.2.0.104) from the libreelec repo won't start. I've tried with several configs, reinstalled, rebooted, even tried on both a Pi and an x86 install.

    Journald shows...

    Code
    systemd[1]: service.rsyslog.service: Main process exited, code=exited, status=1/FAILURE

    If I ssh in and run rsyslogd -dn it looks like its looking for its libraries in the incorrect path.

    I'm poking around to see if I can get it to look at another path. Anyone run into this or have any idea on how I can fix it?