Friday, 27 October 2017

Ubuntu Cinnamon

Besides Ubuntu there are also recognised Ubuntu flavours that include:
  • Kubuntu — Ubuntu with the K Desktop environment
  • Lubuntu — Ubuntu that uses LXDE
  • Mythbuntu — Designed for creating a home theatre PC with MythTV
  • Ubuntu Budgie — Simplicity and elegance – Budgie desktop powered by Ubuntu
  • Ubuntu GNOME — Ubuntu with the GNOME desktop environment
  • Ubuntu Kylin — Ubuntu localised for China
  • Ubuntu MATE — Ubuntu with the MATE desktop environment
  • Ubuntu Studio — Designed for multimedia editing and creation
  • Xubuntu — Ubuntu with the XFCE desktop environment
with the recent change that the final stable non-LTS release of Ubuntu GNOME is 17.04 as Ubuntu now uses the GNOME desktop.

But in addition to the flavour Ubuntu derivatives are customizations which consist of Ubuntu based distributions which are created and maintained by individuals and organizations outside of Canonical and have varying relationships in working with the Ubuntu community.

At least two of these customizations (Cubuntu and Mintuse the Cinnamon desktop which is a fork of the GNOME 3 desktop.

With Cinnamon now included in the 'universe' repository of community maintained software for Ubuntu three key packages are available:
  • cinnamon — Innovative and comfortable desktop (essentially the Cinnamon shell)
  • cinnamon-core — Cinnamon desktop environment - essential components
  • cinnamon-desktop-environment — Cinnamon desktop environment - full desktop with extra components
and these can be downloaded and installed to create an 'Ubuntu Cinnamon'. Note that the packages are inclusive so 'cinnamon-core' includes 'cinnamon' for example.

To demonstrate this I've respun the Ubuntu 17.10 ISO and installed the minimalist 'cinnamon' package and created ISOs suitable for booting on both Intel Atom-based and Intel Apollo-based mini PCs.

The ISOs can be downloaded from:
  • Atom (linuxium-atom-ubuntu-17.10-desktop-amd64.iso)
  • Apollo (linuxium-apollo-ubuntu-17.10-desktop-amd64.iso)
(ISO removed due to Lenovo BIOS issues)
Whilst the ISOs target specific Intel architectures to ensure everything works they should also work on any Intel device.

Unfortunately respinning an Ubuntu ISO with Cinnamon normally fails because the required 'blueman' package installation tries to reload the system message bus configuration. However I've created a workaround which requires patching my '' script.

Anyone wanting to spin their own version can download the Ubuntu 17.10 ISO from and respin using the following instructions in consultation with my documentation.

After downloading the ISO the next step is to download the basic patch '' and decide which Cinnamon package from 'cinnamon', 'cinnamon-core' or 'cinnamon-desktop-environment' you want to use.

The basic patch assumes 'cinnamon' so for the others first update the patch with the package to be installed:

sed -i 's/"cinnamon"/"cinnamon-core"/'


sed -i 's/"cinnamon"/"cinnamon-desktop-environment"/'

Now patch my '' script. You must have the latest version so check using the command -v


./ -v

depending on whether you have installed the script to '/usr/local/bin' or run it locally. Make sure you have version '7.3.5' otherwise upgrade by downloading it from the link above. Then if you have installed the script to '/usr/local/bin' enter:

sudo patch -p0 -b -d / <

otherwise for a local script enter:

patch -p4 -b <

Now check that it has been updated by confirming the version again and making sure it is now ''. The patching creates a new version of the script together with a backup of the original as '' so you can easily revert as required.

Finally to update the wallpaper on the respun ISO two additional commands must be included as part of respinning:

-c "sed -i 's?/usr/share/themes/Adwaita/backgrounds/adwaita-timed.xml?/usr/share/backgrounds/warty-final-ubuntu.png?' /usr/share/glib-2.0/schemas/org.cinnamon.desktop.background.gschema.xml"
-c "glib-compile-schemas /usr/share/glib-2.0/schemas"

So the complete invocation for the 'Apollo' ISO above using the patched script was: -i ubuntu-17.10-desktop-amd64.iso --apollo -p cinnamon -c "sed -i 's?/usr/share/themes/Adwaita/backgrounds/adwaita-timed.xml?/usr/share/backgrounds/warty-final-ubuntu.png?' /usr/share/glib-2.0/schemas/org.cinnamon.desktop.background.gschema.xml" -c "glib-compile-schemas /usr/share/glib-2.0/schemas"

By respinning the ISO and just adding the 'cinnamon' package you will get a good indication of whether you like the interface. But be aware that the more Cinnamon you add the more desktop applications you will be duplicating with GNOME so a customized distro such as Linux Mint may be prefered.

Please donate if you find the ISOs or script useful using the following link


  1. did not work. error mounting loop0, iso is Atom downloaded

  2. Hey, Thanks for your efforts!

    I have an older version with 4.10.0-10-linuxium kernel installed (don't remember which Ubuntu version is it). Wifi works, Sound doesn't. I'm inlove with my OpenBox DE and thanks to you I have actual use for my Onda Obook 11 that came with Windows 10 and was really slow - Chipset is z8300.

    I've just tried the latest live ATOM Iso's but they don't recognize WIFI and also there is no sound.

    So because WIFI work on my current version and everything runs smooth (apart from sound) I will stay with the current version (with kernel 4.10.0-10-linuxium) at least for now.

    Is it possible to make Sound work on my current version? even with headphones or something like that (heard it was possible?)
    would really appreciate your help, and again thanks for your efforts making this.


    1. Did you try my suggestions in ''?

  3. For Z83-II, no audio, no wifi, BT with some errors. This is a little computer with Z8350 micro and AP6255 (Broadcom Wifi/BT) chipset. Thanks

    1. Audio working after respin my own Mint ISO with:

      koko-VPCEB1J1E ISOSRESPIN # ./ -i linuxmint-18.2-cinnamon-64bit.iso -u -f -f -f -f -c -c

      And modify '/etc/pulse/' as indicated in

      Next step: Fix wifi... any ideas?

    2. Did you try my suggestions from 'Wifi issues' section in ''?

  4. i installed ubuntu 17.10 atom cinnamon to lenove miix 320 with z8350 cpu. and can found issues (no audio, no gravity sensor)

    1. As per the suggestion from 'thor17' try blacklisting the 'snd_hdmi_lpe_audio' module.

    2. i have the same problem. if i blacklist the module no sound over HDMI. Is there a way to solve it?

    3. No audio over HDMI or no audio over speakers/headphones or both?

  5. @Child Choi
    I got also a Lenovo Miix 320, solving the audio problem is easy, just blacklist the snd_hdmi_lpe_audio module. It's causing the problem with Pulseaudio.
    Do you have a problem with the module axp288_fuel_gauge?

    I got almost everything working, with exception of the battery gauge. The module axp288_fuel-gauge is flooding the dbus with errors, so the tablet cannot be used, I had to blacklist the module.

    I uploaded the logs below:

  6. Thank you Ian for your outstanding work! I have a little Minix PC (based on an Intel Atom Z3735F) and used your Ubuntu 16.04 ISO and with a little work converted it to Linux Mint Cinnamon (and removed the Unity and Ubuntu-only packages). I did try to create a respin using your scripts and Linux Mint 18.2 but could not get it to boot nomatter what I did. I did find that the Minix box locked up on a regular basis (usually in a web browser and when it was using the GPU) but I have not been able to find the exact cause. I tried just about every combination of GRUB boot parameters but the combination that worked (and seemed to prevent lockups) was adding

    intel_idle.max_cstate=1 maxcpus=3

    to GRUB_CMDLINE_LINUX_DEFAULT. Not ideal I know as I am not using one of my CPU cores but a stable PC is more important to me than a faster one that locks up sometimes! Posted in case somebody else might find it helpful. I have no idea why this works (thermal overload perhaps?) but it does.

    Running Linux Mint Cinnamon on this little Minix box makes it into a fantastic (and silent) little desktop machine which is plenty powerful for most general desktop tasks and even embedded development (as long as I keep my eye on memory usage as I only have 2GB of RAM)!

  7. Hey! I do not know wether you are going to read it or not, but - how strong was the performance hit? I want to run Android Studio, which runs smoother than on windows - very smooth actually but because of the kernel it random freezes regardless of memory usage - c-state 1 does not help

    1. What kernel version are you using?

    2. I reverted back to 4.10 but I previously used 4.14 and 4.13 as well, both hung and froze after a short time even with cstate disabled. I heared that there are some patches like the one from jbMacAZ, howver, I lack the space on my computer to compile it myself and no kernel I found contains it.

  8. Thank you for sharing the great iso! Everything works on my Atom except for bluetooth. The widget allows to turn the bluetooth on but "add device" button is greyed out and if I click on "add adapter" it says "no adapter found". Bluetooth service is up. Any ideas on what is missing?

    1. Try following the section 'Wifi issues' in my documentation (see link above top right)..

  9. Thank you for your working. But on 2 in 1 netbook didn't work sound. Any ideas? In netbook is Atom x5-Z8300. Thank you.

    1. Did you include the 'UCM' files (normally provided when using the '--atom' option when respinning your ISO)?

    2. I'm respining my iso with --atom option.

    3. Have a look at '' but obviously referencing your audio card. You can also try removing the UCM files as I read recent comment suggesting they were now stopping audio from working.

    4. OK. And how I removing the UCM? Must I respining the iso again?

    5. Okay don't remove the UCM files as I've a new idea. I've just made a change to the UCM script that '' uses so try respinning your ISO again with the '--atom' option and see if this fixes it. Post your 'dmesg' from the newly respun ISO using 'pastebinit' so I can also debug if it doesn't work.

    6. I respining iso again. Audio didn't work. Here is my 'dmesg'.....

    7. What shows up in 'Sound' under 'Settings' and what does 'aplay -l' and 'aplay -L' show?

    8. This comment has been removed by a blog administrator.

    9. I've not verified the link or the external software so the comment has been removed as editing is not possible.

      Try respinning your ISO again as I've updated the UCM script to see if sound works. If it doesn't then what does 'aplay -l' and 'aplay -L' show?

  10. I'm back to your iso after several months, because my chromebook was stolen... So for my Acer s1002 145h no sound at all, but I can get it working with this work-around (translatin of a few word from italian into english shouldn't be difficult

    luca@ACERINO:~$ pulseaudio --start
    E: [pulseaudio] main.c: Avvio del demone non riuscito.
    luca@ACERINO:~$ sudo pulseaudio --start
    [sudo] password di luca:
    W: [pulseaudio] main.c: Questo programma non è pensato per essere eseguito come root (a meno di specificare --system).
    E: [autospawn] core-util.c: Home directory not accessible: Permesso negato
    W: [autospawn] lock-autospawn.c: Impossibile accedere al lock di autospawn.
    E: [pulseaudio] main.c: Failed to acquire autospawn lock
    luca@ACERINO:~$ sudo pulseaudio --system --start
    E: [pulseaudio] main.c: --start non supportato per le istanze di sistema.
    luca@ACERINO:~$ sudo pulseaudio --system
    W: [pulseaudio] main.c: In esecuzione in modalità sistema, ma --disallow-exit non impostato.
    W: [pulseaudio] main.c: In esecuzione in modalità sistema, ma --disallow-module-loading non impostato.
    N: [pulseaudio] main.c: In esecuzione in modalità sistema, disabilitata in modo forzato la modalità SHM.
    N: [pulseaudio] main.c: In esecuzione in modalità sistema, disabilitato in modo forzato il tempo di uscita per inattività.
    W: [pulseaudio] main.c: OK, so you are running PA in system mode. Please make sure that you actually do want to do that.
    W: [pulseaudio] main.c: Please read for an explanation why system mode is usually a bad idea.
    W: [pulseaudio] alsa-ucm.c: Add lost conflicting device MonoSpeaker to Headphones
    luca@ACERINO:~$ pulseaudio --start

    It looks that running pulseaudio as system does the trick, but I am not sure why.

    Regarding the rest, the UI is very smooth and the only thing that doesn't work yet is autorotation, but I will use an old script I had posted on github last year.

    Thank you for your support:)


  11. Update: this workaround doesn't work any longer and sound is gone.

    To get autorotation working I made this script last year, that works if you install iio sensor

    luca@ACERINO:~$ sudo apt install iio-sensor-proxy inotify-tools

    Here is the script (to kill it sudo pkill -f

    # Auto rotate screen based on device orientation

    # Receives input from monitor-sensor (part of iio-sensor-proxy package)
    # Screen orientation and launcher location is set based upon accelerometer position
    # Launcher will be on the left in a landscape orientation and on the bottom in a portrait orientation
    # This script should be added to startup applications for the user

    # Clear sensor.log so it doesn't get too long over time
    > sensor.log

    # Launch monitor-sensor and store the output in a variable that can be parsed by the rest of the script
    monitor-sensor >> sensor.log 2>&1 &

    # Parse output or monitor sensor to get the new orientation whenever the log file is updated
    # Possibles are: normal, bottom-up, right-up, left-up
    # Light data will be ignored
    while inotifywait -e modify sensor.log; do
    # Read the last line that was added to the file and get the orientation
    ORIENTATION=$(tail -n 1 sensor.log | grep 'orientation' | grep -oE '[^ ]+$')

    # Set the actions to be taken for each possible orientation
    case "$ORIENTATION" in

    xrandr -o right

    xinput set-prop 'FTSC9999:00 2808:5012' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1;;


    xrandr -o left

    xinput set-prop 'FTSC9999:00 2808:5012' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1 ;;

    xrandr -o inverted

    xinput set-prop 'FTSC9999:00 2808:5012' 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1 ;;

    xrandr -o normal

    xinput set-prop 'FTSC9999:00 2808:5012' 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1 ;;


  12. As you may notice, I had t switch right-up and left-up mode, which were inverted

  13. I followed the suggestion by Thor17

    luca@ACERINO:~$ sudo nano /etc/modprobe.d/blacklist.conf

    blacklist snd_hdmi_lpe_audio

    Save, reboot et voilà!

    Everything works now for my Acer s1002 145h:

    - sound;

    - rotation (with the script I posted above);

    - backlight control (with a script).

    Suspend sorta works, since the backlight only dims and doesn't entirley shut off, but I have never been able to get it fully working in linux.

    Good night


    1. You can add this as an option when respinning as '-g "modprobe.blacklist=snd_hdmi_lpe_audio'.

    2. Yes, I know it, thanks. But I did not respin the iso, I just downloaded and installed your iso which is almost fully working ootb. Btw, I have had a look at with reference tu bug 90075 and it seems that backlight control / PWM is far from being functional for my device and I haven't got the skills to try to solve the bug myself... The consequence is that suspend is useless with screen on (battery drains a lot). Nevertheless, linux is still better than win 10 in terms of performance and I wonder if I could lower the boot time to less than 7-8 seconds, so that could miss suspend not so much. Now boot time, after some minimal tweaks, is about 29 seconds of which 16 for userspace. I haven't find an ultimate solution yet, but there are very useful hints about linux for embedded devices.

      It could be something interesting to debug for all the devices with the aforementioned bug.

      Good night.


  14. My wife bought a HP 10-p002nd 2-in-1 netbook with an atom x5-z8350 processor. I've been looking for months to install linux on this thing. Found your site this morning and downloaded the respun iso. Works great after blacklisting the hdmi sound! Thanks for your work.

    Only thing I can't get working right now is the battery indicator, but I might figure that out later.

    1. Good to hear that most things are working.

  15. Hello. I' m trying to install ubuntu on a cheap apollo lake laptop. I tried to respin different isos using your script with various options but the only iso that boots correctly is ubuntu cinnamon from this post. It runs ok but touchpad does not work. Can you tell me what options did you use to respin it?

    1. The options are included in the post above.