Fedora Linux Support Community & Resources Center

Go Back   FedoraForum.org > Fedora 19/20 > Using Fedora
FedoraForum Search

Forgot Password? Join Us!

Using Fedora General support for current versions. Ask questions about Fedora and it's software that do not belong in any other forum.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 21st July 2008, 12:09 AM
zx5000 Offline
Registered User
 
Join Date: Jan 2005
Posts: 37
suspend/resume xorg.conf & synaptics

Since upgrading to F9 I have found that the synaptics "forgets" my settings in xorg.conf and my settings in gsynaptics. This also happens if the screen is blanked in a power save mode. I ultimately want my glidepoint never to horiz scroll because it's so annoying*.

How can I make this sticky? As you can see below I have tried many things to make this not h-scroll but nothing works. It's like gnome has overridden xorg.conf.

TIA.

* annoying when you go to the switcher, select a desktop only to h-scroll to who-knows-where while trying to move cursor back up the screen to the application you want to focus.

Code:
Section "InputDevice"
	Identifier  "Synaptics"
	Driver      "synaptics"
#	Driver      "ps/2"
	Option	    "Device" "/dev/input/mice"
	Option	    "Protocol" "auto-dev"
	Option	    "Emulate3Buttons" "yes"
	Option	    "VertScrollDelta" "15"
	Option	    "HorizScrollDelta" "0"
	Option      "HorizEdgeScroll"  "off"
	Option		"SHMConfig"    "true"
EndSection
Reply With Quote
  #2  
Old 18th August 2008, 01:24 AM
twilightomni Offline
Registered User
 
Join Date: Apr 2008
Posts: 70
This is a long explanation, all related to the following Bugzilla:

https://bugzilla.redhat.com/show_bug.cgi?id=439386

Yes, it looks like everyone is whining about everything, including:
  • Tapping no longer works by default
  • If you enable tapping, it always breaks after suspend
  • All xorg.conf settings are lost after suspend

Read the final comments, starting with 65. The truth is, this is a bug in X.Org, and everything you know about xorg.conf is wrong.

What follows is my lay person paraphrasing. It turns out, they're planning to phase xorg.conf out, and manage devices only through HAL. What this means is that HAL actually autoconfigures Synaptics for you, and it runs the touchpad by default.

So when you put your own touchpad settings into xorg.conf, you're actually activating a second instance of Synaptics. This works fine until you suspend.

Guess what? Due to a bug in XOrg, whenever you resume from suspend, it calls the drivers in reverse order. So your xorg.conf settings are overridden by HAL's defaults (that is, no tapping, none of the custom settings you've got above).


You've got two options.

1. Disable HAL's autoconfiguring for all X devices. This means you'd better get ready to mention _everything_ in your xorg.conf. (See comment #71 from the bugzilla above).

2. Put your custom settings into HAL's configuration files, instead of in xorg.conf. See comments #86 & #87.

Please note: option 1 will probably break a lot of stuff unless you're an xorg.conf expert, while option 2 requires you to mess with HAL config files, and to be honest, I haven't gotten it working yet myself, even following their instructions. Give it your best shot though.

For more about the future of X.Org's HAL configuration settings, see this blog post:

Input Configuration in a Nutshell



Yes, it looks like you're gonna have to put a huge amount of work and reading in to fix this. Is it fair? Not really. But this isn't really a Fedora bug -- this is X.Org itself, so until future versions of Fedora apply even more polish to get it working perfectly, we're gonna have to dabble in it ourselves, or stick with the defaults.
Reply With Quote
  #3  
Old 18th August 2008, 01:50 AM
twilightomni Offline
Registered User
 
Join Date: Apr 2008
Posts: 70
Post-post: Just wanted to say, I realized there was a typo in my HAL configuration files. I corrected them and now my touchpad works fine after suspend/resume.

Please give their suggestions a try in comments #86 and #87; they demonstrate a sample HAL touchpad configuration file (uses the same keywords as xorg.conf), and where to put it.
Reply With Quote
  #4  
Old 25th August 2008, 12:13 AM
harden@gsu.edu Offline
Registered User
 
Join Date: Jun 2005
Posts: 6
Thanks for the info Twilightomni. I can confirm that using evdev and putting custom settings in the HAL configuration /etc/hal/fdi/policy/10-synaptics.fdi solves the hibernate & resume problem with the Synaptics touchpad on an HP Pavilion dv7 running F9. However, a new annoying behavior has cropped up. When X first starts the touchpad's pointer is very eratic and features such as tapping to click do not work. Switching to VT 1 and back fixes this and the touchpad behaves as expected, even after a hibernate & resume cycle. The Xorg.0.log has references to a "Macintosh mouse button emulation:", but all I have is the in built in touchpad. Could this "Macintosh mouse button emulation:" be causing the initial eratic behavior?

Thanks,
Don
Reply With Quote
  #5  
Old 25th August 2008, 06:18 PM
twilightomni Offline
Registered User
 
Join Date: Apr 2008
Posts: 70
Now that part I'm not sure about. I recall hearing about a Macintosh mouse emulation setting, but I'm not sure where that's mentioned. The manual page for synaptics (command "man synaptics" in a terminal) doesn't mention anything about macintosh stuff.

It may be that you've got an odd option in your configuration file. For your reference, here is my HAL configuration for the synaptics touchpad.

The following is /etc/hal/fdi/policy/10-synaptics.fdi :
Code:
<?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_driver.Emulate3Buttons" type="string">yes</merge>
        <merge key="input.x11_driver.TapButton1" type="string">1</merge>
        <merge key="input.x11_driver.RBCornerButton" type="string">3</merge>
        <merge key="input.x11_driver.ZAxisMapping" type="string">4 5</merge>
      </match>
      <match key="info.product" contains="AlpsPS/2 ALPS">
        <merge key="input.x11_driver" type="string">synaptics</merge>
      </match>
    </match>
  </device>
</deviceinfo>
The AlpsPS (pointing stick?) section was in my file and I assume is just info for some other device, so I left it there.

You'll note the options I use (driver.RBCornerButton, driver.Emulate3Buttons) are all valid xorg.conf options. I hope you figure out what the problem is.


Oh, also: make sure you remove all your mouse information from /etc/X11/xorg.conf, since you're using the HAL configuration now. There should not be an "InputDevice" section for synaptics. This will only create a second instance of synaptics that conflicts with the HAL one.

That could possibly explain your problem, especially since switching to the VT fixes it. This makes me suspect you have left old settings in your /etc/X11/xorg.conf which are causing the problems.
Reply With Quote
  #6  
Old 25th August 2008, 06:25 PM
twilightomni Offline
Registered User
 
Join Date: Apr 2008
Posts: 70
Just a slight update:

I found a similar issue here: http://bbs.archlinux.org/viewtopic.php?pid=301062

This fellow says his touchpad is being detected as a PS/2 mouse, and Xorg.0.log says "macintosh mouse emulation" is enabled.

I believe the problem is your xorg.conf. Please remove all mouse specific settings from it, so that X can properly auto-detect your mouse as a Synaptics touchpad (it does, by the way, auto-detect external connected mice as well). But I believe something in your Xorg file is setting the touchpad up as a PS/2 device.

But when you switch to VT, due to the bug of my first post, HAL's configuration (which you seem to have configured correctly in the FDI files) is given priority once you switch back, thus correcting the problem. This is what I believe is happening.
Reply With Quote
  #7  
Old 26th August 2008, 01:08 AM
harden@gsu.edu Offline
Registered User
 
Join Date: Jun 2005
Posts: 6
Yes Twilightomni, you are correct. Removing all reference in xorg.conf to any mouse fixed the "Macintosh mouse button emulation:"issue even though I had references only to the Synaptics touchpad and no other mice or pointers. It seems that X was thinking the touchpad was a Mac PS/2 mouse.

HAL configuration of the touchpad is now working great.

Thanks so much for your help.

Don
Reply With Quote
  #8  
Old 26th August 2008, 01:59 AM
twilightomni Offline
Registered User
 
Join Date: Apr 2008
Posts: 70
Glad it works for you. It is a shame that it requires so much work to get it running, though.
Reply With Quote
  #9  
Old 10th September 2008, 06:54 PM
M4rc0 Offline
Registered User
 
Join Date: Aug 2007
Location: Brasil
Posts: 471
Quote:
Originally Posted by twilightomni
Post-post: Just wanted to say, I realized there was a typo in my HAL configuration files. I corrected them and now my touchpad works fine after suspend/resume.

Please give their suggestions a try in comments #86 and #87; they demonstrate a sample HAL touchpad configuration file (uses the same keywords as xorg.conf), and where to put it.
Thanks so much for this information!

I finally fixed this, it was annoying to restartx everytime i come from suspend

Now all i need is to make as perfect as it was with xorg.
My touchpad is faster now (it was slow after coming back from suspend, so i'd have to restarx), but not as fast as with xorg. And i don't have scrolling.

Do you think that's fixable?
Here's what i did:
1) Comment out everything InputDevice mouse related (in ServeLayout and the whole InputDevice section)
2) Add the line Option "AutoAddDevices" "off" in ServerLayout
3) Create a fdi file with exact same settings as xorg and paste in /etc/hal/fdi/policy/10-synaptics.fdi
4) RestartX

And here's my fdi, if you spot any typos or something wrong tell me:
Code:
<?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.SendCoreEvents" type="string">yes</merge>
	<merge key="input.x11_options.protocol" type="string">auto-dev</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>
	<merge key="input.x11_options.SHMConfig" type="string">true</merge>
	<merge key="input.x11_options.Device" type="string">/dev/input/mice</merge>
	<merge key="input.x11_options.Emulate3Buttons" type="string">yes</merge>
	<merge key="input.x11_options.LeftEdge" type="string">120</merge>
	<merge key="input.x11_options.RightEdge" type="string">920</merge>
	<merge key="input.x11_options.TopEdge" type="string">120</merge>
	<merge key="input.x11_options.BottomEdge" type="string">680</merge>
	<merge key="input.x11_options.FingerLow" type="string">14</merge>
	<merge key="input.x11_options.FingerHigh" type="string">15</merge>
	<merge key="input.x11_options.MaxTapMove" type="string">110</merge>
	<merge key="input.x11_options.VertScrollDelta" type="string">20</merge>
	<merge key="input.x11_options.HorizEdgeScrollDelta" type="string">20</merge>
	<merge key="input.x11_options.MinSpeed" type="string">1.0</merge>
	<merge key="input.x11_options.MaxSpeed" type="string">1.0</merge>
	<merge key="input.x11_options.AccelFactor" type="string">0.3</merge>
	<merge key="input.x11_options.MinTapTime" type="string">110</merge>
	<merge key="input.x11_options.MaxTapTime" type="string">180</merge>
	<merge key="input.x11_options.ClickTime" type="string">0</merge>
	<merge key="input.x11_options.RTCornerButton" type="string">2</merge>
	<merge key="input.x11_options.RBCornerButton" type="string">3</merge>
      </match>
      <match key="info.product" contains="AlpsPS/2 ALPS">
	<merge key="input.x11_driver" type="string">synaptics</merge>
      </match>
    </match>
  </device>
I know it's big. But it took me time to fix this, got here from the forum. Started adding this and that and the touchpad got perfect (it was jerky and VERY slow before).

Is there anything there that is not fdi "compatible" ?
Reply With Quote
  #10  
Old 10th September 2008, 07:32 PM
twilightomni Offline
Registered User
 
Join Date: Apr 2008
Posts: 70
I think any option that works in the Xorg.conf section for synaptics will work here as well. I have a few guesses about your setup.

1. Try taking out the "AutoAddDevice" "off" option in xorg.conf. If that is removed, I think it makes it easier for HAL to automatically manage your mouse devices. (Plus, that's the point -- let HAL automanage them, instead of specifying them in xorg.conf manually).

2. As for vertical scrolling, I'm not sure. Fedora 9 comes with it enabled by default (it's not mentioned in the FDI file, it just seems to automatically be assumed).

Try taking out the VertScrollDelta line. To be honest, I never knew how big those numbers should be (are they pixels to scroll per movement, or what?). There should be an option in the man page for synaptics (type "man synaptics" in a terminal) for enabling vertical scrolling. Try that.



In general, I find that HAL autoconfigures most options well with sensible defaults. Try to work with as few options in the FDI as possible -- sometimes, we try so hard to specify how everything should exactly work, that we end up glitching it up anyway.

Try starting from a relatively empty FDI file and reintroduce the options you're sure you can't live without. Then, if vertical scrolling and everything else works perfectly, start to add back the other options you like.

The small four option configuration that I have above works fine for me, and vertical scrolling has no problems.

I'm glad you got it working though. Congratulations! It's nice to actually fix something.
Reply With Quote
  #11  
Old 11th September 2008, 09:29 AM
M4rc0 Offline
Registered User
 
Join Date: Aug 2007
Location: Brasil
Posts: 471
Thanks!

I tought "AutoAddDevice" "off" was necessary? At least it's mentioned in the blog to avoid the conflict between xorg and HAL.

I'm leaving this as second plan. I think it's a bit complicated.

This xorg conf (using now) is so perfect, i just love the scrolling and the speed, it took me time to fix that big xorg.conf and to think that i'll have to find out how to fix that again for HAL...

So i'll take a day when i'm totally patient and feeling like tweaking to look into this
And then i will start with your fdi and add slowly a few lines.

Thanks again!
Reply With Quote
  #12  
Old 11th September 2008, 03:24 PM
twilightomni Offline
Registered User
 
Join Date: Apr 2008
Posts: 70
These days in Xorg, HAL automatically adds devices by itself, and although the FDI files are confusing, once you set them up it should work fine.

What causes the conflicts is when you try to define a device in XOrg _AND_ use HAL's autodetect at the same time. This is pretty much what causes all the Suspend bugs. (Because Xorg's config takes control at startup, but HAL's takes over after Suspend, screwing up your options if you haven't defined them in the FDI).

So to prevent any conflicts, you can...

1. Do not define any mouse device in Xorg.conf. (Use only HAL).

2. Define _everything_ in Xorg.conf (Do not use HAL). To make this option work, use the "AutoAddDevices" "off" to stop HAL from configuring your touchpad.



Both ways will work, but #2 requires a lot more configuration file work (I don't really know every option for defining a mouse in Xorg.conf). I'd rather let HAL do the job (since it can dynamically detect mice that I plug in) and specify a few options in the FDI file.

The problem from all those bugs in the bug report above is that people are trying to configure the touchpad in Xorg even though HAL's already doing the same job. Either use HAL's fdi, or use Xorg.conf.

Since you're taking the HAL route, there's no need for the "AutoAddDevices" "off" option, since we _do_ want to use HAL.
Reply With Quote
  #13  
Old 11th September 2008, 04:09 PM
M4rc0 Offline
Registered User
 
Join Date: Aug 2007
Location: Brasil
Posts: 471
Ok twilightomni, you conviced me and i will give this another try

It's just, after some work with xorg and perfectly working makes me "lazy" to try a different aproach.
But i really want my suspend working like it should.

I removed that line, wich i missunderstooded, and i got my scrolling again!

I have the tapping too but the mouse speed is still low.
I want it fast like i have in xorg.conf.

You see, to get this fast mouse speed on xorg i had trouble too, i was constantly adding things until one day it was perfect and that's exactly why i want don't want the same trouble to find this out with HAL (specially when i know xorg works perfect).

I have no idea what to change on those settings, because i believe this is already the standard. I think some of those parameters are not working.

Do you have any suggestions of what should i try?

EDIT: Forgot to mention, i have no mouse lines on xorg.conf, everything wiped out (backuped, of course)

Last edited by M4rc0; 11th September 2008 at 04:13 PM.
Reply With Quote
  #14  
Old 11th September 2008, 06:59 PM
twilightomni Offline
Registered User
 
Join Date: Apr 2008
Posts: 70
The settings that matter for mouse speed should be MinSpeed, MaxSpeed, and AccelFactor. Try adding those back. But as for what values you should use, I don't know -- I've always been happy with the default settings.

Try messing with numbers in between 0.0 and 5.0. It seems to be a float value, after all.
Reply With Quote
  #15  
Old 11th September 2008, 07:50 PM
M4rc0 Offline
Registered User
 
Join Date: Aug 2007
Location: Brasil
Posts: 471
I'm playing with those values then.

It's faster now, but still not as sensible as i like.
I wish i could put the same values as the ones i have in xorg and work the same on HAL, too bad it doesn't.

But that's about it, one day i'll have it faster.

Thanks twilightomni! This was very helpfull
Reply With Quote
Reply

Tags
suspend or resume, synaptics, xorgconf

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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 On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Suspend once, lose synaptics. Suspend twice, lose everything and hard reboot. kevin01123 Hardware & Laptops 2 2nd October 2009 02:46 AM
Suspend/Resume neoire Hardware & Laptops 0 14th September 2009 12:21 AM
f7 suspend resume on a T41 ?? dan sawyer Hardware & Laptops 1 15th September 2007 11:24 PM
Nothing in xorg.conf -- FC6 Live CD -- Any other way to view xorg.conf? spfdz EOL (End Of Life) Versions 1 8th January 2007 06:02 AM


Current GMT-time: 15:21 (Saturday, 23-08-2014)

TopSubscribe to XML RSS for all Threads in all ForumsFedoraForumDotOrg Archive
logo

All trademarks, and forum posts in this site are property of their respective owner(s).
FedoraForum.org is privately owned and is not directly sponsored by the Fedora Project or Red Hat, Inc.

Privacy Policy | Term of Use | Posting Guidelines | Archive | Contact Us | Founding Members

Powered by vBulletin® Copyright ©2000 - 2012, vBulletin Solutions, Inc.

FedoraForum is Powered by RedHat