Posts by chewitt

    I'm not interested in compile issues and testing with newer Kodi because there are Kodi GitHub indications of VDPAU issues with nouveau being present for a long time. Patching FFMpeg just complicates the issue (and you have invalid/incomplete patches). Kodi GBM is not compatible with X11 so failure is probably correct/expected, and we know GBM without VDPAU is a dead-end so no need to test - the info just adds noise/confusion.


    Please remove any xorg.conf and kodi.conf files from /storage/.config or /run locations and create /storage/.kodi/userdata/advancedsettings.xml to enable debug logging (even if Kodi does not start) and then reboot to capture a clean and more useful failure log. Please provide full debug logs (not snippets, which are not informative) showing 1080p/H264 media playback for:

    a) Slackware-current on 7300LE

    b) Slackware-current on 9400GT

    c) Latest LE 'Legacy' image on 7300LE

    d) Latest LE 'Legacy' image on 9400GT

    Apologies for the rework. And I appreciate you are trying to be creative, but it's just confusing the task. Four full debug logs on standard Slackware and the latest LE image will be helpful.

    Please check one of the older cards (6100 or 7300) on:

    Slackware development image, working?

    Current LE image, working?

    Please pastebin a Kodi debug log from the Slackware install (9400GT card) to confirm the VDPAU error/issue is the same.

    I remembered that I have an Xstreamer Ultra2 board in my collection. It's an Atom/ION board with a GT520 (Fermi) card which is a little more recent than the 9400GT you have. It boots both images (GBM and Legacy) to the Kodi home screen without needing an xorg.conf or kodi.conf file creating. It does require some nVidia firmware blobs extracted from the vendor driver to silence a couple of system log messages and provide firmware for decoding. I created https://github.com/LibreELEC/nouveau-firmware earlier to address that, and the commits in my nouveau branch are revised to use it and remove VAAPI support.

    The GBM image detects libva support and tries to use it during playback, and fails. Rebuilding without VAAPI support allows software decode playback to work. There is no VDPAU support because mesa reports ERROR: Feature gallium-vdpau cannot be enabled: VDPAU state tracker requires X11 support. during compile. I'll have a chat about VDPAU with mesa devs, but GBM without hardware decode makes no sense, so for now, further effort on GBM (Nouveau) stops.

    The X11 image is also now built without VAAPI support and VDPAU is detected and attempted. All 1080p and H264 media I've tried currently fails with VDPAU::Open: requested picture dimensions (1920, 1088) exceed hardware capabilities ( 0, 0) but some 720p/SD resolution MPEG4 media is being hardware decoded properly. I'll have to query the error with Kodi folks.

    LE requires two partitions to run from and /flash and /storage must be separate. As you can now drop the 'Nouveau' image that should make things easier for testing. Please remove any config that's been added to boot params or /storage or make a clean install so you are using a default image. Also focus only on the 9400GT card for now. I appreciate the old cards work on Slackware, but your Slackware install is using significantly older software versions and bisecting to find the breaking changes will be a major effort, so that's deferred to a future date.

    NB: I've pushed an image that matches GitHub commits a few seconds ago. Please check all is okay with the Legacy image after the cleanup or fresh start.

    LE10/11 use 'arm' userspace and LE12 uses 'aarch64' userspace. The LE11 settings add-on is not showing an update because there is no 'arm' update. This also stops users from blindly updating and experiencing crashes due to arch-incompatible binary add-ons.

    To do an in-place update you will need to first uninstall all binary add-ons (keeping their config). Then manually download (wget) the LE12.0.2 .tar update file to /storage/.update and reboot to update. Once the update completes you can reinstall binary addons (to use aarch64 versions).

    SMB services are on by default to facilitate log collection in the event the users device doesn't successfully boot to the Kodi home screen. This is considered low risk because on first boot there are no sources configured and thus no cleartext passwords being stored and exposed anywhere. After the user adds SMB/NFS sources and add-ons that store credentials (and Kodi or the add-on stores them in cleartext) the risk profile of the installation has changed.

    I think the most sensible option is to make Samba shares configurable through the LE settings add-on. Samba can then be started by default and with the logfile share defined and default enabled. Then if users want to enable other pre-defined (but default disabled) share locations they need to visit Samba settings to toggle the state. This will ensure the Kodi userdata folder is not default exposed, thus mitigating the risk of exposure from plaintext stored credentials. The logic of that is a good balance between security and usability and I'll be happy to accept your changes to add that capability to the add-on.

    NB: If you want to also address Kodi storing credentials in plaintext, send code changes to upstream Kodi. The solution to this needs to be simple and work for all currently supported Kodi OS platforms and other distros, not just for Linux on LE.

    If you need better wireless on legacy kernels it's often better to acquire a wireless bridge device. You can get something on Amazon that powers itself from USB and presents an Ethernet interface to the box which requires no WiFi drivers, and being an external device the reception/range is typically better.

    The log doesn't show any Ethernet related errors so next step is to open up the box and take pics of the board inside so we can see what Ethernet chip is being used. It probably needs something based on Q200 (as Q201 is for 10/100 designs) but with a different Ethernet PHY chip described in device-tree.

    Code
    formats: C8 RG16 XR15 AR15 XR24 AR24 XB30 AB30 XB24 AB24 XB4H AB4H

    The 9400GT is advertising AR24 which the default format Kodi tries to use.

    Code
    AR24:  NVIDIA_BLOCK_LINEAR_2D,HEIGHT=0,KIND=122,GEN=1,SECTOR=1,COMPRESSION=0(0x30000000057a010)

    And AR24 supports NVIDIA_BLOCK_LINEAR_2D scanout.

    EDIT: I'm interested to know what kernel, mesa, and X11 versions are used on the Slackware install that works with the 6100 card?

    Also, if the 6100 slackware install has modetest? or drm_info -j ? .. please run it and pastebin the output.

    Couple of things to do:

    a) Please run "modetest | paste" on the 9400GT box (either image is fine, the output will be the same) and share the URL so we can see what DRM properties are advertised.

    b) Save the current Legacy image file(s) in a folder called "depth-size-patch" so we know they contain that change. Now update to the latest Legacy image in my test share (which does not contain the patch). If the image works fine, the patch is irrelevant. If the image does not work, we know it's important. Let me know which is true?

    There are probably Xorg properties that can be configured to reduce CPU load. This is all code archaeology for me though, and I'll need to do some reading. The goal is still to have the GBM image work though.

    the Dreambox's conventional boot loader can no longer handle such a kernel and the box simply freezes

    The root cause is probably missing memory-region mappings in the device-tree file, combined with changes in kernel memory use which now allow or result in an in-use region being overwritten. If older Linux kernels <6 worked and newer ones >=6 don't, the trigger is probably a change in kernel memory features and usage, i.e. changes to defaults in kernel defconfig.

    I forget who, but someone told me that Dreambox One/Two used signed boot firmware. That's the normal Amlogic approach for protecting boot (along with ARM OP-TEE for apps and firmware) and is widely used by e.g. Amazon, Freebox, and similar streaming services. It's not impossible, but it would be the first time I heard of a TPM chip used with Amlogic hardware. TPM chips add to the manufacturing cost (an expense the normal Amlogic signing approach avoids) and will be a physical/visible chip on the board. The net result is the same though; the Amlogic BL1 bootrom (in silicon) will only boot vendor signed (in software) code.