Global Communications and Computing
The Chillblast Helios Ultrabook
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. 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 setting up of my Chillblast Helios Ultrabook with Linux Mint. 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 has 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). Both Mint 17.3 and the latest Ubuntu 15.10 Wily have full support for the Skylake architecture and both run 'out of the box' althougha 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.
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 has a major bug in a feature potentially used by Linux. This feature is Blacklisted in the latest kernels used by Mint 17.3 and higher and Ubuntu Wily and higher. 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 works "Out of the Box". These problems applied to most Skylake architecture machine under Linux and were not unique to the Helios.
We spend quite a bit of time away from home and currently Pete has a Chilblast Defiant 13.3 Laptop and Pauline uses 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 is hover nw 8 years old and has 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 is 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.
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 top large space is for a 2.5 inch SATA drive and the lower 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.
Warning: There is a problem with Samsung SSDs if used with the Ubuntu LTS version 14.04 Trusty and following versions. 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 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.which was itself based on the
So before we do anything about installing we need to:
We will now look at those activities in more detail:
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 ingetting a good setup than I had realised. II 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.
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.
Download the latest 64 bit Mint (17.3 x64 at present) and maybe Ubuntu (15.10 has a newer Kernel (4.2.0-16) ) and put on USB Sticks in advance. This is best done using UNetBootIn which can also be run under Windows and one should configure the LiveUSB to have persistence.
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 and set up the Wifi.
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."
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
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:
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:
The screen dump above is from my actual set up Mint and Ubuntu had been installed so the mount points show.
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
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 the 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.
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.
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:
gkgksudo gedit /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
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.preliminary_hw_support=1"
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:
to save the changes into the file actually used during booting - I keep forgetting.
Firstly we will look at the two changes required because we are using a SSD
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 hard drive swap space is also used for Hibernating the machine if that feature is implemented
It is normally 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 Ubuntu 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
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:
gkgksudo gedit /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:
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 t 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:
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.
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 does not and I prefer to change it. 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.
It is now time for a bit of philosophy about system design. There are a few principles that I try to adhere to namely:
The Partitioning described above covers points 1-5
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.
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:
# 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.
chown pcurtis:adm -R /media/DATA
chmod 770 -R /media/DATA
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:
# 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
# By default this script does nothing.
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
The proceedure above does not work on a FAT32 or NTFS (Windows) file system without full ownership and permissions
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.
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 as has permissions to modify it as one switches users. 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
gksudo gedit /etc/udev/rules.d/99-udisks2.rules
and cut and paste into the file
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
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
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]
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
A certain amount of configuration is required to play videos at their best.
Videos: This is the pre-installed player in Mint and is actually the Totem player. This 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.
I have not used Steam but the same anonymous user, 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.
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
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
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/
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:
This needs to be installed via a PPA so first install Y_PPA manager as above.
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.
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 fot Bluetooth.
Checked and OK
Checked with several devices and OK
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
Both work under Ubuntu and Mint 17.3
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|
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
|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
Intel: 192 fps
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.
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.
I thought I would check that the normal speed control and turbo were working
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.
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.
There are also some quirks with several SSDs when using Linux, one of which is a particular show stopper as it is with the Samsung 850 Evo favoured by Chillblast and fitted in the Helios. There is a work-around in later kernels which has been backported to the Kernels which Ubuntu updates to but not the kernel recommended by Mint. See https://bugs.launchpad.net/ubuntu/+source/strum+bug/1449005 and https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1338706. The kernel in use must newer than 3.13.0-57.95, 3.16.0-43.58 or 3.19.0-22.22. Kernels older than 3.12 and latter than 4.0.5 are all fixed.
In summary you will lose data with the recommended configurations of Mint 17.0, 17.1 and 17.2 if you have a current Samsung 8xx series SSD (or older models if you update the firmware) and you have TRIM enabled which is also the default for Mint and Ubuntu.
The problem occurs because the latest SATA specification includes a version of TRIM which queues requests. This has been implemented in kernel 3.12 but the Samsung SSDs have an error such that they report it is available whilst it actually does not work and destroys data. Older drives have updated firmware which then produces the fault as well. The fix in the kernel blacklists all calls to queued TRIM for all Samsung 8xx (including Evo and Pro) SSDs.
The kernel in Mint 17.3 is OK but Mint 17.2 or lower must not be used without a kernel update. Ubuntu Trusty (the LTS version) will update automatically but there is still a window for problems. Ubuntu 15.10 Wily is OK without any updates.
I initially downloaded the .iso of Mint 17.2 and Ubuntu 15.10, both 64 Bit versions and used UNetBootIn under Linux to create a LiveUSBs with Persistence. UNetBootIn can be run under Windows and Linux to create the LiveUSBs to boot the live system and the installers. To cut a long story short I ran into a lot of problems with the LiveUSB tests which can be summed up by the parable in Luke 5:36-39
Then He spoke a parable to them: “No one puts a piece from a new garment on an old one; otherwise the new makes a tear, and also the piece that was taken out of the new does not match the old. And no one puts new wine into old wineskins; or else the new wine will burst the wineskins and be spilled, and the wineskins will be ruined. But new wine must be put into new wineskins, and both are preserved. And no one, having drunk old wine, immediately desires new; for he says, ‘The old is better.'”
My new Helios 2 came with the latest Skylake chipset with an i5 6200U processor which is cutting edge technology and definitely counts as New Wine whilst the Mint philosophy is very much to take a conservative attitude and "if it aint broke don't fix it" approach provides an Old Wineskin. My hope had been that I would be able to get away with Mint 17.2 or the upcoming 17.3 with, at most, an update to the kernel but that was not to be.
So what happened with my Live USB trials of Ubuntu 15.10 and Mint 17.2 (based on Ubuntu 14.04). Basically Ubuntu 15.10 Wily worked out of the box but Mint 17.2 would only run in a software rendering mode without Graphics Acceleration which enable me to check a lot of things but was totally useless for anything more. I spent (that means wasted) a lot of time trying to find out where the problem was and learnt a lot [ Click to Expand and see the whole sad story ]
Then the Mint 17.3 beta became available and it worked out of box so the activities above were put aside. I never really got to the bottom of lack of Graphics acceleration and I am now fairly sure it was not connecte to the firmware load. If I returned to sorting this I would start looking at Xorg and probably load the latest versions of drivers, xorg etc from the xorg-edgers ppa at: https://launchpad.net/~xorg-edgers/+archive/ubuntu/ppa
There seems to be a bug which can cause excess power consumption after a suspend whilst on battery. It only occurs under particular circumstances and the bug manifests itself as one thread of the 4 running a kworker process ( an internal kernel process) full time. I have only seen it whilst running the Cinnamon Desktop. I may have seen it once using Ubuntu Unity under unusual conditions but it was not reproducible however I have to say I rarely run Unity other than for testing. The conditions where it occurs under Mint 17.3 are:
In other words everything seems to point to the USB 2 system. It looks to me as if the code which monitors for changes is spinning (the in term for a what was called an endless loop in my day) when there is no device attached after a suspend. A fixes may come from https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1488426 or https://www.spinics.net/lists/linux-usb/msg133143.html
I also have an ongoing 'discussion' in a Mint Forum about this problem
I have the Multi-Core System Monitor applet installed so I can keep an eye on what is going on.
It has not occurred for me with a USB device plugged in so as a temporary workround I put a nano USB memory stick or a wireless mouse in place whenever my wife has the machine. This is preferable to using the Ubuntu Unity desktop which I dislike. If I am using the machine myself I often just click Bluetooth on and off to clear it.
I think this is still a serious problem despite having a work around as it could return at any time after an update or even be tripped by some combination of hardware and software. I also expect it to affect other machines, in particular those using a Skylake Processor.
I have tried the kernel mentioned in https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1488426 post #4 on my trial system. Whilst it does not solve the problem but it certainly changes it for the better namely:
Most of the rather bizarre behaviour has gone include the changes with power from battery to external and the importance of suspending. Once kworker spinning has started it can now be predictably stopped l by:
Note running the web cam does not change what is shown by lsusb -t, everything else which stops spinning shows as a new device being connected in dmesg and appears in lsusb.
Although the kernel in #4 does not completely solve the problem it is obviously addresses the correct area and in my case makes the machine usable without having anything plugged into a usb port, keeping bluetooth on is sufficient. When and if this patch will become available is not clear but it is a sign of progress.
Found http://linux-kernel.2935.n7.nabble.com/TESTPATCH-v2-xhci-fix-usb2-resume-timing-and-races-tc1250796.html#none by search on names in earlier posts. This looks as if it is addressing and has solved the problem that I have but the only way to check is by patching a kernel which is currently outside my skill set.
I managed to patch a 4.2 ubuntu wily kernel with the patch in http://linux-kernel.2935.n7.nabble.com/TESTPATCH-v2-xhci-fix-usb2-resume-timing-and-races-tc1250796.html#none and build it. It seems to have completely cured the problem and it is now a matter of waiting for the patch to be finished and submitted. I have written up more on the proceedures I used for patching as Using Git in Software Development - Patching Ubuntu Kernels and Building Cinnamon. This solved the problem when I modified a 3.19.0-49 kernel it checked out fine on our machine.
NOTE: The patch has been backported and applied from kernel 4.2.0-28.33 at the start of 2016 - there are many more recent 4.2.0 and 4.4.0 kernels now available for Mint 17.3. Mint 18 has a 4.4.0 and should not show the problem.
Re-install for Mint 18.1 did not need any patch. Kernel 4.4.0-21 OK out of the box
This is a problem which has been fixed on some but not all kernels. Mint 17.3 uses a kernel (3.19.0-32-generic) which with the its latest version of linux-firmware loaded does not have problems but an upgrade to 4.2.0 brings the problem back (even with the matching linux-firmware) so I have put this in as it is still a potential problem which may raise its head again. It is easy to spot by doing dmesg | grep -i firmware as below:
~$ uname -r
~$ dmesg | grep -i firmware
[ 0.165981] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[ 3.123551] psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x361f00)
[ 3.821562] iwlwifi 0000:01:00.0: loaded firmware version 126.96.36.199 op_mode iwlmvm
The uname was just to confirm which kernel was working. The ACPI error is not relevant or a real problem problem and you can see other firmware being loaded for the wifi
If the firmware fails to load you see will the following with lots more errors following and the overall length of dmesg will have increased 3 fold.
~$ dmesg | grep -i firmware
[ 0.190866] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[ 1.838316] i915 0000:00:02.0: Direct firmware load for i915/skl_dmc_ver1.bin failed with error -2
[ 1.838351] [drm:i915_firmware_load_error_print [i915]] *ERROR* failed to load firmware i915/skl_dmc_ver1.bin (0)
You can confirm the firmware was available to load like this:
~$ ls /lib/firmware/i915/
bxt_dmc_ver1_04.bin skl_dmc_ver1_23.bin skl_guc_ver1_1059.bin
bxt_dmc_ver1.bin skl_dmc_ver1.bin skl_guc_ver1.bin
This is problem which seems to be understood and fixed upstream but has not been backported or fixed in all kernels. See https://bugs.launchpad.net/linux/+bug/1496163 so does not concern me greatly.
Skylake being considered to have "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 in the kernel by default until it's stabilized. To activate the support one has to set a flag for the kernel by adding i915.preliminary_hw_support=1 to a line in /etc/default/grub as shown above as one of the Grub Modifications. 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.
I will therefore leave this in place as a quirk until the Intel Support is finalised and it is backported into the kernels we are using or I am convinced it has no effect.
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.
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
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
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.
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
|Copyright © Peter and Pauline Curtis
Content revised: 24th August, 2018