18

September
2012

Disabling PAE for 32bit version?

PAE (Physical Address Extension) is currently enabled in Slackware's kernel and thus it is enabled in Slax 32bit as well at the moment. What PAE does is that it allows 32-bit x86 processors to access a physical address space larger than 4 gigabytes. If your computer is 32bit and you have 4GB of RAM and more, you need PAE-enabled kernel to "see" all your memory. Without it, you would only see 3GB of RAM even if you have more, but such kernel would work on much more older computers.

According to wikipedia, PAE is provided by Intel Pentium Pro and above CPUs, and AMD Athlon and later AMD processor models. If we want PAE for Slax kernel, such Slax version would run only on the mentioned processors and newer, it would no longer work on older CPUs. Slackware's 32bit kernel is configured to enable PAE, and to work only on Pentium III and newer processors only, ignoring all older processors. This is something which I consider unwanted. I prefer to run Slax 32bit on all the old hardware. So I'm currently considering to disable PAE at all for the 32bit version.

Of course the 64bit Slax version will "see" all your memory without any problems on all 64bit processors.

Do you prefer to disable or enable PAE in 32bit Slax version? Do you want to run Slax on old machines such as 486, 586, K5, 686, or Pentium, before Pentium Pro?

User comments
weiht 2012-09-18 20:45

I don't think KDE will work fine with such old machines. But good for text mode, or, if someone should pack one, some lighter desktop environment.

Manfred aka Quax 2012-09-18 20:54

Hi Tomas,

imho you should definitely disable PAE for Slax (Standard edition).

The information given at Wikipedia is partly incorrect:

First generation Centrino cpus (Banias/Dothan) and the
Core Solo/Duo /Yonah) cpus are not PAE capable.

This would exclude most notebooks based on this cpus,
especially Thinkpad T/R/X/Z 4x and 6x series and many
Samsung Notebooks.

In conjunction with zram I think PAE isn't really needed
for a Slax standard edition.

@zram:

To be on the safe side, we should also clearify to the users
that you can't use suspend2disk while using zram.

Manfred



Lightning 2012-09-19 01:21

i think there are 2 issues to think about:

* i486/i586/i686 package architecture
some time ago, i discovered, that some packages in 32bit slackware are no longer i486 packages.
e.g.:
./a/kernel-modules-smp-3.2.28_smp-i686-1.txz
./a/kernel-huge-smp-3.2.28_smp-i686-1.txz
./a/kernel-generic-smp-3.2.28_smp-i686-1.txz
./xap/xine-lib-1.1.19-i686-2.txz
./xap/xaos-3.5-i686-1.txz
./xap/xine-ui-0.99.5-i686-3.txz

i don't know wether this happened by accident or whether slackware 14 intents to be no longer i486 compatible. if you don't plan to rebuild these packages for i486 there's no need to support architectures older than i686.

* cpus to be supported
with first issue in mind and in general i simply wouldn't support annything older than i686. this is not necessary as even my old via-cpus or my amd geode are i686. however there are modern cpus that don't support pae, so i definitely wouldn't enable pae.
(my personal opinion is that pae is a fail per design, but that doesn't matter here ;))


Lightning

Tomas M 2012-09-19 01:31

I noticed those i686 packages in Slackware tree too. The kernel* packages are not needed for Slax, since I'm compiling own kernels, thus this is no problem. And currently I don't plan to add xine to Slax either.

Anyway, even if kernel is compiled for 486, it is able to run any 686 code as long as the processor supports it. So there is no problem in running i686-compiled binaries in Slax 32bit even if the kernel is compiled for i486.

Ady 2012-09-19 04:58

SMP is used since 486DX. It is useful for Slax users. PAE targets higher RAM systems (4GB+), which is not the main target of Slax.
Slackware also has an alternative kernel for 32-bit systems, without PAE and without SMP. The only way to cover more systems is to provide more than one kernel giving options to boot each kernel in the syslinux menu. If you have to choose only one 32-bit kernel for Slax, then IMHO it should have SMP and no PAE (as in pre-alpha 3b).

drago 2012-09-19 05:26

i fully support your choice to disable PAE in 32bit version.

aitap 2012-09-19 20:21

Disabling PAE looks like a good thing.

Modern PCs (like netbooks) usually have the opposite configuration: a 64-bit processor and awfully small amount of RAM. Until "x32 ABI" is stable, there is no use of their processors in 64-bit mode.

Also, I read a thread on another live distro's (Liberte Linux) forum, in which a non-PAE kernel was asked for. So, there are other distros which have met the same problem.

As long as adding both kernels (approx. +67 megabytes) to the build is not an option, I agree that disabling PAE is good.

Reticent 2012-09-21 03:39

Short-term, a non-PAE kernel should do. Sometimes more memory just means more electricity wasted. Keep It Short & Simple.
Many computers have 64-bit CPU's with less than 4Gb RAM.

Long-term, a PAE kernel should be an option.

Software that works with i586 works for surprisingly many, but somehow "i686" doesn't always mean i686.

fantasyl 2013-03-23 05:02

For 32bit system, IMHO you should leave the no PAE as default and leave eventually PAE as an option. A 32bit system wouldn't require PAE as in 99% has less than 4gb RAM.
I'm biased as I have two notebooks with pentium M cpu, and they ran great until recently....but I'm sure there are plenty of linux users installing the 32bit on Pentium M and similar notebook CPU, where all the distro with PAE simply doesn't boot.

There is also another reason you should disable PAE for 32bit slax. Read this comparison (I've not done extensive testing, but my bench so far show exactly the same behaviour!).

http://208.109.22.214/puppy/viewtopic.php?t=84472&sid=fa7d83d316ba4c89df38b7399412278d

PS Thanks for your great work!

Alain 2013-09-11 19:41

Is PAE disabled in the current 32 bits Slax system ?