OpenBSD 用 XFree86 に関する README Matthieu Herrb Last modified on: 20 August 1999 The X Japanese Documentation Project Last modified on: 12 September 1999 ____________________________________________________________ 目次 1. XFree86 とその入手方法について 2. 本ドキュメントに対するバグ報告 3. 今回のリリースにおける OS 依存の新機能 4. XFree86 3.3.4 における OS 依存の新機能 5. バイナリのインストール 6. ハードウェアに対しての X の設定 6.1 マウスの設定について 6.2 その他の入力デバイス 6.3 PEX 機能拡張と XIE 機能拡張の設定 7. X の実行 7.1 xdm(ディスプレイマネージャ)の起動 7.2 ディスプレイマネージャ無しでの X の実行 8. X に対するカーネルのサポート 8.1 コンソールドライバ 8.2 アパーチャドライバ 8.3 MIT-SHM 9. XFree86 配布物の再構築 9.1 コンソールドライバ 9.2 他のアーキテクチャでの構築 10. 新しい X クライアントの構築 11. 日本語訳について ______________________________________________________________________ 1. XFree86 とその入手方法について XFree86 は X11R6.3 を Intel ベースの Unix のいくつかに移植したもので す。 XFree86 は元々、 X386 1.2 という X11R5 と一緒に配布されていた X サーバでした。このリリースでは新しい機能がたくさん追加され、性能も改善 されていますし、バグもたくさん修正されています。リリースは X コンソー シアムの X11R6.3 のソースへのパッチの形でも入手できますし、多くのアー キテクチャ用のバイナリの形でも入手できます。 著作権表示には目を通しておいてください。 XFree86 のソースは以下の場所から anonymous ftp で入手することができま す: ftp://ftp.XFree86.org/pub/XFree86/current OpenBSD 2.5 用のバイナリは以下の場所から入手できます: ftp://ftp.XFree86.org/pub/XFree86/current/binaries/OpenBSD ミラーサイトのリストは ftp://ftp.XFree86.org/pub/XFree86/MIRRORS にあ ります。 XFree86 は他のアーキテクチャ用の OpenBSD でも構築できます。詳しくは 「``他のアーキテクチャでの構築''」セクションを参照してください。 2. 本ドキュメントに対するバグ報告 このファイルに関するコメントや提案があれば、matthieu@laas.fr (Matthieu Herrb) または XFree86@XFree86.org まで電子メールを送ってください。本ド キュメントを修正します。 3. 今回のリリースにおける OS 依存の新機能 ありません。XFree86 3.3.5 における、OS に依存しない新機能についてはリ リースノートをご覧ください。 4. XFree86 3.3.4 における OS 依存の新機能 o サーバの最大接続数が 128 に増えました。 o resize ユーティリティが修正されました。 5. バイナリのインストール 詳しいインストール手順については、リリースノートのセクション 5 を参照 してください。 6. ハードウェアに対しての X の設定 /etc/XF86Config ファイルは使っているモニタやビデオカード、マウスの種類 を X サーバに知らせます。持っている特定のハードウェアをサーバに知らせ るために、このファイルを作成しなければなりません。 このファイルを作成する最も簡単な方法は、XF86Setup ユーティリティを root ユーザで実行することです。詳しい使い方については QuickStart.doc を参照してください。 ハードウェアに関して以下の情報が必要になります: o マウスの種類、ボーレート、/dev エントリ o ビデオカードのチップセット(例: ET4000, S3 等) o モニタの同期周波数 XF86Config ファイルを作成するためのお勧めの方法は、XF86Setup ユーティ リティを使うことです。XF86Setup を使用できない(稀な)場合のために、テキ ストユーティリティである xf86config もまだあります。また、サンプルファ イルが /usr/X11R6/lib/X11/XF86Config.eg としてインストールされます。こ のファイルは雛型として使うことができます。 XF86Config の詳しいファイルフォーマットについては、オンラインマニュア ルの XF86Config(5) を参照してください。 XF86Config ファイルの設定ができれば、xvidtune ユーティリティを使ってビ デオモードを性能がうまく出せるように調整することができます。 6.1. マウスの設定について シリアルマウスがうまく動作しない場合には、kermit または tip を使ってマ ウスのシリアルポートに接続し、マウスが実際にキャラクタデータを生成して いることを確認してください。 OpenBSD の pms ドライバは ``raw'' モードと ``cooked''(変換する)モード を用意しています。``raw'' モードではプロトコルの変換が行われないので、 このモードでデバイスと通信するために XFree86 は PS/2 プロトコルを使う でしょう。``Cooked'' モードは古いバスマウスの変換を行います。デバイス 名 /dev/psm0 で使う時は、このドライバは ``raw'' モードで動作します。 OpenBSD 2.2 では、このドライバは標準の PS/2 マウスだけをサポートしま す。 OpenBSD 2.3 以降では、同時に 3 バイト以上を送信する最近の PS/2 マウス (特に、IntelliMouse や "3D" ローラ付きの MouseMan+)をサポートしていま す。 XFree86 におけるマウス設定の一般的な手順については、 README.mouse を見 てください。 6.2. その他の入力デバイス XFree86 は、XInput 機能拡張を使う外部デバイス用ドライバの動的ロードを サポートしています。現在は以下のデバイスがサポートされています: o ジョイスティック (xf86Jstk.so) o Wacom 製タブレット (Wacom IV プロトコルのみ、xf86Wacom.so) o SummaSketch 製タブレット (xf86Summa.so) o Elographics 製タッチスクリーン (xf86Elo.so) 特定のデバイスを使うには、 load "module" という行を XF86Config の Module セクションに追加します。ここで module はデバイスに対応する .so ファイルの名前です。また、XF86Config の XIn- put セクションを設定する必要があります。詳しい設定手順については、オン ラインマニュアルの XF86Config(5) を参照してください。 これにより、xsetpointer(1) コマンドを使って、X のポインタを動かすため のデバイスを変更することができます。 ジョイスティックをサポートするには、カーネルのジョイスティックデバイス を有効にする必要があります。詳しくは joy(4) を見てください。 6.3. PEX 機能拡張と XIE 機能拡張の設定 PEX 機能拡張と XIE 機能拡張は外部モジュールとしてサポートされていま す。これらの機能拡張にアクセスしたければ、以下の行を XF86Config の Module セクションに追加してください: load "pex5.so" load "xie.so" 7. X の実行 X を実行するにはメモリが最低 8MB 必要です。サーバ、ウィンドウマネー ジャ、ディスプレイマネージャ、xterm でメモリを約 4MB 使います。メモリ が 4MB のシステムでは、gcc のように数メガバイトの空きメモリを期待する 他のアプリケーションの分のメモリがほとんど残りません。X はメモリ 4MB でも動作しますが、実際には X の実行中にコンパイルを行うと、頻繁にペー ジングが発生するために時間が 5〜10倍かかってしまいます。 7.1. xdm(ディスプレイマネージャ)の起動 ディスプレイマネージャを起動するには、コンソールから root でログインし て、``xdm -nodaemon'' を実行してください。 /etc/rc.local 中の以下の部分のコメントを外せば、起動時に自動的に xdm を起動することができます: if [ -x /usr/X11R6/bin/xdm ]; then echo -n ' xdm'; /usr/X11R6/bin/xdm fi OpenBSD 2.2 のデフォルトのインストール状態では、X サーバ用の仮想コンソ ールデバイスを作成する必要があります: cd /dev ./MAKEDEV ttyC5 OpenBSD 用の XFree86 のバイナリ配布には XDM-AUTHORIZATION-1 プロトコル のサポートは含まれていない点に注意してください。 7.2. ディスプレイマネージャ無しでの X の実行 初めてのユーザが X Window を起動するための最も簡単な方法は、 ``startx >& startx.log'' を実行することです。X サーバが画面表示を引き継ぐため、 エラーメッセージはリダイレクトしないと無くなってしまいます。 X から抜けるためには、コンソールになっている xterm で ``exit'' と入力 します。ホームディレクトリに .xinitrc, .xserverrc, .twmrc ファイルを作 ることにより、X をカスタマイズすることができます。これらのファイルにつ いては、オンラインマニュアルの xinit と startx の説明を参照してくださ い。 8. X に対するカーネルのサポート OpenBSD において X を確実にサポートするには、 /sys/arch/i386/conf にあ る設定ファイルに以下の行が含まれていなければなりません: options XSERVER 8.1. コンソールドライバ このサーバは 2 つの標準の OpenBSD/i386 コンソールドライバ(pcons と pcvt)をサポートしています。これらは実行時に検出されるので、サーバ側で の設定は不要です。 pcvt コンソールドライバが OpenBSD でのデフォルトです。このドライバは複 数の仮想コンソールを提供し、キーボードのサポートも国際化されています。 8.2. アパーチャドライバ OpenBSD にはデフォルトで、マルチユーザモード時には /dev/mem デバイスへ のアクセスを無効にするカーネルセキュリティ機能が含まれています。しか し、XFree86 のサーバは、表示メモリにアクセスするためにリニアアクセスを 利用(あるいは必要と)します。 P9000, Mach64, AGX サーバはリニアメモリアクセスを必要とします。他のア クセラレーション付きサーバはこの機能を利用することができますが、必ずし も必要とはしません。SVGA サーバのドライバの一部もリニアメモリアクセス を必要とします(特に Matrox ドライバ)。 XFree86 でリニアメモリにアクセスするための望ましい方法は、アパーチャド ライバを使うことです。 このステップはオペレーティングシステムの細かいバージョンに深く依存しま す: o OpenBSD 2.0 アパーチャドライバを /usr/lkm から使用します: 以下の行を /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 o OpenBSD 2.1, 2.2 アパーチャドライバをロードするための行のコメントを /etc/rc.securelevel から外します。 o OpenBSD 2.3 アパーチャドライバはカーネルの一部です。カーネルの設定ファイルに 'option APERTURE' を追加し、新しいカーネルの構築とインストールを行 い、 /dev ディレクトリで ./MAKEDEV std を実行します。 /etc/sysctl.conf を編集し、変数 machdep.allowaperture に 1 を設定し ます。 o OpenBSD 2.4 以降 OpenBSD では、どの X サーバの場合でもアパーチャドライバを有効にする ことが必要になりました。なぜなら、アパーチャドライバがビデオボード の I/O ポートへのアクセスも制御するからです。 これを行った後、システムを再起動してください。XFree86 は利用可能であれ ばアパーチャドライバを自動的に検出します。 警告: /bsd 以外のカーネルを起動する場合、ローダブルモジュールがシステ ムをクラッシュさせる可能性があります。他のカーネルを実行したい場合は、 シングルユーザモードでブートしてください。 警告: (一度 X が起動するとシステムが同じセキュリティ状態にな るように)アパーチャドライバは同時に 1 つのアクセスしか認めま せん。つまり、複数のサーバを複数の仮想端末で実行している場 合、最初の 1 つだけがリニアメモリアクセスを行えます。複数の X サーバを同時に実行する必要がある場合には、'option INSE- CURE' を使ってください。 リニアメモリアクセスを有効にするための別の(あまりお勧めできない)方法と しては、カーネルの設定ファイルに ``option INSECURE'' を追加して新しい カーネルを構築し、カーネルのセキュリティ機能を無効にする方法がありま す。 OpenBSD 2.2 以降では、さらに /etc/rc.securelevel 内で securelevel を 1 に初期化している行をコメントアウトする必要があります。 8.3. MIT-SHM OpenBSD は System V 共有メモリをサポートしています。カーネルがこの機能 をサポートしていることを XFree86 が検出した場合、XFree86 は MIT-SHM 機 能拡張をサポートします。 System V 共有メモリのサポートをカーネルに追加するには、以下の行をカー ネル設定ファイルに追加してください: # System V-like IPC options SYSVMSG options SYSVSEM options SYSVSHM 9. XFree86 配布物の再構築 サーバリンクキットを使うと、ディスクをできるだけ使わずに X サーバだけ を再構築することができます。サーバリンクキットを展開し、 xf86site.def を適切に修正し、`./mkmf' と `make' を実行してサーバをリンクしてくださ い。詳しくは /usr/X11R6/lib/Server/README を参照してください。 ソース配布物の展開と構築の手順については /usr/X11R6/lib/X11/etc/INSTALL を参照してください。 コンパイルの前には xc/config/cf/host.def を編集して、配布物を設定しな ければなりません。ソースをコンパイルするにはを ``make World'' を xc ディレクトリで実行します。 9.1. コンソールドライバ XFree86 にはコンソールドライバを選択する設定オプションがあり、 xf86site.def で使います: o pccons だけを使うなら、次の行を記述します: #define XFree86ConsoleDefines -DPCCONS_SUPPORT o pcvt だけを使うなら、次の行を記述します: #define XFree86ConsoleDefines -DPCVT_SUPPORT xf86site.def で XFree86ConsoleDefines を定義しなければ、 pccons ドライ バと pcvt ドライバが両方サポートされます。 9.2. 他のアーキテクチャでの構築 XFree86 は他のアーキテクチャ用の OpenBSD もサポートしています。 XFree86 サーバは OpenBSD/MIPS 上でも構築されています。S3 サーバ Dennis Ferguson さんと Matthew Green さんによる NetBSD 用の Xsun サー バパッチは、xc/programs/Xserver/hw/sun に統合されました。Xsun サーバは SPARC と Sun3 上で構築することができます。 XFree86 のクライアント部分は Alpha, pmax, Amiga, Mac68k, mvme68k アー キテクチャ上で構築できます。 この移植版に関する不具合は、XFree86 メーリングリストではなく、OpenBSD メーリングリストに直接報告してください。 OpenBSD プロジェクトは現在、XFree86 のソースコードに基づき、これに OpenBSD 固有の変更を行った、独自のソースツリーを持っています。ソースか ら再構築を行うには、このツリーから始めると良いでしょう。OpenBSD の X11 ソース地理ーは全ての OpenBSD の anonymous CVS サーバから anonymous CVS で入手することができます。anonymous CVS の詳細については、 http://www.openbsd.org/anoncvs.html を参照してください。 10. 新しい X クライアントの構築 新しいクライアント(X のアプリケーション)を作る最も簡単な方法は、ソース に Imakefile が付属していれば xmkmf を使うことです。 ``xmkmf -a'' を実 行して Makefile を作り、必要に応じて設定を確認し、それから ``make'' を 実行します。オンラインマニュアルもインストールした場合には、必ず ``makewhatis /usr/X11R6/man'' を実行し、 whatis.db を更新してくださ い。 $XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/README.OpenBSD,v 1.1.2.2 1999/11/26 15:23:10 hohndel Exp $ $XConsortium$ 11. 日本語訳について 日本語訳は X Japanese Documentation Project の藤原輝嘉 が行いました。問 題点の指摘やご意見は藤原まで御連絡ください。原文の著作権は XFree86 プ ロジェクト社にあり、日本語訳に伴う権利は X Japanese Documentation Project にあります。