Home Uniquely NZ Travel Howto Pauline Small Firms Search
Global Communications and Computing
The Chillblast Helios Ultrabook

Summary

Yes I have it all working and it is now available to my wife full time. All function keys are supported. Wifi, HDMI, Display Switching Volume, Brightness, Bluetooth, Webcam, Microphone, Backlight adjustment, Turbo mode and the Cardreader all work. Battery Life playing music at half screen brightness and keyboard backlight medium is over 7 hours. The machine feels much faster than the Defiant although the processor is actually half the power - the result of the fast SSD and possibly the much faster processor speed changes in Skylake.

This page covers the initial setting up of my Chillblast Helios Ultrabook with Linux Mint and some of the subsequent updates. Mint is built on top of Ubuntu and both sit at the top of the popularity stakes. Mint has the advantage of the Cinnamon Desktop which will be very much more familiar than the Ubuntu Unity Desktop to the majority of Windows and Apple users.

The Helios had cutting edge technology in the form of the latest 6th Generation Intel Processor, the i5 6200U, with Skylake architecture and a Samsung 850 Evo 250 Gbyte Solid State Disk (SSD). Mint 17.3, which was available when the machine was purchased, had full support for the Skylake architecture and both run 'out of the box' although a change to an updated kernel is required at an early stage for both. I however much prefer the Cinnamon Desktop which is the major feature of Mint. It has subsequently been updated progressively to Mint versions 18.x, 19.x and 20

The major new feature to me was that this is my first use of a Solid State Drive (SSD), a Samsung 850 Evo 250 Gbyte. This is currently the reported to be the best of the 'consumer' SSDs but had a major bug in a feature potentially used by Linux. This feature is Blacklisted in the latest kernels used by Mint. SSDs also have a number of other specific requirements to get maintain their high speeds - most are set up by default, the others are simple, or can be done at your leisure and are all well documented below. Much of the write up initially concerned details of the use and optimisation of SSDs but I have moved much of that to a separate document. Using an SSD friendly file system has however caused me to revisit the sharing between Users, Operating Systems and Machines and new proceedures are included.

Another area I expected to require work was the Touchpad which is from a largely unsupported manufacturer - it is not the best but is acceptable, and now has reasonable support included in the latest kernel with two finger tap for right click and the option of two finger horizontal and vertical scroll or edge scroll. Personally I prefer the old fashioned separate buttons but that is not fashionable these days. The keyboard is low profile but has a nice feel.

There were a number of anomolies such as high battery consumption until the kernel updates were done but Mint 18 worked "Out of the Box". These problems applied to most Skylake architecture machine under Linux and were not unique to the Helios. The latest kernels such as 5.4 however play less well with the ACPI in the BIOS meaning some error logging has to restricted, again not unique to the Helios.

 


Contents

The Chillblast Helios - Why another Laptop?

We spend quite a bit of time away from home and Pete had a Chilblast Defiant 13.3 Laptop and Pauline used an old MSI Wind U100 Netbook. These enable us to keep up to date with most activities and provide music through the WiFi and bluetooth connection on our narrowboat and even watch some TV through a dongle. The MSI Wind was however 8 years old and had run out of power and many web sites do not display well on the 1024x600 screen. The Defiant is still a excellent and very powerful machine, more than Pauline needs for normal use so we were looking for a small, light but reasonably powerful machine but with a 10 inch or so screen which proved difficult to find. In looking through possible machines we came across the Helios in the Chillblast range. It was bigger than Pauline wanted but is light and promised excellent battery life especially with a SSD memory fitted. We specified an i5 processor from the Intel 6th generation range which has 2 cores but is multithreaded and has a turbo mode allowing up to 2.8 GHz operation which, with the Solid State Drive, gives more than adequate performance and will probably allow video editing if required yet is two thirds the weight of the Defiant, metal cased for strength and gives twice the battery life. The SSD gives even faster boot times and load times are also greatly improved. It gives the impression of being much faster than Pete's Defiant although it has half the raw processor power.

Specifications of the Chillblast Helios 13" Laptop

The Helios has a 13.3" 1920x1080 screen and weighs 1.4 kgs plus the weight of a 40 watt power adapter. It has 8Ggbytes of 1600 Mhz RAM and a 250 Gbyte Samsung 850 Evo M2 Solid State Drive. It obviously has no DVD but has Wifi, Bluetooth and an SD card reader and an HDMI output. We will entirely run Linux.

Intel Core i5 6200U 2.3GHz (2.8GHz Turbo)
Core Logic: Intel 6th Generation Skylake Architecture
Chassis: Topstar U931
Chipset Display: 13.3” HD (1920x1080) 16:9 IPS panel
Expandable Memory: 8GB DDR III 1600 Mhz
Storage: 2 positions: one mSATA normally containing a 250 or greater capacity Samsung Evo SSD and additional space for a 2.5” slimline HDD
UK layout Keyboard with full set of function keys
Built in touch pad
2 channel HD Audio
1 x USB 3.0 Port
1 x USB 2.0 Port
1 x USB 3.1 Port (latest c style)
1 x Headphone-out/ MIC-in phone jack
1 x DC-in jack compatible with the Defiant and MSI Wind
2-in-1 Card Reader (SD/MMC)
720P HD video camera and front facing microphone
Full Range AC adapter, AC in 100~240V 50~60Hz 19v output
4 cells Lithium-Ion battery pack, 45WH fixed
Battery life: 7.5 hours
325mm x 219mm x 18mm
1.4kg, including 45WH battery

Chillblast have told me "The battery is not designed to be user replaceable, unfortunately, although it CAN be changed if you are technically minded and prepared to do a bit of DIY. Normally if something goes wrong with the battery in this laptop we are expecting to swap it over for the user. " Although the battery is fixed I understand from Chillblast that it is still possible to add or change drives without completely removing the battery but you should contact them before undertaking such work which is definitely not covered in the very short user manual.

The motherboard picture below shows the fixed battery and does not have either of the drive slots filled or the RAM added. The drive positions are bottom left The large space is for a 2.5 inch SATA drive and the central one is for a m2 type SSD, in both cases the sockets can be seen on the edge of the motherboard. The single memory slot which takes up to 8 Gbytes is above the heat sink.

Motherboard  fitted with 2.5 inch SATA SSD drive - source unknown Motherboard fitted with 2.5 inch SATA SSD drive - source unknown

Summary of actions before installing.

Warning: There was a problem with Samsung SSDs if used with the Ubuntu LTS version 14.04 Trusty. The lowest version number you should use is Ubuntu 15.10 Wily. Mint 17 is based on Ubuntu 14.04 but 17.3 has the fix backported into it and is OK as well. Read more here if you are using other versions of Linux.

The following is not very different to the approach in The Chillblast Defiant Mini Laptop which was itself based on the Road to Freedom - A progressive migration from Windows to Ubuntu for Safety, Security and Savings in Home Computing except that here we do not have a Windows system installed and will not be making any provision to dual boot with Windows. This means there is no requirement to Backup and set up Windows to be ready for a dual boot although other may wish to do so. Chillblast do however install a Windows system in order to carry out their testing and there is a need to check what has been left on the SSD in the way of existing partitioning. Chillblast however are very helpful and it is likely that they will be prepared to make sure that the machine is set up in a way that makes life easy if you ask. I myself have been very impressed by there service and attitude, they seem to bend over backwards to be helpful.

So before we do anything about installing we need to:

We will now look at those activities in more detail:

Background Review of Optimisation of Disk Drives, in particular Solid State Drives (SSDs)

I ordered my Helios with a Samsung 850 EVO SSD and this was the first time I had used an SSD so I did some background reading which revealed that there were more nuances in getting a good setup than I had realised. I was very glad I had made the effort and whilst waiting for the machine to be delivered I started to corrolate the various pieces of information I had on optimising performance into this checklist and extend it so it could be turned into a stand alone document.

This section initially ended up quite long and covered a lot of areas which do not need action taken on the Helios as they are already set up by Chillblast or are defaults in Mint and Ubuntu. The in depth coverage has moved to a dedicated page on The Use of Solid State Drives in Linux and only the links in Bold below will be covered in the appropriate sections of this page, the links here all point to in depth coverage in the dedicated page.

Checklist for the use of Solid State Drives

  1. The SATA controller mode needs to be set to AHCI in the BIOS. AHCI provides a standard method for detecting, configuring, and programming SATA/AHCI adapters. AHCI is separate from the SATA standards, but it exposes SATA's more advanced capabilities that are required in the BIOS to fully support an SSD.
  2. Partition Alignment is critical should be correct on a recent system but is essential for optimal performance and longevity as SSDs are based on flash memory, and thus differ significantly from hard drives. While reading remains possible in a random access fashion on pages of typically 4KiB, erasure is only possible for blocks which are much larger, typically 512KiB, so it is necessary to align the absolute start of Every partition to a multiples of the erase block size.
  3. Use a file system supporting TRIM: in practice this means EXT4 in Linux.
  4. Automate TRIM. A SSD system needs some form of automatic TRIM enabled to assist garbage collection otherwise the speed decreases and the number of writes also increases at the expense of SSD life. Should be implemented on recent kernels.
  5. Check Queued TRIM is Blacklisted. A number of drives do not correctly support TRIM reliably and, in particular, the queued TRIM command which may need to be inhibited. The latest kernels take care of this but it is a real issue if updating an existing machine or using an LTS (Long Term Support) Distribution with an elderly kernel.
  6. Overprovision. This is the reserving of some areas of disk and leaving unformatted. This also desirable for similar reasons to TRIM, namely maintaining speed and decreasing disk writes - a certain amount is already reserved by manufacturers (~7% ) but it is best increased by another 10 to 20%. The space is useful as it can be borrowed during 'fresh' installs for major upgrades.
  7. Control use of Swapping to disk. SSDs have a large but finite number of write cycles and frequent swapping uses that up. The use of swap files is not optimised for desktop machines in Linux for SSDs (or even Hard Drives) and must to be changed in the first few weeks.
  8. Inhibit Hibernation. (suspend to disk): This should be inhibited as it causes a large number of write actions, which is very bad for an SSD. If you are dual booting make sure Windows also has hibernation inhibited - in any case it is catastrophic if both hibernate to the same disk.
  9. Avoid Defragmentation. It is not required in Linux and is never done automatically. It must be avoided because the many write actions it causes will wear an SSD rapidly - make sure a dual booted system does not kill your SSD by defragmentation and avoid the need by maintaining at least 20% spare capacity on each partition, even in Linux this has benefits.
  10. Consider changes to the file access. Changes can be made to reduce the number of 'writes' by options in the configuration files such as noatime. (relatime is the default in Ubuntu and Mint and best compromise) I have never bothered.
  11. Optimise the disk access scheduler. The scheduler may be optimised for hard drives rather than SSDs. The default scheduler for Ubuntu/Mint is 'deadline' which is acceptable for both but noop may be better if only SSDs are in use. No Action Planned.

Only four of the above are likely to need addressing in a dedicated Linux system using Ubuntu or Mint with a single SSD and provided by Chillblast - they are in bold. The first two are factors in the initial partitioning of the SSD and the other two are carried out during the setting up procedure.

Create LiveUSB

Download the latest 64 bit Mint (20.0 x64 at present) and maybe Ubuntu and put on USB Sticks in advance. This is best done using balenaEtcher if you are using Windows or use the built in tools in Mint if you are already running Linux.

This is something that can be done in advance. I made them whilst waitiing for my machine to be delivered so I could test them on other machines. It is no longer possible to simply set up LiveUSBs with persistence. I have added full instructions here

Burning a LiveUSB to run Linux Mint

This is based on the Instructions on the Mint Web Site and in many ways the most important step towards runing Linux on a new or old machine as everything can then be done in Linux even on a new machine without any existing operating system. This can save £45 to £90 in the future by not having Windows on your purchase of a specialist machine.

The easiest way to test and install Linux Mint is with a USB stick. If you cannot boot from USB, you can use a DVD but optical discs are slow and burning to disc is prone to errors.

First download the latest iso from the Linux Mint Download page

In Linux Mint

Screenshot

In Windows, Mac OS, or other Linux distributions

Download balenaEtcher , install it and run it.

In windows the portable version does not even install anything on your machine or can live on a USBdrive. I do not have a Windows system to test it but it ran under the wine, the Windows 'emulator' under Mint

Screenshot

Using Etcher

Accessing the BIOS and Setting it up for Linux.

To enter BIOS Setup, turn on the computer and press F2 (give the system a few seconds to enter Setup; the F2 on screen will be highlighted to illustrate that the system is processing the request) during the POST (Power On Self Test) . It is possible that the Logo and options will not display if the BIOS has been set into Quiet Mode and you just have to keep tapping F2 until it enters the BIOS. If you get a “Keyboard Error”, (usually because you pressed F2 too quickly) just press F2 again.

The BIOS is a fairly standard one by American Megatrends Inc (AMI) but with a very reduced set of options available. There are 5 tabs and you have to navigate using the keyboard. Help Instructions are always shown on the right. There are only two settings you need to check and of them only one is likely to need changing in the current Helios BIOS. Both need to be correct.

Note: It seems that the Helios BIOS only supports UEFI as there is no option to change.

In Summary, the only setting you are likely to need to change is to set Secure Boot [Disabled]

I have also contacted Chillblast about the potential for these settings to be made before delivery and to quote "With regards to the BIOS configuration; we’re happy to make amendments to the BIOS before the laptop is shipped, if a customer asks us to do so. We normally test each new PC with a test installation of Windows 10, hence the BIOS settings being setup for this OS, but we can always go back into the BIOS one last time at the end of production to change any necessary settings."

Booting the LiveUSB

The boot menu is accessed on the Helios by pressing Fn10 during the time the BIOS is doing the POST checks, ie when the AMI BIOS Logo is being displayed.

You will then see a menu with the Internal Drive at the top followed by two entry points on the USB Sticks which correspond to a conventional and UEFI configuration. One needs to select the UEFI version in the USB boot options as the Helios BIOS only supports UEFI. If you use the wrong entry it will probably work as a LiveUSB but when you come to do an install you will end up installing the wrong version which will almost certainly not work.

We can now check what the partitioning is currently and change it ready for an installation using gparted which is available through the menu on the LiveUSB

Partition the Disk using GParted

It is now time to discuss partitioning the hard drive.

My plans take into account the various constraints from use of an SSD (EXT4 Filesystem, Partition Alignment and Overprovision)) and provide for:

NOTE: If you are copying this the sizes of the operating system partition needs to be larger to allow use of Timeshift in the latest versions of Mint and 40 or even 50 Gbytes is more comfortable by providing more space for Timeshift, the new restore program to keep its automatic backups.

Before starting we need to choose the Partitioning Table Scheme. There are two choice, the old and familiar to me MBR with its various restrictions or the more modern GPT scheme.

Again we have a lot of AS (Alphabet Soup) and Wikipedia tells us "A GUID Partition Table (GPT) is a standard for the layout of the partition table on a physical hard disk, using globally unique identifiers (GUID). Although it forms a part of the Unified Extensible Firmware Interface (UEFI) standard (Unified EFI Forum proposed replacement for the PC BIOS), it is also used on some BIOS systems because of the limitations of master boot record (MBR) partition tables, which use 32 bits for storing logical block addresses (LBA) and size information. Most current operating systems support GPT. Some, including OS X and Microsoft Windows on x86, only support booting from GPT partitions on systems with EFI firmware, but FreeBSD and most Linux distributions can boot from GPT partitions on systems with either legacy BIOS firmware interface or EFI."

I have chosen to use the new GPT partitioning rather than the Legacy MBR this time. I used MBR on the Defiant only because Windows had been preinstalled in a non UEFI mode which reduced my flexibility. GPT was designed to support UEFI and gives more flexibility especially if one ever needs to add a Windows Partition in a Dual boot configuration. If you are used to having a MBR scheme note there is no need for an extended partion in GPT as there is no restriction on the number of primary partitions. The Helios disk was already formatted with a GPT but without any partitions added - just unallocated space which made it very easy. I am sure you could ask them to do the same for you.

The default view in GParted does not show the type of partition table - you can see by View -> Device Information. It can be changed by Device -> Partition Table.

Adding Partitions is easy via Partition -> New

So this is what I ended up with:

Screen Shot Screen Shot

The screen dump above is from my actual set up Mint had been installed so the mount points show.

Testing from LiveUSBs for Assessment

This is a step most users will not bother with. I did a number of installs of different systems before the final install which used Mint 17.3 . You must use custom partitioning and make sure you are installing into the correct partition for root and setting that partition to be reformatted every time you load a new system. In my case this was an important step as I had already identified problem areas from trials with LiveUSBs and I still have an Ubuntu 15.10 with a Cinnamon desktop added from a PPA providing an additional desktop as well as the Mint 17.3 which is in use with the machine by my wife.

I will not go into the problems here as they are no longer issues but for reference are covered below under Issues and Quirks

Final Install to Disk

So once I had confirmed which system and type of partitioning to install the actual process was simple. The LiveUSB is run again and the various questions answered up to the partitioning where custom is selected and the partitioning above set up partition by partition including a home partition ( /home) . The only partition which is formatted is the one set to root ( / ) and uses ext4

NOTE: When you do the [final] install you want to make sure that ou use your primary username as the one used during the install - this is important for a number of reasons. This makes subsequent upgrades easier and also cloning the machine. This initial user is special in several ways. To find out more read the sections below and the sections on distribution updates and on mounting files systems for use with Unison and other programs that require timestamps to be updated.

Our primary user is only used for administrative purposes such as synchronising the machines and backing up which can not be done by an active user with files in use. We then have two users for ourselves on each machine. You may want to do the same, for a family the primary user could be the surname and the actual users christian names.

Addition steps if you are already a user of Linux and want to transfer an existing user.

This only works well if the user you want to transfer was the first user set up on the other machine and the same user name and password is used on the new machine as it creates a folder in /home for that user an done can then bring in an existing home folder from another machine. I have written about the procedures for doing that under Carrying out a Distribution Update and Backing Up using tar archives. I did this on my machine.

Modifications to GRUB.

This brings together the changes which are Essential to boot successfully and some which I find desirable which might just as well be done at the same time. This section has been brought forwards to where it is required during installation but the sections covering the various problems and workarounds follow latter. To make these changes we need to edit /etc/default/grub as root which explains the strange incantation and requirements for passwords:

xed admin///etc/default/grub

shows /etc/default/grub the start of which typically contains these lines with changed/added lines coloured:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.preliminary_hw_support=1"
GRUB_CMDLINE_LINUX=""

#...................

GRUB_DEFAULT=0 will boot the first menu item and so on. GRUB_DEFAULT="saved" will boot the same entry as last time which I prefer.
GRUB_SAVEDEFAULT=true - needed to make sure the last used kernel used is saved
GRUB_TIMEOUT=3 will display the grub menu for 3 seconds rather than the default of 10 - life is too short to waste 7 seconds every boot!
i915.preliminary_hw_support=1 is due to Skylake being considered of "preliminary hardware support" by the Intel DRM kernel driver and falls under a "feature" introduced in 2012 where Intel is hiding early support for new hardware by default until it's stabilized. As far as I can tell that will be the case up to kernel 4.3 or even 4.4. I can find no differences in practice but see http://www.phoronix.com/scan.php?page=news_item&px=intel-skl-prelim-support for more details.

After making any changes you must run sudo update-grub in a Terminal:

sudo update-grub

to save the changes into the file actually used during booting - I keep forgetting.

Setting Up the New Machine

Firstly we will look at the two changes required because we are using a SSD

Reduce Swapping to Disk.

The changes that are described here are desirable for all disk drives and I have already implemented them on all my systems. They are even more important when it comes to SSDs. A primary way to reduce disk access is to reduce the use of Swap Space which is the area on a hard disk which is part of the Virtual Memory of your machine, which is then a combination of accessible physical memory (RAM) and the Swap space. Swap space temporarily holds memory pages that are inactive. Swap space is used when your system decides that it needs physical memory for active processes and there is insufficient unused physical memory available. If the system happens to need more memory resources or space, inactive pages in physical memory are then moved to the swap space therefore freeing up that physical memory for other uses. This is rarely required these days as most machines have plenty of real memory available. If Swapping is required the system tries to optimise this by making moves in advance of their becoming essential. Note that the access time for swap is much slower, even with an SSD, so it is not a complete replacement for the physical memory. Swap space can be a dedicated Swap partition (normally recommended), a swap file, or a combination of swap partitions and swap files. The swap space is also used for Hibernating the machine if that feature is implemented (Not Recommended with an SSD as it will wear them out)

It normally used to be suggested that the swap partition size is the same as the physical memory, it needs to be if you ever intend to Hibernate (Suspend to disk by copying the entire memory to a file before shutting down completely). It is easy to see how much swap space is being used by using the System Monitor program or by using one of the system monitoring applets. With machines with plenty of memory like my Defiant and Helios which both have 8 Gbytes you will rarely see even a few percent of use if the system is set up correctly which brings us to swappiness.

There is a parameter called Swappiness which controls the tendency of the kernel to move processes out of physical memory and on a swap disk. See Performance tuning with ''swappiness'' As even SSD disks are much slower than RAM, this can lead to slower response times for system and applications if processes are too aggressively moved out of memory and also causes wear on solid state disks.

Reducing the default value of swappiness will improve overall performance for a typical desktop installation. There is a consensus that a value of swappiness=10 is recommended for a desktop and 60 for a server with a hard disk. I have been using a swappiness of 10 on my two MSI U100 Wind computers for many years - they used to have 1 Gbyte of RAM and swap was frequently used. In the case of the Defiant I have 8 Gbytes of memory and Swap is much less likely to be used. The consensus view is that optimum value for swappiness is 1 or even 0 in these circumstances. I have set 1 at present on both the Defiant and the Helios with an SSD to speed them up and minimise disk wear.

To check the swappiness value

cat /proc/sys/vm/swappiness
For a temporary change (lost on reboot) to a swappiness value of 1:

sudo sysctl vm.swappiness=1

To make a change permanent you must edit a configuration file as root:

xed admin///etc/sysctl.conf

Search for vm.swappiness and change its value as desired. If vm.swappiness does not exist, add it to the end of the file like so:

.....
vm.swappiness=1

Save the file and reboot.

There is another parameter which also has an influence on perceived speed as it influences the inode/dentry cache which is a layer above the block cache, caches directory entries and other filesystem-related things that cost even more to look up than just block device contents. This is even more obscure (especially the name of vfs_cache_pressure) but there are some tests in https://freeswitch.org/confluence/display/FREESWITCH/SSD+Tuning+for+Linux which indicate that the default (100) can be halved to give an improvement in perceived performance. This is done by adding another line to /etc/sysctl.conf so for the Defiant I have:

.....
vm.swappiness=1
vm.vfs_cache_pressure=50

I have not implemented it on the Helios as the SSD already gives a huge improvement and extra tuning is unlikely to give any perceivable enhancement.

Inhibit Hibernation

Hibernation (suspend to disk) should be inhibited as it causes a huge amount of write actions, which is very bad for an SSD. If you are dual booting also make sure Windows also has hibernation inhibited - in any case it is catastrophic if both hibernate to the same disk. Ubuntu has inhibited Hibernation but Mint did not and I prefer to change it. The latest versions of Mint seem to inhibit it as well so check if this is needed. An easy way is to, in a terminal, do:

sudo mv -v /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla /

Note this is a single line and is best copied and pasted it into the terminal.

It moves the settings file that enables hibernation, to the main directory / (root) rendering it ineffective. The new location is a safe storage, from which you can retrieve it again, should you ever wish to restore hibernation. Thanks to https://sites.google.com/site/easylinuxtipsproject/mint-cinnamon-first for this idea. Note:I have not checked and have no views on any of the other information on that page

One needs to reboot before this is active. After the reboot Hibernation should now no longer be one of the options when you close the computer. Applets which try to hibernate will demand root access.

Sharing - Users and Operating Systems and between Machines

Mounting Drives for Sharing between users

It is now time for a bit of philosophy about system design. There are a few principles that I try to adhere to namely:

  1. Keep Data and Operating systems separate - so an operating system can be updated or reloaded independent of users data and configuration ie a separate /home folder under Linux
  2. Provide for multiple Operating systems eg Windows and one or more different Linux systems, and allow them to be selected at boot time.
  3. Allow for multiple users on the same machine selected at login time - so we can take one machine away.
  4. Provide a shared DATA drive for all operating systems and users.
  5. Set up mechanisms to synchronise parts of the shared DATA area between machines as well as users - ie by Unison.
  6. Allow for USB drives to be automounted or left permanently plugged in so all users can access without a reboot.
  7. Provide an additional high capacity Hard Drive for video storage etc if required.

The Partitioning described above take into account points 1-5

Requirements to correctly mount a 'DATA' Partition

There are currently some additional technical constraints when implementing the design above.

We end up with two favoured scenarios for a high performance machine:

The two scenarios need different solutions to mounting the shared drives and setting their permissions. In the past I have always had machines dual booted and with a shared ntfs partition and I have documented that solution many times. This time I have to use an ext4 drive and have had to develop a new solution - I thought it would be a common problem but the solutions were few and not entirely satisfactory.

Set up file system to mount an ext4 'DATA' partition to allow sharing by all users in adm group.

Drives of type ext3 and ext4 mounted by fstab are by default owned by root. You can set the owner to the main user but not the group and access rights so other users can access a shared area as you can with an ntfs file system. I chose to use the adm group as most users with administrator rights will be a member. An alternative is the sudo group - all sudoers would be able to mount any way so there is no point in keeping them out.

The only way seems to be to have a script which is run at the end of a reboot which sets all the owners, groups and permissions after a slight delay to allow the file system to have been mounted. The location of the 'call' of this script varies depending on whether it is an old upstart/init system (Mint <18 and Ubuntu < 15.04) or a systemd system.

My script file is /etc/shareDATAadm which must have execute permission set and should contain:

#!/bin/bash
# shareDATAadm file to set ownership, group and permissions of the media/DATA partition mount point after a delay to allow the mount to be complete.
sleep 10
chown pcurtis:adm -R /media/DATA
chmod 770 -R /media/DATA
exit 0

If one is using an Upstart initialisation as in Cinnamon 17.3 it should be called from /etc/rc.local which you can edit by

sudo xed /etc/rc.local

and should look like this:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sh /etc/shareDATAadm
exit 0

If you are dealing with a systemd initialisation (eg Ubuntu 15.10 and probably Mint 18.0 when it arrives ) the best place seems to be in the /etc/crontab where you can use the @reboot attribute. Edit by

sudo xed /etc/crontab

and modified the /etc/crontab file so it ends like this:

......
@reboot sh /etc/shareDATAadm
exit 0

Note

The proceedure above does not work on a FAT32 or NTFS (Windows) file system without full ownership and permissions

Caution

I worry that this regular call may be reducing my SSD life and the only time the user is important is when synchronising so I currently do it manually.

For Reference - Howto mount an ntfs 'DATA' partition to allow use of unison and other programs which need to set time stamps

The mount point for the DATA partition (/media/DATA) should have been set up during the partitioning but I still find it necessary then edit the file system table /etc/fstab to get it auto-mounting as I want. The problem is that only the owner can reset time stamps on files which is required by some synchronisation programs such as Unison. This also makes the choice of initial user important. Again this has been written about in the past at the end of the first reference above and is not of the essence for this write up but for information my section of fstab now looks like.

# /media/DATA was on /dev/sda5 during installation
UUID=2FBF44BB538624C0 /media/DATA ntfs defaults,umask=000,uid=myusername,gid=adm 0 0

The changes firstly set the owner (uid is User id) to the main user who will be the only one who will be able to set timestamps. The second change means that the mask which sets the file permissions allows everyone read write and execute access rather than just the owner and group (adm is a group which most users with administrators will belong to or can be added to) - you may want to keep that tighter.

Change auto-mount point for USB drives back to /media (Checked up to Mint 20.x)

Ubuntu (and therefore Mint) have changed the mount points for USB drives from /media/USB_DRIVE_NAME to /media/USERNAME/USB_DRIVE_NAME. This is very logical as it makes it clear who mounted the drive and has permissions to modify it as one switches users. It is however inconvenient with multiple users sharing disks and inconsisten with our data drive mounted at /media/DATA. So I however have always continued to mount mine to /media/USB_DRIVE_NAME. One can change the behaviour by using a udev feature in Ubuntu 13.04 and higher based distributions (needs udisks version 2.0.91 or higher).

Create and edit a new file /etc/udev/rules.d/99-udisks2.rules

sudo xed /etc/udev/rules.d/99-udisks2.rules

and cut and paste into the file

ENV{ID_FS_USAGE}=="filesystem", ENV{UDISKS_FILESYSTEM_SHARED}="1"

then activate the new udev rule by restarting or by

sudo udevadm control --reload

When the drives are now unplugged and plugged back in they will mount at /media/USB_DRIVE_NAME

Optimising some common programs under Mint 17 and higher

Java

I have found that at least one of my important web sites does not work with the open source java plugin (icedtea plugin) under Mint 17 so I have been forced into the proprietary Oracle Java 8 using a PPA with a download script from Webup8. In summary the procedure was quick, apart from a huge download and the following shows the major stems. I have not needed to do this with more recent versions of Mint

pcurtis@defiant:~$ java -version
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1)
OpenJDK Server VM (build 24.51-b03, mixed mode)

pcurtis@defiant:~$ sudo add-apt-repository ppa:webupd8team/java

............................

pcurtis@defiant:~$ sudo apt-get update

..................................

pcurtis@defiant:~$ sudo apt-get install oracle-java8-installer

.................................................

pcurtis@defiant:~$ java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)

You can see the new Java has been installed and activated. You now have to enable the plugging in Firefox by Tools -> Addons and you will find the new Java plugin (11.5.2 or higher ) is disabled so use the drop down box to set 'Always Activate' or 'Ask to Activate'

You can find out what you have and I believe switch back by:

pcurtis@defiant:~$ sudo update-java-alternatives -h // Find out about command
[sudo] password for pcurtis:
usage: update-java-alternatives [--jre-headless] [--jre] [--plugin] [ -t|--test|-v|--verbose]
-l|--list [<jname>]
-s|--set <jname>
-a|--auto
-h|-?|--help

pcurtis@defiant:~$ sudo update-java-alternatives -l // List Java versions installed
java-1.7.0-openjdk-i386 1071 /usr/lib/jvm/java-1.7.0-openjdk-i386
java-8-oracle 1072 /usr/lib/jvm/java-8-oracle

pcurtis@defiant:~$ sudo update-java-alternatives -s java-1.7.0-openjdk-i386 //Switch back NOT TESTED

Sorting Video playback and monitoring in Video Editors

A certain amount of configuration is required to play videos at their best.

Celluloid/Videos: These are the pre-installed players in Mint and is actually based on the Totem player. They seems OK

VLC: Version 2.08 and higher offer a Video driver option which needs to set up. Leave the Accelerated box ticked and set the output to OpenGL GLX video output (XCB) which may be the default and seems to work well. I have not explored all the options.

Kdenlive: The earlier versions seemed to have a driver problem and Settings -> Configure kdenlive -> Playback lists 10 options of Video driver to use as well as an OpenGL tick box. Choosing XVideo and ticking the OpenGL box worked fine and gives a smooth preview. I have not explored all the other options. The latter versions 15.0x and higher seem to be OK wih the default settings.

Steam

I have not used Steam but an anonymous user emailed me, that he had tried running Half-Life2 and Portal but the images were almost black. After trying many suggestions the following link provided the solution http://forums.linuxmint.com/viewtopic.php?f=90&t=155095 namely that libtxc isn't loaded automatically as a dependency, so the textures aren't loading properly. So install them by:

sudo apt-get install libtxc-dxtn-s2tc0 libtxc-dxtn-s2tc0:i386

That worked for him on Half-Life2, Portal and The Talos Principle.

Googleearth

Google have never supported Googleearth very well on Linux. Google Earth is available for GNU/Linux from their web site, but is non- free software and also does not integrate well into an Ubuntu/Debian based system. There is a utility in the Ubuntu Repositories which should make it possible to build your own personal Debian package of Google Earth. The packaging itself is Free Software, but the Google Earth program is governed by the copyright holder (Google), so you may be limited as to what you can do with the resulting package (i.e. no redistribution for commercial use, etc). The built in installer was also broken in Ubuntu 13.10 Saucy so the Debian one was needed. This was probably one of the results of the switch from ia32-libs, a huge package of 32 bit libraries to enable 32 bit programs to function in a 64 bit linux to instead use Multiarch, which is intended to be a replacement with the advantage that only required packages are brought in. However not everything has been sorted before ia32-libs was withdrawn. I therefore spent a lot of time when I was testing out 64 bit systems which I exploited when it came to using Googleearth on the Defiant, Helios and other machines. The version of Googleearth that I finally got working is not the most recent but perfectly adequate and I have just kept using it in Mint 16 and 17. I never fully understood what I was doing but if you want Click to display more information 

Googleearth Update

If you just download the Google Earth package and try to install it, it fails to install because it depends on ia32-libs (on Ubuntu 64bit).

The ia32-libs package is no longer available in Ubuntu, starting with Ubuntu 13.10. The package was superseded by multiarch support so you don't need it any more, but some 64bit packages like Googleearth (which are actually 32bit applications) still depend on this package and because of this, they can't be installed in Ubuntu 14.04 or 13.10, 64bit.

The following 'correct'method of handling this is described on Webupd8 at http://www.webupd8.org/2014/04/install-google-earth-in-ubuntu-1404.html . It is to simply install the 32bit package on Ubuntu 64bit. Of course, that will install quite a few 32bit packages, but that's how multiarch works.

The extra problem with Google Earth is that the 32bit package doesn't support multiarch so it doesn't install all the 32bit dependencies it needs to run on Ubuntu 64bit. Below you'll find instructions on how to properly install Google Earth and its 32bit dependencies on Ubuntu 64bit.

So Webupd8 tells us the way to properly install Google Earth (along with the required 32bit dependencies) in Ubuntu 14.04 (or 13.10) 64bit, use the following commands:

sudo apt-get install libfontconfig1:i386 libx11-6:i386 libxrender1:i386 libxext6:i386 libgl1-mesa-glx:i386 libglu1-mesa:i386 libglib2.0-0:i386 libsm6:i386
cd /tmp && wget http://dl.google.com/dl/earth/client/current/google-earth-stable_current_i386.deb
sudo dpkg -i google-earth-stable_current_i386.deb
sudo apt-get install -f

Note some of these are long lines so make sureyou cut and paste the whole line into a terminal.

You will see errors after the first command but the final apt-get install -f seesm to sort all the dependencies out

Googleearth search fails with an HTTP error box

This is a known problem and has to do with a library package which exists in several locations including within googleearth. The one in googleearth is incompatible on some systems leading to this error. There are two solutions to try.

Rename the file /usr/lib/googleearth/libGL.so.1 (safer than deleting it)

sudo mv /usr/lib/googleearth/libGL.so.1 /usr/lib/googleearth/libGL.so.1.bak

If that is not enough or the file does not exist then the following links to a working version:

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/googleearth/

Y-PPA PPA Manager (Currently not available)

This is an essential tool to install, manage and purge Repositories - it is itself in a repository but after that is installed all the rest can be handled from a graphic interface.

I use Y-PPA to install:

Jdotxt To Do Program

This needs to be installed via a PPA.

What works [or doesn't]

HDMI Output

Video

I use this a lot with HDMI inputs on 1920x1080 TVs at home and on ships and again works fine and one could switch from one to the other or mirrored. I likewise use the HDMI input to my 1920x1080 monitor with the Helios as it does not have a VGA and I can also use an earlier monitor which has 1680x1050 DVI input. If mirroring is set one can unplug and replug the monitor and it sorts itself out automatically. The settings are preserved through a suspend and restart.

Audio

OK

Airplane Mode

The Helios has separate Fn keys to turn Bluetooth and Wifi on and off which both work and overrule the software switches. There is however no overall Flight Mode or indicator for Bluetooth.

Card Reader

Checked and OK

Bluetooth

Checked with several devices and OK

Camera and microphone

I installed cheese to test the video camera which worked fine and used Skype to check both the microphone and camera together.

Both were OK

Power Button and Lid Close

Both work under Ubuntu and Mint

Function Keys on built in keyboard

The function keys (F1 - F12 etc.) act as hot keys when pressed while the Fn key is held down.

Function Keys & Visual Indicators Action in Windows Action on Laptop built in Keyboard
Fn + Esc Suspend As expected
Fn + F1 Enable or Disable Touchpad As expected
Fn + F3 Enable or Disable Wifi As expected including indicator light
Fn + F4 Enable or Disable Sound As expected including screen indicator
Fn +F5/F6 Decrease or Increase Brightness As expected including screen indicator
Fn + F7 Switch Display

Switch's between Screen, HDMI and Mirror

Fn +F8 Open or Close Display

Switches LCD Screen on and off

Fn + F10 Adjust Keyboard Backlight
Cycles through Off, Dim and Bright as expected.
Fn + F11 Custom Runs Default Video Program (Totem Movie Player)
Fn + F12 Switch Bluetooth As expected
Fn + + Increase Volume As expected including indicator
Fn + - Decrease Volume As expected including indicator
Fn + F2 Unspecified Nothing

Performance Tests

Comparison of Helios x64 to Defiant i32, AMD Athlon 5000+ x64 and MSI Wind U100 i32 performance

Ubuntu have always recommended running the 32 bit system, certainly for systems of 2 Gbytes memory or under as the additional memory requirements cancel out any gains from the richer instruction set and faster processing.

These tests include some comparisons of 32 and 64 bit performance to help separate the differences between the Defiant and Helios.

I have done a quick and dirty check on my AMD Athlon 64 dual processor 5000+ with 2 Gbytes of Memory which is on the boundary. Speed in rendering videos (which is a good processor benchmark) was only 5% faster, almost within the measurement noise. Memory use was up 40% on average with quite a wide variation (28% Firefox with many tabs on startup and 54% Thunderbird with many accounts on startup). This is in line with Tests by Phoronix on Ubuntu 13.10 amd64 and i32 where Video and Audio processing showed ~15% gain and only FFTs showed a lot more, in most cases it was a very marginal or none existent gain.

I also used the benchmarks at the end of the System Information program - install hardinfo to access it.

Benchmarks MSI Wind U100 AMD Athlon 5000+ i32 Mint 16 AMD Athlon 5000+ x64 Mint 17.2 Defiant i32 Mint 17.2 Defiant x64
Mint 17.3
Helios x64 Mint 17.3
CPU Blowfish 28.16 8.39 8.07 (lower is better) 1.79 1.79 3.11
CPU CryptoHash 57.7 125.2 145 (higher is better) 776 839 407
CPU Fibonacci 8.49 2.93 3.53 (lower is better) 1.22 1.22 1.51
CPU N-Queens 17.78 16.09 13.55 (lower is better) 0.48 0.45 4.14
FPU FFT 18.69 6.75 8.16 (lower is better) 0.69 0.75 0.88
FPU Ray tracing 33.82 - 10.28 (lower is better) 10.92 3.21 3.71
GXLSpheres 1920x1080 N/A N/A 11 fps (both quite variable)
18 Mpixels/sec (1680x1050)
Intel Graphics 120 fps
237 Mpixels/sec

Intel: 192 fps
375 Mpixels/sec
Nvidia: 420 fps 830 Mpixels/sec

 

There is a lot of inconsistencies but the double the number of cores and threads of the Defiant's Core i7 4700MQ 2.4 Ghz (3.4 on Turbo) quad-core (8 thread) processor gives it about a 50% advantage over the Helios's core i5 6200U dual core four thread 2.3 Ghz (2.8 on Turbo) processor but never close to the 100% one might expect.

Battery Life Measurements and and Power Saving Utilities

Without any special care I am getting over 7 hours battery life playing music over bluetooth with Wifi, keyboard backlight medium and screen brightness set to 60% which is adequate even close to a window in daylight. There seems to be little point in using power saving tools when one is already achieving the providers claims!

There are at however at least two applications which claim to optimise the power saving settings on linux machines. The are Laptop Mode Tools and TLP. Neither are in the standard repositories and need PPAs to install them. I have tried both and can not truthfully say that either produced any significant savings on the Defiant and I have not bothered on the Helios. The main power savings options already seem to be well set up and I am pretty sure I would have seen even a 0.5 watt saving on the Defiant where I have left TLP installed. The links are to Webupd8 articles if you do want to follow up further. The main power savings are gained by turning the brightness down and turning off the keyboard illumination. I got no significant savings from turning Bluetooth off.

Helios Turbo Mode Performance

I thought I would check that the normal speed control and turbo were working
Screen Shot Screen Shot

The above screen dump is from the output of the i7z program which is now in the Ubuntu Repositories. This was obtained with a processor load of about 25% average and both processors are in Turbo mode and running close to 2.7 Gz It shows that the core temperatures are at about 63 degrees and the fan was running at high level.

Screen Shot Screen Shot

The above shows the situation when the machine is idling - the processors speeds have been reduced lowering power consumption and the temperatures are now low at ~ 10 deg above ambient and the fan is not running.

In conclusion the Turbo modes and control over power and speed seems to all be implemented under Linux for the Skylake Architecture with processor temperature commendably low.

Issues and Quirks - Mostly Fixed by Mint 18 and higher.

This section has been hidden as most problems have been superceeded. [ Click to Reveal ]

Issues On Upgrading

Mint 17.3 beta needed no specific upgrade to 17.3 as the various updates had been already been available through the update manager. I have not yet bothered to upgrade to Mint 18 as everything works fine with my various fixes in place. If it ain't broke don't fix it. Mint 18 really needs a complete reinstall in any case.

Mint 18.1

I did a complete re-install but retaining /home and /media/DATA and there were none of the issues covered above with the new kernel and software base "out of the box" on the helios

Window List With App Grouping applet Issue with all Mint 18.1/Cinnamon 3.2 systems

However there is a big issue with the Window List With App Grouping applet with Cinnamon 3.2. I have used for years and is an essential part of my system. Not only did not work under 3.2 but also stopped the whole desktop and panels working. It has not been actively developed for several years but fortunately it has been forked and Icing Task Manager 4.1.2 is a great improvement with many enhancements and works well with Cinnamon 3.2. The Icing Task Manager function is now integrated into Mint.

Mint 18.2, Mint 18.3 and Mint 19.1, 19.2 and 19.3

Everything has been working well so there has been no point in upgrading but if you want to then see the end of the page on the Defiant for a full list of actions that may be needed. Some of the changes to the terminal 'code' is already included above eg. xed replacing gedit as a text editor and the removal of gksudo and replacement by use of admin//....

Mint 20

This has caused a lot of problems due to a huge number of error messages from ACPI calls which the old and non-upgradable BIOS. They are of no major consequence but flood the error logs. I have gone into this in more depth than usual as it is an ongoing and possible a problem with no perfect solution. Earlier kernels can not be used.

BIOS problems on Helios with kernel 5.4 used in Mint 20 and higher.

My output from dmesg shows a huge number of errors. This is a problem which can existewhen using recent kernels with with an old BIOS. Many old BIOSes do not support the full set of current ACPI calls. To quote the Mint 20 Release Notes

Choosing the right version of Linux Mint"

Each new version comes with a new kernel and a newer set of drivers. Most of the time, this means newer versions are compatible with a larger variety of hardware components, but sometimes it might also introduce regressions. If you are facing hardware issues with the latest version of Linux Mint and you are unable to solve them, you can always try an earlier release. If that one works better for you, you can stick to it, or you can use it to install Linux Mint and then upgrade to the newer release.

One option with ACPI problems is to try various BIOS options acpi=off , acpi=noirq , acpi=strict , pci=noacpi but these tend to reduce functionality of the bios and various things like the temperature sensors fail. They are limited to geting a system running enough to lok for solutions.

Errors in my output from dmesg look like this

.....
[180074.103311] ACPI Error: Aborting method \_SB.PCI0.LPCB.H_EC._Q50 due to previous error (AE_AML_OPERAND_TYPE) (20190816/psparse-529)
[180074.301840] ACPI Error: Needed type [Reference], found [Integer] 000000006398d7d6 (20190816/exresop-66)
[180074.301867] ACPI Error: AE_AML_OPERAND_TYPE, While resolving operands for [Store] (20190816/dswexec-424)
[180074.301894] No Local Variables are initialized for Method [_Q50]
[180074.301900] No Arguments are initialized for method [_Q50]
[180074.301909] ACPI Error: Aborting method \_SB.PCI0.LPCB.H_EC._Q50 due to previous error (AE_AML_OPERAND_TYPE) (20190816/psparse-529)
[180074.503033] ACPI Error: Needed type [Reference], found [Integer] 000000001785f600 (20190816/exresop-66)
[180074.503044] ACPI Error: AE_AML_OPERAND_TYPE, While resolving operands for [Store] (20190816/dswexec-424)
[180074.503055] No Local Variables are initialized for Method [_Q50]
[180074.503057] No Arguments are initialized for method [_Q50]
.....

These are filling the log files and my standard check of log files which is:

sudo du -hsxc --time /var/log/* | sort -rh | head -16 && journalctl --disk-usage && date

shows:

mint@mint:~$ sudo du -hsxc --time /var/log/* | sort -rh | head -16 && journalctl --disk-usage && date
764M 2020-06-19 03:28 total
382M 2020-06-19 03:28 /var/log/kern.log
345M 2020-06-19 00:00 /var/log/syslog.1
38M 2020-06-19 03:28 /var/log/syslog
112K 2020-06-17 15:53 /var/log/dmesg
88K 2020-06-17 20:29 /var/log/apt
68K 2020-06-19 03:28 /var/log/auth.log
44K 2020-06-18 03:51 /var/log/Xorg.0.log
28K 2020-06-17 20:29 /var/log/dpkg.log
20K 2020-06-19 02:53 /var/log/cups
12K 2020-06-19 00:00 /var/log/lightdm
12K 2020-06-19 00:00 /var/log/boot.log.1
4.0K 2020-06-17 15:53 /var/log/wtmp
4.0K 2020-06-17 15:53 /var/log/ubuntu-system-adjustments-start.log
4.0K 2020-06-17 15:53 /var/log/ubuntu-system-adjustments-adjust-grub-title.log
4.0K 2020-06-17 15:53 /var/log/private
Archived and active journals take up 80.0M in the file system.
Fri Jun 19 03:28:27 BST 2020

This is actually a serious problem as it not only fills the log files but causes an extra very large nuber of write activities which are not good for the life of an SSD which have a limited number of write cycles so it must be addressed.

Method 1 - Revert to earlier kernel to avoid ACPI errors

This may not be an option as earlier kernels may not support all of the features required for the underlying Ubuntu system or Mint itself. In this case I would probably need to go back to a kernel which is no longer supported.

Method 2 - avoid ACPI flooding log files by adding limits in logrotate

Logrotate will have to be sorted as per changes for TimeShift. A quick check shows the files seem unchanged so the description in System Housekeeping to reduce TimeShift storage requirements can be used directly. This does not completely solve the excessive number of write cycles to an SSD.

Method 3 to avoid ACPI flooding log files - stop syslog daemon

This may seem a bit dramatic but the log files are useless anyway when full of junk. It is however not quite as simple as just disabling the syslog daemon syslogd. Syslog has been replaced by rsyslog on numerous OS. So, on Debian > 5, Ubuntu > 11.2, Centos 6.x. Also rsyslog now uses socket activation under systemd. So whenever there is a log message coming in, rsyslog will be started on demand. This means as fast as you stop it it will be restarted! The unit is named syslog.socket so if you want to stop the rsyslog service and the socket activation, you will need to stop both units:

systemctl stop syslog.socket rsyslog.service

This is, of course only a temporary stop as it will be reactivated at boot so you also need to disable them at boot:

systemctl disable syslog.socket rsyslog.service

You can re enable them at boot by

systemctl enable syslog.socket rsyslog.service
Add the --now flag to start now as well as enable for the next boot

You can check the state with

systemctl status syslog.socket rsyslog.service

You can also list all enable units by

systemctl list-unit-files | grep enabled

Enabled means the system will run the service on the next boot. So if you enable a service, you still need to manually start it, or reboot and it will start.

dmesg to the rescue

Stopping the syslog daemon does not completely stop logging as dmesg is still available to look at the kernel ring buffer. The 'kernel ring buffer' is a memory buffer created by the kernel at boot in which to store log data it generates during the bootloader phase. A ring buffer is a special kind of buffer that is always a constant size, removing the oldest messages when new messages come in. The main reason the kernel log is stored in a memory buffer is to allow the initial boot logs to be stored, until the system has bootstrapped itself to the point where the syslog daemon can take over. The contents of the buffer at that point seems to be saved in /var/log/dmesg but fortunately it continues to be updated.

dmesg offers a number of powerful tools to view and manipulate the ring buffer which, combined with piping to grep, allow one to still investigate most problems even without the full set of system log files. In practice I am not sure I have ever had to use the log files as the answers have always been available through dmesg, perhaps once when I had a series of kernel panics following segfaults.

We are still left with a problem as dmesg is still flooded with ACPI error messages at a rate of 5 lines every 200 msecs so it rapidly 'cycles'. There is however a command to pass the input from kernel straight on to the terminal which is accessed by the --follow or -w options. If that is piped to grep the offending 5 lines can lines be removed by the less well known grep option -v .

grep -w -e string1 -e string2 -e string3 -e string4 -e etc

passes on everything but lines containing string1 etc

In my case the magic incantation is:

dmesg -w | grep -v -e Q50 -e SB.PCI0 -e exec-424 -e sop-66

This makes it easy to watch as devices are plugged in etc

Concluding remarks on ACPI issue

I have decided to disable logging through rsyslog at boot time and depend on use of dmesg in the knowledge that I can easily enable it again if I need full logs. This will save considerable wear on the SSD and reduce the requirement for large amounts of space in Timeshift images. There may however be unintended consequences I have not yet discovered in, for example, access to histories from various utilities.

 

Before You Leave

I would be very pleased if visitors could spare a little time to give me some feedback - it is the only way I know who has visited, if it is useful and how I should develop it's content and the techniques used. I would be delighted if you could send comments or just let us know you have visited by Sending a quick Message to me

Link to W3C HTML5 Validator Copyright © Peter & Pauline Curtis
Fonts revised: 28th April, 2021