After running the xinput calibrator, it generates following output:

Calibrating standard Xorg driver "ADS7846 Touchscreen"
current calibration values: min_x=0, max_x=65535 and min_y=0, max_y=65535
If these values are estimated wrong, either supply it manually with the --precalib option, or run the 'get_precalib.sh' script to automatically get it (through HAL).
--> Making the calibration permanent <--
  copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's)
Section "InputClass"
    Identifier  "calibration"
    MatchProduct    "ADS7846 Touchscreen"
    Option  "MinX"  "2649"
    Option  "MaxX"  "62067"
    Option  "MinY"  "2924"
    Option  "MaxY"  "63089"
    Option  "SwapXY"    "0" # unless it was already set to 1
    Option  "InvertX"   "0"  # unless it was already set
    Option  "InvertY"   "0"  # unless it was already set

Theoretically it should be pasted to /etc/X11/xorg.conf.d/99-calibration.conf. The problem is that the content of the file has no effect on the actual calibration (it remains min_x=0, max_x=65535 and min_y=0, max_y=65535 ). I know it can be a lot of things (wrong format, override), but how can it be debugged?

1 Answer 1


I encountered the same problem as you on a Pi 3 with the latest Raspbian Stretch, luckily the seller of my touchscreen provided a solution and it works in my case. As he says this problem may because the xserver-xorg-input-evdev is not installed.

Just execute:

sudo apt-get install xserver-xorg-input-evdev
sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf 

After reboot my touchscreen worked correctly.

Not the answer you're looking for? Browse other questions tagged or ask your own question.