# X1 Carbon Synaptics trackpad Xorg



## jamesmintram (Apr 10, 2019)

Device: Lenovo-ThinkPad-X1-Carbon-2018-20KHC with FreeBSD12

I am having trouble getting my trackpad to work. I have posted config files and Xorg logs to the gist below. 









						gist:8bce159ef6f64abbe0b2c9e0cc4cdb04
					

GitHub Gist: instantly share code, notes, and snippets.




					gist.github.com
				




I have seen the trackpad work for about 2 seconds, very occasionally before it stops working. Soft/Hard reboots don't seem to bring the trackpad back to life.

I have tried setting hw.psm.elantech_support="1" in my loader.conf file - but when I run startx I see the touchpad driver does not load. So I am confident that hw.psm.synaptics_support="1" is the correct option.

Can anyone help me?


----------



## D-FENS (Apr 11, 2019)

You could boot the kernel in debug mode. On the startup menu press "3" and then type "boot -v".
Then see what messages might pop in dmesg.


----------



## VladiBG (Apr 11, 2019)

SynapticsTouchpad - FreeBSD Wiki


----------



## Minbari (Apr 11, 2019)

`echo 'moused_enable="YES"'` >> /etc/rc.conf


----------



## abishai (Apr 11, 2019)

Switch to libinput and remove synaptic driver.
1. Build kernel with EVDEV option
2. Grab newer xOrg server here https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196678
3.

```
Section "InputClass"
    Identifier "touchpad"
    MatchIsTouchpad "on"
    Option "TransformationMatrix" "1 0 0 0 1 0 0 0 0.7"
    Option "Tapping" "on"
    Option "ScrollMethod" "edge"
EndSection
```
4. hw.psm.synaptics_support=1 in /boot/loader.conf
5. kern.evdev.rcpt_mask=12 in /etc/sysctl.conf


----------



## jamesmintram (Apr 11, 2019)

*roccobaroccoSC> *
Thanks, I will try that. I have checked dmesg and everything seems to be OK. But I will try with the additional flags.
*VladiBG> *
I have already read that page and many other - I have tried lots of different combinations of flags/packages - and I am now here asking 
*Minbari> *
I have seen much conflicting information about enabling moused. From what I gather, moused should not be enabled when using a synaptics pad with X11?
*abishai> *
Thanks. I tried something close to thise. But I was missing the xorg conf bit. I will give it another go.

Also, if there is anyone in Berlin who may be able to take a look at my machine, I would be happy to buy you a coffee!* 
*


----------



## jamesmintram (Apr 12, 2019)

OK, so I have it kind of working with libinput. However, the cursor feels janky and clicking
is very temperamental. Sometime I can click the pad or the button many times with no
effect, other times it works perfectly.

Does this sound like a misconfigured setting? or some deeper issue?


----------



## blackhaz (Apr 12, 2019)

I have X1 Carbon Yoga (1st generation) working fine with just moused_enable="YES" in rc.conf. No other configuration was necessary, and X detects everything automatically on start. I do a few more usability tweaks in sysctl.conf but these are optional:


```
hw.psm.synaptics.min_pressure=1
hw.psm.synaptics.div_len=1
hw.psm.synaptics.weight_previous=1
hw.psm.synaptics.weight_current=1
hw.psm.synaptics.vscroll_div_min=100
hw.psm.synaptics.taphold_timeout=0
```


----------



## Minbari (Apr 12, 2019)

jamesmintram said:


> *Minbari> *
> I have seen much conflicting information about enabling moused. From what I gather, moused should not be enabled when using a synaptics pad with X11?


The trackpad/trackpoint works ok on my Thinkpad T430 and `moused_enabled` is in /etc/rc.conf.
and in /etc/sysctl.conf I have:

```
hw.psm.trackpoint.sensitivity=205
hw.psm.trackpoint.upper_plateau=105
```


----------



## Lars Skogstad (Jan 12, 2020)

abishai said:


> Switch to libinput and remove synaptic driver.
> 1. Build kernel with EVDEV option
> 2. Grab newer xOrg server here https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196678
> 3.
> ...



Could you explain a bit deeper how to do this?
Im rather new to fbsd, I tried using libinput without the kernelrebuild. Is it obligatory? Im running Freebsd 12.1 at the moment. 
Currently using the  synaptics driver but would want to use libinput. 

Could you help me with a more step-by-step approach? 

- Lars


----------



## neel (Jan 14, 2020)

Some new laptops like the 7th gen X1 Carbon (popular in the community) and the HP Spectre x360 2018+ (what I'm using) only have HID-over-I2C touchpads, and no PS/2. This is because of Microsoft's Precision Touchpad specifications.

To get this, follow the Section 3 Instructions of this Wiki page and you should be able to get touchpad. The instructions should be brand-neutral, but require CURRENT.

On a ThinkPad, you usually do have a PS/2-connected trackpoint which consumer-level laptops (and some business ones) like my Spectre and certain Dell Latitudes and HP EliteBooks lack.

Disclaimer: I work at Microsoft or a partner. I do not work on Windows, however.


----------



## christhegeek (May 8, 2020)

I have a geobook 13.3"  wifi works flawlessly , graphics driver works, sound works  but touchpad doesn't work i applied every single guide i found online but nothing !


----------



## neel (May 9, 2020)

christhegeek said:


> I have a geobook 13.3"  wifi works flawlessly , graphics driver works, sound works  but touchpad doesn't work i applied every single guide i found online but nothing !


It's likely your "GeoBook" uses HID-over-I2C. There is now a `iichid` port/package. Install that and then try again.


----------



## christhegeek (May 10, 2020)

I tried with iichid can't make it work  :-(


neel said:


> It's likely your "GeoBook" uses HID-over-I2C. There is now a `iichid` port/package. Install that and then try again.


----------



## neel (May 10, 2020)

christhegeek said:


> I tried with iichid can't make it work  :-(



The PCI IDs for the I2C controller in your laptop probably isn't in FreeBSD.

A good place is to report it to FreeBSD Bugzilla.

Also, if you have a copy of Windows or Linux, check Device Manager or `dmesg` to see what the touchpad/I2C controller is.


----------

