Posts by chewitt

    Issues with Shutdown/Restart are normally related to BIOS/firwmare versions (supporting ACPI states correctly) and power/config settings in the BIOS/firmware (what's needed for Windows isn't necessarily what's needed for Linux). And some hardware is just broken and there's not much we can do about it. You might want to start by telling us what hardware you have?

    The OVA image we spawn from Generic images is designed for vmware to make booting in a Desktop environment simple, and with the sole purpose of supporting development of project GUI items like the settings add-on. Any other kind of platform or use-case is deliberately "not officially supported" to keep project maintenance simple. Over time the number of other environments it might work in has probably grown, but we do not test that image much, have no intention to start testing it much, so anything that happens to work is accidental.

    In all cases LE needs to boot with a supported GPU, which is either real hardware mapped for our use, or one of the working virtual GPUs in the kernel. The Generic kernel defconfig is probably missing drivers for whatever GPU that proxmox uses; or the GPU that is there doesn't support the OpenGL video pipeline that Kodi requires.

    /shrug

    Glad that you got it working :)

    If you're only going to be playing SD media I'd suggest that you disable hardware decoding in Kodi playback settings. The upstream decoding drivers are fine with H264 but aren't perfect with older codecs or HEVC. However the S905X chip never runs particularly hot and small filesize media isn't too challenging to software decode, which will avoid hardware decoding glitches.

    Code
    info <general>: Found resolution 1280x720 with 1280x720 @ 50.000000 Hz
    debug <general>: CGBMUtils::CreateSurface - created surface with size 1280x720

    Kodi is started and apart from there being only a single resolution ^ available (720p@50) everything looks normal. I guess the head-unit is expecting some other resolution as input? - so you may need to force the CVBS output to something else using kernel boot params.

    e.g. something like "video=TV-1:1920x1080M@60" added to params in /flash/extlinux/extlinux.conf

    NB: I'm not 100% sure of the connector name (TV-1) or what resolutions are possible.

    Hardware decoding on a modern kernel codebase requires patched kernel + patched ffmpeg. LE sources are currently as good as it gets:

    Commits · chewitt/linux
    Linux kernel source tree -- WARNING I REBASE MY BRANCHES! - Commits · chewitt/linux
    github.com
    Commits · jc-kynesim/rpi-ffmpeg
    FFmpeg work for RPI. Contribute to jc-kynesim/rpi-ffmpeg development by creating an account on GitHub.
    github.com

    The manjaro folks are tracking patches fairly well to result in a useable 'current' distro. Performance and feature completeness on the vendor kernel (used by CE) is better, but compatibility between old vendor kernels and the rest of a modern distro codebase can be a challenge.

    The main negative I've seen in the LE/AMLGX image with LePotato is 100-BaseT Ethernet (common to all S905X boards). If trying to play large ISO rips Kodi often warns about slow sources etc. - S912 devices are normally better since most have Gigabit NICs.

    NB: CE is run as a separate project so report any issue to their forums, we don't track their images at all.

    Two suggestions:

    a) Drop the kernel.img and SYSTEM files from dtech images into /storage/.update/ and reboot to udpate to 9.2.8 which might behave better than Ye Olde 9.0.2 image now.

    b) Have a play with https://chewitt.libreelec.tv/testing/LibreE…lepotato.img.gz which is using K20rc1 and modern uboot and Linux. Hardware decoding isn't perfect and there are some features on the long-term to-do list still, but as long as your media requirements aren't too challenging it's quite usable.

    Code
    echo "<advancedsettings version=\"1.0\">" > /storage/.kodi/userdata/advancedsettings.xml
    echo "  <loglevel hide=\"false\">1</loglevel>" >> /storage/.kodi/userdata/advancedsettings.xml
    echo "</advancedsettings>" >> /storage/.kodi/userdata/advancedsettings.xml
    reboot
    cat /storage/.kodi/temp/kodi.log | paste

    ^ The advancedsettings.xml file content puts Kodi into debug mode. Then share the URL so we can see what DRM properties Kodi can see?

    ^ According to this, there are two streams: #0 which is 4K, and #1 which is 1080p. The next lines are confusing as they appear to show stream 0 being discarded (as it contains Dolby Vision) and then the last line shows it opening stream 0. Regardless, the root issue here is no support for Dolby Vision. This is a known restriction; there is no open-source implementation for Dolby Vision. Kodi can play DV media on Android devices that have DV licensed support built-in to their software, and on a small number of Linux devices that use (Android oriented) ARM vendor kernel/ffmpeg sources have have DV support. Nothing exists for Intel so there is no playable video stream; hence what you see.

    Code
    2022-12-29 11:28:54.444 T:758      info <general>:     Device 3
    2022-12-29 11:28:54.445 T:758      info <general>:         m_deviceName      : hdmi:CARD=PCH,DEV=0
    2022-12-29 11:28:54.445 T:758      info <general>:         m_displayName     : HDA Intel PCH
    2022-12-29 11:28:54.445 T:758      info <general>:         m_displayNameExtra: SAM SAMSUNG on DisplayPort #0
    2022-12-29 11:28:54.445 T:758      info <general>:         m_deviceType      : AE_DEVTYPE_HDMI
    2022-12-29 11:28:54.445 T:758      info <general>:         m_channels        : FL, FR, LFE, FC, BL, BR, BC, BLOC, BROC
    2022-12-29 11:28:54.445 T:758      info <general>:         m_sampleRates     : 32000,44100,48000,88200,96000,176400,192000
    2022-12-29 11:28:54.445 T:758      info <general>:         m_dataFormats     : AE_FMT_RAW,AE_FMT_S32NE,AE_FMT_S16NE,AE_FMT_S16LE,AE_FMT_RAW
    2022-12-29 11:28:54.445 T:758      info <general>:         m_streamTypes     : STREAM_TYPE_AC3,STREAM_TYPE_DTSHD,STREAM_TYPE_DTSHD_MA,STREAM_TYPE_DTSHD_CORE,STREAM_TYPE_DTS_1024,STREAM_TYPE_DTS_2048,STREAM_TYPE_DTS_512,STREAM_TYPE_EAC3,STREAM_TYPE_TRUEHD

    ^ This shows the TV (or presumably the AVR passing through the TVs EDID) connected to "hdmi:CARD=PCH,DEV=0" .. while:

    ^ This shows the Kodi output device is "hdmi:CARD=PCH,DEV=1" which is not connected to anything that provides EDID info to define what the output is capable of, so Kodi falls back to 2-channel audio. TL/DR; select the DP output in the GUI (should have 'SAMSUNG' in the name) and you should get multi-channel audio.

    LE images using GBM don't support screenshots due to changes in the video pipeline; this is known and not a bug.

    My assumption is: The wyse needs some special shutdown no one knows about :D So there is no machine-specific shutdown procedure in LibreElec's kernel. I also assume that it's safe, but yet annoying, to power it down manually when the "Power Down" message appears.

    I found a couple of other references, but no solution:

    201965 – Power off / Shutdown hangs after echoing "Reboot: Power down" on DELL / WYSE Thin Client - AMD G-T56N

    GitHub - sanrab/Dell-Wyse-Thin-Client-Dx0D-5010: Linux install on Dell Wyse Thin Client Dx0D/5010
    Linux install on Dell Wyse Thin Client Dx0D/5010. Contribute to sanrab/Dell-Wyse-Thin-Client-Dx0D-5010 development by creating an account on GitHub.
    github.com

    I'd start with ensuring the device has the latest/last available BIOS/firmware update installed, and seeing what if-anything can be configured in the BIOS for the device with respect to power states.

    These devices do claim to support SUSE Linux (SLES 12) so any attempt to triage the process might require comparisons with that OS to see what state certain registers or things are being set to (or not) and upstream linux. How to diagnose power-state issues are way beyond my sphere of knowledge though. I did attempt to Google ACPI and references to Wyse but drew blanks. NB: Userspace shutdown scripts are not the problem or solution here. The issue (and any resolution) will be in lower-level code.