SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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:
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 :)
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
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.
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.
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.
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
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
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.
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.
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.
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).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.