To make sure X support is enabled under OpenBSD, the following
line must be in your config file in /sys/arch/i386/conf
:
option XSERVER
option APERTURE
The server supports the standard OpenBSD/i386 console drivers: pcvt and wscons. They are detected at runtime and no configuration of the server itself is required.
The pcvt console driver is the default in OpenBSD up to OpenBSD 2.8. It offers several virtual consoles and international keyboard support.
OpenBSD 2.9 and later has switched to the wscons console driver. This console driver has a pcvt compatibility mode for X support.
By default OpenBSD includes the BSD 4.4 kernel security
feature that disables access to the /dev/mem
device when in
multi-user mode. But the XFree86 server requires
linear access to the display memory in most cases.
OpenBSD now requires the aperture driver to be enabled for all X servers, because the aperture driver also controls access to the I/O ports of the video boards.
To enable the aperture driver, once included in the kernel, set
machdep.allowaperture=2
in /etc/sysctl.conf
. See the
xf86(4)
manual page for details.
Another (less recommended) way to enable linear memory and I/O ports
access is to disable the kernel security feature by
initializing securelevel
to -1 in /etc/rc.securelevel
.
Caveat: the aperture driver only allows one access at a time
(so that the system is in the same security state once X is
launched). This means that if you run multiple servers on multiple
virtual terminals, only the first one will have linear memory access.
Set securelevel
to -1 if you need more that one X server at a time.
OpenBSD supports System V shared memory. If XFree86 detects this support in your kernel, it will support the MIT-SHM extension.
To add support for system V shared memory to your kernel add the lines:
# System V-like IPC
options SYSVMSG
options SYSVSEM
options SYSVSHM
to your kernel config file.