Skip to content
Jason Gerecke edited this page Jun 26, 2020 · 1 revision

Developers may ask you to use the git bisect command to try and isolate the exact cause of a particular issue. This page is intended to provide specific instruction on its use.

Before starting, you should have been able to build a working version of the driver by following the instructions. If so, go ahead and do the following:

  1. Install the git package (e.g. sudo yum install git or sudo apt install git)
  2. Use git to get a development version of the driver: git clone https://github.com/linuxwacom/input-wacom.git
  3. Enter the "input-wacom" directory
  4. Run git bisect start <bad> <good> with known-bad and known-good versions. You should be told which versions to use for "bad" and "good".

After running git bisect start you should see a "Bisecting" message like this:

Bisecting: 282 revisions left to test after this (roughly 8 steps)
[13dcd4d0c1e3db330f56557ab06bb3e6098ffbec] backport: Input: wacom_w8001 - constify serio_device_id

Now, repeat the following steps:

  1. Take note of the first seven characters of the second line (e.g. "13dcd4d" for the message above).
  2. Build and install the driver. If you can't build the driver for some reason, run git bisect skip and jump to step 7.
  3. Reboot
  4. Run grep "" /sys/module/wacom*/version and verify that its output ends with the seven characters you took note of.
  5. See if the problem still exists. If the problem usually takes some time to occur, be sure to wait long enough before deciding that this version of the driver is "good" or "bad".
  6. Run either git bisect good or git bisect bad inside the input-wacom directory depending on your results in the previous step. If something prevents you testing the driver, run git bisect skip instead of arbitrarily choosing between good/bad.
  7. If you get another "Bisecting" message, go back to step 1. Otherwise, you should be done and can continue on.

Once you are done, run git bisect log and send the output back to the developers.

Clone this wiki locally