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.
Martin says:
Hi
Ich muss mein DSDT Table in WINDOWS VISTA -ich weiß, MS IST evil- tauschen, damit ich endlich eine Batterieanzeige habe.
Vista ist nicht kompatibel zu ACPI 1.
Bitte, ich habe die DSDT Datei schon heruntergeladen von sourceforge, nun muss ich sie nur irgendwie austauschen.
Danke im Voraus
Martin
Stargazer says:
Laut meinem Info-Stand ist das DSDT eine Sache des Kernels. Eventuell gibt’s da Treiber mit dem man das machen kann – bin da aber skeptisch.