The Debian mailing list has a post relevant to some Skylake and Kaby Lake users: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

Users are to run

grep name /proc/cpuinfo | sort -u

to obtain their processor details and then to check http://ark.intel.com/products/codename/37572/Skylake or http://ark.intel.com/products/codename/82879/Kaby-Lake as appropriate.

If their processor is listed, they should next run

grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && \
echo "Hyper-threading is supported"

According to a follow-up post, the above command which I've struck through is not reliable and users need to run lscpu and check if

the lscpu output reports: "Thread(s) per core: 2", that means hyper-threading is enabled and supported.

If hyper-threading is supported, advice is provided for both Skylake and Kaby Lake.

I have an affected Skylake processor on 16.04 which can be fixed because

grep -E 'model|stepping' /proc/cpuinfo | sort -u


model       : 78
model name  : Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz
stepping    : 3

For such processors the fix suggested is to install

the non-free "intel-microcode" package with base version 3.20170511.1, and reboot the system. THIS IS THE RECOMMENDED SOLUTION FOR THESE SYSTEMS, AS IT FIXES OTHER PROCESSOR ISSUES AS WELL.

But the 16.04 repo shows me an older version:

apt policy intel-microcode
Installed: (none)
Candidate: 3.20151106.1
Version table:
3.20151106.1 500
500 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages

Is it possible to get the recommended version and, if it is possible, how can I do so?

Edit: I found https://launchpad.net/ubuntu/xenial/+package/intel-microcode but they all seem to be older versions.

Second edit: https://launchpad.net/ubuntu/+source/intel-microcode has the relevant update but it is for Artful Aadvark.

  • The intel-microcode AND a BIOS update are required to fix this problem. Check your computer's manufacturer's web site for BIOS updates.
    – heynnema
    Jun 26, 2017 at 14:39
  • Unfortunately, a discussion with Acer support suggests that they will soon release BIOS updates but none of them will be usable for linux because they will all be Windows executables. So for some of us BIOS updates are out of the question. Jun 27, 2017 at 17:27
  • So use command: lscpu | grep -e Model -e Step -e ^CPU\(s\) -e Thread
    – david6
    Jun 28, 2017 at 7:59
  • 1
    Fix has been committed to the proposed channel in Ubuntu 17.04; see bugs.launchpad.net/ubuntu/xenial/+source/intel-microcode/+bug/….
    – edwinksl
    Jun 28, 2017 at 14:06
  • 1
    As you can see here: launchpad.net/ubuntu/+source/intel-microcode/… there is a build for xenial-proposed, which you can install with wget "https://launchpad.net/ubuntu/+source/intel-microcode/3.20170707.1~ubuntu16.04.0/+build/13159263/+files/intel-microcode_3.20170707.1~ubuntu16.04.0_amd64.deb" and dpkg -i intel-microcode_3.20170707.1~ubuntu16.04.0_amd64.deb.
    – fxtentacle
    Jul 31, 2017 at 15:49

3 Answers 3


Install the latest official package manually. i.e. for 64-bit OS:

wget http://ftp.us.debian.org/debian/pool/non-free/i/intel-microcode/intel-microcode_3.20170511.1~bpo8+1_amd64.deb
sudo dpkg -i intel-microcode_3.20170511.1~bpo8+1_amd64.deb

Reboot the machine, and you're set. ALSO, you need to install the latest BIOS update from your machine. Consult with your computer's manufacturer for the latest official BIOS update.

  • 2
    How is BIOS related? New BIOS may have the new microcode. In that case you don't need the deb.
    – Pilot6
    Jun 26, 2017 at 17:31
  • @Pilot6 Not 100% sure. Just going by what I found in the only post so far (another site) that had concrete instructions on resolving this.
    – Cloud
    Jun 26, 2017 at 19:38
  • I would recommend not doing this. See wiki.debian.org/DontBreakDebian#Don.27t_make_a_FrankenDebian
    – Kal
    Jul 8, 2017 at 7:25

You can install the package that is for artful.

This package contains binary firmware. It is release independent.

  • 2
    "It is release independent." That's not entirely true according to some people in the Freenode #ubuntu channel. The reason that some Ubuntu releases lag behind with the intel-microcode package is because newer versions of intel-microcode require appropriate kernel support. This is why you see Trusty still has an old intel-microcode package even though Trusty is a LTS release and it's supposed to be still supported.
    – Kal
    Jul 8, 2017 at 7:22

You can install the bios update using windows pe.

Windows setup media contains windows pe. The cmd shell can be brought up by pressing shift + f10 to access the bios executable updater.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .