I just installed Linux Mint 18 with KDE. While configuring the correct driver for wifi I came across the option to enable the "Processor microcode firmware for Intel CPUs". Right now the device (which is described as unknown) is marked as "Do not use".

Should I enable this option? If I understood correctly microcode is supposed to enable detailed changes in the CPU, which I don't intend to do. On the other hand I read it can help better the performance from the CPU. What would you recommend?



From the package’s documentation:

Intel® 64 and IA-32 processors (x86_64 and i686 processors) are capable of field-upgrading their control program (microcode) as well as parameters for other on-chip subsystems (power management, interconnects, etc). These microcode updates correct processor errata, and are important for safe, stable and correct system operation.

While most of the microcode updates fix problems that happen extremely rarely, they also fix high-profile, high-hitting issues. There are enough microcode updates fixing processor errata that would cause system lockup, memory corruption, or unpredictable system behavior, to warrant taking firmware updates and microcode updates seriously.

So yes, you should enable this option. It won’t improve your CPU’s performance, but it will fix bugs (including disabling TSX on Haswell and Broadwell CPUs, where it can cause lockups) and it might enable new features (such as Software Guard Extensions on some Skylake CPUs).

Note also the caveats listed in the same documentation, in particular

Please keep your UEFI/BIOS up-to-date. Assuming your motherboard vendor does a good job of updating system firmware components, an up-to-date version of the firmware will negate most of the caveats listed here.

This is particularly true for recent CPUs, starting with Haswell. Nowadays keeping your UEFI/BIOS up-to-date is a good idea for security reasons too.

It’s also worth keeping a copy of the recovery procedure given in the documentation, in case a microcode update causes issues when booting your system.

|improve this answer|||||
  • I still think the order in which you explain this is not right. The package documentation seems to slightly touch on it whereas the Debian Wiki makes a clear recommendation on how to update the microcode. – pdvries Oct 13 '17 at 16:30
  • 1
    I think the package documentation is actually much more detailed than the wiki — it actually explains what the issues are... Regarding the order, I’m answering the stated question, and adding that it’s important to keep the firmware updated; writing it the other way feels odd to me. Furthermore, while in some cases updating the firmware will be enough, and intel-microcode won’t be necessary, in the vast majority of cases there will still be relevant microcode updates from the package itself. – Stephen Kitt Oct 13 '17 at 16:48
  • 1
    (a) this isn’t the Debian wiki, (b) how I feel about my answer is up to me, (c) updating the firmware negates most of the caveats, not the general usefulness of the intel-microcode package (read also the last paragraph of the first section on the wiki). You do realise that if the package maintainer really felt that the package shouldn’t be used, he’d have it removed, right? The CPU manufacturers provide these updates to operating system providers, you can bet there are good reasons for them to do so. – Stephen Kitt Oct 13 '17 at 20:25
  • 1
    @StephenKitt I have one server, that I particularly care for. I only want to make sure this also applies to Xeon CPUs running Debian 9? – LinuxSecurityFreak Oct 30 '17 at 13:22
  • 1
    @Vlastimil yes, it applies to any Intel CPU running any Debian release or derivative (and to AMD CPUs, using the amd64-microcode package instead). – Stephen Kitt Oct 30 '17 at 13:26

You should enable the Processor microcode firmware for Intel CPUs to improve the functioning of the CPU

CPU Microcode

Processors from Intel and AMD may need updates to their microcode to operate correctly. These updates fix bugs/errata that can cause anything from incorrect processing, to code and data corruption, and system lockups

|improve this answer|||||

I would recommend enabling this option as has also been suggested by @Stephen Kitt. When reading the package documentation and the Debian Wiki there seems to be slight difference on emphasis when it comes to updating the microcode updates. From what I've come to understand is that the chances of any "misbehavior" are really low and that this is the reason as to why the package documentation isn't overly emphasized.

It should be noted though that updating your firmware (UEFI/BIOS) should be taken into consideration when updating microcode updates as to minimize the possibility of any caveats:

Please keep your UEFI/BIOS up-to-date. Assuming your motherboard vendor does a good job of updating system firmware components, an up-to-date version of the firmware will negate most of the caveats listed here.

|improve this answer|||||

Using the microcode doesn't help a lot with my Pentium 4 CPU. It's very old, and the microcode contributes to an issue where the whole computer locks up at random points. Turning off the microcode lessens this issue. It won't go away until I get a new computer, but it's at least not as often.

|improve this answer|||||
  • How does this answer the question? – Pierre.Vriens Nov 16 '17 at 19:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.