README for XFree86 4.3.0 on OpenBSD : Kernel Support for X
Previous: Running X
Next: Rebuilding the XFree86 Distribution

## 7. Kernel Support for X

To make sure X support is enabled under OpenBSD, the following line must be in your config file in `/sys/arch/i386/conf`:

> `option APERTURE`

### 7.1. Console drivers

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.

### 7.2. Aperture Driver

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.

### 7.3. MIT-SHM

OpenBSD supports System V shared memory. If XFree86 detects this support in your kernel, it will support the MIT-SHM extension.

README for XFree86 4.3.0 on OpenBSD : Kernel Support for X
Previous: Running X
Next: Rebuilding the XFree86 Distribution