AMD 64
Aus Gentoo Linux Wiki
| Installationsmethoden • LiveCDs • Kernel & Hardware • Laptops & Notebooks • Portage • System • Netzwerke & Services • X • Software • Anderes • alphabetischer HOWTO Index |
Inhaltsverzeichnis |
[Bearbeiten] Einleitung
Während Windows XP 64 ein eher schattiges Dasein fristet, können Linux User voll auftrumpfen und auf eine breite Unterstützung der OpenSource-Community setzten! Leider sind noch nicht alle Programmpakete für Athlons 64 oder Intel Prozessoren mit EM64T (Pentium D) verfügbar. Glücklicherweise bietet uns Gentoo Ebuilds, die den Betrieb von 32-bittiger x86-Software auch in 64-Bit Umgebungen erlauben! Nichtsdestotrotz muss man bisher noch (Sommer 2007) mit einigen wenigen Einschränkungen leben...
[Bearbeiten] Software-Einschränkungen
- Mplayer und Xine sind in der Lage Windows-Codecs zu verwenden (win32codecs). Allerdings sind die nur in 32-bittiger Ausführung verfügbar. Wirklich schlimm ist das nicht, da die meisten Codecs ohnehin als OpenSource und 64bit Variante verfügbar sind. Aber wer bspw. neuere Windows Media Formate abspielen will, muss auf die vorkompillierte 32bit Variante des MPlayers (mplayer-bin) zurückgreifen!
- Mozilla Firefox und Konqueror sind als 64bit-Versionen von Haus aus nicht in der Lage 32bit-Plugins zu laden. Aber sowohl der Firefox, als auch der neuste Konqueror (3.5.x), können mit Hilfe des net-www/nspluginwrapper 32bit-Plugins laden (siehe nächster Abschnitt).
- Opera ist nur als 32bit-Version verfügbar und zur Zeit (Sommer 2007) plant Opera Software erst mit der Version 9.5 eine 64bit Version für Linux bzw. FreeBSD zu veröffentlichen. Um Java in Opera benutzen zu können, benötigt man daher eine 32bit-VM. Bei Verwendung der Blackdown-JRE trägt man in den Opera-Optionen unter Advanced -> Content -> Java Options den Pfad "/opt/java32/lib/i386" ein. Möchte man auf Java 1.5 zurückgreifen kann man bspw. die 32bit SUN-JRE (auch parallel zu einer 64bit-Version) installieren. Der Opera-Java-Pfad ist dementsprechend anzupassen (bspw. "/opt/jre1.5.0_06/lib/i386"). Nach einem Neustart des Browsers funktionieren Java-Applets.
[Bearbeiten] Firefox/Konqueror 64 & 32bit-Plugins und andere browser
Zwar ist es nicht direkt möglich 32bit-Plugins in einen 64bit Firefox oder Konqueror zu laden, aber Abhilfe schafft ein Paket namens nspluginwrapper. Dass dies wirklich funktioniert, zeigt dieser Screenshot! Läuft mittlerweile mit allen gängigen Browsern problemlos.
Die Installation ist sehr einfach...
| Code: Installation und Benutzung von nspluginwrapper |
|
Installation von nspluginwrapper emerge nspluginwrapper Installation von Flash Player emerge netscape-flash nspluginwrapper das Plugin finden und benutzen lassen nspluginwrapper -v -a -i |
Beim Konqueror das Menü "Einstellungen -> Konqueror Einrichten ..." öffnen. Dann bis zu Plugins scrollen und zu den Suchpfaden der Netscape-Plugins zusätzlich noch den Ordner "/usr/lib/nsbrowser/plugins" hinzuzufügen. Danach auf "Nach neuen Plugins suchen .." und anschließend auf "OK" klicken.
[Bearbeiten] Allgemeine Hardware-Tipps
- Auf Mainboards mit nforce250-Chipsätzen benötigt man mindestens den Kernel 2.6.8, um Gigabit-Ethernet verwenden zu können.
- Auf einem Shuttle SN85G4 muss dem Kernel die Option "noapic" übergeben werden, da er sonst nur den 6-in-1-Kartenleser anstatt der SATA-Festplatte(n) erkennt!
- Besitzer des Tyan-Board mit dem tg3-Modul für Netzwerkadapter, bei denen es sich nicht aktivieren lässt, laden das "dummy"-Modul unmittelbar davor in den Kernel. Das fügt einen "dummy"-Netzwerkadapter hinzu, der die einwandfreie Funktion des tg3-Moduls sicherstellt.
- Sollte sich das Sytem während dem "Hotplug" aufhängen, hilft die Deaktivierung von Hotplug, indem "nohotplug" in die Liste der Kernelparameter im Bootloader hinzugefügt wird (Wichtig: Es wird davon ausgegangen, dass genkernel zur Erstellung des Kernels verwendet wurde). Ferner sollte sichergestellt werden, dass dieser Dienst mit
rc-update del hotplug code> beim Booten nicht mehr gestartet wird.
[Bearbeiten] Grafikkarten
Sowohl nVidia als auch ATI bieten inzwischen 64-bit-Binärtreiber für ihre Grafikkarten. Beide werden in immer neuen Versionen im Gentoo-Portage gepflegt, so dass sich der Aufwand der Installation in Grenzen hält.
[Bearbeiten] ATI Installations-Schnellanleitung
Dazu müssen ersteinmal im Kernel (2.6.x) folgende Einstellungen vorgenommen werden:
| Code: menuconfig |
Loadable Module Support --->
[*] Enable loadable module support
[*] Module unloading
Processor type and features --->
[*] MTRR (Memory Type Range Register) support
Device Drivers --->
Character Devices --->
<M> /dev/agpgart (AGP Support)
<M> AGP chipsatz
[ ] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
Graphics support --->
[ ] Support for framebuffer devices
Kernel Hacking --->
[ ] Kernel debugging
|
Sollte es sich um eine PCIE-Karte (PCI Express) handeln muss im Kernel (2.6.x) folgende weitere Einstellung vorgenommen werden
| Code: menuconfig |
Bus Options ---> [*] PCI Express support |
Um zu übeprüfen ob es sich um eine PCIE-Karte handelt
lspci | grep ATI
eingeben und nachschauen ob am Ende des Eintrags der Grafikkarte ein PCIE auftaucht.
Um die Treiber zu installieren reicht ein:
emerge -av ati-drivers ati-drivers-extra
Dann muss das OpenGL subsystem auf ATI umgestellt werden:
eselect opengl set ati
Um schließlich den X-Server zu konfigurieren:
fglrxconfig
Das Programm befindet sich in /opt/ati/bin. Mit
echo "fglrx" >> /etc/modules.autoload/kernel-2.6
sorgen wir dafür dass das Modul bei jedem Start geladen wird!
fglrxinfo
liefert ein paar nette Informationen.
[Bearbeiten] nVidia Installation-Schnellanleitung
Die Kerneleinstellungen für 2.6.x:
Loadable Module Support --->
[*] Enable loadable module support
[*] Module unloading
Processor type and features --->
[*] MTRR (Memory Type Range Register) support
Device Drivers --->
Character Devices --->
< > /dev/agpgart (AGP Support)
[ ] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
Kernel Hacking --->
[ ] Kernel debugging
- Wenn sich /dev/agpgart nicht deaktivieren lässt, muss man "IOMMU support" in "Processor type and features" deaktivieren. Anschließend lässt sich /dev/agpgart abschalten.
Alles was jetzt noch folgt:
emerge -av nvidia-drivers
In der /etc/X11/xorg.conf in der Section Device jetzt noch den Treiber eintragen:
Driver "nvidia"
Und zur Performace-Steigerung in derselben Section:
Option "RenderAccel" "true" Option "NvAGP" "1"
Weitere Infos siehe nVidia
[Bearbeiten] PowerNow! aktivieren
Die 64-Bit-Prozessoren von AMD verfügen über die Möglichkeit die Taktfrequenz dynamisch an bestimmte Gegebenheiten anzupassen. Dazu dienen unter Linux die sogenannten governors, mit denen man selbst das Verhalten bzgl. der Taktfrequenz seines Prozessors bestimmen kann.
Der ondemand governor passt die Taktfrequenz des Prozessors je nach Bedarf an. Auf AMD64-Systemen ist stattdessen der sehr ähnliche conservative governor vorzuziehen, der die Frequenzen nicht so schnell/häufig wechselt (Begründung aus der Kernel-Hilfe: "due to the unacceptable step-by-step latency issues between the minimum and maximum frequency transitions in the CPU"). Daneben gibt es noch performance, der den Prozessor auf die höchste erlaubte Frequenz fest einstellt, powersave, der entsprechend die niedrigste Frequenz fixiert und userspace bei dem ein als root laufender Prozess (bspw. powernowd oder cpufreqd) die Frequenz manuell einstellen kann.
Um zu prüfen ob die CPU überhaupt PowerNow! unterstützt einfach folgendes in der Konsole eingeben:
# dmesg | grep powernow
Ausgabe (Beispiel):
powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.50.4) powernow-k8: 0 : fid 0xa (1800 MHz), vid 0x6 (1400 mV) powernow-k8: 1 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)
Natürlich ergeben sich bei anderem Prozessoren hier andere Ausgaben (Hier: AMD 3000+ socket 939)
Falls ein Fehler wie dieser ausgegeben wird,
powernow-k8: BIOS error - no PSB or ACPI _PSS objects
ist es möglich, dass Cool'n'Quiet im BIOS gar nicht erst aktiviert worden ist. Bei manchen Mainboards ist dies per default nicht der Fall! Sollte der Fehler trotz Aktivierung weiterhin auftauchen, hilft unter Umständen ein BIOS-Update.
Im Kernel müssen folgende Optionen aktiviert werden, damit PowerNow! korrekt funktioniert:
(Power Management Options):
| Linux Kernel Configuration: CPU Frequency scaling for AMD64 |
[*] Power Management support
[*] CPU Frequency scaling
<*> 'conservative' cpufreq governor
(ondemand is available on older kernels, but the developers
recommend conservative on AMD64 platforms)
<*> AMD Opteron/Athlon64 PowerNow!
|
Auf manchen Systemen werden die nötigen Module nicht automatisch geladen,
können aber trotzdem jederzeit problemlos nachgeladen werden:
modprobe powernow_k8 modprobe cpufreq_ondemand
Die verfügbaren governors lassen sich dann mit
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
abfragen. Ausgabe (Beispiel):
ondemand conservative powersave performance
Um beispielsweise den governor auf "conservative" temporär einzustellen, reicht im Terminal die Eingabe von
# echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Nun kann man sich mittels
# cat /proc/cpuinfo
unter anderem die Taktfrequenz der CPU auf den Monitor holen.
Die drei eben genannten Schritte lassen sich mit den cpufrequtils (nach Installation per "emerge cpufrequtils") komfortabler durchführen.
# cpufreq-info
zeigt die verfügbaren Frequenz-Schritte und governor sowie die aktuelle Taktfrequenz an und per
# cpufreq-set -g conservative
wird der "conservative" governor eingestellt.
| Code: Beispielausgabe von cat /proc/cpuinfo |
processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 31 model name : AMD Athlon(tm) 64 Processor 3000+ stepping : 0 cpu MHz : 1001.315 cache size : 512 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow lahf_lm bogomips : 2005.88 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp
|
Auf manchen Systemen kann es vorkommen, dass die angezeigte CPU-Frequenz immer konstant bleibt. In dem Fall sollte man auf die bogomips achten, die in der Regel dem doppelten Prozessortakt entsprechen. Ebenfalls kann man mittels
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
die CPU-Frequenz in Hertz ermitteln. Je nach Last sollte die Ausgabe oben variieren.
Um den governor bei jedem Systemstart auf das gewünscht Maß einzustellen, empfiehlt sich ein Eintrag in die /etc/conf.d/local.start
# Enable CPU scaling echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
