LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 05-06-2021, 01:28 AM   #1
usr345
Member
 
Registered: Jan 2012
Posts: 166
Blog Entries: 1

Rep: Reputation: Disabled
Why Slackware packages are compiled for i586 and i486?


I have 14.2 Stable fully upgraded, 64 bit CPU, but using 32 bit version of OS.

In /var/log/packages I see that most packages are compiled for i586 and i486 architectures. Why doesn't Pat use i686 architecture? It is supported by all the modern processors, and the programs will work a little faster.
 
Old 05-06-2021, 02:39 AM   #2
mishehu
Member
 
Registered: Aug 2014
Location: USA
Distribution: Slackware (where ::1 is), Centos, Debian
Posts: 68

Rep: Reputation: 115Reputation: 115
I haven't looked at 32bit builds of anything beyond 14.2, but 14.2 is fairly old now. 15.0 is coming out in the near term. Did you check the -current branch's 32 bit builds to see how he was having them built?
 
Old 05-06-2021, 02:45 AM   #3
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 1,370

Rep: Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137
Quote:
Originally Posted by usr345 View Post
I have 14.2 Stable fully upgraded, 64 bit CPU, but using 32 bit version of OS.

In /var/log/packages I see that most packages are compiled for i586 and i486 architectures. Why doesn't Pat use i686 architecture? It is supported by all the modern processors, and the programs will work a little faster.
Well, from what I understand, the 32bit Slackware is supposed to support not only the "modern" processors but also those even considerable older.

In other hand, Mr. Volkerding explained that a pure i686 architecture is not noticeable faster compared with a system built with "-march=i586 -mtune=i686" which he chosen.

Also, I remember that far in the past there was users (at least Darth Vader, but there was others too) who did pure i686 builds of Slackware, and they told us that it's more unstable that a mixed i586 architecture - and this happened even before the Slackware to adopt it, being still on i486.

Anyway, those packages which would really profit from pure i686 architecture, they are already shipped this way - like are the SMP kernels, Firefox, etc.

Last edited by LuckyCyborg; 05-06-2021 at 02:55 AM.
 
2 members found this post helpful.
Old 05-06-2021, 04:09 AM   #4
tauon
LQ Newbie
 
Registered: Jun 2020
Distribution: Slackware
Posts: 26

Rep: Reputation: Disabled
Quote:
Originally Posted by LuckyCyborg View Post
Also, I remember that far in the past there was users (at least Darth Vader, but there was others too) who did pure i686 builds of Slackware, and they told us that it's more unstable that a mixed i586 architecture - and this happened even before the Slackware to adopt it, being still on i486.
But why? Could you find a link to those posts?
 
Old 05-06-2021, 04:28 AM   #5
usr345
Member
 
Registered: Jan 2012
Posts: 166

Original Poster
Blog Entries: 1

Rep: Reputation: Disabled
Quote:
Originally Posted by mishehu View Post
15.0 is coming out in the near term. Did you check the -current branch's 32 bit builds to see how he was having them built?
Yes, everything is 586. https://mirrors.slackware.com/slackw...ent/slackware/
 
Old 05-06-2021, 04:36 AM   #6
usr345
Member
 
Registered: Jan 2012
Posts: 166

Original Poster
Blog Entries: 1

Rep: Reputation: Disabled
Quote:
Originally Posted by LuckyCyborg View Post
Well, from what I understand, the 32bit Slackware is supposed to support not only the "modern" processors but also those even considerable older.

In other hand, Mr. Volkerding explained that a pure i686 architecture is not noticeable faster compared with a system built with "-march=i586 -mtune=i686" which he chosen.
But these processors are ridiculously old and can be disregarded: MMX support was added in 1997! Their place is in museums.

Quote:
Originally Posted by LuckyCyborg View Post
Also, I remember that far in the past there was users who did pure i686 builds of Slackware, and they told us that it's more unstable that a mixed i586 architecture.

Anyway, those packages which would really profit from pure i686 architecture, they are already shipped this way - like are the SMP kernels, Firefox, etc.
It must be very old experiments. They can be repeated with modern compiler. I think everything will work fine. My i686 Firefox is working pretty well at least, and I use it every day for many hours.
 
Old 05-06-2021, 05:01 AM   #7
tauon
LQ Newbie
 
Registered: Jun 2020
Distribution: Slackware
Posts: 26

Rep: Reputation: Disabled
Quote:
Originally Posted by usr345 View Post
But these processors are ridiculously old and can be disregarded: MMX support was added in 1997! Their place is in museums.
That's why I decided to use Slackware actually: I wanted to install an easy-to-install (so, neither LFS nor Gentoo) linux on my Thinkpad R50p, which is also kind of ridiculously old (but it is i686, yes). And I don't see any drawback of using i586 instead of i686; could you name instructions which I miss on my system I should use in order to improve speed or memory usage? If I remember correctly, the only big difference between i586 and i686 for Linux is that you can use syscall instruction on i686. Any kind of SIMD instructions (including MMX) can be set explicitly if they are needed, and I do so for root.cern

Quote:
Originally Posted by usr345 View Post
It must be very old experiments. They can be repeated with modern compiler. I think everything will work fine. My i686 Firefox is working pretty well at least, and I use it every day for many hours.
You are welcome to repeat, document, and publish them here for example. I will appreciate this.
 
4 members found this post helpful.
Old 05-06-2021, 06:44 AM   #8
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,502

Rep: Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883
No offense, but you may find it hard to believe that not everyone lives in the "first world" with money to spare. There's more people than you think who are stuck with ageing computers and then Slackware 32-bit is just right for them.
On the other hand, if you own a fairly modern computer (say, less than 10 years old), there is no reason to install a 32-bit OS - just go with the 64-bit version of that OS and install multilib if you are still using old 32bit proprietary binaries (or are a gamer).
 
9 members found this post helpful.
Old 05-06-2021, 07:36 AM   #9
usr345
Member
 
Registered: Jan 2012
Posts: 166

Original Poster
Blog Entries: 1

Rep: Reputation: Disabled
Quote:
Originally Posted by tauon View Post
on my Thinkpad R50p, which is also kind of ridiculously old (but it is i686, yes)
You admit that it is still i686. I also have an old computer made in 2003, and it's also i686. It is supported everywhere now.

Quote:
Originally Posted by tauon View Post
If I remember correctly, the only big difference between i586 and i686 for Linux is that you can use syscall instruction on i686. Any kind of SIMD instructions (including MMX) can be set explicitly if they are needed, and I do so for root.cern
I looked at wiki, and it seems that SYSENTER/SYSEXIT were introduced only in Pentium II. So, it seems that i686 architecture is not enough. X86_instruction_listings#Added_with_Pentium_II.

Quote:
Originally Posted by tauon View Post
You are welcome to repeat, document, and publish them here for example. I will appreciate this.
I don't think, that I will be able to recompile all Slackware sources here and reinstall everything - this is too big for me. Plus I won't see anything, synthetic tests must be run and measurements made to calc the difference.

Maybe, recompile some lib and try synthetic tests with 2 versions: i586, i686 I can also compile directly for my current CPU architecture: Sandy bridge. GCC x86-Options
 
Old 05-06-2021, 07:50 AM   #10
usr345
Member
 
Registered: Jan 2012
Posts: 166

Original Poster
Blog Entries: 1

Rep: Reputation: Disabled
Quote:
Originally Posted by Alien Bob View Post
No offense, but you may find it hard to believe that not everyone lives in the "first world" with money to spare. There's more people than you think who are stuck with ageing computers and then Slackware 32-bit is just right for them.
On the other hand, if you own a fairly modern computer (say, less than 10 years old), there is no reason to install a 32-bit OS - just go with the 64-bit version of that OS and install multilib if you are still using old 32bit proprietary binaries (or are a gamer).
Come on, i586 is "Intel Pentium CPU with no MMX support". MMX was introduced in 1997. Who uses computers produced before 1997/1998 these days?

And better optimized software will work faster on aging computers, produced in the early 2000-s. Which is a benefit. I am not sure whether pentium4 could be a safe architecture these days. Will AMD be supported. If yes, it seems to be a reasonable option.

system requirements:

Quote:
Slackware Linux doesn't require an extremely powerful system to run (though having one is quite nice . It will run on systems as far back as the 486.
Why? This is ridiculous. And it's not true, as it requires Pentium today (i586).

Last edited by usr345; 05-06-2021 at 08:06 AM.
 
Old 05-06-2021, 08:15 AM   #11
drumz
Member
 
Registered: Apr 2005
Location: Scottsdale, AZ, USA
Distribution: Slackware
Posts: 353

Rep: Reputation: 168Reputation: 168
Quote:
Originally Posted by usr345 View Post
Come on, i586 is "Intel Pentium CPU with no MMX support". MMX was introduced in 1997. Who uses computers produced before 1997/1998 these days?

And better optimized software will work faster on aging computers, produced in the early 2000-s. Which is a benefit. I am not sure whether pentium4 could be a safe architecture these days. Will AMD be supported. If yes, it seems to be a reasonable option.

system requirements:



Why? This is ridiculous. And it's not true, as it requires Pentium today (i586).
You realize that your argument boils down to proving a negative? You are trying to say no Slackware users in the world use i586. The burden is on you to demonstrate the benefits to i686 users would outweigh the loss of functionality to any potential i586 users. Of course, all it takes is 1 i586 user to chime in on this thread to prove you wrong. But who says such users are on LQ? The whole world doesn't speak English.

Note, it is a fair question to ask, but now you're pushing the issue and have already refused to do any actual testing yourself. So don't expect much sympathy from other forum members.
 
2 members found this post helpful.
Old 05-06-2021, 08:15 AM   #12
Alien Bob
Slackware Contributor
 
Registered: Sep 2005
Location: Eindhoven, The Netherlands
Distribution: Slackware
Posts: 8,502

Rep: Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883Reputation: 7883
Quote:
Originally Posted by usr345 View Post
Come on, i586 is "Intel Pentium CPU with no MMX support". MMX was introduced in 1997. Who uses computers produced before 1997/1998 these days?
Again, you do not speak for millions in developing countries.

Quote:
Why? This is ridiculous. And it's not true, as it requires Pentium today (i586).
Yes a Pentium is required. An i486 won't boot or run Slackware-current or 14.2. You are free to distro-hop of course if you do not agree with the Slackware philosophy. Pick an OS which makes you happy.
 
1 members found this post helpful.
Old 05-06-2021, 08:17 AM   #13
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 1,370

Rep: Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137
Quote:
Originally Posted by usr345 View Post
Come on, i586 is "Intel Pentium CPU with no MMX support". MMX was introduced in 1997. Who uses computers produced before 1997/1998 these days?

And better optimized software will work faster on aging computers, produced in the early 2000-s. Which is a benefit.
In other hand, if I remember right, for the GCC this i686 means: i586 with adition of CMOV instruction, aka "conditional move".

BUT, there are some nasty things about this CMOV: it wasn't supported by all CPUs which claims of being i686 (that means crash on layman terms) and it wasn't particularly faster to execute even on the contemporaneous CPUs. And on the modern CPUs the things looks being even worse.

So, contrary to what you believe, an i686 Slackware will NOT be noticeable faster than the current i586 Slackware. May happen to be even worse, because the CMOV instructions may be even slower to be executed, compared with the equivalent software IFs.

Regarding the MMX extensions and similar things, they are NOT requirements of i686 itself, so you will NOT get them just by recompiling with "-march=i686 -mtune=i686" the operating system.

Even adding them as requirements for the compiler, they aren't useful for all applications, only the ones which does intensive math calculations may be helped a bit. And which ones to use? There's a risk to have programs which only works on particular Intel or AMD CPUs.

Long story short, those things was heated debated long time ago, on long threads, by some heavy programmers, who are much wiser than me.

BUT, the conclusion is that: NOPE, the usage of i686 would not make the Slackware 32bit noticeable faster, than the current chosen i586 solution.

Feel free to build your own i686 Slackware and test yourself - BUT, with NO extensions like MMX & Co. because you will introduce locks to certain CPUs.

Last edited by LuckyCyborg; 05-06-2021 at 08:53 AM.
 
3 members found this post helpful.
Old 05-06-2021, 08:37 AM   #14
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 1,370

Rep: Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137Reputation: 1137
Quote:
Originally Posted by Alien Bob View Post
Again, you do not speak for millions in developing countries.
The statisticians agree that today 60% of the world's population lives in severe poverty.

That means over 5 billion people.
 
Old 05-06-2021, 09:10 AM   #15
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 3,621

Rep: Reputation: 3492Reputation: 3492Reputation: 3492Reputation: 3492Reputation: 3492Reputation: 3492Reputation: 3492Reputation: 3492Reputation: 3492Reputation: 3492Reputation: 3492
FWIW I haven't owned or operated a strictly 32bit CPU in a long time BUT I still have 32 bit installs that I do use from time to time because it's just easier than messing with multilib (which I also do a lot) and makes for a good comparison. I do notice just a wee bit slower performance in 32bit for some apps, mostly DAW related, but overall most apps just don't exhibit much slow down by being i586 in my experience, certainly not enough to either rebuild as i686 let alone complain about.

This is especially true (again, in my experience) in Linux as compared to Windows probably due to RAM addressing. If you imagine that i586 is somehow holding you back I suggest literally saving up. There are complete working 64bit systems on eBay for as low as $99 USD. A dollar a day in a year can buy you a Core 2 w/ 8GB RAM complete system. You won't play 2020 AA games on it, but the difference in performance will be vastly greater than any i686 upgrade.

If ebay or something like it doesn't work in your area it's pretty common that there are outfits that stockpile surplus gear, especially from commercial server upgrades both new and used. A little over a decade ago I bought several, brand new in-the-box, dual CPU socket 370 Super Micro server boards for 30 bux each... very high performance long after they were "obsolete". I only retired them two years ago, still working.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Shall I use i486 or i586 for my Slackware package builds girvinh Slackware 5 09-08-2016 02:28 AM
Differences php-5.2.13-i486-2 and php-5.3.6-i486-1 slackissme Slackware 1 03-20-2011 03:10 AM
i x86, i386, i486, i586, i686 am confused?!! oldi Linux - Hardware 5 10-04-2006 09:04 AM
i383 i486 i586 ???? gazza Linux - Newbie 2 10-29-2003 05:33 AM
ISO Versions---> i386, i486, i586 Which one is for me JDeer0618 Linux - Software 8 10-27-2003 01:52 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 06:36 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration