OpenBSD において X を確実にサポートするには、
/sys/arch/i386/conf
にある設定ファイルに以下の行が含まれてい
なければなりません:
options XSERVER
このサーバは 2 つの標準の OpenBSD/i386 コンソールドライバ(pcons と pcvt)をサポートしています。これらは実行時に検出されるので、サーバ側で の設定は不要です。
pcvt コンソールドライバが OpenBSD でのデフォルトです。このドライバは複 数の仮想コンソールを提供し、キーボードのサポートも国際化されています。
OpenBSD にはデフォルトで、マルチユーザモード時には /dev/mem
デバイスへのアクセスを無効にするカーネルセキュリティ機能が含まれていま
す。しかし、XFree86 のサーバは、表示メモリにアクセスするためにリニアア
クセスを利用(あるいは必要と)します。
P9000, Mach64, AGX サーバはリニアメモリアクセスを必要とします。他のア クセラレーション付きサーバはこの機能を利用することができますが、必ずし も必要とはしません。SVGA サーバのドライバの一部もリニアメモリアクセス を必要とします(特に Matrox ドライバ)。
XFree86 でリニアメモリにアクセスするための望ましい方法は、アパーチャド ライバを使うことです。
このステップはオペレーティングシステムの細かいバージョンに深く依存しま す:
/etc/rc.local
の最後に追加してください:
KERNDIR=/usr/lkm
if [ -f ${KERNDIR}/ap.o ]; then
modload -o ${KERNDIR}/ap -e ap -p \
${KERNDIR}/apinstall ${KERNDIR}/ap.o
fi
/etc/rc.securelevel
から外します。
/dev
ディレクトリで ./MAKEDEV std
を実行します。
/etc/sysctl.conf
を編集し、変数
machdep.allowaperture に 1 を設定します。
これを行った後、システムを再起動してください。XFree86 は利用可能であれ ばアパーチャドライバを自動的に検出します。
警告: /bsd
以外のカーネルを起動する場合、ローダブルモジュー
ルがシステムをクラッシュさせる可能性があります。他のカーネルを実行した
い場合は、シングルユーザモードでブートしてください。
警告: (一度 X が起動するとシステムが同じセキュリティ状態になるよ うに)アパーチャドライバは同時に 1 つのアクセスしか認めません。つまり、 複数のサーバを複数の仮想端末で実行している場合、最初の 1 つだけがリニ アメモリアクセスを行えます。複数の X サーバを同時に実行する必要がある 場合には、'option INSECURE' を使ってください。
リニアメモリアクセスを有効にするための別の(あまりお勧めできない)方法と
しては、カーネルの設定ファイルに ``option INSECURE'' を追加して新しい
カーネルを構築し、カーネルのセキュリティ機能を無効にする方法があります。
OpenBSD 2.2 以降では、さらに /etc/rc.securelevel
内で
securelevel
を 1 に初期化している行をコメントアウトする必要があり
ます。
OpenBSD は System V 共有メモリをサポートしています。カーネルがこの機能 をサポートしていることを XFree86 が検出した場合、XFree86 は MIT-SHM 機 能拡張をサポートします。
System V 共有メモリのサポートをカーネルに追加するには、以下の行をカー ネル設定ファイルに追加してください:
# System V-like IPC
options SYSVMSG
options SYSVSEM
options SYSVSHM