Compute Module 4S (CM4 SoC on CM1-3 sized board)

  • Looks interesting and makes sense for industrial users. If it's an official RPi Foundation created module? we can probably get a sample sent to HiassofT who has my Slice3 box in his collection since last summer now. That said, there are now only ~45 Slice boxes showing in stats (down from ~100 pre-Covid) so it's probably not high on the to-do list.

  • Looks interesting and makes sense for industrial users. If it's an official RPi Foundation created module? we can probably get a sample sent to HiassofT who has my Slice3 box in his collection since last summer now. That said, there are now only ~45 Slice boxes showing in stats (down from ~100 pre-Covid) so it's probably not high on the to-do list.

    It appears to be a response from the Pi Foundation (though possibly developed in association with a specific CM1-3 form factor product vendor) to the extreme shortage of pre-CM4 modules due to the lack of the earlier SoCs based on the 40nm process?

    My Slice has been sitting in a box for a couple of years so won't be showing up on the stats. Beautiful piece of hardware design :(

  • thanks noggin for sharing this, this is really interesting news.

    I'd certainly look into this if its easier than getting an rpi4, HVEC decoding and HBR audio would be a great feature update for the Slice and would buy a few more years of use. Dare we hope of 4K output too?

    chewitt out of interest can you tell from the stats if people are moving over to LE10? Mine might be counted as a rpi3 (not that it makes much difference from a 100).

  • Hi everyone,

    I've been using Libreelec for quite some time now and since the end of 2020 I'm a proud owner of a Slice (running Libreelec of course 😊). I'm every now and then checking for new builds here (even if I was not registered in this forum - sorry for that 😅).

    Colour me interested in upgrading my slice to CM 4s - when and if this is possible. Should this be possible in the future I'll offer to test a new, fitting Image (if you are searching for a tester).

    Best regards

    Chillman

  • If this https://www.tomshardware.com/uk/news/raspbe…ously-announced is correct - there is likely to be a CM4S module in the Slice-compatible CM1-3 form factor, but with the SoC from the CM4 on it...

    If this becomes a product available to end users - will anyone try it in a Slice?

    Yes I am happy to try it.

    I have two, one in the case and one 'barebones'. I modified the case with a heatsink for CM3 to connect CPU to case via some copper when I upgraded.

    Pictures here:CM3 heatsink

    It runs quite warm especially with video, so a CM4 may well be more of a heat problem, apart from if it will work with Libreelec / Kodi.

    Mine are used nearly every day for music streaming or for playing my FLAC based music collection. Occasional use for video.

    Roger

  • Yep - I upgraded my Slice with a CM3 and a heatsink - but it doesn't get much use at the moment I'm afraid :(

  • Hello everyone,

    are you still interested? The Pi CM4S can be bought now! Either using rpilocator to find a shop or - in Germany - at Reichelt.

    I would happily upgrade my slice if there is a chance of getting Libreelec running (including the lights) - hoping for the newest version.

  • So I have received a CM4S (as a Christmas gift) and instantly starting fiddling around. Libreelec 11.0.4 for the Raspi4 boots. :)


    - USB not working :(
    - Lid not closing (maybe I'll remove the pre-installed heatsink, but first additional software checks) because of the big heatsink in the Slice case. :(

    But it's already late and I'm too tired for additional operations. As a preparation I had already gotten Ubuntu ready to roll on my PC and already compiled Libreelec 11.0.3 for the Raspi4 about a week ago - but will not have access to that until the evening.


    For testing purposes I have found the Slice CM3 9.2.8 image in the archive.

    Would there be a way to use that image and crossflash it for the Raspi4?


    Afterwards - if I have the time - I would at least take a look into checking the newer operation system and to get newer drivers - I'm a noob concerning that but let's ask ChatGPT for transforming python2 code in python3 code. ;)


    Or are there build commands to achieve the following:

    Slice, Raspi4, 9.2.8?

  • The old image doesn't support the firmware and bits needed for newer "RPi4" hardware, and while that's not an impossible task to solve it's not going to help with providing a future path forwards; only the newer codebase offers that.

    I'm not entirely sure where to direct attentions, but RPi4 and thus probably CM4S has different USB hardware compared to CM3 so there are probably some device-tree changes needed.

  • chewitt: First of all thank you for your answer. I will try to sum up the information that I have and the path that makes most sense to go (even if I do not know if I'm able to do this but at least see what would be the approach that would make most sense):

    For the update the following points need to be tackled:

    • using 9.2.8 to see if it is "just working" will not work "out of the box" and would need to be modified to run on the CM4S - USB hardware which in my opinion (and as you are hinting to) does not make that much sense
      • so it makes more sense to directly update to the newest version of Libreelec (as of writing this, the stable version for the Raspi 4 is 11.0.4) and thus updating the python code from python 2 to python 3.
        • This would mean that
          • we are talking about the same discussion that was started here (plus adding the support for the CM4S): Getting LibreElec 11 on a Slice CM3+
          • the controls for the USB-"Hub"/hardware needs to be updated - not just by copying over the old blob anymore (as described here: https://github.com/LibreELEC/LibreELEC.tv/pull/4566 and here https://github.com/LibreELEC/slice-firmware but by updating the blob and implementing some device-tree changes (or is the blob then not needed anymore?):
            • bcm2835-bootloader: re-add slice-firmware and dt-blob.bin handling
            • RPi: readd updated dt-blob.bin handling from bootloader update.sh
            • scripts/image: re-add dt-blob.bin handling
            • scripts/mkimage: re-add dt-blob.bin handling
            • and/or perform some device-tree changes
          • updating/creating the following files that were removed according to https://github.com/LibreELEC/LibreELEC.tv/pull/4566 (especially taking into account your (chewitt's) last comment (#5) from Getting LibreElec 11 on a Slice CM3+ ).
            • RPi: (re-)add device Slice4CMS (Slice and Slice3)
            • the slice firmware (update)
            • the slice drivers (update)
            • (re-)add Slice4CMS (Slice and Slice3) devices in options file
            • kodi: (re)-add Slice/Slice3 devices in package.mk
            • re-add (updated?) led_tools package
            • re-add (updated?) service-slice: addon


    At least that are all the information i could gather until now (with thanks to chewitt and HiassofT as most of the documentation/answers were provided by you/them).


    Fun little abstract. I have not used chatGPT until know and created an account for checking if chatGPT could support. Following are the steps to be taken acc. to the answer and additional it was offering me to upload the content of the files and respond with the "new" version. And yes, I'm aware that it is not as simple as uploading all necessary files to chatGPT and magically all files will be provided and directly working.

    Updating a Python 2 plugin to Python 3 and making it compatible with a newer version of LibreELEC and a different Raspberry Pi model involves several steps. It's a complex process, and I can provide general guidance, but you might need to adapt the steps based on the specifics of your plugin. Here's a high-level guide:

    Update Python Version:

    • Convert the Python 2 code to Python 3. Use tools like '2to3' for automated conversion.
    • Manually fix any issues that the automated tool might miss.

    Library Compatibility:

    • Ensure that the libraries and dependencies used by your plugin are compatible with Python 3.

    LibreELEC Compatibility:

    • Check the LibreELEC documentation for changes and updates. Adapt your plugin to work with the latest version.

    Device-Specific Changes:

    • Since you're moving from Raspberry Pi Compute Module 3 to Raspberry Pi 4, there might be device-specific changes required.
    • Adjust driver-files, firmware-files, and scripts to match the hardware differences.

    Device Tree:

    • Modify the device tree to reflect the changes in the hardware. This may involve GPIO pin assignments and other hardware-related configurations.

    Testing:

    • Test your updated plugin thoroughly on the new environment to identify and fix any issues.

    Documentation:

    • Update any documentation associated with your plugin to reflect the changes.

    Community Support:

    • Seek help from the LibreELEC and Raspberry Pi communities. Others may have faced similar challenges and can provide valuable insights.

    Backup:

    • Before making significant changes, ensure you have a backup of your current setup to avoid data loss.

    Iterative Process:

    • The update may require an iterative process of testing and refinement. Be prepared for this and address issues as they arise.

    Remember that the specifics of your plugin will heavily influence the required changes, and you may encounter challenges unique to your situation. If you encounter specific issues during the process, feel free to ask for help on forums or community channels dedicated to LibreELEC and Raspberry Pi development.

  • Use the LE12 codebase for all testing (LE11 and before are now dead/done) and focus on hardware matters because all effort made on updating old add-ons and such is pointless unless the underlying hardware works. Ignore ChatGPT, it's clueless for this task.