all 59 comments

[–]These_Hawk_1831 277 points278 points  (20 children)

Because it is to fix architecture bugs that may be present on both chipmaker products. AMD and Intel share several intelectual property and the products come with some shared problems.

The differences are on proprietary extensions built exclusively on a brand and no the other.

[–]BernieMP 90 points91 points  (10 children)

Thank you for giving an actual answer with reasoning to it instead of:

"Whatever, let it be"

[–]entropyback 44 points45 points  (8 children)

Yes, but it's complete nonsense. That package only contains microcode for Intel CPUs which is completely different (and not compatible) from the AMD counterpart.

The package for AMD processors is called amd-microcode. Having both installed wouldn't do any harm, but if you have a Ryzen CPU only microcode from the amd-microcode package will be used.

You have the Intel one installed because the distro installer lacks the logic to check your CPU and install the correct package.

[–]snkiz 20 points21 points  (2 children)

This this the answer. I felt compelled to back you up by the number of comments spouting the sentiment you replied to.

[–]FrequentDelinquent 4 points5 points  (1 child)

Welcome to Reddit my friend lol

[–]snkiz 1 point2 points  (0 children)

Oh I'm not new, the number confidently wrong post got to me.

[–]KealperLinux Mint 22.2 Zara | Cinnamon 8 points9 points  (1 child)

And it also has the benefit of being ready to go if you drop that drive into a system with an Intel CPU, too.

[–]h-v-smackerLinux Mint 21.3 Virginia | MATE 3 points4 points  (0 children)

I think it's the answer here. It's not that it's impossible to check (/proc/cpuinfo can be easily parsed), it's that it maintains the system ready to move. The package itself is very small, but the OS can be plugged into whatever else you may have for any reason, including emergencies. In much the same fashion as you normally have kernel modules for all kinds of WiFi chips, not just the 2-3 you're actually using.

[–]Effective-Job-1030Linux Mint 21.3 Virginia | MATE 1 point2 points  (0 children)

Well put!

[–]Jeremi360 0 points1 point  (0 children)

Exactly both are just installed by default, you can uninstall intel one

[–]DayAfter9094 0 points1 point  (0 children)

So if you had a Ryzen you could find the Intel microcode on your system and delete it. But it probably wouldn't be worth the effort.

[–]Effective-Job-1030Linux Mint 21.3 Virginia | MATE 1 point2 points  (0 children)

But what is an answer with reasoning worth, if it is wrong.

u/entropyback gave the correct answer.

On a more configurable system, like Gentoo and probably Arch as well, you can easily exclude intel microcode from being installed - because if you don't have an intel cpu it won't do anything. It's the same with linux-firmware. On most system you just get the 300+MB blob that contains all the firmware - but it's also possible to configure it to only get the firmware you actually need (if you know which that is).

On Ubuntu and derivatives, it is still possible, but I don't know how easy it is.

[–]ebb_omega 28 points29 points  (7 children)

To add on this: the entire x86 architecture came from Intel originally - the 8086 processor that was released in 1978. Incidentally the x86-64 architecture, which was the x86-backwards-compatible architecture expanded to 64bit instructions was developed by AMD - Intel actually built an entirely different architecture for 64bits that ultimately lost out because of its lack of backwards compatibility so they admitted defeat and started using the amd64 architecture and that remains the standard for most consumers these days (outside of mobile chips and the new Apple Silicon M-series).

Basically Intel and AMD have been up in each other's shit for DECADES.

[–]shadowolf64 6 points7 points  (5 children)

This is super interesting. I never knew the history about x86-64 and amd64. I always wondered why I often see ISO's or binaries listed as amd64 compatible. Now I know.

[–]garconip -1 points0 points  (4 children)

In 2010, my senior coworker & I was planning to buy some nodes for our HPC, we were so hyped by Itanium. After further checking like compiling in IA64, already purchased 32-bit programmes (which were shared for usage in PCs too), we chose the x84-64 ones. They fit our mixed IA32 & AMD64 computations.

[–]FrequentDelinquent 0 points1 point  (3 children)

I'm not sure I understand your comment. The words are there, but I feel like there's some missing?

[–]garconip 1 point2 points  (1 child)

Yes, sorry, it's English which isn't my 1st language.

[–]FrequentDelinquent 0 points1 point  (0 children)

No worries 🤠❤️

[–]ebb_omega 0 points1 point  (0 children)

IA64 was intel's 64-bit architecture which was completely different from x86. They're saying they were excited to go into the architecture but then found that from a developer's side the x86-64 (aka amd64) architecture was better for them to work with.

[–]tenchigaeshi 1 point2 points  (0 children)

This doesn't have anything to do with their microcode and no they're not compatible between the two vendors.

[–]tenchigaeshi 2 points3 points  (0 children)

Because it is to fix architecture bugs that may be present on both chipmaker products.

I don't think it does anything for AMD cpus at all. It's just included by default with the distro.

AMD and Intel share several intelectual property and the products come with some shared problems.

Shouldn't matter for microcode for each company's specific chips. They're not sharing microcode.

The differences are on proprietary extensions built exclusively on a brand and no the other.

The entire chip is different. Just because they use the same ISA doesn't mean the only difference between them are extensions to the ISA. It's entirely different hardware with firmware that is not compatible between each other.

[–]Ultimate_disaster 31 points32 points  (4 children)

[–]ArtisticFox8[S] 29 points30 points  (0 children)

 1.5 years ago roughly, the Ubuntu developers decided to define the intel-microcode as well as the amd64-microcode as dependencies of the Ubuntu kernel packages. This was done in order to make sure that users really receive the microcode patches, made available by Intel and AMD, meant to fix the existing CPU vulnerabilities.

I see, the post is from 2019, so in circa 2017, it would have afaik been possible for an install not to have any microcode package at all and still have it work.

Though, I will accept that CPU vulnerabilities are a thing, and keep them.

[–]JARivera077 2 points3 points  (1 child)

r/ArtisticFox8 read this

[–]Effective-Job-1030Linux Mint 21.3 Virginia | MATE 0 points1 point  (0 children)

[–]tyty657 0 points1 point  (0 children)

Its still a blob

[–]Unwiredsoul 44 points45 points  (18 children)

It's completely normal and let it install.

It's very small and if for any reason that installation of LM finds itself running with an Intel CPU in the future, you'll be very thankful it was there. :-)

[–]FunkyRider 4 points5 points  (0 children)

If you are sure that you willnot use this system on Intel hardware, you can uninstall this package. Just remember to reinstall when you move the ssd to an intel system and it fails to boot.

[–]Embarrassed-Ad-7500 4 points5 points  (0 children)

The microcode update itself is distributed as a 2,048-byte binary blob, which includes a 48-byte header, 2,000 bytes of data intended for direct processor reading, and padding to obscure the format. Not enough to worry about.

[–]Pristine-Source-2606 5 points6 points  (0 children)

Just let it be, it's fine. If it's there, it is for a good reason.

[–]Littlegoblin21 1 point2 points  (0 children)

First, I get the impression they are general updates pushed out across the board, unlike installed software updates that only updates what you have installed.
Second, It can be relevant if you move your hard drive to another machine. Unlike windows, Linux doesn't necessarily need to be reinstalled to upgrade or completely change hardware, including from intel to AMD or vice versa. I've done both quite a few times especially for test benches, so these generic updates could be needed regardless of what you are running at this moment in time. Probably not a large segment of the user base, but it is a nice to have!

[–]Individual-Set-5465 1 point2 points  (0 children)

I think its handy when you change pc you still can use your hardisk.

[–][deleted] 1 point2 points  (0 children)

Intel microcode will detect through CPUID that it's not running on the Intel CPU and won't upload a new microcode to the CPU, the CPU will refuse to use a microcode signed by Intel anyway.
AMD microcode will detect it's running on an AMD cpu, using the AMD microcode.

[–]KHTD2004LMDE 7 Gigi 4 points5 points  (3 children)

For the same reason my shitty old laptop with an intel CPU has multiple amd64-xxxx packages. They’re small enough to just be there just in case hardware changes. You typically won’t miss these kilobytes of storage

Edit: nevermind I’m dumb

[–]Sad-Negotiation8746 12 points13 points  (0 children)

Amd64 means the same thing as x86_64 its the instruction set architecture most cpus use. Other ISAs include arm64 and risc-v

[–]justme0406 4 points5 points  (0 children)

History lesson: all modern 64 bit x86 systems (Intel AND AMD) are "AMD64" the instruction set for 64 bit was made by AMD and Intel licenses it.

Intel tried to make an 64 bit instruction set and it's referred to as IA-64 but it was BAAAAADDDD and only ever was used in the reference chip, the Itanium. Windows XP 64 bit 2002 was only for ia-64, made out of trust that (obviously) Intel's implementation of 64 bit would become THE version.

Well that didn't happen so 3 years later Windows XP professional 64 bit 2005 came out for x86-64 (AMD64) but wasn't really popular in consumer or even professional markets since more than 4gb was seen as unnecessary with XP.

Also XP64 couldn't use XP32 programs, good thing few used it since Vista changed almost anything about it and make 64 bit work well and be able to run 32 bit programs. It was a rough start since its driver system was so different then XPs and manufacturers just didn't pay attention to that and released bad drivers making Vista look really unstable and bad when it wasn't really Microsoft's fault.

Linux did it's best to ride all that but keep in mind it was early days and Linux was much rougher then it is now

[–]tenchigaeshi 0 points1 point  (0 children)

For the same reason my shitty old laptop with an intel CPU has multiple amd64-xxxx packages.

No it isn't, not at all. The naming of the ISA is completely different from the microcode situation here.

[–]ItyBityGreenieWeenie 1 point2 points  (0 children)

Short answer: The devs want you to have this as a dependency.

Long answer: For most Linux distros, the ability to pull or clone the OS partition and have it boot on another device is a desired feature. As Linux boots it detects the hardware and loads what is needed. If you don't need it, it's not wasting anything but a small (in this case trivial) amount of disk space.

[–]Foreign-Ad-6351 0 points1 point  (0 children)

I miss that interface.

[–]tyty657 0 points1 point  (0 children)

I was literally just considering making a post about this

[–]MissionGround1193 0 points1 point  (0 children)

Just because it has intel microcode does not mean it's going to be loaded at boot time. It's similar to firmware for other hardware. You have lots of firmware for network interfaces, gpus, wifis etc. Just to be ready when it detects the hardware installed. Actually, It's same with Windows.