BUT...
Now in my dual monitor configuration (laptop lcd + external monitor) the primary display is the external one, no matter how I modify xorg.conf. I suspect that hal, once the AutoAddDevices option was turned on, sets the primary display on its own, regardless of any setting in xorg.conf.
Can anyone confirm my suspects or tell me what's going on? And if it's really a hal issue, how can I configure it so that I can choose my primary screen?
Edit: I found a workaround. I configured the touchpad in xorg.conf and left the AutoAddDevice set to false (not a smart workaround but this works...:rolleyes:)
]]>last week i bought exactly the same laptop and had also problems with
synaptics and hal.
thats my solution:
xorg.conf
Section "Device"
Identifier "Card0"
Driver "fglrx"
VendorName "ATI Technologies Inc"
BoardName "Radeon Mobility HD 3470"
BusID "PCI:1:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "True"
EndSection
11-x11-synaptics.fdi:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<merge key="input.x11_driver" type="string">synaptics</merge>
<merge key="input.x11_options.AlwaysCore" type="string">true</merge>
<merge key="input.x11_options.VertEdgeScroll" type="string">true</merge>
<merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge>
<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">2</merge>
<merge key="input.x11_options.TapButton3" type="string">3</merge>
</match>
</device>
</deviceinfo>
quite vanilla, but now you can extend it with additionally values. ;-)
best wishes
]]>udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX1_port_logicaldev_input'
info.capabilities = {'input', 'input.touchpad'} (string list)
info.category = 'input' (string)
info.parent = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX1_port' (string)
info.product = 'SynPS/2 Synaptics TouchPad' (string)
info.subsystem = 'input' (string)
info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX1_port_logicaldev_input' (string)
input.device = '/dev/input/event8' (string)
input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX1_port' (string)
input.product = 'SynPS/2 Synaptics TouchPad' (string)
input.x11_driver = 'synaptics' (string)
input.x11_options.AccelFactor = '0.00150' (string)
input.x11_options.BottomEdge = '4200' (string)
input.x11_options.Device = '/dev/input/psaux' (string)
input.x11_options.FingerHigh = '30' (string)
input.x11_options.FingerLow = '25' (string)
input.x11_options.HorizEdgeScroll = '1' (string)
input.x11_options.HorizTwoFingerScroll = '1' (string)
input.x11_options.LeftEdge = '1700' (string)
input.x11_options.MaxSpeed = '0.70' (string)
input.x11_options.MaxTapMove = '220' (string)
input.x11_options.MaxTapTime = '180' (string)
input.x11_options.MinSpeed = '0.10' (string)
input.x11_options.RightEdge = '5300' (string)
input.x11_options.SHMConfig = 'on' (string)
input.x11_options.TapButton1 = '1' (string)
input.x11_options.TapButton2 = '2' (string)
input.x11_options.TapButton3 = '3' (string)
input.x11_options.TopEdge = '1700' (string)
input.x11_options.VertEdgeScroll = '1' (string)
input.x11_options.VertScrollDelta = '100' (string)
input.x11_options.VertTwoFingerScroll = '1' (string)
linux.device_file = '/dev/input/event8' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'input' (string)
linux.sysfs_path = '/sys/class/input/input8/event8' (string)
It seems that the options are correctly loaded, right? So maybe it's only matter of finding the right settings?
Edit: weird enough, synclient says that "Can't access shared memory area. SHMConfig disabled?" even if SHMConfig = 'on'.
]]><match key="info.capabilities" contains="input.touchpad">
You should be able to find the corect input from the lshal output. For example you might need to change to:
<match key="info.capabilities" contains="input.mouse">
]]><?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<merge key="input.x11_driver" type="string">synaptics</merge>
<!-- Arbitrary options can be passed to the driver using
the input.x11_options property since xorg-server-1.5. -->
<merge key="input.x11_options.LeftEdge" type="string">1700</merge>
<merge key="input.x11_options.RightEdge" type="string">5300</merge>
<merge key="input.x11_options.TopEdge" type="string">1700</merge>
<merge key="input.x11_options.BottomEdge" type="string">4200</merge>
<merge key="input.x11_options.FingerLow" type="string">25</merge>
<merge key="input.x11_options.FingerHigh" type="string">30</merge>
<merge key="input.x11_options.MaxTapTime" type="string">180</merge>
<merge key="input.x11_options.MaxTapMove" type="string">220</merge>
<merge key="input.x11_options.VertScrollDelta" type="string">100</merge>
<merge key="input.x11_options.MinSpeed" type="string">0.20</merge>
<merge key="input.x11_options.MaxSpeed" type="string">0.50</merge>
<merge key="input.x11_options.AccelFactor" type="string">0.0050</merge>
<merge key="input.x11_options.SHMConfig" type="string">on</merge>
<merge key="input.x11_options.VertEdgeScroll" type="string">on</merge>
<merge key="input.x11_options.HorizEdgeScroll" type="string">on</merge>
<merge key="input.x11_options." type="string">on</merge>
<merge key="input.x11_options." type="string">on</merge>
<merge key="input.x11_options." type="string">on</merge>
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.CircularScrolling" type="string">on</merge>
<merge key="input.x11_options.CircScrollTrigger" type="string">3</merge>
</match>
</device>
</deviceinfo>
This one works for me.... You may have to change left edge, right edge etc .... use synclient to get those values
]]><?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<match key="info.product" contains="Synaptics TouchPad">
<merge key="input.x11_driver" type="string">synaptics</merge>
<merge key="input.x11_options.Device" type="string">/dev/input/psaux</merge>
<merge key="input.x11_options.LeftEdge" type="string">120</merge>
<merge key="input.x11_options.LeftEdge" type="string">1700</merge>
<merge key="input.x11_options.RightEdge" type="string">5300</merge>
<merge key="input.x11_options.TopEdge" type="string">1700</merge>
<merge key="input.x11_options.BottomEdge" type="string">4200</merge>
<merge key="input.x11_options.FingerLow" type="string">25</merge>
<merge key="input.x11_options.FingerHigh" type="string">30</merge>
<merge key="input.x11_options.MaxTapTime" type="string">180</merge>
<merge key="input.x11_options.MaxTapMove" type="string">220</merge>
<merge key="input.x11_options.VertScrollDelta" type="string">100</merge>
<merge key="input.x11_options.MinSpeed" type="string">0.10</merge>
<merge key="input.x11_options.MaxSpeed" type="string">0.70</merge>
<merge key="input.x11_options.AccelFactor" type="string">0.00150</merge>
<merge key="input.x11_options.SHMConfig" type="string">on</merge>
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.VertEdgeScroll" type="string">1</merge>
<merge key="input.x11_options.HorizEdgeScroll" type="string">1</merge>
<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">2</merge>
<merge key="input.x11_options.TapButton3" type="string">3</merge>
</match>
<match key="info.product" contains="AlpsPS/2 ALPS">
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
<match key="info.product" contains="appletouch">
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
<match key="info.product" contains="bcm5974">
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
</match>
</device>
</deviceinfo>
and here's the relevant piece of xorg.conf:
#Section "InputDevice"
# Identifier "Mouse0"
# Driver "mouse"
# Option "Protocol" "auto"
# Option "Device" "/dev/input/mice"
# Option "ZAxisMapping" "4 5 6 7"
#EndSection
Section "ServerLayout"
#InputDevice "Mouse0" "CorePointer"
Identifier "X.org Configured"
Screen 0 "aticonfig-Screen[0]-0" 0 0
Screen "aticonfig-Screen[0]-1" RightOf "aticonfig-Screen[0]-0"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/misc"
FontPath "/usr/share/fonts/100dpi:unscaled"
FontPath "/usr/share/fonts/75dpi:unscaled"
FontPath "/usr/share/fonts/TTF"
FontPath "/usr/share/fonts/Type1"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "xtrap"
Load "glx"
Load "dri"
Load "freetype"
Load "synaptics"
EndSection
Section "ServerFlags"
Option "AutoAddDevices" "False"
Option "Xinerama" "on"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "it"
Option "XkbVariant" ""
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Monitor"
Identifier "aticonfig-Monitor[0]-0"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Monitor"
Identifier "aticonfig-Monitor[0]-1"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Device"
Identifier "Card0"
Driver "radeon"
VendorName "ATI Technologies Inc"
BoardName "Mobility Radeon HD 3400 Series"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "aticonfig-Device[0]-0"
Driver "fglrx"
Option "PairModes" ""
Option "DesktopSetup" "clone"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "aticonfig-Device[0]-1"
Driver "fglrx"
BusID "PCI:1:0:0"
Screen 1
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
Section "Screen"
Identifier "aticonfig-Screen[0]-0"
Device "aticonfig-Device[0]-0"
Monitor "aticonfig-Monitor[0]-0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "aticonfig-Screen[0]-1"
Device "aticonfig-Device[0]-1"
Monitor "aticonfig-Monitor[0]-1"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Any hint? Thank you very much
]]>