After some digging through /var/log/Xorg.?.log
, I discovered that both screens were for some reason loading the appropriate keyboard, and then later loading kdb_0. The relevant section was:
[ 3.666] (==) ModulePath set to "/usr/lib/i386-linux-gnu/xorg/extra-modules,/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules"
[ 3.666] (==) |-->Input Device "kbd_0"
[ 3.666] (==) |-->Input Device "<default keyboard>"
[ 3.666] (==) The core pointer device wasn't specified explicitly in the layout.
Using the first mouse device.
[ 3.666] (==) The core keyboard device wasn't specified explicitly in the layout.
Using the default keyboard configuration.
The reference to the "core keyboard" jogged something in my memory. Referring to one of the failed xorg.conf attempts while I was trying to get lightdm to work, I made modifications to both InputDevice lines of both ServerLayout sections:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "kbd_0" "CoreKeyboard"
InputDevice "mouse_0" "CorePointer"
Option "AutoEnableDevices" "false"
Option "AutoAddDevices" "false"
Option "AllowEmptyInput" "true"
EndSection
Section "ServerLayout"
Identifier "Layout1"
Screen 0 "Screen1" 0 0
InputDevice "kbd_1" "CoreKeyboard"
InputDevice "mouse_1" "CorePointer"
Option "AutoEnableDevices" "false"
Option "AutoAddDevices" "false"
Option "AllowEmptyInput" "true"
EndSection
After rebooting, the second kdb_0 load is gone from both logs, and the whole setup is working properly.