CFT: update Xorg to 1.19.3

Jan Kokemüller jan.kokemueller at
Thu Mar 23 07:21:36 UTC 2017

Thanks, Xorg 1.19.3 from your patch works great for me. I've had trouble 
applying the patch, though. There were conflicts in the devd backend. I 
used "patch < Xorg_1_19_3.patch" to apply the patch. I've been running 
the libdevd-udev backend for now.

I'm running the 'modesetting' video driver on Intel Sandybridge graphics 
and it works without tearing when using compton. It seems a good 
alternative to the xf86-video-intel driver.

Evdev devices are picked up correctly by the libdevd-udev backend. But 
there is a small bug uncovered by using evdev devices exclusively: 
Without evdev, xf86-input-keyboard is used for keyboard input. This 
driver was responsible for setting the console to raw mode with 
"ioctl(fd, KDSKBMODE, K_RAW);". One easy way to check if raw mode is 
enabled is trying to press Alt+F1 to switch to another TTY. This should 
not work in raw mode (Strg+Alt+F1 is needed).

Setting the mode to K_RAW in the Server as done on Linux seems more 
correct. I don't fully understand this ioctl yet, though. There is some 
discussion here:

I'm using this quickly thrown together patch to set the terminal to 
K_RAW mode:

diff -ru work/xorg-server-1.19.3/hw/xfree86/os-support/bsd/bsd_init.c 
--- work/xorg-server-1.19.3/hw/xfree86/os-support/bsd/bsd_init.c 
2017-03-23 08:05:01.085410000 +0100
+++ work2/xorg-server-1.19.3/hw/xfree86/os-support/bsd/bsd_init.c 
2017-03-18 13:51:35.411504000 +0100
@@ -443,6 +443,11 @@
              fd = -1;
+    if (fd >= 0) {
+      ioctl(fd, KDSKBMODE, K_RAW);
+    }
      return fd;

@@ -596,6 +601,7 @@
  #if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)
      case SYSCONS:
      case PCVT:
+        ioctl(xf86Info.consoleFd, KDSKBMODE, K_XLATE);
          ioctl(xf86Info.consoleFd, KDSETMODE, KD_TEXT);  /* Back to 
text mode */
          if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) != -1) {
              VT.mode = VT_AUTO;

More information about the freebsd-x11 mailing list