Samsung P35
Aus Gentoo Linux Wiki
| Laptops • Motherboards • Servers • Eingabegeräte • RAID Controller • TV Karten • Wireless • Andere Hardware • Andere Architekturen • alphabetischer Hardware Index |
Dieser Artikel beschreibt, wie man die einzelnen Komponenten des Notebooks Samsung P35 aktivieren und verwenden kann.
Inhaltsverzeichnis |
[Bearbeiten] Installation des Gentoo-Grundsystems
Das Grundsystem kann man einfach nach dem Gentoo Linux x86 Handbuch installieren.
[Bearbeiten] Grafik
Das Notebook verfügt übereine ATi Radeon Mobility 9700 Grafikkarte die mit den ATi-Treibern verwendet werden kann. In diesem Artikel wird beschrieben, mit welchen Einstellungen und Konfiguration ich den ATi-Treiber für die Grafikkarte eingebunden habe. Um auch in anderen Programmen eine Möglichst hohe Kompatibilität zu der Grafikkarte zu erreichen habe ich ebenfalls die /etc/make.conf Datei um folgende Zeile erweitert.
| Datei: make.conf |
VIDEO_CARDS="radeon" |
[Bearbeiten] Kerneleinstellungen
Ich habe bei meinem Kernel folgende Einstellungen vorgenommen. Grundlage war hierbei HOWTO ATi drivers. Ziel war es damit die 3D Bescheunigung zu ermöglichen und einen Framebuffer Bootsplash zu bekommen.
Probleme gibt es nur beim Framebuffer im silent-mode doch dazu später mehr.
| Linux Kernel Configuration: Linux Kernel 2.6.15-gentoo-r1 |
Loadable Module Support --->
[*] Enable loadable module support
[*] Module unloading
[*] Automatic kernel module loading
Processor type and features --->
[*] MTRR (Memory Type Range Register) support
File Systems --->
Pseudo filesystems --->
[*]Virtual memory file system support
Device Drivers --->
Character Devices --->
<*> /dev/agpgart (AGP Support)
<*> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
< > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
Graphics support --->
<*> Support for frame buffer devices
<*> VESA VGA graphics support
VESA driver type (vesafb-tng) --->
(1400x1050@60) VESA derfault mode
Logo configuration --->
[ ] Bootup logo
[*] Support for framebuffer splash
|
Für den Framebuffer unbedingt VESA VGA verwenden, da bei der Verwendung ATi-Radeon supportdas zusammenspiel mit den ATi-Treibern nicht funktioniert und das system sich aufhängen kann!
Nicht vergessen: Kompilieren und mit neuem Kernel starten.
[Bearbeiten] ATi-Treiber installieren
Die Radeon 9700 Mobility wird von dem derzeit aktuellen Treiber Version 8.21.7 unterstützt. Am am besten die neuste Version des Treibers benutzen. Die Installation des Teribers führt man am sinnvollsten auf einer Console durch und stoppt währen dieser Zeit xdm:
| Code: xdm beenden |
# /etc/init.d/xdm stop |
Um ati-drivers zu nutzen, sollte zuvor geprüft werden ob xorg-x11 ohne dlloader USE Flag kompiliert wurde.
| Code: |
# equery uses xorg-x11 |
Wenn doch xorg-x11 neu kompilieren dlloader USE Flag.
Um sicherzustellen, dass auch wirklich die neusten Teiber genommen werden, unmask ati-drivers sowie deren Abhängigkeiten.
| Code: |
echo "app-admin/eselect ~x86" >> /etc/portage/package.keywords echo "app-admin/eselect-opengl ~x86" >> /etc/portage/package.keywords echo "x11-drivers/ati-drivers ~x86" >> /etc/portage/package.keywords echo "x11-apps/ati-drivers-extra ~x86" >> /etc/portage/package.keywords |
Jetzt kann der ATi-Treiber installiert werden. ati-drivers-extra ist ein Control Panel für den Treiber den man nicht unbedingt benötigt. Ich habe ihn nicht verwendet.
| Code: |
# emerge -av ati-drivers |
Nach der Installation wird das Kernelmodul geladen und zum ATi OpenGL subsytem gewechselt:
| Code: |
# modprobe fglrx # eselect opengl set ati |
(WICHTIG!)(Nicht opengl-update verwenden)
X Konfigurieren:
| Code: |
# aticonfig |
Bei älteren Treibern:
| Code: |
# fglrxconfig |
Sollte es nicht funktionieren muss der original Pfad des Scripts angegeben werden:
| Code: |
# /opt/ati/bin/aticonfig |
Die Parameter müssen hier individuell gesetz werden. Wer eine erste funktionierende Grundinstallation möchte kann folgenden Befehl verwenden:
| Code: |
# aticonfig -–initial –-resolution 1400x1050,1280x1024 –-input=/etc/X11/xorg.conf |
Anschließend X starten
| Code: |
# startx |
Eine Konsole öffnen und prüfen ob die Installation erfolgreich war:
| Code: |
# /opt/ati/bin/fglrxinfo |
Erfolgt darufhin eine ausgebe wie:
OpenGL vendor string "ATI Technologies inc."
dann war es erfolgreich.
[Bearbeiten] Framebuffer Konsole und Bootsplash
In diesem Bereich gibt es bei mir noch Probleme. Es ist mir nicht möglich gewesen einen funktionierenden Silent-splash zu installieren. Die Framebuffer Konsole arbeitet sonst sehr gut mit den von mit gesetzten Hintergrundbildern.
Für die Einrichtung eines Framebuffer Hintergrunds in der Konsole müssen die o.g. Kerneleinstellungen vorgenommen werden. Wenn diese bei der Installation des ATi-Treibers bereits berücksichtigt wurden, kann es direkt los gehen. Benötigt werden dazu die splashutils und splash-themes
[Bearbeiten] CPU Powermanagement
Um in Batteriebetrieb die Akkuleistung zu erhöhen habe ich ein Powermanagement installiert um den Prozessortakt an die geforderte Leistung anzupassen. Wenig Leistung benötigt -> niedrige Taktfrequenz, viel Leistung benötigt -> hohe Taktfrequenz.
Grundlage und Quelle hierfür ist der Gentoo Power Management Guide. Der hier speziell für das Samsung P35 umgesetzt wird.
[Bearbeiten] Kernelkonfiguration
Der erste Schritt der notwendig ist um cpufreq zu nutzen ist wiedereinmal die Vorbereitung des Kernels. Es gilt zunächst folgendes einzustellen:
| Linux Kernel Configuration: Linux 2.6.15-gentoo-r1 |
Power Management Options --->
[*] Power Management Support (ACPI, APM)
ACPI( Advanced Configuration and Power Interface ) Support --->
[*] ACPI Support
[ ] Sleep States
[ ] /proc/acpi/sleep (deprecated)
[*] AC Adapter
[*] Battery
<*> Button
<M> Video
[ ] Generic Hotkey
<M> Fan
<M> Processor
<M> Thermal Zone
< > ASUS/Medion Laptop Extras
< > IBM ThinkPad Laptop Extras
< > Toshiba Laptop Extras
(0) Disable ACPI for systems before Jan 1st this year
[ ] Debug Statements
[*] Power Management Timer Support
< > ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)
CPU Frequency Scaling --->
[*] CPU Frequency scaling
[ ] Enable CPUfreq debugging
< > CPU frequency translation statistics
[ ] CPU frequency translation statistics details
Default CPUFreq governor (userspace)
<*> 'performance' governor
<*> 'powersave' governor
<*> 'ondemand' cpufreq policy governor
<*> 'conservative' cpufreq governor
<*> CPU frequency table helpers
<M> ACPI Processor P-States driver
--- CPU processor drivers
<*> Intel Enhanced SpeedStep
[*] Use ACPI tables to decode valid frequency/voltage pairs
[ ] Built-in tables for Banias CPUs
Es sind hier nicht alle Optionen aufgeführt nur die veränderten. Des Weiteren habe alle anderen CPU processor drivers deaktivert. |
Wenn das Kompilieren des Kernels abgeschlossen ist und mit dem neuen Kernel gebootet wurde, können die benötigten programme installiert werden. Zunächst habe ich ACPI installiert.
[Bearbeiten] Powermanagement
Damit überhaupt auf Änderungen der Stromversorgung oder etwa das zuklappen des Laptops reagiert wird, wird der ACPI Deamon benötigt, der zunächst als erstes installiert wird.
[Bearbeiten] ACPI
| Code: Installing acpid |
# emerge sys-power/acpid # /etc/init.d/acpid start # rc-update add acpid default |
[Bearbeiten] Runlevel "battery"
Damit das Powermanagement nur im Batteriebetrieb aktiviert wird,ist es sinnvoll ein runlevel "battery" zu erstellen, das bei nicht eingestecktem Netzteil aktivtiert wird.
| Code: Creating a battery runlevel |
# cd /etc/runlevels # cp -a default battery # emerge powermgmt-base |
Jetzt muss ein Script erstellt werden, das die Umschaltung der runlevel vornimmt.
| Datei: /etc/acpi/actions/pmg_switch_runlevel.sh |
#!/bin/bash
# Anfang der Konfiguration
RUNLEVEL_AC="default"
RUNLEVEL_BATTERY="battery"
# Ende der Konfiguration
if [ ! -d "/etc/runlevels/${RUNLEVEL_AC}" ]
then
logger "${0}: Runlevel ${RUNLEVEL_AC} does not exist. Aborting."
exit 1
fi
if [ ! -d "/etc/runlevels/${RUNLEVEL_BATTERY}" ]
then
logger "${0}: Runlevel ${RUNLEVEL_BATTERY} does not exist. Aborting."
exit 1
fi
if on_ac_power
then
if [[ "$(cat /var/lib/init.d/softlevel)" != "${RUNLEVEL_AC}" ]]
then
logger "Switching to ${RUNLEVEL_AC} runlevel"
/sbin/rc ${RUNLEVEL_AC}
fi
elif [[ "$(cat /var/lib/init.d/softlevel)" != "${RUNLEVEL_BATTERY}" ]]
then
logger "Switching to ${RUNLEVEL_BATTERY} runlevel"
/sbin/rc ${RUNLEVEL_BATTERY}
fi
|
| Code: executable script |
# chmod +x /etc/acpi/actions/pmg_switch_runlevel.sh |
Jetzt muß noch festgelegt werden, welcher event das script und damit verbunden die Umschaltung in ein anderes runlevel auslöst. Dazu habe ich zunächst den default-handler /etc/acpid/events/default gelöscht und anschließend folgenden event-handler implementiert.
| Datei: /etc/acpi/events/processor |
event=processor.* action=/etc/acpi/actions/pmg_switch_runlevel.sh %e |
| Datei: /etc/acpi/events/battery |
event=battery.* action=/etc/acpi/actions/pmg_switch_runlevel.sh %e |
Abschließend muss acpid neu gestartet werden, um die Änderungen zu erkennen.
| Code: restart acpid |
# /etc/init.d/acpid restart |
Damit auch bei einem Neustart erkannt wird, ob der Laptop am Netz oder per Battery betrieben wird habe ich folgende Zeile in die Datei /etc/conf.d/local.start eingefügt. Dadurch wird das ACPI Ereignisses battery/battery vorgetäuscht, weshalb überprüft wird, ob das runlevel battery oder default zu verwenden ist.
| Datei: /etc/conf.d/local.start |
/etc/acpi/actions/pmg_switch_runlevel.sh "battery/battery" |
Nach diesen Vorbereitungen können die einzelnen Geräte konfiguriert werden.
[Bearbeiten] cpufreq
[Bearbeiten] Externe Links
- Diese Installationsanleitung ist im TuxMobil Linux Laptop und Notebook Installationsverzeichnis gelistet.
