Wir wandern weiter auf unserer Reise des Setups. Hoffentlich liess sich Xorg (zur Zeit Version 7, Split Ebuilds) emergen, was aufgrund zahlreicher Umstellungen nicht immer reibungslos möglich gewesen sein dürfte. Die Konfiguration von Xorg spielt sich in der Datei /etc/X11/xorg.conf ab.
Dies ist meine Version, wobei es zu beachten gilt, dass ich die ATI binary Treiber und das Synaptics-Modul verwende:
Section "Module"
Load "dbe" # Double buffer extension
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSubSection
Load "type1"
Load "freetype"
Load "glx"
Load "dri"
Load "drm"
Load "record"
Load "xtrap"
EndSection
Section "ServerLayout"
Identifier "Simple Layout"
Screen 0 "Screen0" 0 0
InputDevice "Mouse1" "CorePointer"
InputDevice "Mouse2" "SendCoreEvents"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection
Section "Files"
FontPath "/usr/share/fonts/75dpi:unscaled"
FontPath "/usr/share/fonts/100dpi:unscaled"
FontPath "/usr/share/fonts/TTF"
FontPath "/usr/share/fonts/Type1"
FontPath "/usr/share/fonts/cyrillic"
FontPath "/usr/share/fonts/misc"
FontPath "/usr/share/fonts/ukr"
FontPath "/usr/local/share/fonts"
EndSection
Section "InputDevice"
Identifier "Keyboard1"
Driver "keyboard"
Option "XkbModel" "microsoft"
Option "XkbLayout" "de"
Option "XkbVariant" "nodeadkeys"
EndSection
Section "InputDevice"
Identifier "Mouse1"
Driver "synaptics"
Option "AccelFactor" "0.0010"
Option "Emulates3Buttons" "on"
Option "Device" "/dev/psaux"
Option "ZAxisMapping" "4 5"
Option "Edges" "1900 5400 1800 3900"
Option "Finger" "25 30"
Option "FingerHigh" "30"
Option "FingerLow" "25"
Option "InputFashion" "Mouse"
Option "MaxSpeed" "0.10"
Option "MaxTapMove" "220"
Option "MaxTapTime" "180"
Option "MinSpeed" "0.02"
Option "VertScrollDelta" "100"
Option "SHMConfig" "on"
Option "UpDownScrolling" "on"
Option "Protocol" "IMPS/2"
Option "CorePointer" ""
Option "TapButton1" "1"
Option "SHMConfig" "on"
EndSection
Section "InputDevice"
Identifier "Mouse2"
Driver "mouse"
Option "InputFashion" "Mouse"
Option "Name" "Logitech MX500"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "Buttons" "7"
Option "ZAxisMapping" "4 5"
Option "Resolution" "1600"
Option "ButtonMapping" "1 2 3 6 4 5"
EndSection
Section "Monitor"
Identifier "tft"
VendorName "AUO"
ModelName "f03"
HorizSync 27.0 - 29.0
VertRefresh 40.0 - 60.0
ModeLine "1400x1050" 122.0 1400 1488 1640 1880 1050 1052 1064 1082 +hsync +vsync
Option "DPMS" "true"
EndSection
# === ATI device section ===
Section "Device"
Identifier "card0"
Driver "fglrx"
# === disable/enable XAA/DRI ===
Option "no_accel" "no"
Option "no_dri" "no"
# === misc DRI settings ===
# Option "mtrr" "on" # disable DRI mtrr mapper, driver has its own code for mtrr
# ### FireGL DDX driver module specific settings ###
# === Screen Management ===
Option "DesktopSetup" "Single"
Option "ScreenOverlap" "0"
Option "GammaCorrectionI" "0x06419064"
Option "GammaCorrectionII" "0x00b02c0b"
# === OpenGL specific profiles/settings ===
Option "Capabilities" "0x00000000"
Option "CapabilitiesEx" "0x00000000"
# === Video Overlay for the Xv extension ===
Option "VideoOverlay" "on"
# === OpenGL Overlay ===
# Note: When OpenGL Overlay is enabled, Video Overlay
# will be disabled automatically
Option "OpenGLOverlay" "on"
# === Center Mode (Laptops only) ===
Option "CenterMode" "off"
# === Pseudo Color Visuals (8-bit visuals) ===
Option "PseudoColorVisuals" "off"
# === QBS Management ===
Option "Stereo" "off"
Option "StereoSyncEnable" "1"
# === FSAA Management ===
Option "FSAAEnable" "no"
Option "FSAAScale" "1"
Option "FSAADisableGamma" "no"
Option "FSAACustomizeMSPos" "yes"
Option "FSAAMSPosX0" "0.250000"
Option "FSAAMSPosY0" "0.416666"
Option "FSAAMSPosX1" "0.083333"
Option "FSAAMSPosY1" "0.083333"
Option "FSAAMSPosX2" "0.416666"
Option "FSAAMSPosY2" "0.750000"
Option "FSAAMSPosX3" "0.750000"
Option "FSAAMSPosY3" "0.916666"
Option "FSAAMSPosX4" "0.583333"
Option "FSAAMSPosY4" "0.250000"
Option "FSAAMSPosX5" "0.916666"
Option "FSAAMSPosY5" "0.583333"
# === Misc Options ===
Option "UseFastTLS" "2"
Option "BlockSignalsOnLock" "on"
Option "UseInternalAGPGART" "yes"
Option "UseInternalAGPGART" "no"
Option "ForceGenericCPU" "no"
BusID "PCI:1:0:0" # vendor=1002, device=4c66
Option "backingstore" "true"
Option "RenderAccel" "true"
Screen 0
EndSection
Section "Screen"
Identifier "Screen0"
Device "card0"
Monitor "tft"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1400x1050"
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Extensions"
# Option "Composite" "Enable"
EndSection
Zu beachten ist weiters auch die Einstellung des Synaptics Touchpads, welches ohne die Definition des Tippens diese Funktion auch nicht ausführen wird (Vergleiche mit diesem Posting)
Nach ein bisschen herumfummeln an der xorg.conf sollte das System auch lauffähig sein und wir können uns dem nächsten Thema widmen, dem Bugfixing diverser Eigenheiten des Notebooks, wie zum Beispiel dem DSDT Table welcher für ACPI Handling zuständig ist. Benötigte Software ist dabei der Intel ASL Compiler welcher sogar im Portage vorhanden ist. ein emerge iasl lässt uns dieses Paket installieren.
Wir beginnen mit der Extraktion des vorhandenen Tables, welcher im BIOS mitgeliefert wird, gefolgt von seiner Zerlegung und einem Recompile:
cat /proc/acpi/dsdt > dsdt.dat iasl -d dsdt.dat iasl -tc dsdt.dsl
Durch diese Vorgehensweise ist es möglich, den aktuellen DSDT Table zu debuggen, da jeder Fehler ausgegeben wird, wie das folgende Beispiel zeigt:
dsdt.dsl 2626: Field (ECR, DWordAcc, Lock, Preserve) Error 1048 - ^ Host Operation Region requires ByteAcc access
In der entsprechenden Zeile befindet sich offensichtlich ein Fehler, welchen es zu bereinigen gibt. Wer sich diese Arbeit ersparen möchte sollte auf http://acpi.sourceforge.net/ vorbeischauen, ob es nicht einen schon reparierten DSDT Table für sein System gibt. Achtung! Dabei ist unbedingt die BIOS Version zu beachten!
Ein erfolgreicher Compile sieht wie folgt aus und zählt zu den anzustrebenden Zielen:
Intel ACPI Component Architecture
ASL Optimizing Compiler / AML Disassembler version 20030228 [Feb 28 2003]
Copyright (C) 2000 - 2003 Intel Corporation
Supports ACPI Specification Revision 2.0b
ASL Input: dsdt.dsl - 3760 lines, 123177 bytes, 1863 keywords
AML Output: DSDT.aml - 14606 bytes 499 named objects 1364 executable opcodes
Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 392 Optimizations
Wir bekommen eine Datei dsdt.hex welche sich nun als dsdt_table.h im Kernel einbauen lässt, wenn man einige Dinge beachtet:
Device Drivers --->
Generic Driver Options --->
[ ] Select only drivers that don't need compile-time external firmware
[ ] Prevent firmware from being built
Power management options (ACPI, APM) --->
ACPI (Advanced Configuration and Power Interface) Support --->
[*] Include Custom DSDT
(dsdt_table.h) Custom DSDT Table file to include
Wir compilen den Kernel wie gewohnt und ändern bei Bedarf die Einträge des Bootloaders. Die einmal erstellte dsdt_table.h sollte nun bei jedem zukünftigen Kernel eingebaut werden um Probleme zu vermeiden.