on 17/07/07 16:44 Soeren Sonnenburg said the following:
I'm already explicitly loading appletouch, as the first item in /etc/modules. I have regularly checked dmesg and never seen any appletouch problems. I'm using udev to set up a link to the device, and have tried both _Trackpad-mouse and _Trackpad-event-mouse with similar results (the problem happens only occasionally in each case). I'll keep experimenting and see what else I can find out ...On Tue, 2007-07-17 at 09:16 +1000, Daniel M. Newman wrote:on 16/07/07 15:33 Soeren Sonnenburg said the following:On Mon, 2007-07-16 at 10:32 +1000, Daniel M. Newman wrote:Using kernel 2.6.22 and the mactel-linux revision 133 patch set from svn on a Macbook Pro 15in, there seem to be a couple of peculiarities in the trackpad behaviour.please try the attached kernel patch and make sure that you are using a new X synaptics driver (e.g. 0.14.7~git20070517 )...I tried building the 0.14.7~git20070517 driver from source. It built fine, but it didn't play well with my Ubuntu distribution version 2:1.3.0.0.dfsg-6ubuntu2, failing with: (II) Loading /usr/lib/xorg/modules/input//synaptics_drv.so dlopen: /usr/lib/xorg/modules/input//synaptics_drv.so: undefined symbol: __stack_chk_fail_local (EE) Failed to load /usr/lib/xorg/modules/input//synaptics_drv.so so I reverted to the 0.14.6-0ubuntu7 driver, which was working ok.too bad... this newer driver really resolved a couple of issues for me.1. During boot-up, the appletouch module always loads normally. However, as X (using the fglrx driver 8.38.6) starts up I sometimes (about one time in five) get an error that the core pointer is unavailable. When this happens, the following shows up in syslog: kernel: BUG: scheduling while atomic: Xorg/0x00000001/2826 kernel: [schedule+1267/2448] schedule+0x4f3/0x990 kernel: [_spin_unlock+13/48] _spin_unlock+0xd/0x30 kernel: [__wake_up_common+57/112] __wake_up_common+0x39/0x70 kernel: [__wake_up+56/80] __wake_up+0x38/0x50 kernel: [<f89d8f81>] irqmgr_wrap_shutdown+0xe1/0x150 [fglrx] kernel: [<f89c9f45>] firegl_takedown+0x625/0xc50 [fglrx] kernel: [proc_delete_inode+0/96] proc_delete_inode+0x0/0x60 kernel: [<f89c900f>] firegl_release+0x12f/0x190 [fglrx] kernel: [<f89bd44f>] ip_firegl_release+0xf/0x20 [fglrx] kernel: [__fput+151/368] __fput+0x97/0x170 kernel: [filp_close+73/128] filp_close+0x49/0x80 kernel: [put_files_struct+156/192] put_files_struct+0x9c/0xc0 kernel: [do_exit+314/2016] do_exit+0x13a/0x7e0 kernel: [<f8a14be9>] IRQMGR_WorkerThreadRoutine+0x29/0x30 [fglrx] kernel: [<f89bab90>] kasThreadRoutineHelper+0x0/0x20 [fglrx] kernel: [<f89bab90>] kasThreadRoutineHelper+0x0/0x20 [fglrx] kernel: [<f89d8d2e>] IRQMGR_CallbackWrapper+0xe/0x20 [fglrx] kernel: [<f89bab90>] kasThreadRoutineHelper+0x0/0x20 [fglrx] kernel: [kernel_thread_helper+13/20] kernel_thread_helper+0xd/0x14 Removing and re-inserting appletouch generally fixes this, although sometimes I have to do the remove and reinsert twice.this sounds more like a bug in fglrx... but I've yet to see this to happen...No, I'm fairly sure it is to do with the appletouch, since it can be fixed by removing and re-inserting it. I think the fglrx component of the failure happens after the appletouch fails to provide a pointer device. Also, the bug seems to have some connection to the usb system, since it happens much more often if the machine is booted up with large numbers of usb devices connected, particularly if a usb hub is used. Maybe there is some sort of race in the allocation of usb devices ?Could be, but as I've never seen it and I am also regularly connecting my machine to a usb hub. So it would be great if you could isolate it a bit more... One last idea: is appletouch really loaded before you start X ? It could be that X just does not find the touchpad device starts/stops X triggering a bug in fglrx... So you could try to explicitly load the appletouch module on startup and also it might help to use this as the appletouch device line... Option "Device" "/dev/input/by-id/usb-Apple_Computer_Apple_Internal_Keyboard_._Trackpad-mouse" Any appletouch errors in dmesg ? OK, with the new patch installed I've done some experimenting with synclient and now have what seems (for me, anyway) is a good response to multi-fingered touches. The revised xorg.conf element is:2. I have my screen set to blank after a period of non-usage. When waking up after this happens, the trackpad cursor no longer follows finger movements reliably. Removing and re-inserting the appletouch module fixes this, but does not re-enable response to two- and three- finger taps. Restarting gdm fixes both problems.that should be fixed by the patch.Your patch fixed the problem, although sometimes it seems to slightly affect the sensitivity of the multi-finger taps after wakeup. It also prevents the svn patch "appletouch-shut-up-when-it-has-nothing-to-say.patch" from applying cleanly.well the patch I sent you already includes the appletouch-shut-up-when-it-has-nothing-to-say.patch + small fixes. and it definitely does not change anything regarding multi-finger taps... so that is a heisen-bug :-)3. Trackpad button presses sometimes do not generate an immediate response. However, if the trackpad button is pressed and no response happens, a small movement of the cursor will cause the response to occur. It seems that the button press input is being queued, but the queue is not checked until trackpad motion is detected. I thought this might be due to my xorg.conf settings, but these seem to be in accordance with the various recommendations (see below).strange... Please report back whether it still happens with the attached patch and a newer synaptics xorg driver...This doesn't seem to happen now - maybe because the "appletouch-shut-up-when-it-has-nothing-to-say.patch" didn't install ?well the shut-up patch could have triggered this, but as I said my patch included that one + a fix when the touchpad 'wakes up' so it might have been fixed by that patch too... Soeren Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "Device" "/dev/input/appletouchpad" Option "Protocol" "event" Option "CorePointer" Option "SHMConfig" "on" Option "LeftEdge" "0" Option "RightEdge" "850" Option "TopEdge" "0" Option "BottomEdge" "310" Option "FingerLow" "25" Option "FingerHigh" "30" Option "MaxTapTime" "350" Option "MaxTapMove" "0" Option "MaxDoubleTapTime" "180" Option "HorizEdgeScroll" "true" Option "VertEdgeScroll" "true" Option "VertTwoFingerScroll" "false" Option "HorizTwoFingerScroll" "false" Option "VertScrollDelta" "7" Option "HorizScrollDelta" "7" Option "MinSpeed" "0.6" Option "MaxSpeed" "1.0" Option "AccelFactor" "0.02" Option "TapButton1" "0" Option "TapButton2" "2" Option "TapButton3" "3" EndSection So, I'd say your patch has definitely fixed most of my touchpad problems and the remaining one only happens occasionally and irregularly. Thanks for all the help. Dan |
------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
_______________________________________________ Mactel-linux-devel mailing list Mactel-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mactel-linux-devel