473fbdbe96
This is truly a hack. The idea is taken from the Linux ibcs2 emulator. To use this feature, you must use the option, options SPX_HACK in your config. Also, in /compat/ibcs2/dev, you must do: lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx Do NOT use old socksys driver as that has been removed. This hack needs /compat/ibcs2/dev/spx to be any device that does NOT exist/configured (so the now non-existant spx major/minor works fine). When an open() is called, the error ENXIO is checked and then the path is checked. If spx open detected, then a unix socket is opened to the hardcoded path "/tmp/.X11-unix/X0". As the Linux hacker author mentioned, the real way would be to detect the getmsg/putmsg through /dev/X0R and /dev/spx. Until this true solution is implemented (if ever), I think this hack is important enough to be put into the tree, even though I don't like it dirtying up my clean code (which is what #ifdef SPX_HACK is for).