ubuntuusers.de

i386...i585...i686? Warum bekommt man Ubuntu nicht in i686?

Status: Ungelöst | Ubuntu-Version: Kubuntu 8.10 (Intrepid Ibex)
Antworten |

Zacharias

Avatar von Zacharias

Anmeldungsdatum:
29. November 2006

Beiträge: 161

So wie ich gesehen habe, gibt es Ubuntu nur in i386 Ausführung. Stimmt das? Bringt das überhaupt was, eine andere Version, sprich eine i686 Version installiert zu haben.

Welche Unterschiede bestehen da eigentlich zwischen diesen?

lg Zach

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Zacharias schrieb:

So wie ich gesehen habe, gibt es Ubuntu nur in i386 Ausführung. Stimmt das?

Nein Ubuntu wird mit generic ausgeliefert, http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options da wird das genauer erklärt.

Bringt das überhaupt was, eine andere Version, sprich eine i686 Version installiert zu haben.

im Gegensatz zu einer i386 Version sind da schon einige Geschwindigkeitsvorteile, denn die alten Prozessoren (Intel 80386) hatten noch kein mmx sse und so weiter.

Herrbert

Avatar von Herrbert

Anmeldungsdatum:
1. Februar 2008

Beiträge: Zähle...

Wohnort: Fürth 'n Mannheim

i686 ist eine Weiterentwicklung der intel Prozessorarchitektur (die mit dem 80086 ihren Anfang nahm). Der i686 hat gegebnüber dem i386 also neue Funktionen und wahrsch. auch neue Befehle - er ist aber abwärtskompatibel. (wahrsch. nicht bis zum 086 weil das ein 16biter war aber i386 auf jeden).

Kurz: i386 ist komptibel zu allem was z.Z. so an intel-kompatiblen Prozessoren kreucht und fleucht. Wenn man Ubuntu für i686 kompiliert läuft das auch nur auf Prozessoren die diese Architektur haben. Vorteile hätte es im Bezug auf die Geschwindigkeit - allerdings auch nicht generell, das hängt dann ganz von der Aufgabe ab.

Zacharias

(Themenstarter)
Avatar von Zacharias

Anmeldungsdatum:
29. November 2006

Beiträge: 161

... ok ... das gibt schon ein paar Vorteile, aber was wäre, wenn ich meine Sourcen mit i686 übersetze. Denke ein AMDX2 4200+ ist doch ein i686, oder?

Würde ich da nenneswerte Vorteile bekommen, wenn ich die Sourcen mit einer anderen Option selbst übersetze?

Thx

Zacharias

(Themenstarter)
Avatar von Zacharias

Anmeldungsdatum:
29. November 2006

Beiträge: 161

Herrbert schrieb:

i686 ist eine Weiterentwicklung der intel Prozessorarchitektur (die mit dem 80086 ihren Anfang nahm). Der i686 hat gegebnüber dem i386 also neue Funktionen und wahrsch. auch neue Befehle - er ist aber abwärtskompatibel. (wahrsch. nicht bis zum 086 weil das ein 16biter war aber i386 auf jeden).

Kurz: i386 ist komptibel zu allem was z.Z. so an intel-kompatiblen Prozessoren kreucht und fleucht. Wenn man Ubuntu für i686 kompiliert läuft das auch nur auf Prozessoren die diese Architektur haben. Vorteile hätte es im Bezug auf die Geschwindigkeit - allerdings auch nicht generell, das hängt dann ganz von der Aufgabe ab.

Was für Aufgaben könnten das sein bei denen diese Option eine Auswirkung hätte?

jug Team-Icon

Ehemalige
Avatar von jug

Anmeldungsdatum:
19. März 2007

Beiträge: 12335

Wohnort: Berlin

Zacharias schrieb:

Würde ich da nenneswerte Vorteile bekommen, wenn ich die Sourcen mit einer anderen Option selbst übersetze?

Ich würde mal behaupten bei einem Prozessor in dieser Klasse … nö. Der Geschwindigkeitsvorteil ist minimal. Es sei denn du hast vor darauf Wettersimulationen oder ähnliches laufen zu lassen… Prozesse mit sehr langer Laufzeit, da multipliziert sich der Geschwindigkeitsvorteil dann doch erheblich. Für das normale Alltags-Tastaturgeklapper, behaupte ich, merkt man den Unterschied nicht.

~jug

Herrbert

Avatar von Herrbert

Anmeldungsdatum:
1. Februar 2008

Beiträge: 37

Wohnort: Fürth 'n Mannheim

Zacharias schrieb:

... ok ... das gibt schon ein paar Vorteile, aber was wäre, wenn ich meine Sourcen mit i686 übersetze. Denke ein AMDX2 4200+ ist doch ein i686, oder?

Würde ich da nenneswerte Vorteile bekommen, wenn ich die Sourcen mit einer anderen Option selbst übersetze?

Thx

Also meiner bescheidenen Meinung nach lohnt der Aufwand nicht. Wirklich spürbare Unterschiede habe ich da noch nicht feststellen können.

Aber vieles was da an Änderungen in der Architektur steckt kommt nur bei bestimmten Anwändungsfällen zum tragen (das MMX zeug z.B.). Aber das ist wirklich nur Meinung - so viel Ahnung hab ich von den Architekturänderungen die intel da gemacht hat nicht.

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Sicher, siehe Gentoo. Aber für den AMD würde ich eine der folgenden Otionen verwenden:

k8, opteron, athlon64, athlon-fx
    AMD K8 core based CPUs with x86-64 instruction set support. (This supersets MMX, SSE, SSE2, 3dNOW!, enhanced 3dNOW! and 64-bit instruction set extensions.)
k8-sse3, opteron-sse3, athlon64-sse3
    Improved versions of k8, opteron and athlon64 with SSE3 instruction set support.

Und außerdem mit der Option -march=k8 da dann speziell nur für diese eine CPU kompiliert wird.

Edit: im normalen Desktop-gebrauch wird der Unterschied zwischen generic und k8 wahrscheinlich nicht so sehr auffallen, aber sobald du mp3s codierst oder zip archive erstellst, sollte da was bemerkbar sein.

Graubart

Avatar von Graubart

Anmeldungsdatum:
14. August 2006

Beiträge: 2155

Wohnort: Main-Spessart 49° 55 N 9° 37 E

Hi, hab grade mal meinen Alten Dell D600 mit Pentium 1,6 GHZ angeschmissen, ist Sidux drauf, der kernel trägt das i686 in der Bezeichnung, die gleiche Version lauft auf dem Dell x-300 mit einem 1,1Ghz ebenfalls, und das ist die Version, die als 386 bezeichnet wird. Auch der Debian-kernel hat die Bezeichnung 2.6.26-1-686 zum Schluss. Nur bei Ubuntu fehlts.

Geh einfach mal in Synaptic und suche linux-386. Du wirst merken, dass Du das wahrscheinlich gar nicht drauf hast. Bei ein paar linus-headers und Kernel-images steht dann unter den Erläuterungen zum Paket ab 486.

Aus dem Link von stfischr rauskopiert:

i686
    Same as generic, but when used as march option, PentiumPro instruction set will be used, so the code will run on all i686 family chips. 

Also dürften die Unterschiede zwischen generic und i686 nicht so toll sein.

mfg

Graubart

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Graubart schrieb:

i686
    Same as generic, but when used as march option, PentiumPro instruction set will be used, so the code will run on all i686 family chips. 

Das stimmt aber nur bei der jeweiligen Kompilerversion. In eins zwei Jahren könnte generic schon für i786 stehen. Deshalb wurde es eingeführt. Derjenige, der Kompiliert macht sich keine Birne, ob und wo und wie das läuft, er nimmt einfach generic und kann damit sicher sein, dass es auf den meisten zur Zeit im Umlauf befindlichen CPUs akzeptabel schnell läuft. Wer mal den Unterschied von verschiedenen Kompileroptionen testen will, der nimmt sich einfach ein Programm aus den Ubuntuquellen:

sudo apt-get install build-essential
sudo apt-get build-dep Paketname
apt-get source Paketname 

vorher in den Software-Quellen die src (Quelltext) freischalten. Jetzt ist im Homelaufwerk ein Ordner, da geht man rein (cd blabla) und los gehts: zuerst die entsprechenden Optionen setzen:

CFLAGS="-march=i686"
CXXFLAGS="-march=i686"

und dann der Dreisatz http://wiki.ubuntuusers.de/Programme_kompilieren#Standard-Methode

jetzt kann man das Programm testen

time Programmname

und jetzt kommt ein

make clean

dann die neuen Optionen setzen

CFLAGS="-mtune=generic"
CXXFLAGS="-mtune=generic"

und wieder Dreisatz und testen. Auf meinem Pentium-m nehme ich immer folgende Optionen:

-march=pentium-m -mmmx -msse -msse2 -O3 -pipe -fomit-frame-pointer

und wenn es nicht wichtig ist, dass das Programm fehlerfrei läuft:

-march=pentium-m -mmmx -msse -msse2 -O3 -pipe -fomit-frame-pointer -mfpmath=sse,387 -ffast-math -ftree-vectorize -fsee

auf diese Weise habe ich z.b. lame um 20% beschleunigt.

Wenn man also ein Programm hat, das man häufig verwendet und welches von der CPU limitiert wird, dann kann es sich lohnen das Teil einfach mal selbst zu kompilieren. Bringt auf jeden Fall mehr, als einen i686-Kernel zu installieren.

MxO

Anmeldungsdatum:
19. Oktober 2007

Beiträge: 123

Zacharias schrieb:

... ok ... das gibt schon ein paar Vorteile, aber was wäre, wenn ich meine Sourcen mit i686 übersetze. Denke ein AMDX2 4200+ ist doch ein i686, oder?

Nimm doch einfach die 64bit Version, da sind alle neuen Prozessor-Funktionen aktiviert.

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

MxO schrieb:

Nimm doch einfach die 64bit Version, da sind alle neuen Prozessor-Funktionen aktiviert.

Stimmt und der altballast i486 i586 ist auch nichtmehr drinn.

Zacharias

(Themenstarter)
Avatar von Zacharias

Anmeldungsdatum:
29. November 2006

Beiträge: 161

bekomm ich das da mit Java auch hin? Bisher bin ich daran gescheitert, da Java zum laufen zu bringen. Ich meine hier im speziellen das Java-Plugin in Firefox.

Thx Zach

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Zacharias schrieb:

bekomm ich das da mit Java auch hin? Bisher bin ich daran gescheitert, da Java zum laufen zu bringen. Ich meine hier im speziellen das Java-Plugin in Firefox.

Wenn du Zeit hast, probiers einfach mal. Ich benutze immer das icedtea-plugin, das reicht mir (soll aber nicht überall perfekt funktionieren). Ansonnsten kann man auch die 32bit Version installieren und dem Browser das manuell beibringen http://wiki.ubuntuusers.de/Java#Ubuntu64bit

Dann währe noch Flash, das installiere ich immer manuell (die 64bit beta bei Adobe runterladen)

Edit: gerade nochwas zu Java gefunden: http://ikhaya.ubuntuusers.de/2008/12/17/sun-veroeffentlicht-java-plugin-fuer-64bit-browser/ in den Kommentaren ist ne Anleitung.

Zacharias

(Themenstarter)
Avatar von Zacharias

Anmeldungsdatum:
29. November 2006

Beiträge: 161

Jeeepppeeee ... das sind ja schöne Nachrichten. Eeeendlich!, ein ordentliches Plugin von Sun! 😛

Antworten |