Intrepid compatibility with C3 CPUs #5212

M G m.os.griffin at gmail.com
Thu Aug 21 05:49:27 UTC 2008


The C3 is still listed as a current product on the Via web site.
However, if Wikipedia can be trusted, then not all C3 processors are
the same when it comes to cmov support. The CPU flags have to be
examined to see if a particular generation of C3 model supports cmov
or not. The problem also may not be simply the C3. There are other low
power CPUs that may also be affected (e.g. Geode).

To look at the problem in general though, there are several issues
which must be considered.

1) The Intrepid 32 bit kernel describes itself as i386
(intrepid-desktop-i386.iso). This is clearly incorrect and misleading.

2) The download page states "Choose this if you are at all unsure".
This is also clearly incorrect. Someone attempting to use this version
must be absolutely sure what CPU they have, and possibly even the
exact version.

3) The error message from the installer is unhelpful. It asks the user
to "please use a kernel appropriate for your CPU", yet there is no
hint as to where this kernel may be found. What is the user supposed
to do at this point?

4) Making this change will cause PCs which currently use Ubuntu to no
longer be able to do so.

5) Making this change will limit the hardware compatibility in ways
which very few users (even very technically inclined ones) would
expect.


The first three items are more or less administrative and
documentation problems. Names, instructions, and web pages are
providing wrong, misleading, or inadequate information.

The latter two items are the serious problems. Dropping users and
dropping support for basic hardware isn't a decision to be made
lightly, and it certainly shouldn't be made quietly by a few people
and sprung on everyone else by surprise as a fait acompli. It's
something that should be discussed more widely with respect to what
markets are being served and what the overall support strategy should
be.


There are basically two types of x86 Ubuntu offered at present - 32
bit and 64 bit. Most new CPUs sold today are 64 bit, so that is where
the future of Ubuntu ought to be. 32 bit is for older (legacy)
hardware or for specialised uses such as low power or embedded
applications. In other words, 64 bit is for mainstream desktops,
laptops and servers and 32 bit is for legacy and special purpose.

If this is a correct way of looking at things, then it doesn't make
much sense to exclude support for some 32 bit processors, nor does it
make sense to come out with a special third version (x86-64, i686,
i586) to handle these cases. Rather I think it would make more sense
to leave CPU support in 8.10 the same as it was in 8.04 (C3 works).
Time will solve this problem anyway as 32 bit simply fades away.

There was a suggestion that people who are affected should simply
switch to a different distro. I'm not sure that is the sort of message
which Ubuntu wants to give (that users get dropped and other distros
have wider hardware support). Also, what do the people at Debian
think? Should both distros follow a common policy on this?


On the other side of the coin, in return for these potential problems,
we get the "cmov" instruction. However, the benefit from this
instruction is apparently not that obvious. See the following
discussion between Linus Torvalds and Grzegorz Kulewski.
"http://ondioline.org/mail/cmov-a-bad-idea-on-out-of-order-cpus".


In any event, I think this question needs more discussion (including
wider participation than just this list) as it seems to have a lot of
implications beyond the purely technical ones.




More information about the Ubuntu-devel-discuss mailing list