LinuxQuestions.org
Visit the LQ Articles and Editorials section
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices

Reply
 
Search this Thread
Old 10-17-2007, 11:37 AM   #1
rworkman
Slackware Contributor
 
Registered: Oct 2004
Location: Tuscaloosa, Alabama (USA)
Distribution: Slackware
Posts: 1,912

Rep: Reputation: Disabled
Synaptics driver on Xorg 7.3


Now that Slackware -current (post 12.0) is open and has Xorg-7.3 in it, some of you may have discovered that the third-party synaptics driver won't compile. This thread has a brief discussion of the problem, but it's not clear as to whether it's Xorg or synaptics that should change something: http://lists.freedesktop.org/archive...er/028523.html

The latest version of synaptics at http://web.telia.com/~u89404340/touchpad/ won't build at all, regardless of whether you make the needed changes as outlined later in this post, so you'll need to get the latest development version from git:
Code:
git clone http://web.telia.com/~u89404340/touchpad/synaptics/.git
This post was written on 17 October 2007, so later versions may or may not compile correctly.

This will create a 'synaptics' directory in whatever directory from which you executed the above command. Before you can compile it, though, you must do this:

Open /usr/include/xorg/miscstruct.h with an editor (as root).
Line 54 looks like this:
Code:
#include <pixman.h>
Edit it to look like this:
Code:
#include <pixman-1/pixman.h>
Now change directory to the 'synaptics' directory created by the 'git clone' command above. All of the following should also be done as root.

Code:
make 
mkdir -p /tmp/synaptics-git
make install PREFIX=/usr DESTDIR=/tmp/synaptics-git
cd /tmp/synaptics-git
strip --strip-unneeded usr/bin/* usr/lib/xorg/modules/input/synaptics_drv.so
gzip -9 usr/man/man?/*.?
mkdir install
cat << EOF > install/slack-desc
synaptics: synaptics (Synaptics touchpad driver for X.org/XFree86)
synaptics:
synaptics: This is a driver for the Synaptics TouchPad for XOrg/XFree86 4.x. 
synaptics: A Synaptics touchpad by default operates in compatibility mode by
synaptics: emulating a standard mouse. However, by using a dedicated driver,
synaptics: more advanced features of the touchpad becomes available.
synaptics:
EOF
makepkg -c n -l y ../synaptics-20071017_git-i486-1_rlw.tgz
Edit the last line (makepkg) to use the correct date and BUILD tag (not _rlw).

You can now install that package normally (it will be in /tmp).
Configuration of the synaptics driver (additions to xorg.conf and such) is left as an exercise to the reader :-)

You will probably also need to comment out the options line for the psmouse module in /etc/modprobe.d/psmouse -- it seems that the synaptics driver wants the default kernel options for the psmouse module (at least on my system).

Oh yeah, once you're finished, go change the /usr/include/xorg/miscstruct.h header back to its original version (just in case) :-)

Last edited by rworkman; 10-25-2007 at 11:22 PM. Reason: Fix 'make install' - thanks, nullboy :)
 
Old 10-17-2007, 01:38 PM   #2
onebuck
Moderator
 
Registered: Jan 2005
Location: Midwest USA, Central Illinois
Distribution: SlackwareŽ
Posts: 11,038
Blog Entries: 1

Rep: Reputation: 1366Reputation: 1366Reputation: 1366Reputation: 1366Reputation: 1366Reputation: 1366Reputation: 1366Reputation: 1366Reputation: 1366Reputation: 1366
Hi,

Thanks robby!
 
Old 10-30-2007, 06:17 AM   #3
brobr
Member
 
Registered: Oct 2003
Distribution: slackware
Posts: 44

Rep: Reputation: 15
pixmap ??

Hi, I tried to do as suggested ....

First the synaptics driver with altered /usr/include/xorg/miscstruct.h did not compile after upgrade to current... pixman not found. This because pixman was not installed as I had forgotten to use the option --install-new with upgradepkg (and thus had bypassed this new package; which I found out later when X did not start....)

Still, before that, I got the synaptics driver compiled, when I edited "#include <pixman.h>" to "#include <pixmap.h>"...
(In /usr/include/xorg/ there is no file pixman.h; only pixmap.h).

Now X is working and my synaptics driver behaves as expected

I also compiled a second driver as advised in above post and behaviour seems indistinguishable from that with the driver compiled against pixmap.....

Did I hit by accident on a (different) typo in the include of miscstruct.h ? Or is this include not needed at all?


By the way, I found another oddity... After upgrade my external USB mouse did no longer work. In the Section "ServerLayout" of my old xorg.conf it was classified as "InputDevice" "AlwaysCore", with the touchpad being "InputDevice" "CorePointer". If I swapped the AlwaysCore/CorePointer labels, only the USB mouse worked and the touchpad was dead. When I omitted the "AlwaysCore" classification for one of these two "InputDevice"s, the other being "CorePointer", both worked happily alongside each other.

Last edited by brobr; 10-31-2007 at 10:01 AM. Reason: had not installed pixman before, but this repair also works
 
Old 10-31-2007, 09:49 AM   #4
vlad.askiparek
LQ Newbie
 
Registered: Oct 2007
Location: Luxembourg
Distribution: Slackware-current
Posts: 8

Rep: Reputation: 0
Unhappy

hello rworkman,

Thanks you for your post.
But, on my slack current, synaptics don't work.
I made compiling synaptics-git with your process, and xorg work with the old xorg.conf.
The modules evdev and psmouse (without option) are loaded.
But, xorg does not want to work with him. See this part of Xorg.log:

Quote:
(II) Synaptics touchpad driver version 0.14.6 (1406)
Mouse0 no synaptics event device found (checked 18 nodes)
(**) Option "Device" "/dev/input/mouse0"
(**) Option "LeftEdge" "1700"
(**) Option "RightEdge" "5300"
(**) Option "TopEdge" "1700"
(**) Option "BottomEdge" "4200"
(**) Option "VertScrollDelta" "100"
(**) Option "FingerLow" "25"
(**) Option "FingerHigh" "30"
(**) Option "MaxTapTime" "180"
(**) Option "MaxTapMove" "220"
Query no Synaptics: 6003C8
(EE) Mouse0 no synaptics touchpad detected and no repeater device
(EE) Mouse0 Unable to query/initialize Synaptics hardware.
(EE) PreInit failed for input device "Mouse0"
(II) UnloadModule: "synaptics"
After, the default pointer is loaded.

I worked one day on the problem, and I don't find the solution.
 
Old 10-31-2007, 11:10 AM   #5
rworkman
Slackware Contributor
 
Registered: Oct 2004
Location: Tuscaloosa, Alabama (USA)
Distribution: Slackware
Posts: 1,912

Original Poster
Rep: Reputation: Disabled
brobr:

pixman and pixmap are the same thing - you essentially pointed it at the old header, which is why it worked (at least, I think that's why) :-)
 
Old 10-31-2007, 11:11 AM   #6
rworkman
Slackware Contributor
 
Registered: Oct 2004
Location: Tuscaloosa, Alabama (USA)
Distribution: Slackware
Posts: 1,912

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by vlad.askiparek View Post
hello rworkman,

Thanks you for your post.
But, on my slack current, synaptics don't work.
I made compiling synaptics-git with your process, and xorg work with the old xorg.conf.
The modules evdev and psmouse (without option) are loaded.
But, xorg does not want to work with him. See this part of Xorg.log:

After, the default pointer is loaded.

I worked one day on the problem, and I don't find the solution.

I don't know - make *sure* the psmouse module is not loading with imps as the protocol -- the only way I can reproduce the error you're seeing is to load psmouse with that protocol.
 
Old 10-31-2007, 02:14 PM   #7
vlad.askiparek
LQ Newbie
 
Registered: Oct 2007
Location: Luxembourg
Distribution: Slackware-current
Posts: 8

Rep: Reputation: 0
OK, it is my fault...
Before the update, I already used kernel-2.6.23.1, compiled myself.
In the update, all the modules were not crushed and there was confusion between kernel.

The kernel of current is compiled for i686 and I had compiled mine for amd-k8.

Mea culpa


The next time, I shall read the fucking logs! (newbie from 15 years)

thanks

ps: but I don't understand why I had no problems with the other modules?!?

Last edited by vlad.askiparek; 10-31-2007 at 02:25 PM.
 
Old 10-31-2007, 10:40 PM   #8
rampire
LQ Newbie
 
Registered: Sep 2007
Posts: 11

Rep: Reputation: 0
Quote:
Originally Posted by rworkman View Post
but it's not clear as to whether it's Xorg or synaptics that should change something
I'm guessing that it's an xorg issue, as I can't get either the stable or testing driver to configure for linuxwacom. I tried applying the fix for pixman.h (ie, the <pixman-1/pixman.h> as the xorg patch was saying) and I get a new set of errors.

I can get some more info up if you guys think it'd matter, or I can start another thread.

Quote:
Originally Posted by brobr View Post

Still, before that, I got the synaptics driver compiled, when I edited "#include <pixman.h>" to "#include <pixmap.h>"...
(In /usr/include/xorg/ there is no file pixman.h; only pixmap.h).
How would I go about trying something like that with the wacom driver?

Last edited by rampire; 10-31-2007 at 10:48 PM. Reason: forgot to ask about editing wacom driver
 
Old 11-01-2007, 04:34 PM   #9
Riddick
Member
 
Registered: May 2004
Location: Rome, Italy
Distribution: slackware-current
Posts: 454

Rep: Reputation: 30
Nice hacking rworkman. Good job.

Thanks,
Edward
 
Old 02-23-2008, 09:16 PM   #10
kinesis1
LQ Newbie
 
Registered: Feb 2008
Posts: 5

Rep: Reputation: 0
Any idea why I tried this and Xorg 7.3 + Synaptics still doesnt work?

I'm SLAMD64 btw, i made sure it used /usr/lib64 - indeed it does. It loads the module fine but says Query No Synaptics. I guess that means no dice.


Any suggestions? /etc/rc.d/rc.modules doesnt say proto=imps2 or anything, but boot pulls it up as an imps2 synaptics touchpad. It's included in the kernel by default.

Im probably just going to downgrade to xorg 7.2!!! Unless of course - someone has a solution?

This is too much hassle to mess with

Hey rworkman - I noticed you said 'newer versions may not compile or work correctly' can you by chance reference a link to the .tgz package you made that worked for you?

I had it working fine in the Xorg that came with v12.0
Quote:
Quote:
Originally Posted by vlad.askiparek View Post
hello rworkman,

Thanks you for your post.
But, on my slack current, synaptics don't work.
I made compiling synaptics-git with your process, and xorg work with the old xorg.conf.
The modules evdev and psmouse (without option) are loaded.
But, xorg does not want to work with him. See this part of Xorg.log:

After, the default pointer is loaded.

I worked one day on the problem, and I don't find the solution.
I don't know - make *sure* the psmouse module is not loading with imps as the protocol -- the only way I can reproduce the error you're seeing is to load psmouse with that protocol.
This is the default behavior for the psmouse driver, I tried setting the configuration file to NOT include the imps2 module of the mouse, and it forces it to. Theres nothing I can seemingly do to get psmouse to load without it loading as an imps2 device.

Last edited by kinesis1; 02-23-2008 at 09:23 PM.
 
Old 02-23-2008, 09:34 PM   #11
rworkman
Slackware Contributor
 
Registered: Oct 2004
Location: Tuscaloosa, Alabama (USA)
Distribution: Slackware
Posts: 1,912

Original Poster
Rep: Reputation: Disabled
Well, Slackware ships an /etc/modprobe.d/psmouse file that looks like this:
Code:
$ cat /etc/modprobe.d/psmouse 
# PS/2 mouse support:
# The default options when the psmouse module is loaded will completely
# break the mouse if you change consoles with several models of KVM
# switches.  Therefore, we'll have it use the imps protocol here, which
# is a more basic protocol that is less likely to cause problems with
# the mouse.  If you'd rather use the kernel default options, just
# comment out the line below.  If you'd rather choose your own options,
# then edit the line below as desired.
options psmouse proto=imps
If you haven't done what it says to use the kernel defaults, then there's your problem.
 
Old 02-24-2008, 09:47 PM   #12
kinesis1
LQ Newbie
 
Registered: Feb 2008
Posts: 5

Rep: Reputation: 0
omg it works

OMG it works thanks so much
 
Old 04-20-2008, 09:10 PM   #13
DonnieP
Member
 
Registered: Jan 2008
Location: Richmond, VA USA
Distribution: Slackware
Posts: 144

Rep: Reputation: 29
Thumbs up

Quote:
Originally Posted by rworkman View Post
Now that Slackware -current (post 12.0) is open and has Xorg-7.3 in it, some of you may have discovered that the third-party synaptics driver won't compile.
OMG - thank you, Robby Workman. I was about to pull my hair out after upgrading to -current.
 
Old 04-20-2008, 10:21 PM   #14
rworkman
Slackware Contributor
 
Registered: Oct 2004
Location: Tuscaloosa, Alabama (USA)
Distribution: Slackware
Posts: 1,912

Original Poster
Rep: Reputation: Disabled
You're welcome.

Since the original post, I've located some patches (thanks to the good folks over at Gentoo) that will make the 0.14.6 stable release of synaptics build and function just fine. I've got a package and sources at my personal site (see link below).
 
Old 04-20-2008, 10:52 PM   #15
GushpinBob
Member
 
Registered: Aug 2007
Distribution: File Server: Ubuntu 10.04
Posts: 56

Rep: Reputation: 15
subscribed for future reference. Thanks, man !
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Xorg can't find Synaptics randomsel Slackware 8 10-25-2007 02:52 PM
Xorg synaptics driver problems... pda_h4x0r Linux - Software 19 09-09-2006 01:01 AM
Synaptics stops working when Xorg is started on Aspire 1694 gundelgauk Linux - Hardware 2 02-11-2006 08:16 PM
synaptics touch pad with Xorg on Debian seaking Linux - Hardware 0 10-15-2005 03:51 AM
Synaptics Driver spaaarky21 Linux - Hardware 0 02-18-2005 02:50 AM


All times are GMT -5. The time now is 05:06 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration