Bug 462574

Summary: bcm5974 unusable
Product: [Fedora] Fedora Reporter: David Woodhouse <dwmw2>
Component: xorg-x11-drv-synapticsAssignee: Peter Hutterer <peter.hutterer>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 9CC: mcepl, peter.hutterer, s.adam, xgl-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 1.1.0-6.fc11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-28 02:08:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
/usr/share/hal/fdi/policy/20thirdparty/10-synaptics.fdi none

Description David Woodhouse 2008-09-17 07:40:40 UTC
Now that the rawhide kernel uses the bcm5974 driver, the trackpad is not usable on my MacBookPro.

Firstly, we need to extend the 10-synaptics.fdi file as follows:
      </match>
+     <match key="info.product" contains="bcm5974">
+	<merge key="input.x11_driver" type="string">synaptics</merge>
+     </match>
     </match>

But even when I've done that, it doesn't work very well. A lot of the time it doesn't respond to touch at all, and when it does it moves very slowly.

Comment 1 David Woodhouse 2008-09-18 21:07:22 UTC
Building xf86-input-synaptics from fd.o git seems to fix it -- and already has the required update to the fdi file too.

Comment 2 Peter Hutterer 2008-09-18 23:51:25 UTC
Please try xorg-x11-drv-synaptics-0.15.1-1, it should address some of these issues.

https://admin.fedoraproject.org/updates/F9/FEDORA-2008-7925

Upstream is currently getting scaling issues sorted out and I have those patches for review in my inbox, so with a bit of hope we should see it soon.

Comment 3 David Woodhouse 2008-09-19 00:05:22 UTC
Is that update not in package CVS?

Comment 4 Peter Hutterer 2008-09-19 00:11:55 UTC
synaptics is superseded by xorg-x11-drv-synaptics, the update is in the latter.

Comment 5 David Woodhouse 2008-09-19 00:21:39 UTC
Oh, I was looking at the 'synaptics' package, not xorg-x11-drv-synaptics. Sorry.

Looks like 0.15.1 lacks the special configuration for bcm5974 which was added by commit fd3517b1, then reverted and replaced by the more cunning default handling in commit 102d1d6c. So although it'll load the driver now without me having to hack the fdi file, it'll still be unusable.

I haven't tested that hypothesis yet though, because I'll need to reboot into the new kernel for that.

The 0.15.2 package in rawhide looks like it should be OK.

Comment 6 Peter Hutterer 2008-09-19 00:31:37 UTC
0.15.2 has a few other issues as well (e.g. tap appears to break). There is a bit more work to be done upstream, so I hope that for 0.16.0 we should have all that stuff autoconfigured and working.

Comment 7 David Woodhouse 2008-11-04 17:53:39 UTC
Seems still not to give me the scrolling (button 4&5) on two-finger movement. How do I enable that again?

Comment 8 Peter Hutterer 2008-11-04 23:48:26 UTC
Option "VertTwoFingerScroll" "on"

(or the key input.x11_options.VertTwoFingerScroll if it is in the fdi file)

Comment 9 Matěj Cepl 2008-11-05 00:28:47 UTC
Did it help?

Comment 10 Stewart Adam 2008-11-27 03:17:18 UTC
On the F10 final, bcm5974 seems to get loaded but the two-finger scroll and right-click features don't seem to work. Tapping does work fine though.

Comment 11 Peter Hutterer 2008-11-27 22:49:03 UTC
Stewart:

Yeah, that's fixed in the synaptics 1.0 pre-releases (you can one to test from http://koji.fedoraproject.org/koji/buildinfo?buildID=69697, it'll be another few days before it'll hit F10). For the current F10 one you still need to activate two-finger scrolling manually.

Comment 12 Stewart Adam 2008-11-29 16:33:13 UTC
New package works perfectly, thanks.

Comment 13 Matěj Cepl 2008-11-30 14:41:24 UTC
David, does it work for you?

Comment 14 David Woodhouse 2009-02-08 10:53:19 UTC
Sorry for slow response.

The latest update to F-10 seems to break scrolling for me again. Should I see things like input.x11_options.VertTwoFingerScroll in 'lshal' output? I don't...

udi = '/org/freedesktop/Hal/devices/usb_device_5ac_231_noserial_if2_logicaldev_input'
  info.capabilities = {'input', 'input.touchpad'} (string list)
  info.category = 'input'  (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_5ac_231_noserial_if2'  (string)
  info.product = 'bcm5974'  (string)
  info.subsystem = 'input'  (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_5ac_231_noserial_if2_logicaldev_input'  (string)
  input.device = '/dev/input/event12'  (string)
  input.originating_device = '/org/freedesktop/Hal/devices/usb_device_5ac_231_noserial_if2'  (string)
  input.product = 'bcm5974'  (string)
  input.x11_driver = 'synaptics'  (string)
  linux.device_file = '/dev/input/event12'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'input'  (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.2/usb7/7-2/7-2:1.2/input/input12/event12'  (string)


I may have edited the .fdi file to include the required options, and it got overridden when I updated? I don't remember. Sorry.

Comment 15 Peter Hutterer 2009-02-08 22:27:20 UTC
Sorry, this was my fault, the update overwrote the fdi file. Fixed in 0.15.2-3 once the build goes through.

Comment 16 David Woodhouse 2009-02-09 07:01:47 UTC
Hm, OK.... but weren't we intending the package to get the settings right automatically, without needing the user to modify the fdi file for himself?

Comment 17 Peter Hutterer 2009-02-16 03:49:02 UTC
yes, and I think synaptics 1 (in rawhide) is good enough at that.

I didn't upgrade F10 because a number of defaults changed for this autconfiguration to work, so it may break people's touchpads midway through a release.

Comment 18 David Woodhouse 2009-03-11 15:57:13 UTC
Argh, F-10 updated and ate my settings again.

Comment 19 David Woodhouse 2009-03-11 16:45:58 UTC
And it seems not to work reliably either. A lot of the time when I touch the pad, it just doesn't do _anything_. This is even with the sensitivity turned right up.

Comment 20 Peter Hutterer 2009-03-12 22:23:36 UTC
(In reply to comment #18)
> Argh, F-10 updated and ate my settings again.  

sorry. I had to revert the change in 0.15.2-3, it was against fedora's policies. if you have custom configuration, you need to put it into /etc/hal/fdi/policies, anything in /usr/share/hal/... will be overwritten with the next update.

(In reply to comment #19)
> And it seems not to work reliably either. A lot of the time when I touch the
> pad, it just doesn't do _anything_. This is even with the sensitivity turned
> right up.  

that is rather weird. the driver itself hasn't seen any changes since september, not quite sure where the different behaviour comes from.

Comment 21 David Woodhouse 2009-04-05 09:26:23 UTC
Created attachment 338215 [details]
/usr/share/hal/fdi/policy/20thirdparty/10-synaptics.fdi

With these settings, it seems to work OK. But these settings don't always get loaded or stay loaded....

At boot, it comes up with different, slower and less usable settings. If I remove and reload the bcm5974 module, the proper settings from my fdi file get loaded. That's weird enough, but it _also_ seems to regress during use. I only use the touchpad occasionally, and after a while I notice it's gone back to being slow again. Comparing 'synclient -l' output...

--- slow	2009-04-04 12:00:33.000000000 +0100
+++ correct	2009-04-04 12:00:50.000000000 +0100
-    FingerLow               = 10
+    FingerLow               = 16
-    MaxTapTime              = 0
+    MaxTapTime              = 223
-    VertScrollDelta         = 32
+    VertScrollDelta         = 40
-    MinSpeed                = 0.521
+    MinSpeed                = 0.8
-    AccelFactor             = 0.079
+    AccelFactor             = 1.2
-    CircScrollDelta         = 0.01
+    CircScrollDelta         = 0.1

Comment 22 David Woodhouse 2009-04-05 09:26:56 UTC
The behaviour in comment #21 has started since upgrading to rawhide a few days ago. I hadn't noticed it before, in F-10.

Comment 23 David Woodhouse 2009-04-05 23:31:07 UTC
It seems that gsynaptics-init is overwriting values from gconf.

That wouldn't be so bad, now I've worked it out, but both gsynaptics and synclient seem unable to set AccelFactor larger than 0.2. Setting it to 1.2 works fine in the fdi file as long as nothing else ever touches out...

Comment 24 David Woodhouse 2009-04-08 01:18:06 UTC
I'm not sure what the real maximum value for AccelFactor is, but it's definitely larger than 0.2. I think it's probably 1.0 -- I certainly don't see any difference above that, and I'm not even sure I see much difference above 0.8 or so.

Fixing synclient to allow values up to 1.0 seems to make things work OK (I have to trick gsynaptics, by selecting the acceleration slider and then moving my mouse _far_ to the right of the gsynaptics window, which causes the value to go much higher than its intended 'maximum' of 200 :)

--- a/tools/synclient.c
+++ b/tools/synclient.c
@@ -125,7 +125,7 @@ static struct Parameter params[] = {
 		SYNAPTICS_PROP_SPEED,		0, /*float */	0),
     DEFINE_PAR("MaxSpeed",             max_speed,               PT_DOUBLE, 0, 1.0,
 		SYNAPTICS_PROP_SPEED,		0, /*float */	1),
-    DEFINE_PAR("AccelFactor",          accl,                    PT_DOUBLE, 0, 0.2,
+    DEFINE_PAR("AccelFactor",          accl,                    PT_DOUBLE, 0, 1.0,
 		SYNAPTICS_PROP_SPEED,		0, /*float */	2),
     DEFINE_PAR("TrackstickSpeed",      trackstick_speed,        PT_DOUBLE, 0, 200.0,
 		SYNAPTICS_PROP_SPEED,		0, /*float */ 3),

Comment 25 Peter Hutterer 2009-04-08 06:26:13 UTC
moved the gsynaptics issue to Bug 494795.

Comment 26 Fedora Update System 2009-05-18 07:45:20 UTC
xorg-x11-drv-synaptics-1.1.0-6.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/xorg-x11-drv-synaptics-1.1.0-6.fc11

Comment 27 Fedora Update System 2009-06-16 02:03:59 UTC
xorg-x11-drv-synaptics-1.1.0-6.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.