VOGONS


Linux kernal going to drop i486 support

Topic actions

First post, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi, just saw the news and thought I should let you know.
I hope that's okay, I don’t mean to spam Milliways with unnecessary news.
But since this is about vintage computing, I thought it would fit in.

https://www.heise.de/en/news/Linux-developers … s-10363824.html

https://www.tomshardware.com/pc-components/cp … rnel-developers

Best regards,
Jo22

PS: I forgot to mention, this change also affects pseudo-586 processors that aren’t fully Pentium compatible.
So it's not just about dropping off support for the '89 processor.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 1 of 46, by Grzyb

User metadata
Rank l33t
Rank
l33t

So, it's still possible to compile the current kernel for i486...
but are there any distros that actually use current kernels compiled for i486 ?

I don't think there's any value in keeping a modern OS - theoretically! - compatible with 30 years old hardware...

Kiełbasa smakuje najlepiej, gdy przysmażysz ją laserem!

Reply 2 of 46, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hm, good question. Not sure, to be honest.
I for one see no real value for Linux to begin with.

Except that it used to be the piece of software that runs on fast, but outdated hardware.

Were I live, it was jokingly said that it needs "good" hardware, the so-called Sperrmuell hardware ("bulky waste" hardware).

PCs from the dumpster in short. Old pre-USB and pre-Plug&Play hardware.
Then-modern hardware such as Win-Modems and GDI printers didn't really work, after all.

Back in the 90s, Linux was all about having a compatible OS that runs through sheer brute- force.
At least that's how we DOS, OS/2 and Windows users had thought about it.

Graphics cards on Linux usually ran in either SuperVGA or VBE mode, unacellerated.
So raw CPU power was needed just to move a mouse.
X11 didn't support a hardware mouse cursor, did it? 🤔

In early 2000s, Zeta (failed BeOS spin-off) was more appealing to me than Linux.
It ran on dumpster hardware too, but had good multimedia support - unlike Linux.

Edit: What I mean to say is: To me, Linux always had been the *nix wannabe for niche hardware, for CPU-heavy hardware with otherwise little smartness.
Obscure PC architectures such as Alpha, MIPS or some embedded processor.
That's why the end for 486 support feels a bit unreal, I think.

Support for 486 class processor actually makes still kind of sense,
because the technology can be mastered in less technological advanced countries.
Which might be important if we want to eventually free ourselvs from dependance of big nations.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 3 of 46, by the3dfxdude

User metadata
Rank Oldbie
Rank
Oldbie

Yes, some people have been running current kernels on 486/586 CPU. They aren't running the large desktop environments, or mainstream distros, that's for sure. The large desktop environments really require more memory that those systems can provide. So people using such CPU will be custom rolled linux now.

To be clear on the news, I see no actual evidence that true pentium support is being dropped. They are only dropping the 486 and 486-derivative (sometimes called 586 -- looking at you AMD), which aren't true pentium. These lack the instructions that they want to make a minimum requirement for 32-bit x86. The articles are not clear about this, when it refers to pentium and 586 at the same time.

I'm not sure what anyone cares for really for up to date linux on such old machines. For hobby use, they can use old linux, which may run much better. Yes... there, and always has been available(?) accelerated X Servers for linux. The framebuffer/VESA modes were really the lazy approach, and then in the most recent days, what people were using because modern X / mainstream distros dropped the original accelerated X servers for the old video chips.

Reply 4 of 46, by leileilol

User metadata
Rank l33t++
Rank
l33t++

Dunno if that'll affect Debian, which still has a i386 version (at latest since bookworm 11 years after linux announced dropping i386).

apsosig.png
long live PCem

Reply 5 of 46, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
the3dfxdude wrote on 2025-04-28, 23:35:

Yes, some people have been running current kernels on 486/586 CPU. They aren't running the large desktop environments, or mainstream distros, that's for sure. The large desktop environments really require more memory that those systems can provide. So people using such CPU will be custom rolled linux now.

To be clear on the news, I see no actual evidence that true pentium support is being dropped. They are only dropping the 486 and 486-derivative (sometimes called 586 -- looking at you AMD), which aren't true pentium. These lack the instructions that they want to make a minimum requirement for 32-bit x86. The articles are not clear about this, when it refers to pentium and 586 at the same time.

I'm not sure what anyone cares for really for up to date linux on such old machines. For hobby use, they can use old linux, which may run much better. Yes... there, and always has been available(?) accelerated X Servers for linux. The framebuffer/VESA modes were really the lazy approach, and then in the most recent days, what people were using because modern X / mainstream distros dropped the original accelerated X servers for the old video chips.

If Wikipedia is to be believed, the first generation Cyrix 6x86 fits a Socket 7 (and might therefore be considered Pentium-class) but only implements the 486 instruction set and advertises itself as a 486, so it might be such a processor.

Xorg has not supported ISA/VLB video cards in many years, even in VESA mode.

leileilol wrote on 2025-04-29, 00:07:

Dunno if that'll affect Debian, which still has a i386 version (at latest since bookworm 11 years after linux announced dropping i386).

The i386 name is a misnomer; Debian has required a "686" class processor (i.e. Pentium Pro or higher) since version 9. 486 support was dropped "somewhat accidentally" in version 6, and no one noticed until after it was already released.

Reply 6 of 46, by Jo22

User metadata
Rank l33t++
Rank
l33t++
the3dfxdude wrote on 2025-04-28, 23:35:
To be clear on the news, I see no actual evidence that true pentium support is being dropped. They are only dropping the 486 and […]
Show full quote

To be clear on the news, I see no actual evidence that true pentium support is being dropped.
They are only dropping the 486 and 486-derivative (sometimes called 586 -- looking at you AMD), which aren't true pentium.
These lack the instructions that they want to make a minimum requirement for 32-bit x86.
The articles are not clear about this, when it refers to pentium and 586 at the same time.

I think same.

The original Intel Pentium (Socket 7) is probably new enough to still to be supported, I guess.
- For now, at least.

Personally, I wouldn't be surprised if it has same fate in 2028,
when another developer comes up with the brilliant idea of dropping another CPU generation.

In 2030 so, anything before Pentium II or III might be dropped, who knows.

the3dfxdude wrote on 2025-04-28, 23:35:
I'm not sure what anyone cares for really for up to date linux on such old machines. For hobby use, they can use old linux, whic […]
Show full quote

I'm not sure what anyone cares for really for up to date linux on such old machines.
For hobby use, they can use old linux, which may run much better.
Yes... there, and always has been available(?) accelerated X Servers for linux.
The framebuffer/VESA modes were really the lazy approach, and then in the most recent days,
what people were using because modern X / mainstream distros dropped the original accelerated X servers for the old video chips.

Well, I certainly wouldn't want to use Limux on my precious vintage PCs. 😉
I rather would use QNX, Minix or a flavor of BSD.

On other hand, 486 processors user to be popular in 90s routers and network switches.
Being somewhat network-oriented, loosing Linux OS as an up-to-date drop-in replacement could be bad.
Because it's a cheap set of drivers that date back very far.
I mean, some Linux applications literally talk to each other via TCP/IP ports..

And that's what I meant to say in the first reply. Linux has a lot of "vintage" drivers from the 90s.
Back then, the "good" (obsolete) hardware was more or less server hardware.
SCSI controllers, unaccelerated VGA cards, PS/2, bus and serial mice.

Industry standard hardware, so to say. 386/486 motherboards with plain ISA bus (and VLB maybe).
Qemu/Bochs has a machine (ISA PC) type for just that.

On such 486 motherboards, the pseudo-586 processors were common.
Those lacking CMPXCHG8B instructions, maybe.

That makes me think.

The 486 platform used to be special, because it had the most clone processors made by different manufacturers.

Previously, merely the 8086/80286 were second-sourced the most, I think.
That's why the 286 PCs were so widely common in late 80s, rather than the 386 ones.
The 386 was only available from intel, while the 286 was freely available en masse.

The 386 was great, no question, but merely had the sisters 486DLC and the Super 386.
And AMD's 386 clone (static CMOS core version). All in the 90s, I think.

In that hindsight, the 486 was as much cloned in the 90s as the Z80 in the 80s, maybe.
About every manufacturer came up with a 486 core. So much diversity!

In the future, such older 486/586 designs could still be relevant for sake of independence, maybe.
As some sort of blue print for newer designs made in smaller fabrication process.
Which might allow manufacturing in smaller countries, too, not just among the big players in industry.

So they might be not useful for gaming PCs, but for automation and embedded use.
ARM is an modern alternative for sure but is also being heavily being protected, I suppose.
Making unlicensed clones of it could cause trouble. RISC V may or may not play a role eventually.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 7 of 46, by SquallStrife

User metadata
Rank l33t
Rank
l33t
Jo22 wrote on 2025-04-29, 01:37:

Personally, I wouldn't be surprised if it has same fate in 2028,
when another developer comes up with the brilliant idea of dropping another CPU generation.

You're framing it like the decision was "let's stop supporting something because fuck those guys".

There is code in the kernel that exists to emulate certain features on CPUs that do not support them. This code needs to be audited, validated, and maintained. This incurs a cost (not necessarily a financial cost).

Removing the emulation of CMPXCHG8B gets rid of approximately 15,000 lines of code:

This series increases minimum kernel support features to include TSC and CX8 (CMPXCHG8B) hardware support, which removes 486 (an […]
Show full quote

This series increases minimum kernel support features to include TSC and CX8 (CMPXCHG8B) hardware support, which removes 486 (and derivatives) support and early-586 (and derivatives) support.

Doing this allows the removal of a fair amount of code:

80 files changed, 38 insertions(+), 14104 deletions(-)

Much of which is the math-emu/ library - but even without math-emu, the simplification is substantial:

33 files changed, 38 insertions(+), 1081 deletions(-)"

Nobody /wants/ to break backward compatibility, but sometimes you just have to.

VogonsDrivers.com | Link | News Thread

Reply 8 of 46, by Jo22

User metadata
Rank l33t++
Rank
l33t++

You're framing it like the decision was "let's stop supporting something because fuck those guys".

Isn't it the case, though? 🤷‍♂️

Every irrelevant piece of niche system gets Linux support nowadays,
but out of all possibilities, the very foundation of the x86 architecture gets dropped.

I wonder if it wouldn't be possible to keep supporting the basic 386/486 processor support and drop support for Pentium, Pentium Pro and Pentium II/III/IV instead.
That would reduce even more lines of code.
People who have those PCs could then use the plain i386 version instead.

Okay, it's a naive idea likely. 😟
Linux probably doesn't work in such a clean or logical fashion, but perhaps needs workarounds for each processor generation.
Things like reserved opcodes might be used for i386/i486 that nolonger work on Pentium etc. Not sure. 🤷‍♂️

SquallStrife wrote on 2025-04-29, 01:58:

Removing the emulation of CMPXCHG8B [..]

Right. Though It's also removing support for CPUs without built-in x87 FPU, I think.
Such as 486SX, 486DLC, NexGen Nx586 etc.
Considering that even Windows 3.x has an FPU emulator makes this look a bit surreal.

Btw, Microsoft did same with CMPXCHG16B in early 2010s with Windows 8.1 64-Bit, as far as I remember.
It bricked upgraded Windows 8 installations on quite some AMD Athlon 64 PCs at the time.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 9 of 46, by the3dfxdude

User metadata
Rank Oldbie
Rank
Oldbie
jakethompson1 wrote on 2025-04-29, 01:00:

If Wikipedia is to be believed, the first generation Cyrix 6x86 fits a Socket 7 (and might therefore be considered Pentium-class) but only implements the 486 instruction set and advertises itself as a 486, so it might be such a processor.

Probably. I'm not going to look it up, but the Cyrix 6x86 had compatibility issues for pentium level stuff back in the day, for being an indirect clone of the 486 of their own make. So I think that applies to the first 6x86 version, and the M2 corrected some of it. Cyrix could never really fully catch up, sadly. So despite trying to move to a pentium like chip, they relied on their 486 roots. A contemporary pentium to the competitor 6x86 may in the long run have been a better performer over the Cyrix to this day in modern linux anyway.

jakethompson1 wrote on 2025-04-29, 01:00:

Xorg has not supported ISA/VLB video cards in many years, even in VESA mode.

Xorg doesn't do much in their "drivers" anymore, and really leaves most of it to the kernel now.

This is why some of that stuff is no longer accelerated, since there weren't accelerated kernel drivers in the current driver architecture written for such old stuff, if it even really works at all. I know people have tested old cards, and it is hit or miss now on basic framebuffer support. And 486 level stuff has hardly been touched.

While I think modern linux is great for old machines, I'm not sure if anyone cares about late 90s machines on modern linux, and those are going to be next. And with basic hardware support gone, you will have to go with old linux. But maybe it is for the better, because things were being broken long ago. Maybe in time people will start using old linux for old PCs more than to pretend linux is still for everything. Kind of sad because it used to be true. But not anymore. Bleeding edge Linux is deprecating things more and more like other OS.

Reply 10 of 46, by the3dfxdude

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2025-04-29, 02:42:

Right. Though It's also removing support for CPUs without built-in x87 FPU, I think.
Such as 486SX, 486DLC, NexGen Nx586 etc.
Considering that even Windows 3.x has an FPU emulator makes this look a bit surreal.

Right, I'd agree on surreal on Linux's x86 roots only to a point. There are other architectures that have FPU emulation. But what the problem here is the FPU emulation on x86 is a bit nasty to maintain. This is why it is going to have to get axed because it's now a burden with no benefit. Other platforms don't have the same support issues.

I bet you Windows today doesn't have FPU emulation hanging around for SX class chips.

So now we will have an old Linux and new Linux to have to consider, because mainline maintainers won't have it.

Reply 11 of 46, by Jo22

User metadata
Rank l33t++
Rank
l33t++

What's also interesting, the chipset logic in modern intel motherboards, IME, seems to use a 486/586 core in the "Quark" component.
Here, a modified Minix 3 is run, if memory serves.

https://www.heise.de/select/ct/2018/6/1520827829694087
https://en.wikipedia.org/wiki/Intel_Quark
https://en.wikipedia.org/wiki/Intel_Managemen … Engine#Hardware

So having i486 support might allow a trustworty Linux to replace the custom Minix in these chipsets?
Okay, it's a far stretch, maybe, I do admit.

But it's those kind of scenarios that make me think about such drastic changes.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 12 of 46, by the3dfxdude

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2025-04-29, 03:13:
What's also interesting, the chipset logic in modern intel motherboards, IME, seems to use a 486/586 core in the "Quark" compone […]
Show full quote

What's also interesting, the chipset logic in modern intel motherboards, IME, seems to use a 486/586 core in the "Quark" component.
Here, a modified Minix 3 is run, if memory serves.

https://www.heise.de/select/ct/2018/6/1520827829694087
https://en.wikipedia.org/wiki/Intel_Quark
https://en.wikipedia.org/wiki/Intel_Managemen … Engine#Hardware

So having i486 support might allow a trustworty Linux to replace the custom Minix in these chipsets?
Okay, it's a far stretch, maybe, I do admit.

But it's those kind of scenarios that make me think about such drastic changes.

I think the quark core is on the instruction level of at least a pentium M, even if the design behaves alot like a 486/586 in execution. I doubt they mean 586 instruction level support, only that the design has been simplified back so it is lightweight.

I have no idea how they compile this "minix". It could be compiled with more modern instructions level. I have no idea if they would have considered linux for the IME.

Reply 13 of 46, by SquallStrife

User metadata
Rank l33t
Rank
l33t
Jo22 wrote on 2025-04-29, 02:42:

Isn't it the case, though? 🤷‍♂️

No, for the reasons I already explained.

You are completely free to maintain your own branch of the kernel that still has the math-emu feature, and backport future changes to it. If the prevalence of Linux on pre-i686 CPUs is as high as you seem to think it is, then you'll have no trouble finding others who will contribute to, and maintain your super popular, important, and in-demand branch. 😜

But it's those kind of scenarios that make me think about such drastic changes.

Sunsetting official support for a 30+ year old CPU is hardly what I'd call drastic.

I understand that in a vacuum it feels like this change is some kind of "attack" on the retro computing hobby, but have a little bit of perspective my friend. 😀

VogonsDrivers.com | Link | News Thread

Reply 14 of 46, by gerry

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2025-04-28, 18:48:

Support for 486 class processor actually makes still kind of sense,
because the technology can be mastered in less technological advanced countries.
Which might be important if we want to eventually free ourselvs from dependance of big nations.

I'm not sure that would happen, the investment and set up required for a functional semi conductor manufacturing in a country is enormous and takes years to build up regardless of the chip being made. Less technologically advanced countries wouldn't focus on this.

if you mean in terms of getting hold of old equipment so as not to be dependent upon buying new stuff, again i don't think it would be best. A few raspberry pi and budget end mobile devices would provide more computing power than an equivalent number of 486's while having much lower power requirements and being current enough to have support in terms of current OSes and so on. Cheaper too in all likelihood.

the sad truth is that linux dropping 486 support is simply a reflection of the reality that there aren't that many around as proportion of linux installs and the time-cost of maintaining compatibility (in terms of kernel code) is no longer seen as worthwhile

Reply 15 of 46, by kagura1050

User metadata
Rank Newbie
Rank
Newbie

I'm helping a friend develop a Linux distribution for i486 (in fact, I'm testing the latest nightly build on HOT-433 right now).

Well, I feel like the time has finally come...

The concept of the distribution is "use and preserve 486", so somehow I feel like I've lost the battle.

古いマシンで新しいOS(Linux/NetBSD)を動かすのが好き。
Timezone : UTC+9

Reply 16 of 46, by Grzyb

User metadata
Rank l33t
Rank
l33t
kagura1050 wrote on 2025-04-29, 07:59:

I'm helping a friend develop a Linux distribution for i486 (in fact, I'm testing the latest nightly build on HOT-433 right now).

Well, I feel like the time has finally come...

The concept of the distribution is "use and preserve 486", so somehow I feel like I've lost the battle.

Does that distribution use the latest kernel?

And if it does - can you see any advantage of using latest kernels on a 486 ?

Kiełbasa smakuje najlepiej, gdy przysmażysz ją laserem!

Reply 17 of 46, by kagura1050

User metadata
Rank Newbie
Rank
Newbie
Grzyb wrote on 2025-04-29, 08:27:

Does that distribution use the latest kernel?

Roughly latest. (Based on Yocto Kirkstone, 6.1.80. Next release will be based on Scarthgap and use the 6.6 kernel.)

Grzyb wrote on 2025-04-29, 08:27:

And if it does - can you see any advantage of using latest kernels on a 486 ?

New kernels allow new software to be taken advantage of without much effort. A new gcc, a modern TLS stack (the 486 is quite capable of viewing mastodon on the CLI), and more.
But in the end, I think these are just things at the level of hobbyism...Linux is the de facto commercial operating system. These benefits are probably negligible.

For those interested, here is the link to the Linux distribution: https://www.opencocon.org/start
(I don't know much about i486 Linux other than opencocon, so if anyone knows of any other projects that run i486 with a new kernel, please let me know!)

古いマシンで新しいOS(Linux/NetBSD)を動かすのが好き。
Timezone : UTC+9

Reply 18 of 46, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
SquallStrife wrote on 2025-04-29, 03:57:

But it's those kind of scenarios that make me think about such drastic changes.

Sunsetting official support for a 30+ year old CPU is hardly what I'd call drastic.

I understand that in a vacuum it feels like this change is some kind of "attack" on the retro computing hobby, but have a little bit of perspective my friend. 😀

Some of it is just not keeping in perspective really how much time has passed.
30 years ago, perhaps a budget system was a 486DX4.
30 years before that... was still 5 years before the PDP-11 of Unix fame even existed.

Reply 19 of 46, by mkarcher

User metadata
Rank l33t
Rank
l33t
the3dfxdude wrote on 2025-04-29, 02:55:
jakethompson1 wrote on 2025-04-29, 01:00:

If Wikipedia is to be believed, the first generation Cyrix 6x86 fits a Socket 7 (and might therefore be considered Pentium-class) but only implements the 486 instruction set and advertises itself as a 486, so it might be such a processor.

Probably. I'm not going to look it up, but the Cyrix 6x86 had compatibility issues for pentium level stuff back in the day, for being an indirect clone of the 486 of their own make.

There are compatiblity issues with the 6x86. This is because the 6x86 omitted some officially optional features of the 586 architecture, it had other Pentium-introduced instructions, though. Most prominently, it doesn't support the time-stamp counter. As the Intel Pentium did, a notable amount of software didn't bother to check for the feature bit "TSC supported" if it encountered a 586-class CPU, and tried to execute the RDTSC instruction anyway. Furthermore, CPUID needed to be enabled on these CPUs, and they say a lot of BIOSes didn't do so. This can be worked around in DOS by running a tool that enables the CPUID instruction (and if I remember correctly, you can configure an arbitrary vendor ID, even GenuineIntel).

Cyrix/VIA did the same thing again with their C3 processor, which claims to be a 686-series processor, but omits the officially optional feature "conditional moves".

jakethompson1 wrote on 2025-04-29, 01:00:

The i386 name is a misnomer; Debian has required a "686" class processor (i.e. Pentium Pro or higher) since version 9.

And not just 686, but "686 with CMOV", since Stretch (Debian 9), while Jessie (Debian 😎 still supported Pentiums at least.