Montag März 30, 2009

Elitebook 8530p, Gentoo, Funtoo - Teil 2

Es hat mir einfach keine Ruhe gelassen ;-) Wie kürzlich berichtet, hat Gentoo Linux ja soweit funktioniert mit dem HP Elitebook 8530p. Nur leider war mit der ATI Radeon HD  3650 (R635) kein Blumentopf zu gewinnen. Nun gut, also nochmal ran an die Büchse...

Zunächst war klar, die Komponenten da drin sind ziemlich neu für Linux-Verhältnisse. Es musste also das Neueste vom Neuen an Software und Treiber her. Also hab ich nicht Gentoo sondern Funtoo installiert ;-) Funtoo stammt von Daniel Robbins und das war der Gentoo-Gründer. Die Unterschiede zwischen Funtoo und Gentoo sind nicht so riesig. Zum einen wird dort der Portage-Tree in einem Git-Repository verwaltet. Das merkt man hauptsächlich bei einem emerge aber auch nur optisch soz. Der zweite große Unterschied ist, das die Pakete aus dem unstable Zweig kommen - also genau das was wir hier brauchen ;-) Die Unterschiede bei der Installation findet ihr im o.g. Link zu Funtoo.

Im Bios sollte man zunächst die Option System Configuration -> Device Configuration -> FAN Always on while on AC Power ausschalten. Gebootet habe ich zunächst wieder mit Sabayon-Linux 4.1. Im Prinzip tut es aber jede Distribution die einen neueren Kernel hat z.B. auch die auf Gentoo basierende System Rescue CD. Sabayon habe ich mit den Parametern acpi=off gestartet (siehe auch hier). Ohne den, hängt sich die Installation relativ schnell weg. ACPI auszuschalten, ist i.d.R. keine so gute Idee, zumal man dann auch nur einen Prozessor hat, aber für die Grundinstallation tut's das. Wenn gebootet, geht man wie im Funtoo/Gentoo-Handbuch beschrieben vor, bis man zu der Stelle kommt, wo man den Kernel kompiliert. Da wir ja im unstable-Zweig sind, erhalten wir automatisch die neuesten gentoo-sources und das ist gerade jetzt aktuell der Kernel 2.6.29. Und nur zur Beruhigung: Damit läuft auch ACPI wunderbar ;-) Die .config für den Kernel habe ich nicht selbst erstellt, sondern habe mir vertrauensvoll die Konfiguration (in diesem Fall für x86_64 bzw. amd64 / [Update 20100419: Die Kernel-Sourcen befinden sich inzwischen hier im GIT] [Update 20120209: Die Quellen haben sich wieder geändern: Man findet sie jetzt u.a. hier .]gezogen, die Sabayon mit ihrem Kernel 2.6.27 verwendet. Die kopiert man nach /usr/src/linux/.config und erzeugt sich dann mit genkernel --menuconfig --oldconfig all einen Kernel. Es wird vorher noch das Kernelmenü aufgerufen, wo man noch eigene Einstellungen vornehmen kann, aber ich würde da erst später rumspielen. Die Sabayon-Jünger machen da einen guten Job. Die /boot/grub/grub.conf sieht dann bei mir so aus:

default 0
timeout 30

title Gentoo 2.6.29
root (hd0,0)
kernel /boot/kernel-genkernel-x86_64-2.6.29-gentoo root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda2 udev vga=791
initrd /boot/initramfs-genkernel-x86_64-2.6.29-gentoo

real_root müsst ihr natürlich anpassen, wenn / bei euch wo anderes liegt. Wenn man dann die restliche Installationsprozedur abgeschlossen hat, kann man booten. Aktuell erscheint dann nicht zweimal der beliebte Tux sondern zwei tasmanische Teufel ;-)

Soweit so gut. Bevor man sich nun die radeonhd-Treiber für die ATI 3650 (R635) installiert, muss man noch die /etc/make.conf anpassen. Die sieht bei mir so aus:

ACCEPT_KEYWORDS="~amd64"
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -msse4.1 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"

GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ "

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="acl cups gdbm gpm libg++ nptl nptlonly unicode aac apache2 acpi alsa arts bash-completion bluetooth bmp bzip2 cdparanoia clamav curl cairocdr crypt dbus dv dvb dvd dvdr dvdread eds encode esd ethereal exif expat evo faad fam firefox ffmpeg flac gcj gd glitz gnutls gif gnome gpm gstreamer gtk hal ieee1394 imagemagick jpeg kde kerberos lirc lm_sensors mad mikmod matroska mbox mp3 mjpeg mono mpeg multilib nas ncurses ogg opengl oss pdf png posix postgres python qt3 qt3support quicktime readline ruby samba sasl scanner sdl spell sse2 ssl streamzap svg tcpd theora tidy tiff tiff truetype usb v4l vcd vorbis wifi win32codecs wmf wxwindows xine xinerama unicode X xml xmms xvid xv zlib"

# KDE
LINGUAS="en de"

# X11
VIDEO_CARDS="radeon radeonhd"
INPUT_DEVICES="keyboard mouse evdev synaptics"

Wichtig ist, das man radeon UND radeonhd bei den VIDEO_CARDS angibt! Die CFlags bekommt man ja üblicherweise hier. Dann installiert man sich den radeonhd-Treiber. Aktuell ist das x11-drivers/xf86-video-radeonhd-1.2.4. Das installiert dann einen ganzen Rattenschwanz an Paketen hinterher u.a. natürlich den xorg-server. Wenn das passiert ist, kann man sich mal eine xorg.conf erstellen mit xorgcfg z.B. Für den Laptop hier sieht die xorg.conf bei mir so aus:

Section "ServerLayout"         
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0    
EndSection                              

Section "Files"
        ModulePath   "/usr/lib64/xorg/modules"
        FontPath     "/usr/share/fonts/misc/"
        FontPath     "/usr/share/fonts/TTF/" 
        FontPath     "/usr/share/fonts/OTF"  
        FontPath     "/usr/share/fonts/Type1/"
        FontPath     "/usr/share/fonts/100dpi/"
        FontPath     "/usr/share/fonts/75dpi/"
EndSection                                    

Section "Module"
        Load  "freetype"
        Load  "glx"    
        Load  "record" 
        Load  "xtrap"  
        Load  "extmod" 
        Load  "dri"    
        Load  "dbe"    
EndSection             

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection                          

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"            
        ### [arg]: arg optional                                     
        #Option     "NoAccel"                   # [<bool>]          
        #Option     "AccelMethod"               # [<str>]           
        #Option     "offscreensize"             # [<str>]           
        #Option     "SWcursor"                  # [<bool>]          
        #Option     "ignoreconnector"           # [<str>]           
        #Option     "forcereduced"              # [<bool>]          
        #Option     "forcedpi"                  # <i>               
        #Option     "useconfiguredmonitor"      # [<bool>]          
        #Option     "HPD"                       # <str>             
        #Option     "NoRandr"                   # [<bool>]          
        #Option     "RROutputOrder"             # [<str>]           
        #Option     "DRI"                       # [<bool>]          
        #Option     "TVMode"                    # [<str>]           
        #Option     "ScaleType"                 # [<str>]           
        #Option     "UseAtomBIOS"               # [<bool>]          
        #Option     "AtomBIOS"                  # [<str>]           
        #Option     "UnverifiedFeatures"        # [<bool>]          
        #Option     "Audio"                     # [<bool>]          
        #Option     "HDMI"                      # [<str>]           
        #Option     "COHERENT"                  # [<str>]           
        Identifier  "Card0"                                         
        Driver      "radeonhd"                                      
        Option      "AccelMethod" "exa"                             
        Option      "DRI" "On"                                      
        VendorName  "ATI Technologies Inc"                          
        BoardName   "Mobility Radeon HD 3650"                       
        BusID       "PCI:1:0:0"                                     
EndSection                                                          

Section "Extensions"
        Option "Composite" "On"
EndSection                    

Section "ServerFlags"
        Option "AIGLX" "On"
EndSection                

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

Für den ersten Test sollte man aber erstmal folgende Optionen weglassen (dazu gleich mehr):

Option "AccelMethod" "exa"
Option "DRI" "On"

Section "Extensions"
 Option "Composite" "On"
EndSection

Section "ServerFlags"
 Option "AIGLX" "On"
EndSection

Dann kann man mal xterm starten und es sollten dann hoffentlich drei Shell-Fenster erscheinen mit dem unendlich geilen twm-Windowmanager ;-) Wenn das tut, dann kann man z.B. KDE 4.2 installieren mit emerge -av kde-meta. Man wird aber aktuell feststellen, das beim Fenster verschieben z.B. nicht gerade der Punk abgeht. Wer's schneller haben möchte - und da kann man dann wirklich nicht meckern - der installiert sich den neuesten Treiber selbst. Das geht wunderbar und ist hier beschrieben. Damit hat man dann einen flotten Bildschirmaufbau. Leider lassen sich damit die KDE Desktop Effekte noch nicht nutzen. Man wird in /var/log/Xorg.0.log eine Fehlermeldung wie diese hier sehen:

(EE) AIGLX error: dlopen of /usr/lib64/dri/r600_dri.so failed (/usr/lib64/dri/r600_dri.so: cannot open shared object file: No such file or directory)
(EE) AIGLX: reverting to software rendering

D.h. es ist zwar alles soweit vorbereitet im Treiber, aber der 3D-Support fehlt noch. Aber wenn die Treiber-Götter uns gnädig sind und diese Meldung hier stimmt, dann bestehen gute Aussichten, das wir mit dieser Grafikkarte doch noch in den Genuss der KDE Desktop Effekte ohne diese besch... ATI-Closed Source Treiber kommen, die mit jedem Kernelupdate sowieso wieder nicht mehr funktionieren und mit Kernel >= 2.6.28 überhaupt nicht laufen, den ich aber wiederum brauche, damit dieser Laptop hier überhaupt vernünftig tut! Ahhhhhh! ;-) Vorallem ist mir der komplette Laptop mit Kernel 2.6.28 abgesemmelt, wenn ich das erstemal mich mit einem WLAN verbunden habe. Beim zweiten Start ging's dann. Aber mit Kernel 2.6.29 läuft jetzt absolut top.

Damit läuft eigentlich fast alles unter Linux mit dem Laptop. Ausprobiert habe ich allerdings noch nicht Bluetooth, den TPM-Chip und den Fingerabdruckleser. Definitiv nicht funktioniert das integrierte UMTS-Modem. Da gibt's zwar irgendwie eine Möglichkeit (s.u.), aber ganz wahnsinnig bin ich noch nicht, das ich mir dieses Prozedere antun muss. Ich habe stattdessen jetzt eine Karte Option 0301 von Vodafone. Läuft wunderbar mit umtsmon. Ach ja: Für WLAN kann ich nur wicd wärmstens empfehlen. Damit kann man sehr schon seine WLAN's oder auch Ethernet verwalten. Langsam wird's richtig komfortabel ;-)

Links:
Open-Source R600 OpenGL Support May Come Soon
How to setup Bluetooth
Nokia Handy als UMTS-Modem unter Linux (unter Gentoo als Alternative zu einer UMTS-Karte)
UMTS-Anbindung für Netbooks
UMTSmon SUPPORTED HARDWARE
HP un2400 Mobile Broadband Module (das ist besagtes, integriertes UMTS-Modem)
Kernelpatch für un2400 UMTS-Modem (für die Wahnsinnigen unter uns ;-) )
Problem with WWAN module un2400
HP EliteBook 8530p Notebook PC - Overview - Die offizielle Seite zum Notebook von HP
SystemRescueCd
Safe Cflags/Intel
Kubuntu Linux auf dem Elitebook 8530p
HP Elitebook 8530w - Ganz wichtige Seite mit Infos!
RadeonHD xorg Treiber Wiki
radeonhd - The Driver for AMD GPG r5xx/r6xx/r7xx Chipsets
FFe: Xv and EXA not supported on R6xx/R7xx chipsets
radeonhd:r6xx_r7xx_branch

Kommentare:

Senden Sie einen Kommentar:
  • HTML Syntax: Ausgeschaltet