AMD 64

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung.
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 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