I switched one machine to X.Org and immediately lost the mouse wheel. Naturally, I responded by changing three unrelated options in xorg.conf at once. The wheel remained decorative, and I no longer knew which edit had caused the pointer acceleration to feel strange.

Starting over one change at a time worked better. X.Org’s log records each configuration source, loaded module, detected device, warning, and error. The prefixes are particularly useful: (EE) deserves immediate attention, while (WW) is a clue rather than a conviction.

$ less /var/log/Xorg.0.log

The mouse was using the wrong protocol. Once the InputDevice section selected the correct protocol and enabled ZAxisMapping, wheel events arrived as expected. I confirmed that with xev, which is not beautiful but is wonderfully literal: move, click, or type, and it shows what the X server reports.

Display problems benefit from the same restraint. Modelines are timings, not decorative strings, and monitor ranges are safety limits rather than values to invent competitively. I let detection provide what it could, compared the resulting mode against the log, and added explicit values only when I had the monitor’s specifications in front of me.

This also clarified the layers for me. The kernel exposes the input device, the X server translates input and drives the display, and KDE consumes the resulting events. Poking a KDE setting cannot repair an X protocol mismatch. Likewise, changing an X option will not help if the kernel never reports the device.

I kept a minimal known-good configuration and added only the monitor ranges and device sections I actually needed. Generated configurations tend to contain enough commented examples to make every problem look plausible. More text is not more diagnosis.

Keeping the known-good file also made testing reversible without making every edit timid. I could change one section, restart the server, inspect the new log, and return to a working baseline if the result was worse. That is a much tighter loop than reconstructing yesterday’s guesses from memory.

The move to X.Org has been less dramatic than I expected, which is favorable. It feels familiar, the source is moving in an open direction, and the logging is adequate when I resist random editing. My new rule is log first, xev second, configuration change third. Rebooting repeatedly and hoping the mouse develops self-awareness is no longer on the list.