Framebuffer HOWTO <author>Alex Buell, (<tt>alex.buell@tahallah.clara.co.uk</tt>) <date>v1.2, 27 Feb 2000 <trans> 翻訳:中谷千絵 (<tt>jeanne@mbox.kyoto-inet.or.jp</tt>) <tdate> 日本語訳: May.09,2001 <abstract> <!-- This document describes how to use the framebuffer devices in Linux with a variety of platforms. This also includes how to set up multi-headed displays. --> この文書は、さまざまなプラットホームがある Linux でフレームバッファデ バイスを使う方法についてまとめたものです。さらに複数のディスプレイを使うよう 設定する方法も含んでいます。 </abstract> <toc> <!-- HOWTO proper --> <sect><!-- History--> 履歴 <p> <!-- Revision history--> 改訂履歴 </p><p> 19990607 - Release of 1.0 </p><p> 19990722 - Release of 1.1 </p><p> 20000222 - Release of 1.2 </p> <sect><!-- Contributors--> 貢献してくださった方々 <p> <!-- Thanks go to these people listed below who helped improve the Framebuffer HOWTO.--> Framebuffer HOWTO の改訂に援助してくださった次の方々に感謝。 <itemize> <item>Jeff Noxon <tt/jeff@planetfall.com/ <item>Francis Devereux <tt/f.devereux@cs.ucl.ac.uk/ <item>Andreas Ehliar <tt/ehliar@futurniture.se/ <item>Martin McCarthy <tt/marty@ehabitat.demon.co.uk/ <item>Simon Kenyon <tt/simon@koala.ie/ <item>David Ford <tt/david@kalifornia.com/ <item>Chris Black <tt/cblack@cmpteam4.unil.ch/ <item>N Becker <tt/nbecker@fred.net/ <item>Bob Tracy <tt/rct@gherkin.sa.wlk.com/ <item>Marius Hjelle <tt/marius.hjelle@roman.uib.no/ <item>James Cassidy <tt/jcassidy@misc.dyn.ml.org/ <item>Andreas U. Trottmann <tt/andreas.trottmann@werft22.com/ <item>Lech Szychowski <tt/lech7@lech.pse.pl/ <item>Aaron Tiensivu <tt/tiensivu@pilot.msu.edu/ <item>Jan-Frode Myklebust for his info on permedia cards <tt/janfrode@ii.uib.no/ <item><!-- Many others too numerous to add, but thanks!--> あまりに多くてすべての方々を加えることができません。その他多くの方に感謝。 </itemize> <!-- Thanks go to Rick Niles <tt/frederick.a.niles@gsfc.nasa.gov/ who has very kindly handed over his Multi-Head Mini-HOWTO for inclusion in this HOWTO. --> <!-- Thanks to these people listed below who built libc5/glibc2 versions of the XF86_FBdev X11 framebuffer driver for X11 on Intel platforms: --> Rick Niles <tt/frederick.a.niles@gsfc.nasa.gov/ は、この HOWTO に Multi-Head Mini-HOWTO を含ませるため心よく提供してくださいました。 インテル上での X11 に対する XF86_FBdev X11 フレームバッファドライバの libc5/glibc2 版を構築した下記リストの方々に感謝。 <itemize> <item>Brion Vibber <tt/brion@pobox.com/ <item>Gerd Knorr <tt/kraxel@cs.tu-berlin.de/ </itemize> <!-- and of course the authors of the framebuffer devices:--> もちろん、フレームバッファデバイスの著者の方々にも感謝。 <itemize> <!-- <item>Martin Schaller - original author of the framebuffer concept--> <item>Martin Schaller - フレームバッファ概念の最初の著者 <item>Roman Hodek <tt/Roman.Hodek@informatik.uni-erlangen.de/ <item>Andreas Schwab <tt/schwab@issan.informatik.uni-dortmund.de/ <item>Guenther Kelleter <item>Geert Uytterhoeven <tt/Geert.Uytterhoeven@cs.kuleuven.ac.be/ <item>Roman Zippel <tt/roman@sodom.obdg.de/ <item>Pavel Machek <tt/pavel@atrey.karlin.mff.cuni.cz/ <item>Gerd Knorr <tt/kraxel@cs.tu-berlin.de/ <item>Miguel de Icaza <tt/miguel@nuclecu.unam.mx/ <item>David Carter <tt/carter@compsci.bristol.ac.uk/ <item>William Rucklidge <tt/wjr@cs.cornell.edu/ <item>Jes Sorensen <tt/jds@kom.auc.dk/ <item>Sigurdur Asgeirsson <item>Jeffrey Kuskin <tt/jsk@mojave.stanford.edu/ <item>Michal Rehacek <tt/michal.rehacek@st.mff.cuni.edu/ <item>Peter Zaitcev <tt/zaitcev@lab.ipmce.su/ <item>David S. Miller <tt/davem@dm.cobaltmicro.com/ <item>Dave Redman <tt/djhr@tadpole.co.uk/ <item>Jay Estabrook <item>Martin Mares <tt/mj@ucw.cz/ <item>Dan Jacobowitz <tt/dan@debian.org/ <item>Emmanuel Marty <tt/core@ggi-project.org/ <item>Eddie C. Dost <tt/ecd@skynet.be/ <item>Jakub Jelinek <tt/jj@ultra.linux.cz/ <item>Phil Blundell <tt/philb@gnu.org/ <!-- <item>Anyone else, stand up and be counted. :o) --> <item>抜けている方は、ここに含められるよう自己申告してください :o) </itemize> <sect><!-- What is a framebuffer device?--> フレームバッファデバイスとは何か <p> <!-- A framebuffer device is an abstraction for the graphic hardware. It represents the frame buffer of some video hardware, and allows application software to access the graphic hardware through a well-defined interface, so that the software doesn't need to know anything about the low-level interface stuff [Taken from Geert Uytterhoeven's framebuffer.txt in the linux kernel sources]--> フレームバッファデバイスとは、グラフィックハードウェアの抽象化です。 特定のビデオハードウェアのフレームバッファのエミュレーションを行うので、 アプリケーションソフトウェアからはきちんと定められたインターフェースを 介してアクセスすることができ、その結果、ソフトウェアは下位レベルの インターフェースの内容について何も知る必要がなくなります。[linux のカー ネルソースに添付されている Geert Uytterhoeven の framebuffer.txt から の引用] <sect><!-- What advantages does framebuffer devices have? --> フレームバッファデバイスの長所は何か <p> <!-- Penguin logo. :o) Seriously, the major advantage of the framebuffer drives is that it presents a generic interface across all platforms. It was the case until late in the 2.1.x kernel development process that the Intel platform had console drivers completely different from the other console drivers for other platforms. With the introduction of 2.1.109 all this has changed for the better, and introduced more uniform handling of the console under the Intel platforms and also introduced true bitmapped graphical consoles bearing the Penguin logo on Intel for the first time, and allowed code to be shared across different platforms. Note that 2.0.x kernels do not support framebuffer devices, but it is possible someday someone will backport the code from the 2.1.x kernels to 2.0.x kernels. There is an exception to that rule in that the v0.9.x kernel port for m68k platforms does have the framebuffer device support included. --> ペンギンロゴ。:o)冗談はさておき、フレームバッファデバイスのおもな利点 は、すべてのプラットホームに渡って汎用のインターフェースを提供するこ とです。カーネル 2.1.x の開発過程で、最近までインテルプラットホームは、 その他のプラットホームのコンソールドライバとは完全に違うコンソールドラ イバを使っていました。2.1.109 が出たとき、これらすべてはより良いものに 変更され、インテルプラットホームでさらに統一されたコンソール操作を取り 入れました。同時にビットマップグラフィカルなコンソールを導入して初めて インテルプラットホーム上でビットマップ化されたペンギンロゴの表示が可能に なりました。さらに異なったプラットホームでもコードが共有できるようになり ました。カーネル 2.0.x はフレームバッファドライバをサポートしていません が、いつか誰かが2.1.x カーネルから2.0.x カーネルにコードをバックポート するでしょう。m68k プラットホームの v0.9.x カーネルでは、フレームバッ ファデバイスサポートをすでに含んでいるという例外があります。 <!-- <em/With the release of the 2.2.x kernel, framebuffer device support is very solid and stable. You should use the framebuffer device if your graphic card supports it, if you are using 2.2.x kernels. Older 2.0.x kernels does not support framebuffer devices, at least on the Intel platform./ --> <em/カーネル 2.2.x のリリースで、フレームバッファデバイスサポートは信 頼と安定があります。2.2.x カーネルを使用していて、お使いのグラフィック カードがフレームバッファをサポートしているなら使ったほうがよいでしょう。 古い 2.0.x カーネルでは少なくともインテルプラットホームではフレームバッファ デバイスはサポートされていません。/ <!-- <itemize> <item>0.9.x (m68k) - introduced m68k framebuffer devices. Note that m68k 0.9.x is functionally equivalent to Intel 1.0.9 (plus 1.2.x enhancements) <item>2.1.107 - introduced Intel framebuffer/new console devices and added generic support, without scrollback buffer support. <item>2.1.113 - scrollback buffer support added to vgacon. <item>2.1.116 - scrollback buffer support added to vesafb. <item>2.2.x - includes matroxfb(Matrox) and atyfb(ATI). </itemize>--> <itemize> <item>0.9.x (m68k) - m68k フレームバッファデバイスを導入した。m68k 0.9.x は機能的には、Intel 1.0.9 (plus 1.2.x enhancements) と同等です。 <item>2.1.107 - Intel framebuffer と新しいコンソールデバイスを導入し、 scrollback buffer support を持たない一般的なサポートを追加した。 <item>2.1.113 - vgacon に scrollback buffer support を追加。 <item>2.1.116 - vesafb に scrollback buffer support を追加。 <item>2.2.x - matroxfb(Matrox) と atyfb(ATI) を含む。 </itemize> <!-- There are some cool features of the framebuffer devices, in that you can give generic options to the kernel at bootup-time, including options specific to a particular framebuffer device. These are:--> フレームバッファデバイスには素晴らしい仕様を持っているものもあります。 起動時にカーネルに一般的なオプションを与えることができ、それには特定の フレームバッファデバイスに固有のオプションも含まれています。次のような ものがあります: <!-- <itemize> <item><tt/video=xxx:off/ - disable probing for a particular framebuffer device <item><tt/video=map:octal-number/ - maps the virtual consoles (VCs) to framebuffer (FB) devices <itemize> <item><tt/video=map:01/ will map VC0 to FB0, VC1 to FB1, VC2 to FB0, VC3 to FB1.. <item><tt/video=map:0132/ will map VC0 to FB0, VC1 to FB1, VC2 to FB3, VC4 to FB2, VC5 to FB0.. </itemize> </itemize>--> <itemize> <item><tt/video=xxx:off/ - 特定のフレームバッファの検出を無効にする。 <item><tt/video=map:octal-number/ - フレームバッファ(FB)デバイスに 仮想コンソール(VCs)をマップする。 <itemize> <item><tt/video=map:01/ は、FB0 に VC0 を、FB1 に VC1 を、FB0 に VC2 を、 FB1 に VC3 をというようにマップする。 <item><tt/video=map:0132/ は、FB0 に VC0 を、FB1 に VC1 を、FB3 に VC2 を、 FB2 にVC4 を FB0 に VC5 のようにマップする。 </itemize> </itemize> <!-- Normally framebuffer devices are probed for in the order specified in the kernel, but by specifying the <tt/video=xxx/ option, you can add the specific framebuffer device you want probed before the others specified in the kernel.--> 通常フレームバッファデバイスはカーネルに明記された順番で検索されますが、 <tt/video=xxx/ オプションを明示することで、カーネルに記されたものより も先に、検索したい特定のフレームバッファデバイスを加えることができます。 <sect><!-- Using framebuffer devices on Intel platforms--> インテルプラットホーム上でフレームバッファデバイスを使う <sect1><!-- What is vesafb?--> vesafb とは何か <p> <!-- Vesafb is a framebuffer driver for Intel architecture that works with VESA 2.0 compliant graphic cards. It is closely related to the framebuffer device drivers in the kernel. --> Vesafb は VESA 2.0 類似のグラフィックカードで動くインテルアーキテクチャ のフレームバッファドライバです。カーネル内部でフレームバッファデバイス と密接に関係しています。 <!-- vesafb is a display driver that enables the use of graphical modes on your Intel platform for bitmapped text consoles. It can also display a logo, which is probably the main reason why you'd want to use vesafb :o) --> vesafb は、ビットマップ化されたテキストコンソールに対するインテルプラッ トホーム上で、グラフィカルモードの使用を可能にするディスプレイドライバ です。ロゴを表示できるようにもなり、それが恐らくvesafb を使いたいおも な理由かもしれません。 <!-- Unfortunately, you can not use vesafb successfully with VESA 1.2 cards. This is because these 1.2 cards do not use <em/linear/ frame buffering. Linear frame buffering simply means that the system's CPU is able to access every bit of the display. Historically, older graphic adapters could allow the CPU to access only 64K at a time, hence the limitations of the dreadful CGA/EGA graphic modes! It may be that someone will write a vesafb12 device driver for these cards, but this will use up precious kernel memory and involve a nasty hack.--> 残念ながら、VESA 1.2 カードでは十分に vesafb を使えません。これらの 1.2 カードは <em/linear/ frame buffering を使わないからです。Linear frame buffering というのは、システムの CPU がディスプレイのすべての bit にアクセスできるということです。歴史的に、古いグラフィックカード では、一度に 64K しか CPU からアクセスできません。これが、かのオソロ シイ CGA/EGA グラフィックモードの限界、というわけです! これらのカードについての vesafb12 デバイスドライバを誰かが書いてもよい でしょうが、これは、貴重なカーネルメモリを消費し、あまりやりたくない 格闘が必要になるでしょう。 <!-- There is however a potential workaround to add VESA 2.0 extensions for your legacy VESA 1.2 card. You may be able to download a TSR type program that will run from DOS, and used in cojunction with loadlin, can help configure the card for the appropriate graphic console modes. Note that this will not always work, as an example some Cirrus Logic cards such as the VLB 54xx series are mapped to a range of memory addresses (for example, within the 15MB-16MB range) for frame buffering which preludes these from being used successfully with systems that have more than 32MB of memory. There is a way to make this work, i.e. if you have a BIOS option to leave a memory hole at 15MB-16MB range, it might work, Linux doesn't support the use of memory holes. However there are patches for this option though [Who has these and where do one gets them from?]. If you wish to experiment with this option, there are plenty of TSR style programs available, a prime example is UNIVBE, which can be found on the Internet. --> しかしながら、あなたがお持ちのちょっと古い VESA 1.2 カードに対して VESA 2.0 エクステンションを加えるには、ちょっとした努力が必要です。DOS から動かせる TSR 型プログラムをダウンロードできるでしょうし、loadlin を使って適切なグラフィックコンソールモードに対してカードの設定を援助 できます。これはいつもうまくいかないことを注意しておいてください。 たとえば、VLB 54xx シリーズのような Cirrus Logic のあるものは、 フレームバッファリング用に特定のメモリアドレス(たとえば15MB-16MB の 範囲以内)の範囲をマップしており、かつそれらが 32MB 以上のメモリを持つ システムでメモリ範囲から除外されていることを前提にしています。 このようなボードを動かす方法はあります。 たとえば、15MB-16MB の範囲でメモリホールをそのままにする BIOS オプションが使えるなら動かせるでしょう。Linux 自身はメモリホー ルの使用をサポートしていません。 しかし、このオプションに対するパッチがありますが、[誰が作って、どこから入手 するか?です] あなたがこのオプションを試してみたいなら、利用できる TSR プログラムはたくさんあります。 UNIVBE はもっと有名で、インターネット上 にあります。 <!-- Alternatively, you may be able to download kernel patches to allow your VESA 1.2 card to work with the VESA framebuffer driver. For example, there are patches for use with older S3 boards (such as S3 Trio, S3 Virge) that supports VESA 1.2. For these cards, you can pick up patches from <verb>ftp://ccssu.crimea.ua/pub/linux/kernel/v2.2/unofficial/s3new.diff.gz</verb>--> あるいは、 VESA フレームバッファドライバで動かすため、VESA 1.2 カード を可能にするカーネルパッチをダウンロードできるでしょう。たとえば、 VESA 1.2 をサポートしているちょっと古い S3 のボード(S3 Trio や S3 Virge のような)で使うパッチがあります。これらのカードについては、 <verb>ftp://<url url="ftp://ccssu.crimea.ua/pub/linux/kernel/v2.2/unofficial/s3new.diff.gz" name="ftp://ccssu.crimea.ua/pub/linux/kernel/v2.2/unofficial/s3new.diff.gz"></verb>からパッチを入手できます。 <sect1><!-- How do I activate the vesafb drivers? --> vesafb ドライバを有効にする方法 <p> <!-- Assuming you are using menuconfig, you will need to do the following steps:--> menuconfig をお使いだと仮定して、次のような手順が必要です。 <!-- If your processor (on Intel platforms) supports MTRRs, enable this. It speeds up memory copies between the processor and the graphic card, but not strictly necessary. You can of course, do this after you have the console device working.--> お使いのプロセッサ(インテルプラットホームで)が MTRR 類をサポートしてい るなら、これを有効にします。この機能はプロセッサとグラフィックカードの間でメモリ コピーを高速にしますが、必ずしも必要ではありません。もちろん、コンソー ルデバイスを動くようにした後で行うことができます。 <!-- <em/IMPORTANT: For 2.1.x kernels, go into the Code Maturity Level menu, and enable the prompt for development and/<em/or incomplete drivers. This is no longer necessary for the 2.2.x kernels./ --> <em/重要:2.1.x カーネルでは、Code Maturity Level のメニューに入り、 the prompt for development と/<em/または、incomplete drivers を有効に します。2.2.x カーネルではこれはもう必要はありません。/ <!-- Go into the Console Drivers menu, and enable the following:--> Console Drivers メニューに入り、次の項目を有効にします: <itemize> <item>VGA Text Console <item>Video Selection Support <item>Support for frame buffer devices (experimental) <item>VESA VGA Graphic console <item>Advanced Low Level Drivers <item>Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed pixel drivers </itemize> <!-- VGA Chipset Support (text only) - vgafb - used to be part of the list above, but it has been removed as it is now deprecated and no longer supported. It will be removed shortly. Use VGA Text Console (fbcon) instead. VGA Character/Attributes is only used with VGA Chipset Support, and doesn't need to be selected. --> VGA Chipset Support (テキストのみ) - vgafb - は、上記リストの一部でしたが、 批判をあびたので現在は取り除かれ、もうサポートされていません。近いうちに 削除されるでしょう。かわりに VGA Text Console (fbcon) を使います。 VGA Character/Attributes は VGA Chipset でのみ使用でき、選択する必要は ありません。 <!-- Ensure that the Mac variable bpp packed pixel support is not enabled. Linux kernel release 2.1.111 (and 112) seemed to enable this automatically if Advanced Low Level Drivers was selected for the first time. This no longer happens with 2.1.113. --> Mac variable bpp packed pixel support は有効にはなっていないのは確かで す。Linux カーネル 2.1.111 ( さらに 112)では、最初に、Advanced Low Level Drivers が選択されていたなら、自動的にこれを有効にするようです。 2.1.113 ではもうこのようにはなりません。 <!-- There is also the option to compile in fonts into memory, but this isn't really necessary, and you can always use kbd-0.99's (see section on fonts) setfont utility to change fonts by loading fonts into the console device. --> メモリにフォントをいれてコンパイルするオプションもありますが、これは実 際には必要ではなく、コンソールデバイスにフォントをロードすることでフォ ントを変更するため、通常は kbd-0.99 のフォントユーティリティ(フォントに ついての章を見てください)を使えます。 <!-- Make sure these aren't going to be modules. [Not sure if it's possible to build them as modules yet - please correct me on this] --> モジュールにしないよう確認してください。[モジュールとして組み込みが 可能かはよくわかりません。これについては教えてください。 ] <!-- You'll need to create the framebuffer device in /dev. You need one per framebuffer device, so all you need to do is to type in mknod /dev/fb0 c 29 0 for the first one. Subsequent ones would be in multiples of 32, so for example to create /dev/fb1, you would need to type in mknod /dev/fb1 c 29 32, and so on up to the eighth framebuffer device (mknod /dev/fb7 c 29 224)--> /dev にフレームバッファデバイスを作らなくてはいけません。フレームバッ ファデバイスごとにひとつ必要で、デバイスを作るために、まず mknod /dev/fb0 c 29 0 と入力します。次のひとつは 32 の倍数になり、たとえば、 /dev/fb1 を作るには、mknod /dev/fb1 c 29 32 と入力しなければいけません。 このようにして続けて8 つのフレームバッファデバイスまで作ることができま す(mknod /dev/fb7 c 29 224)。 <!-- Then rebuild the kernel, modify /etc/lilo.conf to include the VGA=ASK parameter, and run lilo, this is required in order for you to be able to select the modes you wish to use.--> 次に、カーネルを再構築し、/etc/lilo.conf に VGA=ASK というパラメータを 加えて書き直し、lilo を走らせ、これで使いたいモードを選択できるように します。 <!-- Here's a sample LILO configuration (taken from my machine)--> 簡単な LILO の設定例です(私のマシンで使っている例です)。 <!-- <verb> # LILO configuration file boot = /dev/hda3 delay = 30 prompt vga = ASK # Let user enter the desired modes image = /vmlinuz root = /dev/hda3 label = Linux read-only # Non-UMSDOS filesystems should be mounted read-only for checking </verb>--> <verb> # LILO 設定ファイル boot = /dev/hda3 delay = 30 prompt vga = ASK # ユーザが望むモードを入力する。 image = /vmlinuz root = /dev/hda3 label = Linux read-only # 非-UMSDOS ファイルシステムは読みだしのみでマウントされます。 </verb> <!-- Reboot the kernel, and as a simple test, try entering 0301 at the VGA prompt (this will give you 640x480 @ 256), and you should be able to see a cute little Penguin logo.--> カーネルを再起動し、簡単なテストとして、VGA プロンプトで 0301 を入力し ます( 640x480 @ 256 になります)、これであなたはかわいい小さなペンギン ロゴを見ることができるはずです。 <!-- Note, that at the VGA prompt, you're required to type in the number in the format of "0" plus the 3 digit figure, and miss out the 'x'. This isn't necessary if you're using LILO.--> VGA プロンプトで、''0''と 3 で表す形式での数字の入力を要求されることに 注意してください。'x' ではだめです。LILO を使っているならこれは必要あ りません。 <!-- Once you can see that's working well, you can explore the various VESA modes (see below) and decide on the one that you like the best, and hardwire that into the "VGA=x" parameter in lilo.conf. When you have hardware?? chosen the one you like the best, look up the equivalent hexadecimal number from the table below and use that (i.e. for 1280x1024 @ 256, you just use "VGA=0x307"), and re-run lilo. That's all there it is to it. For further references, read the LoadLin/LILO HOWTOs.--> うまく動くことを確かめたなら、さまざまな VESA モード(後述)を試してもっ ともよいものに決め、lilo.conf に ''VGA=x''パラメータにハードウェアを指 示します。もっとも良いものを選んだとき、下記の表から10進の数値に相当す るものを探し、それを使い(たとえば、1280x1024 @ 256 に対しては、 ''VGA=0x307''を使います)、lilo を再起動します。それで終りです。もっと詳 しい情報に関しては、LoadLin と LILO についての HOWTO を読んでください。 <!-- <em/NOTE!/ vesafb does not enable scrollback buffering as a default. You will need to pass to the kernel the option to enable it. Use video=vesa:ypan or video=vesa:ywrap to activate it. Both does the same thing, but in different ways. ywrap is a lot faster than ypan but may not work on slightly broken VESA 2.0 graphic cards. ypan is slower than ywrap but a lot more compatible. This option is only present in kernel 2.1.116 and above. Earlier kernels did not have the ability to allow scrollback buffering in vesafb.--> <em/注意!/ vesafb はデフォルトではスクロールバックバッファリングが有効で はありません。カーネルで有効にするオプションを渡す必要があります。 アクティブにするため video=vesa:ypan または video=vesa:ywrap を使いま す。この二つは同じことを違った方法で行います。ywrap は ypan よりかなり高速です が、少し怪しい VESA 2.0 グラフィックカード上では動かないかもしれません。 ypan は ywrap より遅いですがより高い互換性があります。このオプションはカー ネル2.1.116 とそれ以降のカーネルでだけ使えます。少し前のカーネルは vesafb でスクロールバッファリングを許可する能力を持っていません。 <sect1><!-- What VESA modes are available to me? --> どのような VESA モードを利用できるか <p> <!-- This really depends on the type of VESA 2.0 compliant graphic card that you have in your system, and the amount of video memory available. This is just a matter of testing which modes work best for your graphic card. --> お使いのシステムで使っている VESA 2.0 類似グラフィックカードの型とビデ オメモリの容量に依存します。この件は、お使いのビデオカードにとって最良 に動くモードをテストする事柄です。 <!-- The following table shows the mode numbers you can input at the VGA prompt or for use with the LILO program. (actually these numbers are plus 0x200 to make it easier to refer to the table) --> 次の表は、 VGA プロンプトで入力できる、または LILO プログラムで使える モード数値を示したものです。(これらの数値は表を参照するのをより簡単にして いるため、実際には0x200 が加わります。) <verb> Colours 640x400 640x480 800x600 1024x768 1152x864 1280x1024 1600x1200 --------+-------------------------------------------------------------- 4 bits | ? ? 0x302 ? ? ? ? 8 bits | 0x300 0x301 0x303 0x305 0x161 0x307 0x31C 15 bits | ? 0x310 0x313 0x316 0x162 0x319 0x31D 16 bits | ? 0x311 0x314 0x317 0x163 0x31A 0x31E 24 bits | ? 0x312 0x315 0x318 ? 0x31B 0x31F 32 bits | ? ? ? ? 0x164 ? </verb> <!-- Key: 8 bits = 256 colours, 15 bits = 32,768 colours, 16 bits = 65,536 colours, 24 bits = 16.8 million colours, 32 bits - same as 24 bits, but the extra 8 bits can be used for other things, and fits perfectly with a 32 bit PCI/VLB/EISA bus.--> Key: 8 bits は 256 色、15 bits は 32,768 色、16 bits は 65,536 色、24 bits は 16.8 万色、32 bits は 24 bits とほぼ同じですが、余分の 8 bits は他のことに使えます。そして、32 bit PCI/VLB/EISA バスで、完璧に適応し ます。 <!-- Additional modes are at the discretion of the manufacturer, as the VESA 2.0 document only defines modes up to 0x31F. You may need to do some fiddling around to find these extra modes.--> 追加モードはカードメーカーの判断にあり、VESA 2.0で、 0x31F に定義され たモードを書いているだけです。これらの特別のモードを見つけるにはあれこ れあたらなくてはいけないかもしれません。 <sect1><!-- Got a Matrox card?--> Matrox カードを設定するには? <p> <!-- If you've got a Matrox graphic card, you don't actually need vesafb, you need the matroxfb driver instead. This greatly enhances the capabilities of your card. Matroxfb will work with Matrox Mystique Millennium I & II, G100 and G200. It also supports multiheaded systems (that is, if you have two Matrox cards in your machine, you can use two displays on the same machine!). To configure for Matrox, you will need to do the following: --> Matrox のグラフィックカードを持っているなら、実際のところ vesafb は必 要ありません。かわりに matroxfb ドライバが必要です。これはお使いのカー ドの能力を著しく高めます。Matroxfb は Matrox Mystique Millennium I と II、G100 と G200 で動くでしょう。multiheaded システムもまたサポートし ています(つまり、自分のマシンに2枚の Matrox カードをつけているなら、 同じマシンで2つのディスプレイを使うことができます!) Matrox を設定す るため、次のようにする必要があります。 <!-- You might want to upgrade the Matrox BIOS though, you can download the BIOS upgrade from <verb>http://www.matrox.com/mgaweb/drivers/ftp_bios.htm</verb> Beware that you will need DOS to do this. --> Matrox BIOS を更新したいなら、 <htmlurl url="http://www.matrox.com/mgaweb/drivers/ftp_bios.htm" name="http://www.matrox.com/mgaweb/drivers/ftp_bios.htm">からBIOS アップグレード版をダウンロードできます。アップグレードするには DOS が 必要になることに注意してください。 <!-- Go into the Code Maturity Level menu, and enable the prompt for development and/or incomplete drivers [note this may change for future kernels - when this happens, this HOWTO will be revised]--> Code Maturity Level メニューに入り、development and/or incomplete drivers を有効にします。[これは今後のカーネルでは変更になるかもしれま せん。そうなれば、このHOWTO は改訂されるでしょう。 ] <!-- Go into the Console Drivers menu, and enable the following:--> Console Drivers メニューに入り、次の項目を有効にします。 <itemize> <item>VGA Text Console <item>Video Selection Support <item>Support for frame buffer devices (experimental) <item>Matrox Acceleration <item>Select the following depending on the card that you have <itemize> <item>Millennium I/II support <item>Mystique support <item>G100/G200 support </itemize> <item>Enable Multihead Support if you want to use more than one Matrox card <item>Advanced Low Level Drivers <item>Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed pixel drivers </itemize> <!-- Rebuild your kernel. Then you will need to modify your lilo.conf file to enable the Matroxfb device. The quickest and simplest way is re-use mine. --> カーネルを再構築します。それから Matroxfb デバイスを有効にするため lilo.conf ファイルを修正する必要があります。もっとも速くて簡単な方法は 私のものを再利用することです。 <verb> # LILO configuration file boot = /dev/hda3 delay = 30 prompt vga = 792 # You need to do this so it boots up in a sane state # Linux bootable partition config begins image = /vmlinuz append = "video=matrox:vesa:440" # then switch to Matroxfb root = /dev/hda3 label = Linux read-only # Non-UMSDOS filesystems should be mounted read-only for checking </verb> <!-- Lastly, you'll need to create the framebuffer device in /dev. You need one per framebuffer device, so all you need to do is to type in mknod /dev/fb0 c 29 0 for the first one. Subsequent ones would be in multiples of 32, so for example to create /dev/fb1, you would need to type in mknod /dev/fb1 c 29 32, and so on up to the eight framebuffer device (mknod /dev/fb7 c 29 224) --> 最後に /dev にフレームバッファデバイスを作らなければいけません。フレー ムバッファデバイスごとに一つ必要で、デバイスを作るために、まず mknod /dev/fb0 c 29 0 と入力します。次のひとつは 32 の倍数になり、たとえば、 /dev/fb1 を作るには、mknod /dev/fb1 c 29 32 と入力しなければいけません。 このようにして続いて、8 番目のフレームバッファデバイスまで作れます (mknod /dev/fb7 c 29 224)。 <!-- And that should be it! [NOTE: Is anyone using this multiheaded support, please get in touch with me ASAP - I need to talk to you about it so I can document it!--> これでいいはずです![注意:どなたかこの multiheaded support をお使 いなら、できるだけ早く私に連絡してください。私はその件について書くため に (情報がほしいため) 話したいのです。] <!-- [ASAP: as soon as possible]--> <sect1><!-- Got a Permedia card?--> Permedia カードを設定するには? <p> <!-- Permedia cards cannot be used with the vesafb driver, but fortunately, there is the Permedia framebuffer driver available to use. Assuming you are using menuconfig, do the following: --> Permedia カードは vesafb ドライバでは使うことはできませんが、幸いに、 Permedia フレームバッファドライバがあります。menuconfig をお使いなら、 次のように行います。 <!-- Go into the Code Maturity Level menu, and enable the prompt for development and/or incomplete drivers [note this may change for future kernels - when this happens, this HOWTO will be revised] --> Code Maturity Level メニューに入り、development and/or incomplete drivers [これは将来のカーネルでは変更されるかもしれません。そうなった ら、この HOWTO は改訂されるでしょう。] <!-- Go into the Console Drivers menu and select the following:--> Console Drivers メニューに入り、次の項目を選択します。 <itemize> <item>VGA Text Console <item>Video Selection Support <item>Support for frame buffer devices (experimental) <item>Permedia2 support (experimental) <item>Generic Permedia2 PCI board support <item>Advanced Low Level Drivers <item>Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed pixel drivers <!-- <item>Optionally, select the following, if you wish to use the compiled in fonts--> <item>フォント組み込みでコンパイルして使いたいなら、オプションとして、 次の項目を選択します。 <itemize> <item>Select compiled-in fonts <item>Select Sparc console 12x22 font </itemize> </itemize> <!-- Rebuild your kernel. Then you will need to modify your lilo.conf file to enable the pm2fb device. The quickest and simplest way is re-use the following --> カーネルを再構築します。それから pm2fb デバイスを有効にするため、 lilo.conf ファイルを修正しなければいけません。より速く簡単にするなら、次 に示したものを使ってください。 <verb> # LILO configuration file boot = /dev/hda3 delay = 30 prompt vga = 792 # You need to do this so it boots up in a sane state # Linux bootable partition config begins image = /vmlinuz append = "video=pm2fb:mode:1024x768-75,font:SUN12x22,ypan" # then switch to pm2fb root = /dev/hda3 label = Linux read-only # Non-UMSDOS filesystems should be mounted read-only for checking </verb> <!-- The line "pm2fb:mode:1024x768-75,font:SUN12x22,ypan" indicates you are selecting a 1024x768 mode at 75Hz, with the SUN12x22 font selected (if you did select it), including ypan for scrollback support. You may select other modes if you desire. --> ''pm2fb:mode:1024x768-75,font:SUN12x22,ypan''の行は、75Hz で 1024x768 モード、scrollback サポートに対する ypan を含む SUN12x22 フォント(それ を選択しているなら)を選択しているのを示します。お望みならモードを選択 してもよいでしょう。 <!-- Lastly, you'll need to create the framebuffer device in /dev. You need one per framebuffer device, so all you need to do is to type in mknod /dev/fb0 c 29 0 for the first one. Subsequent ones would be in multiples of 32, so for example to create /dev/fb1, you would need to type in mknod /dev/fb1 c 29 32, and so on up to the eight framebuffer device (mknod /dev/fb7 c 29 224) --> 最後に、 /dev でフレームバッファデバイスを作らなければいけません。フレー ムバッファデバイスごとにひとつ必要ですから、最初のひとつを作るのに、 mknod /dev/fb0 c 29 0 と入力するべきです。次のものは、32 の倍数で、た とえば、/dev/fb1 を作るには、mknod /dev/fb1 c 29 32 と入力しなければい けません。そのように続けて、8 番目のフレームバッファデバイスを作ります (mknod /dev/fb7 c 29 224)。 <!-- For more information on the other features of the Permedia framebuffer driver, point your browser at: <verb>http://www.cs.unibo.it/~nardinoc/pm2fb/index.html --> Permedia のフレームバッファドライバのその他の仕様についての詳細情報は お使いのブラウザで次のところで見てください:<verb><htmlurl url="http://www.cs.unibo.it/~nardinoc/pm2fb/index.html" name="http://www.cs.unibo.it/~nardinoc/pm2fb/index.html"></verb> video=pm2fb:[option[,option[,option...]]] <!-- where option is one of the following --> option の場所には次のどれかひとつを使います。 <!-- <itemize> <item>off to disable the driver. <item>mode:resolution to set the console resolution. The modes have been taken from the fb.modes.ATI file in Geert's fbset package. The depth for all the modes is 8bpp. This is the list of the available modes: <itemize> <item>640x480-(60,72,75,90,100) <item>800x600-(56,60,70,72,75,90,100) <item>1024x768-(60,70,72,75,90,100,illo) illo=80KHz 100Hz <item>1152x864-(60,70,75,80) <item>1280x1024-(60,70,74,75) <item>1600x1200-(60,66,76) </itemize> <item>The default resolution is 640x480-60. <item>font:font name to set the console font. Example: font:SUN12x22 <item> ypan sets the current virtual height as big as video memory size permits. <item>oldmem this option is for CybervisionPPC users only. Specify this if your board has Fujitsu SGRAMs mounted on (all CVisionPPCs before 30-Dec-1998). <item>virtual (temporary) specify this if the kernel remaps the PCI regions on your platform. </itemize>--> <itemize> <item>ドライバを無効にする。 <item>mode:resolution は、コンソールの解像度を設定するため。 モードは Geert の fbset パッケージにある fb.modes ATI ファイルfb.modes から取得されています。すべてのモードに対する depth は 8bpp です。これは 利用できるモードのリストです: <itemize> <item>640x480-(60,72,75,90,100) <item>800x600-(56,60,70,72,75,90,100) <item>1024x768-(60,70,72,75,90,100,illo) illo=80KHz 100Hz <item>1152x864-(60,70,75,80) <item>1280x1024-(60,70,74,75) <item>1600x1200-(60,66,76) </itemize> <item>デフォルトは 640x480-60 です。 <item> font:font name はコンソールフォントを設定するため。 たとえば、 font:SUN12x22 のようにします。 <item> ypan sets はビデオメモリサイズが許可するものと同じくらい大きい 現在の仮想画面の高さを設定します。 <item>oldmem というオプションは、CybervisionPPC ユーザのみに対応します。 お使いのボードが( 30-Dec-1998 以前はすべてCVisionPPCs)に乗った Fujitsu SGRAM類を使っているなら、これを明記します。 <item>カーネルがお使いのプラットホームで PCI 領域を再マップするなら、 これを仮想的に(一時的に)明記します。 </itemize> <sect1><!-- Got a ATI card?--> ATI カードを設定するには? <p> <!-- [Note: This information is at best, only second-hand or third-hand, since I don't have an ATI card to test it with. Feel free to correct me if I am wrong or flame me!] 8)--> [注意:私は ATI のカードを持っていませんので、テストはしていません。 この情報は、また聞き、またはうわさのみの情報です。間違っていたり、 ご意見があれば、どうぞ気軽にご訂正をお送りください。 ] <!-- ATI cards can be used with the vesafb driver, but you may or may not have problems, depending on how horribly broken the card is. Fortunately, there is the atyfb framebuffer driver available to use. Assuming you are using menuconfig, do the following:--> ATI カードは vesafb ドライバで使えますが、そのカードがどの程度腐って いるかによって問題にぶつかるかもしれませんし、あるいは問題なしに いけるかもしれません。menuconfig をお使いなら、次のように行ってくださ い。 <!-- Go into the Code Maturity Level menu, and enable the prompt for development and/or incomplete drivers [note this may change for future kernels - when this happens, this HOWTO will be revised] --> Code Maturity Level メニューに入り、prompt for development and/or incomplete drivers を有効にします[これは将来のカーネルで変更になるかも しれません。そうなったとき、この HOWTO は更新されるでしょう。] <!-- Go into the Console Drivers menu and select the following:--> コンソールドライバのメニューにはいり、次の項目を選択してください。 <itemize> <item>VGA Text Console <item>Video Selection Support <item>Support for frame buffer devices (experimental) <item>ATI Mach64 display support <item>Advanced Low Level Drivers <item>Select Mono, 2bpp, 4bpp, 8bpp, 16bpp, 24bpp and 32bpp packed pixel drivers <!-- <item>Optionally, select the following, if you wish to use the compiled in fonts--> <item>フォントを組み込んで使いたいなら、次の項目を選択します。 <itemize> <item>Select compiled-in fonts <item>Select Sparc console 12x22 font </itemize> </itemize> <!-- Rebuild your kernel. Then you will need to modify your lilo.conf file to enable the atyfb device. The quickest and simplest way is re-use the following --> カーネルを再構築します。それから、atyfb デバイスを有効にするため、お使 いのlilo.conf ファイルを修正しなければいけません。手早く簡単にするには 次のものを利用しましょう。 <verb> # LILO configuration file boot = /dev/hda3 delay = 30 prompt vga = 792 # You need to do this so it boots up in a sane state # Linux bootable partition config begins image = /vmlinuz append = "video=atyfb:mode:1024x768,font:SUN12x22" root = /dev/hda3 label = Linux read-only # Non-UMSDOS filesystems should be mounted read-only for checking </verb> <!-- The line "atyfb:mode:1024x768,font:SUN12x22" indicates you are selecting a 1024x768 mode. --> ''atyfb:mode:1024x768,font:SUN12x22'' 行は、1024x768 モードを選択して いることを示します。 <!-- Lastly, you'll need to create the framebuffer device in /dev. You need one per framebuffer device, so all you need to do is to type in mknod /dev/fb0 c 29 0 for the first one. Subsequent ones would be in multiples of 32, so for example to create /dev/fb1, you would need to type in mknod /dev/fb1 c 29 32, and so on up to the eight framebuffer device (mknod /dev/fb7 c 29 224) --> 最後に、 /dev でフレームバッファデバイスを作らなければいけません。フレー ムバッファデバイスごとにひとつ必要ですから、最初のひとつを作るのに、 mknod /dev/fb0 c 29 0 と入力するべきです。次のものは、32 の倍数で、た とえば、/dev/fb1 を作るには、mknod /dev/fb1 c 29 32 と入力しなければい けません。そのように続けて、8 番目のフレームバッファデバイスを作ります (mknod /dev/fb7 c 29 224)。 video=atyfb:[option[,option[,option...]]] <!-- where option is one of the following--> オプションの場所には次のどれかひとつを使います。 <!-- <itemize> <item>font:STRING selects the built-in font (compiled into the kernel) <item>noblink Turns off blinking <item>noaccel Disables acceleration <item>vram:ULONG Tells the atyfb driver how much memory you have <item>pll:ULONG Unknown <item>mclk:ULONG Unknown <item>vmode:ULONG Unknown <item>cmode:ULONG - sets depth - 0, 8, 15, 16, 24 and 32 </itemize> --> <itemize> <item>font:STRING は組み込みフォントを選択します(カーネルにコンパイルしたもの) <item>noblink は点滅を中止します。 <item>noaccel は加速を無効にします。 <item>vram:ULONG は、どれくらいのメモリを持っているかを atyfb に伝えます。 <item>pll:ULONG Unknown <item>mclk:ULONG Unknown <item>vmode:ULONG Unknown <item>cmode:ULONG は depth を 0, 8, 15, 16, 24 と 32 に設定します。 </itemize> <sect1><!-- Which graphic cards are VESA 2.0 compliant?--> どのグラフィックカードがVESA 2.0 類似のものか <p> <!-- This lists all the graphic cards that are known to work with the vesafb device:--> このリストは vesafb デバイスで動くことがわかっているグラフィックカードです。 <itemize> <item>ATI PCI VideoExpression 2MB (max. 1280x1024 @ 8bit) <item>ATI PCI All-in-Wonder <item>Matrox Millennium PCI - BIOS v3.0 <item>Matrox Millennium II PCI - BIOS v1.5 <item>Matrox Millennium II AGP - BIOS v1.4 <item>Matrox Millennium G200 AGP - BIOS v1.3 <item>Matrox Mystique & Mystique 220 PCI - BIOS v1.8 <item>Matrox Mystique G200 AGP - BIOS v1.3 <item>Matrox Productiva G100 AGP - BIOS v1.4 <item>All Riva 128 based cards <item>Diamond Viper V330 PCI 4MB <item>Genoa Phantom 3D/S3 ViRGE/DX <item>Hercules Stingray 128/3D with TV output <item>Hercules Stingray 128/3D without TV output - needs BIOS upgrade (free from support@hercules.com) <item>SiS 6326 PCI/AGP 4MB <item>STB Lightspeed 128 (Nvida Riva 128 based) PCI <item>STB Velocity 128 (Nvida Riva 128 based) PCI <item>Jaton Video-58P ET6000 PCI 2MB-4MB (max. 1600x1200 @ 8bit) <item>Voodoo2 2000 </itemize> <!-- This list is composed of on-board chipsets on systems' motherboards:--> このリストはシステムのマザーボードにオンボードチップセットになっています。 <itemize> <item>Trident Cyber9397 <item>SiS 5598 </itemize> <!-- This list below blacklists graphic cards that doesn't work with the vesafb device:--> このリストは vesafb デバイスでは動かないグラフィックカードをまとめたものです。 <itemize> <item>TBA </itemize> <sect1><!-- Can I make vesafb as a module? --> vesafb をモジュールにできますか。 <p> <!-- As far as is known, vesafb can't be modularised, although at some point in time, the developer of vesafb may decide to modify the sources for modularising. Note that even if modularising is possible, at boot time you will not be able to see any output on the display until vesafb is <em/modprobed/. It's probably a lot wiser to leave it in the kernel, for these cases when there are booting problems. --> 分かっている限り、vesafb はモジュールにすることはできません。 しかしながら将来のある時点で、vesafb の開発者がモジュール化のためソース を修正する判断を行う可能性はあります。たとえモジュールにできても、 起動時に vesafb が <em/modprobed/ モジュールをロードするまでディスプレイ に何も出力されないでしょう。起動時に問題がでる場合があ るので、カーネルのなかに残す方がずっと賢いのかもしれません。 <sect1><!-- How do I modify the cursor?--> カーソルを修正する方法は? <p> <!-- [Taken from VGA-softcursor.txt - thanks Martin Mares!]--> [VGA-softcursor.txt からの引用 - Martin Mares に感謝 ] <!-- Linux now has some ability to manipulate cursor appearance. Normally, you can set the size of hardware cursor (and also work around some ugly bugs in those miserable Trident cards - see #define TRIDENT_GLITCH in drivers/char/ vga.c). In case you enable "Software generated cursor" in the system configuration, you can play a few new tricks: you can make your cursor look like a non-blinking red block, make it inverse background of the character it's over or to highlight that character and still choose whether the original hardware cursor should remain visible or not. There may be othmanipulateer things I have never thought of. --> 現在、Linux はカーソル形状を変更できます。通常、ハードウェアカーソルの サイズを設定できます(そしてこれらのあまり性能のよくない Trident カード にはいやなバグを持っているものがあります。 drivers/char/ にある vga.c のなかの #define TRIDENT_GLITCH を見てください。) システムの設定で ''Software generated cursor''を有効にできる場合、ちょっとした新手のトリックを使え ます。カーソルを点滅しない赤い塊のように見せることができ、文字の背景を 反転させることができ、文字を透過あるいはハイライトにもでき、もとのハー ドウェアカーソルが可視、または不可視のどちらかの選択もまだ残っています。 私がまだ考えたことがないようなその他の操作があるかもしれません。 <!-- The cursor appearance is controlled by a <verb><ESC>[?1;2;3c</verb> escape sequence where 1, 2 and 3 are parameters described below. If you omit any of them, they will default to zeroes. --> カーソルの形状は <verb><ESC>[?1;2;3c</verb>エスケープシーケンスで制御 できます。1、2 そして 3 は次に示すパラメータになります。どれも使わない なら、デフォルトの 0 になります。 <!-- Parameter 1 specifies cursor size (0=default, 1=invisible, 2=underline, ..., 8=full block) + 16 if you want the software cursor to be applied + 32 if you want to always change the background colour + 64 if you dislike having the background the same as the foreground. Highlights are ignored for the last two flags. --> パラメータ 1 は、カーソルのサイズ 16 まで、を明示します(0=デフォルト、 1=透明、2=下線状、..., 8=ブロック状)、ソフトウェアカーソルが使いたいな ら、 32 を使わないといけません。背景の色は 64 を使い、いつも変更して、 前面の色と同じ色を背景にしたくないなら 64 にします。。Highlight は最後 の二つのフラグを無視します。 <!-- The second parameter selects character attribute bits you want to change (by simply XORing them with the value of this parameter). On standard VGA, the high four bits specify background and the low four the foreground. In both groups, low three bits set colour (as in normal colour codes used by the console) and the most significant one turns on highlight (or sometimes blinking - it depends on the configuration of your VGA). --> 2番目のパラメータは変更したい文字属性のビットを選択します(このパラメー タの値を単純に合計して)。標準の VGA 上で、上位の 4 つのビットは背景を示 し、下位の 4 つのビットは前面になります。両方のグループで、下位の 3 ビット が色を決め(コンソールで使われる通常のカラーコードのように)、そして最も 重要なものがハイライトになります(あるいはときどきは点滅状態になります。 これはお使いの VGA の設定に依存します。) <!-- The third parameter consists of character attribute bits you want to set. Bit setting takes place before bit toggling, so you can simply clear a bit by including it in both the set mask and the toggle mask. --> 第3パラメータは設定したい文字属性ビットからなります。設定するビットは ビットをトグルする前に置けば、マスクの設定とマスクトグルの両方を含んで ビットを簡単に消去できます。 <!-- To get normal blinking underline, use: echo -e '\033[?2c' To get blinking block, use: echo -e '\033[?6c' To get red non-blinking block, use: echo -e '\033[?17;0;64c' --> アンダーラインを普通に点滅させるには、次のようにします。: echo -e '\033[?2c' 領域を点滅させるには、次のようにします。: echo -e '\033[?6c' 領域外を点滅させるには、次のようにします。: echo -e '\033[?17;0;64c' <sect><!-- Using framebuffer devices on Atari m68k platforms--> Atari m68k プラットホームでフレームバッファデバイスを使う <p> <!-- This section describes framebuffer options on Atari m68k platforms. --> ここでは Atari m68k プラットホーム上でのフレームバッファオプションに ついて述べます。 <sect1><!-- What modes are available on Atari m68k platforms?--> Atari m68k プラットホーム上でどんなモードが利用できるか <p> <verb> Colours 320x200 320x480 640x200 640x400 640x480 896x608 1280x960 --------+--------------------------------------------------------- 1 bit | sthigh vga2 falh2 tthigh 2 bits | stmid vga4 4 bits | stlow ttmid/vga16 falh16 8 bits | ttlow vga256 </verb> <!-- <tt/ttlow, ttmid and tthigh/ are only used by the TT, whilst <tt/vga2, vga4, vga15, vga256, falh3 and falh16/ are only used by the Falcon. --> <tt/ttlow、 ttmid そして、 tthigh/ は TT でだけ使われ、同時に、 <tt/vga2、vga4、 vga15、vga256、falh3 と falh16/ は Falcon でだけ使われます。 <!-- When used with the kernel option <tt/video=xxx/, and no suboption is given, the kernel will probe for the modes in the following order until it finds a mode that is possible with the given hardware: --> カーネルオプション <tt/video=xxx/ を使う時、そして、サブオプションがな いとき、カーネルは与えられたハードウェアで可能なモードを見つけるまで引 続きモードを検出します。 <itemize> <item><tt/ttmid/ <item><tt/tthigh/ <item><tt/vga16/ <item><tt/sthigh/ <item><tt/stmid/ </itemize> <!-- You may specify the particular mode you wish to use, if you don't wish to auto-probe for the modes you desire. For example, <tt/video=vga16/ gives you a 4 bit 640x480 display.--> 使いたいモードを自動検出しないなら、使いたいと思う特別なモードを定義し たほうがよいでしょう。たとえば、<tt/video=vga16/ とすると、 4 bit 640x480 ディスプレイになります。 <sect1><!-- Additional suboptions on Atari m68k platforms--> Atari m68k プラットホーム上の追加オプション <p> <!-- There are a number of suboptions available with the <tt/video=xxx/ parameter:--> <tt/video=xxx/ パラメータで利用できるいくつかのサブオプションがあります。 <!-- <itemize> <item><tt/inverse/ - inverts the display so that the background/foreground colours are reversed. Normally the background is black, but with this suboption, it gets sets to white. <item><tt/font/ - sets the font to use in text modes. Currently you can only select <tt/VGA8x8/, <tt/VGA8x16/, <tt/PEARL8x8/. The default is to use the <tt/VGA8x8/ only if the vertical size of the display is less than 400 pixels, otherwise it defaults to <tt/VGA8x16/. <item><tt/internal/ - a very interesting option. See the next section for information. <item><tt/external/ - as above. <item><tt/monitorcap/ - describes the capabilities for multisyncs. DON'T use with a fixed sync monitor! </itemize>--> <itemize> <item><tt/inverse/ - ディスプレイを反転させます。バックグラウンドと フォアグラウンドが反転します。通常、バックは黒ですが、このサブオプション を使うと、バックを白色に設定できます。 <item><tt/font/ - テキストモードで使うフォントを設定します。 <tt/VGA8x8/, <tt/VGA8x16/, <tt/PEARL8x8/ だけを選択できます。 ディスプレイの仮想サイズが 400 ピクセル以下の場合は、デフォルトは <tt/VGA8x8/ のみで、その他は <tt/VGA8x16/ がデフォルトになります。 <item><tt/internal/ - とても興味深いオプションです。 これについては次の章を見てください。 <item><tt/external/ - 上記と同様。 <item><tt/monitorcap/ - マルチ同調に対する能力を記述します。 固定同調モニターには使ってはいけません。 </itemize> <sect1><!-- Using the internal suboption on Atari m68k platforms--> Atari m68k プラットホーム上で内部サブオプションを使う <p> Syntax: <tt/internal:(xres);(yres)[;(xres_max);(yres_max);(offset)]/ <!-- This option specifies the capabilities of some extended internal video hardware, i.e OverScan modes. <tt/(xres)/ and <tt/(yres)/ gives the extended dimensions of the screen.--> このオプションは拡張した内蔵ビデオハードウェアの能力、モードを指定します。 <tt/(xres)/ と <tt/(yres)/ はスクリーンの拡張した大きさを決めます。 <!-- If your OverScan mode needs a black border, you'll need to write the last three arguments of the <tt/internal:/ suboption. <tt/(xres_max)/ is the maximum line length that the hardware allows, <tt/(yres_max)/ is the maximum number of lines, and <tt/(offset)/ is the offset of the visible part of the screen memory to its physical start, in bytes. --> OverScan モードが黒い枠線を必要とするなら、 <tt/internal:/ サブオプショ ンの3つの変数を書かなければいけません。 <tt/(xres_max)/ はハードウェ アが許容する最大の列の長さで、<tt/(yres_max)/ は、最大の列の数、 <tt/(offset)/ はバイトで表され、その物理的開始にスクリーンメモリの可視 部分を補います。 <!-- Often extended internal video hardware has to be activated, for this you will need the <tt/"switches=*"/ options. [Note: Author would like extra information on this, please. The m68k documentation in the kernel isn't clear enough on this point, and he doesn't have an Atari! Examples would be helpful too]--> 時々、拡張した内部ビデオハードウェアがアクティブになっていると、 <tt/"switches=*"/ オプションが必要になります。[注意:著者はこの件につ いてもう少し説明をしたいと思っています。カーネル添付の m68k の文書はこ の点については十分ではありませんし、彼は Atari を持っていません。多く の例もまた役立つでしょう。 ] <sect1><!-- Using the external suboption on Atari m68k platforms--> Atari m68k プラットホームで外部サブオプションを使う <p> Syntax: <tt/external:(xres);(yres);(depth);(org);(scrmem)[;(scrlen)[;(vgabase)[;(colw)[;(coltype)[;(xres_virtual)]]]]]/ <!-- This is quite complicated, so this document will attempt to explain as clearly as possible, but the Author would appreciate if someone would give this a look over and see that he hasn't fscked something up! :o) --> これはとても複雑なので、この文書ではできるだけわかりやすく説明しようと 考えていますが、どなたかがざっと目を通して、何か間違いがないかを調べて くださるなら著者は歓迎します。 <!-- This suboption specifies that you have an external video hardware (most likely a graphic board), and how to use it with Linux. The kernel is basically limited to what it knows of the internal video hardware, so you have to supply the parameters it needs in order to be able to use external video hardware. There are two limitations; you must switch to that mode before booting, and once booted, you can't change modes. --> このサブオプションは、外部のビデオハードウェア(おもにグラフィックボー ドのような)を使っていて、Linux でどのように使うかを定義します。カーネ ルの知っている範囲は基本的に内部ビデオハードウェアに限られるので、外部 ビデオハードウェアを使えるようにするためパラメータを与えなければなりません。 二つの制限事項があります。起動する前にモードを切替えなければいけません。 そして起動してしまうとモードを切替えることはできません。 <!-- The first three parameters are obvious; gives the dimensions of the screen as pixel height, width and depth. The depth supplied should be the number of colours is 2^n that of the number of planes required. For example, if you desire to use a 256 colour display, then you need to give 8 as the depth. This depends on the external graphic hardware, though so you will be limited by what the hardware can do. --> 最初の三つのパラメータははっきりしています。画面の範囲を高さ、幅、depth をピクセルで与えます。depth は、要求された水平の数値を 2^n する色数でなければいけません。たとえば、256 色のディスプレイを使いたい なら、depth として 8 を使用しなければいけません。これはハードウェアの 性能によって制限されますから、外部グラフィックハードウェアに依存します。 <!-- Following from this, you also need to tell the kernel how the video memory is organised - supply a letter as the <tt/(org)/ parameter --> 次に示すように、ビデオメモリがどれくらい組まれているかをカーネルに伝え る必要があります。 <tt/(org)/ パラメータとして文字を与えます。 <!-- <itemize> <item><tt/n/ - use normal planes, i.e one whole plane after another <item><tt/i/ - use interleaved planes, i.e. 16 bits of the first plane, then the 16 bits of the next plane and so on. Only built-in Atari video modes uses this - and there are no graphic card that supports this mode. <item><tt/p/ - use packed pixels, i.e consecutive bits stands for all planes for a pixel. This is the most common mode for 256 colour displays on graphic cards. <item><tt/t/ - use true colour, i.e this is actually packed pixels, but does not require a colour lookup table like what other packed pixel modes uses. These modes are normally 24 bit displays - gives you 16.8 million colours. </itemize>--> <itemize> <item><tt/n/ - 通常の水平面を使う。たとえば、別のものを使ったあとで 全水平面を使う。 <item><tt/i/ - インターリーブした水平面を使う。たとえば、最初に 16 bits を使い、それから順番に次の水平面の 16 ビットを使います。 組み込みの Atari ビデオモードだけがこれを使用します。そして、 このモードをサポートするグラフィックカードはありません。 <item><tt/p/ - まとまったピクセルを使う。たとえば、連続的なビットは ピクセルに対しすべて水平値になります。 これはグラフィックカードで 256 色ディスプレイに対する最も普通のモードです。 <item><tt/t/ - true colour を使う。たとえば、これは実際にまとまったピ クセルであるが、他のまとまったピクセルモードを使うもののように色検索 表を要求しません。これらのモードは通常 24 ビットディスプレイで、16.8 万色を与えます。 </itemize> <!-- <em/However/, for monochrome modes, the <tt/(org)/ parameter has a different meaning--> <em/しかし/、モノクロモードに対しては、<tt/(org)/ パラメータは違った意 味を持ちます。 <itemize> <item><tt/n/ - use normal colours, i.e 0=white, 1=black <item><tt/i/ - use inverted colours, i.e. 0=black, 1=white </itemize> <!-- The next important item about the video hardware is the base address of the video memory. That is given by the <tt/(scrmem)/ parameter as a hexadecimal number with an <tt/0x/ prefix. You will need to find this out from the documentation that comes with your external video hardware. --> ビデオハードウェアについて次に重要な項目は、ビデオメモリのベースアドレ スです。先頭に <tt/0x/ をつけた 60 進の数字で <tt/(scrmem)/ パラメータ で与えます。外部ビデオハードウェアに添付してある文書からこれを見つけな ければいけません。 <!-- The next paramter <tt/(scrlen)/ tells the kernel about the size of the video memory. If it's missing, this is calculated from the <tt/(xres)/, <tt/(yres)/ and <tt/(depth)/ parameters. It's not useful to write a value here these days anyway. To leave this empty, give two consecutive semicolons if you need to give the <tt/(vgabase)/ parameter, otherwise, just leave it.--> 次のパラメータ <tt/(scrlen)/ は、ビデオメモリのサイズをカーネルに伝え ます。これを指定しないと、 <tt/(xres)/、<tt/(yres)/ と <tt/(depth)/ パ ラメータから計算されます。ここに値を書くのはどう考えてもあまり効果的で はありません。もし <tt/(vgabase)/ パラメータを与える必要があるなら、何 も書かないという意味で、セミコロン(;)を二つ続けて与えておきます。必要 がないなら、何も書かないでおきます。 <!-- The <tt/(vgabase)/ parameter is optional. If it isn't given, the kernel can't read/write any colour registers of the video hardware, and thus you have to set up the appropriate colours before you boot Linux. But if your card is VGA compatible, you can give it the address where it can locate the VGA register set so it can change the colour lookup tables. This information can be found in your external video hardware documentation. To make this <em/clear/, <tt/(vgabase)/ is the <em/base/ address, i.e a 4k aligned address. For reading/writing the colour registers, the kernel uses the address range between <tt/(vgabase) + 0x3c7/ and <tt/(vgabase) + 0x3c9/. This parameter is given in hexadecimal and must have a <tt/0x/ prefix, just like <tt/(scrmem)/. --> <tt/(vgabase)/ パラメータはオプションです。これがないと、カーネルはビ デオハードウェアのどのような色数リストも読み/書きでませんから、Linux を起動する前に適切な色を設定しなければいけません。しかしお使いのカード が VGA 互換なら、VGA 登録を置いているアドレスでそれを指定できるので、 色照合テーブルを変更できます。この情報はお使いの外部ビデオハードウェア の文書で確認できます。<em/clear/ 、 <tt/(vgabase)/ を作成するため、 色の登録を読み、書きするため、カーネルは<tt/(vgabase) + 0x3c7/ と <tt/(vgabase) +0x3c9/ の間の範囲にあるアドレスを使います。 このパラメータは、60 進で与えられ、 <tt/(scrmem)/と同様、先頭に <tt/0x/ を置かなくてはいけません。 <!-- <tt/(colw)/ is only meaningful, if the <tt/(vgabase)/ parameter is specified. It tells the kernel how wide each of the colour register is, i.e the number of bits per single colour (red/green/blue). Default is usually 6 bits, but it is also common to specify 8 bits.--> <tt/(vgabase)/ パラメータが定義されるなら、<tt/(colw)/ だけが意味を持っ てきます。それぞれの色登録がどれくらいの幅になるか、たとえば、単色 ((red/green/blue)ごとのビット数をカーネルに伝えます。デフォルトはいつ も 6 ビットですが、8 ビットとするのが普通です。 <!-- <tt/(coltype)/ is used with the <tt/(vgabase)/ parameter, it tells the kernel about the colour register model of your graphic board. Currently the types supported are <tt/vga/ and <tt/mv300/. <tt/vga/ is the default. --> <tt/(coltype)/ は <tt/(vgabase)/ パラメータとともに使われ、 お使いのグラフィックボードの色登録モデルをカーネルに伝えます。 現在、サポートされた型は <tt/vga/ and <tt/mv300/ です。 <tt/vga/ がデフォルトです。 <!-- <tt/(xres_virtual)/ is only required for the ProMST/ET4000 cards where the physical linelength differs from the visible length. With ProMST, you need to supply 2048, whilst for ET4000, it depends on the initialisation of the video board.--> <tt/(xres_virtual)/ は物理的行長が可視長と異なっている ProMST/ET4000 カードにだけ必要です。 ProMST では、2048 を与える必要があり、ビデオボー ドの初期化に依存します。 <sect><!-- Using framebuffer devices on Amiga m68k platforms--> Amiga m68k プラットホーム上でフレームバッファデバイスを使う <p> <!-- This section describes the options for Amigas, which are quite similiar to that for the Atari m68k platforms. --> この章ではAtari m68k プラットホームとほぼ同様の Amiga に関するオプショ ンについて述べます。 <sect1><!-- What modes are available for Amiga m68k platforms?--> Amiga m68k プラットホームでどんなモードが利用できるか <p> <!-- This depends on the chipset used in the Amiga. There are three main ones; <tt/OCS, ECS and AGA/ which all uses the colour frame buffer device. --> これは Amiga で使われているチップセットに依存します。おもに三つのもの があります。<tt/OCS, ECS と AGA/ のすべてはカラーフレームバッファデバ イスを使います。 <itemize> <item>NTSC modes <itemize> <item><tt/ntsc/ - 640x200 <item><tt/ntsc-lace/ - 640x400 </itemize> <item>PAL modes <itemize> <item><tt/pal/ - 640x256 <item><tt/pal-lace/ - 640x512 </itemize> <item>ECS modes - 2 bit colours on ECS, 8 bit colours on AGA chipsets only. <itemize> <item><tt/multiscan/ - 640x480 <item><tt/multiscan-lace/ - 640x960 <item><tt/euro36/ - 640x200 <item><tt/euro36-lace/ - 640x400 <item><tt/euro72/ - 640x400 <item><tt/euro72-lace/ - 640x800 <item><tt/super72/ - 800x300 <item><tt/super72-lace/ - 800x600 <item><tt/dblntsc/ - 640x200 <item><tt/dblpal/ - 640x256 <item><tt/dblntsc-ff/ - 640x400 <item><tt/dblntsc-lace/ - 640x800 <item><tt/dblpal-ff/ - 640x512 <item><tt/dblpal-lace/ - 640x1024 </itemize> <item>VGA modes - 2 bit colours on ECS, 8 bit colours on AGA chipsets only. <itemize> <item><tt/vga/ - 640x480 <item><tt/vga70/ - 640x400 </itemize> </itemize> <sect1><!-- Additional suboptions on Amiga m68k platforms--> Amiga m68k プラットホーム上での追加サブオプション <p> <!-- These are similar to the Atari m68k suboptions. They are:--> Atari m68k でのサブオプションとほぼ同じです。次のものがあります。 <!-- <itemize> <item><tt/depth/ - specifies the pixel bit depth. <item><tt/inverse/ - does the same thing as the Atari suboption. <item><tt/font/ - does the same thing as the Atari suboption, although the <tt/PEARL8x8/ font is used instead of <tt/VGA8x8/ font, if the display size is less than 400 pixel wide. <item><tt/monitorcap/ - specifies the capabilities of the multisync monitor. Do not use with fixed sync monitors. </itemize>--> <itemize> <item><tt/depth/ - ピクセルビットでの depth を明示します。 <item><tt/inverse/ - Atari のサブオプションと同じことを行う。 <item><tt/font/ - <tt/PEARL8x8/ フォントが <tt/VGA8x8/ フォントのかわ りに使われますが、ディスプレイサイズが 400 ピクセルの幅よりも小さいな ら、Atari サブオプションと同じことをします。 <item><tt/monitorcap/ - マルチ同調モニターの能力を明示します。固定同調 モニターに使用してはいけません。 </itemize> <sect1><!-- Supported Amiga graphic expansion boards--> サポートされている Amiga グラフィック拡張ボード <p> <itemize> <item><tt/Phase5 CyberVision 64/ (S3 Trio64 chipset) <item><tt/Phase5 CyverVision 64-3D/ (S3 ViRGE chipset) <item><tt/MacroSystems RetinaZ3/ (NCR 77C32BLT chipset) <item><tt/Helfrich Piccolo, SD64, GVP ECS Spectrum, Village Tronic Picasso II/II+ and IV/ (Cirrus Logic GD542x/543x) </itemize> <sect><!-- Using framebuffer devices on Macintosh m68k platforms--> Macintosh m68k プラットホーム上でフレームバッファデバイスを使う <p> <!-- Currently, the framebuffer device implemented only supports the mode selected in MacOS before booting into Linux, also supports 1, 2, 4 and 8 bit colours modes.--> 現在のところ、フレームバッファデバイスは Linux を起動する前に MacOS で 選択されたモードと 1、2、4 と 8 ビットカラーモードをサポートしているだ けです。 <!-- Framebuffer suboptions are selected using the following syntax--> フレームバッファサブオプションは次の構文を使って選択されます。 <verb> video=macfb:<font>:<inverse> </verb> <!-- You can select fonts such as VGA8x8, VGA8x16 and 6x11 etc. The inverse option allows you to use reverse video. --> VGA8x8、VGA8x16 さらに 6x11 のようなフォントを選択できます。 inverse オプションはリバースビデオを使えるようにします。 <sect><!-- Using framebuffer devices on PowerPC platforms--> PowerPC プラットホームでフレームバッファを使う <p> <!-- The author would love to receive information on the use of framebuffers on this platform.--> 著者はプラットホーム上でフレームバッファの使用についての情報を入手したいと 考えています。 <sect><!-- Using framebuffer devices on Alpha platforms--> Alpha プラットホームでフレームバッファデバイスを使う <sect1><!-- What modes are available to me? --> どんなモードか使えるのか <p> <!-- So far, there is only the TGA PCI card - which only does 80x30 with a resolution of 640x480 at either 8 bits or 24/32 bits.--> 今までのところ、TGA PCI カードだけで、8 bits もしくは 24/32 bit のいず れかで 640x480 の解像度で 80x30 のみです。 <sect1><!-- Which graphic cards can work with the frambuffer device?--> フレームバッファデバイスでどんなグラフィックカードが動きますか <p> <!-- This lists all the graphic cards that are known to work:--> このリストは動くことが分かっているグラフィックカードです。 <itemize> <item><tt/DEC TGA PCI (DEC21030)/ - 640x480 @ 8 bit or 24/32 bit versions </itemize> <sect><!-- Using framebuffer devices on SPARC platforms--> SPARC プラットホームでフレームバッファデバイスを使う <sect1><!-- Which graphic cards can work with the framebuffer device?--> フレームバッファデバイスでどんなグラフィックカードが動きますか <p> <!-- This lists all the graphic cards available:--> このリストは利用できるグラフィックカードです。 <itemize> <item>MG1/MG2 - SBus or integrated on Sun3 - max. 1600x1280 @ mono (BWtwo) <item>CGthree - Similar to MG1/MG2 but supports colour - max resolution ? <item>GX - SBus - max. 1152x900 @ 8bit (CGsix) <item>TurboGX - SBus - max. 1152x900 @ 8 bit (CGsix) <item>SX - SS10/SS20 only - max. 1280x1024 @ 24 bit - (CGfourteen) <item>ZX(TZX) - SBus - accelerated 24bit 3D card - max resolution ? (Leo) <item>TCX - AFX - for Sparc 4 only - max. 1280x1024 @ 8bit <item>TCX(S24) - AFX - for Sparc 5 only - max. 1152x900 @ 24bit <item>Creator - SBus - max. 1280x1024 @ 24bit (FFB) <item>Creator3D - SBus - max. 1920x1200 @ 24bit (FFB) <item>ATI Mach64 - accelerated 8/24bit for Sparc64 PCI only </itemize> <!-- There is the option to use the PROM to output characters to the display or to a serial console.--> ディスプレイまたはシリアルコンソールに文字を出力するため PROM を使うオ プションがあります。 <!-- Also, have a look at the Sparc Frame Buffer FAQ at <verb>http://c3-a.snvl1.sfba.home.com/Framebuffer.html</verb>--> また <htmlurl url="http://c3-a.snvl1.sfba.home.com/Framebuffer.html" name="http://c3-a.snvl1.sfba.home.com/Framebuffer.html"> で、Sparc Frame Buffer FAQ を見てください。 <sect1><!-- Configuring the framebuffer devices --> フレームバッファデバイスを設定する <p> <!-- During make config, you need to choose whether to compile <tt/promcon/ and/or <tt/fbcon/. You can select both, but if you do this, you will need to set the kernel flags to select the device. <tt/fbcon/ always takes precedence if not set. If <tt/promcon/ is not selected in, on boot up, it defaults to <tt/dummycon/. If <tt/promcon/ is selected, it will use this device. Once the buses are booted, and <tt/fbcon/ is compiled in, the kernel probes for the above framebuffers and will use <tt/fbcon/. If there is no framebuffer devices, it will default to <tt/promcon/. --> make config で、<tt/promcon/ と(または) <tt/fbcon/ をコンパイルするか どうかを選択しなければいけません。両方を選択できますが、そうするなら、 デバイスを選択するためカーネルフラッグを設定しなければいけません。設定 していないと、通常は、<tt/fbcon/ が優先されます。<tt/promcon/ が選択されて いないと、起動時に、 <tt/dummycon/ がデフォルトになります。 <tt/promcon/ が選択されると、これをデバイスに使います。一度起動されて しまうと、<tt/fbcon/ が組み込まれ、カーネルはフレームバッファを探り、 <tt/fbcon/ を使います。フレームバッファデバイスがないと、 <tt/promcon/ をデフォルトにします。 <!-- Here are the kernel options--> カーネルオプションです。 <verb> video=sbus:options where options is a comma separated list: nomargins sets margins to 0,0 margins=12x24 sets margins to 12,24 (default is computed from resolution) off don't probe for any SBus/UPA framebuffers font=SUN12x22 use a specific font </verb> <!-- So for example, booting with <verb> video=sbus:nomargins,font=SUN12x22 </verb> gives you a nice fast text console with a text resolution of 96x40, looks similar to a Solaris console but with colours and virtual terminals just like on the Intel platform. --> たとえば、<verb> video=sbus:nomargins,font=SUN12x22</verb> で起動する と、96x40 のテキスト解像度で素早くテキストコンソールを与え、Solaris コ ンソールによく似ていますが、色と仮想ターミナルはインテルプラットホーム に似ています。 <!-- If you want to use the <tt/SUN12x22/ font, you need to enable it during make config (disable the <tt/fontwidth != 8/ option). The accelerated framebuffers can support any font width between 1 to 16 pixels, whilst dumb frame buffers only supports 4, 8, 12 and 16 pixel font widths. --> <tt/SUN12x22/ フォントを使いたいなら、make config (<tt/fontwidth != 8/ option が無効になっている)で、これを有効にしなければいけません。高速化 されたフレームバッファは 1 から 16 ピクセルの間でフォント幅をサポート できますが、dumb frame buffers は4、 8、12 と 16 ピクセルフォント幅を サポートするだけです。 <!-- It is recommended that you grab a recent consoletools packages. --> 最新のコンソールツールパッケージを入手しなければいけません。 <sect><!-- Using framebuffer devices on MIPS platforms--> MIPS プラットホームでフレームバッファデバイスを使う <p> <!-- There is no need to change anything for this platform, this is all handled for you automatically. Indys in particular are hardwired to use a console size of 160x64. However, moves are afoot to rewrite the console code for these Indys, so keep an eye on this section. --> このプラットホームでは何も変更する必要はなく、これはすべて自動的に処理 されます。Indys はとりわけ 160x64 のコンソールサイズを使うために 設計 されています。しかし、これら Indys に対するコンソールコードを書き換える という動きがあるので、この項には注目していてください。 <sect><!-- Using framebuffer devices on ARM platforms--> ARM プラットホームでフレームバッファデバイスを使う <p> <sect1><!-- Netwinders--> Netwinders <p> <!-- For the Netwinders (which uses the ARM SA110 RISC chip - a lovely British processor), there are two versions of the Cyber2000 framebuffer driver - one for 2.0.x kernels and one for 2.2.x kernels. It is quite straightforward to enable and use this driver on both kernels, however, the older version is hardcoded for depth and resolution (blech), but the good news is that the newer version in the 2.2.x kernels is much more flexible, but currently in a state of flux as it is still in development. To get this up and running, your best bet is to read the documentation that comes with the ARM port of the kernel sources. --> Netwinders ( Netwinders は尊敬すべき British プロセッサの ARM SA110 RISC チップを使っています)に関しては、2.0.x のカーネルと 2.2.x カーネ ル用の二種類の Cyber2000 フレームバッファドライバがあります。有効にする ためにとても素直なもので、両方のカーネルでこのドライバを使うことができ ますが、古い版のものは depth と解像度(blech)に関してはコードが古くなっ ていますが、より新しい カーネル 2.2.x ではもっと柔軟になっているという ニュースがあります。 しかし、現在のところまだ開発中です。これを動かすためにはカーネルソースの ARM port に付属している文書を読むことです。 <!-- The Netwinders uses a VGA compatible chipset, but unfortunately noone has ported vgafb to it yet. That might happen if someone has some time on their hands. [I would do it if someone would give me a NetWinder to play with] --> Netwinders は VGA 互換チップセットを使っていますが、 不運にもどれもまだ vgafb を持っていません。 どなたが [私に NetWinder をプレゼントしてくださるなら遊んでみたいのですが] <sect1><!-- Acorn Archimedes--> Acorn Archimedes <p> <!-- Acorns have always had framebuffer support since the Linux 1.9.x days. However the Acornfb driver in 2.2.x is totally new since the generic framebuffer interface changed during the development of 2.1.x kernels (which, of course, became 2.2.x). As previously, it is a simple matter to activate the driver and set depths and resolutions. --> Acorns は Linux 1.9.x 以降いつもフレームバッファサポートをしてきました。 しかし、2.2.x で、Acornfb ドライバは 2.1.x カーネルの開発中に汎用のフ レームバッファインターフェースが変更されたので全体的に新しくなっていま す。以前のように、ドライバをアクティブにするのはとても簡単で depth と 解像度を設定します。 <sect1><!-- Other ARM ports (SA 7110s et. al)--> その他の ARM ポート類 (SA 7110s など) <p> <!-- Surprisingly, there is even a framebuffer driver for the Psion 5 and the Geofox! I have been told that it displays the Penguin quite well. [Someone please donate me a Psion 5!] --> 驚いたことに、Psion 5 と Geofox のフレームバッファドライバはもうすでに あります。ペンギンをちゃんと表示すると言われてきました。[どなたか Psion 5 を私に提供してくださいませんか。 ] <sect><!-- Using multi-headed framebuffers--> multi-headed フレームバッファを使う <p> <!-- This part of the document was very kindly donated by Frederick A. Niles, who retains all rights to the information contained herewith this section of the HOWTO. --> この部分は Frederick A. Niles によって心よく提供されました。彼は HOWTO のこの章に添付した情報にすべての権利を有しています。 <sect1><!-- Introduction--> はじめに <p> <!-- The main goal of this document is to get you started with running a dual head configuration of Linux. While this process is pretty straight forward there are numerous things that one can do wrong along the way.--> この文書のおもな目的は、Linux で dual head configuration を動かすため のものです。この作業はとても道筋がはっきりしているのですが、落とし穴が たくさんあります。 <!-- The example I concentrate on is getting an X-server running on a second monitor. I find this nice as you can usually find old large 19" to 21" fixed frequency monitors around that people are giving away because they can't use them. This way you can boot off a small multisync and then use X on a nice big monitor. --> 私が対象にした例では、二番目のモニターで X サーバを動かしていま す。これがすばらしいのは、使えないので捨てられた古くて大きな 19インチ から 21インチ の固定周波数モニターはごく普通に見つかるからです。 こんな風にして小型マルチシンクを捨てて、素敵な大きなモニターで X を 使うようにできるのです。 <!-- Please understand dual head support is currently developing so this information changes rapidly. Anything in this document could be out of date or just plain incorrect by the time you are reading this. --> dual head support は現在開発中ですから、この情報はすぐに変更になること を理解しておいてください。この文書中のあることは古くなるか、あなたがこ れを読む時期によっては正しくないこともあるでしょう。 <!-- ** WARNING ** This document was written before any XFree86 4.0 release. If you are reading this and XFree86 4.0 is already released many things may have changed. Try getting a newer version of this document if it's available. --> ** 注意 ** この文書は XFree86 4.0 のリリース以前に書かれました。この文 書を読んでいるなら、XFree86 4.0 はすでにリリースされており、多くの ことが変更されています。利用するならこの文書の最新版を入手してくだ さい。 <sect1><!-- Feedback--> フィードバック <p> <!-- Feedback is most certainly welcome for this document. Without your submissions and input, this document wouldn't exist. So, please post your additions, comments and criticisms to: Frederick.A.Niles@gsfc.nasa.gov. --> この文書についてのフィードバックはもちろん歓迎です。みなさまの提案と協 力なしには、この文書は存在しなかったでしょう。追加すべきことやご意見、 評価を次のアドレス宛どうぞ投稿してください。 Frederick.A.Niles@gsfc.nasa.gov <sect1><!-- Contributors--> 貢献を頂いた方々 <p> <!-- The following people have contributed to this mini-HOWTO.--> 次の方々はこの mini-HOWTO に貢献してくださいました。 * Petr Vandrovec <tt/vandrove@vc.cvut.cz/ * Andreas Ehliar <tt/ehliar@lysator.liu.se/ (x2x) * Marco Bizzarri <tt/m.bizzarri@icube.it/ (multiple X servers) <sect1><!-- Standard Disclaimer--> 一般的な声明 <p> <!-- No liability for the contents of this document can be accepted. Use the concepts, examples and other content at your own risk. As this is a new edition of this document, there may be errors and inaccuracies that could be damaging to your system. Proceed with caution, and although this is highly unlikely, I don't take any responsibility for that. --> この文書に書かれた内容については責任の義務は何もありません。書かれた内 容や、その他の内容を利用するときはあなた自身の責任で行ってください。こ の文書は最新版ですから、間違いがあったり、お使いのシステムに損害を与え るような間違いがあるかもしれません。めったに起こらないことですが、注意 して行ってください。私はそれらのことについてどんな責任も負いません。 <sect1><!-- Copyright Information--> 著作権について <p> <!-- This section of the document is copyrighted (c)1999 Frederick Niles and distributed under the following terms: --> 文書のこの章は (c)1999 Frederick Niles に著作権があり、次の取り決めの もとに配付されます。 <!-- * Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions. --> ○ Linux の HOWTO 文書は、物理的あるいは電子的などんなメディアでも、こ の著作権に関する注意がすべてのコピー物に残される限りは、全文、あるいは 一部分を複写し、再配付してもかまいません。商用での再配付は許可されてお り、推奨されていますが、著者はどのようなディストリビューションかを知ら せて頂きたく思います。 <!-- * All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below. --> ○すべての翻訳、配付作業、あるいは Linux HOWTO 文書を収集する作業は、こ の権利に関する注意のもとで行わなければいけません。すなわち、HOWTO から 派生する仕事やそのディストリビューションで追加制限をしてはいけません。 このような規則の例外はある種の条件のもとで許可されます。下記のアドレス の Linux HOWTO のコーディネーターと連絡を取ってください。 <!-- * If you have questions, please contact, the Linux HOWTO coordinator, at linux-howto@sunsite.unc.edu --> ○質問があれば、 Linux HOWTO のコーディネーターに連絡してください。 linux-howto@sunsite.unc.edu <sect1><!-- What hardware is supported?--> どんなハードウェアがサポートされているか <p> <!-- Most video cards assume they will be the only one in the system and are permanently set with the addressing of the primary display adapter. There are a few exceptions. --> ほとんどのビデオカードは、システムにはひとつのみで基本のディスプレイア ダプタ用のアドレスに永続的に設定されているのは当然だと考えています。例 外がいくつかあります。 <!-- * Matrox cards: This includes Matrox Millennium, Matrox Millennium II, Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox Mystique G200, Matrox Millennium G200 and Matrox Marvel G200 video cards --> ○ Matrox カード類:これには Matrox Millennium、 Matrox Millennium II、 Matrox Mystique、 Matrox Mystique 220、 Matrox Productiva G100、 Matrox Mystique G200、 Matrox Millennium G200 と Matrox Marvel G200 のカードがあります。 <!-- * MDA: This includes monochrome Hercules graphics adapter among others. This for text only second head support. --> ○ MDA: これにはモノクロ Hercules グラフィックアダプターなどがあります。 <!-- Note: it's only the second adapter that has to be one of the above. --> 注意:上記のどれかひとつでなければいけないのは、第二アダプターだけです。 <sect1><!-- Commercial support--> 商用サポート <p> <!-- This mini-HOWTO in primarily concerned with free software. However, there are commercial X servers with multi-head support. These include Metro Link's (www.metrolink.com) Metro-X and Xi Graphics' (www.xig.com) Accelerated-X. --> 基本的にこの mini-HOWTO はフリーソフトウェアに関わるものです。 しかし、multi-head をサポートする商用の X サーバがあります。 Metro Link (www.metrolink.com)の Metro-X や Xi Graphics (www.xig.com)の Accelerated-X などがそうです。 <sect1><!-- Getting all the stuff.--> 必要なものを入手する <p> <!-- You'll need the following patches and programs:--> 次のようなパッチやプログラムが必要です。 <!-- * "fbset" program try: <verb>http://www.cs.kuleuven.ac.be/~geert/bin/</verb> (note: this program comes with RedHat 6.0) --> ○ ''fbset''プログラム アクセスしてみてください:<htmlurl url="http://www.cs.kuleuven.ac.be/~geert/bin/" name="http://www.cs.kuleuven.ac.be/~geert/bin/"> (注意:このプログラムは RedHat 6.0 に付属しています) <!-- * "fbaddon" Matrox dual head patches for Linux kernel try: <url url="ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/" name="ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/"> --> ○ Linux カーネルに対する "fbaddon" Matrox dual head パッチ アクセスしてみてください:<url url="ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/" name="ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/"> <!-- * "con2fb" program try: ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/ --> ○ ''con2fb'' プログラム アクセスしてみてください:<url url="ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/" name="ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/"> <!-- * The X11 frame buffer server XF86_FBDev. This is a standard part of XFree86 3.3.1.--> ○ X11 のフレームバッファサーバ XF86_FBDev。 これは XFree86 3.3.1 の標準部品です。 <sect1><!-- Getting Started--> 始めよう <p> <!-- The first thing you'll need to do is to patch a copy of the Linux source with the "fbaddon" patch. Then you need to configure the kernel and turn on frame buffer support. If you have Matrox cards turn on Matrox unified accelerated driver support as well as the particular type of card you have. Don't turn on VESA frame buffer support. It can cause a conflict. Do turn on multi-head support (obviously). Build the kernel and reboot.--> まずやらなければいけないことは''fbaddon''パッチで Linux のソース にパッチを当てることです。それから、カーネルのコンフィグレーションで frame buffer サポートを有効にしなければいけません。Matrox のカードを使っ ているなら、お使いのカードの特定の型はもちろん Matrox unified accelerated driver サポートを有効にします。VESA フレームバッファサポー トを有効にしてはいけません。それは衝突を起こします。multi-head サポー トを有効にします(当然ですよね)。カーネルを構築し再起動します。 <!-- Now you need to install the "fbset" program and carefully read all the documentation on how to adjust the settings. Using a "/etc/fb.modes" file is highly recommended once you've decided on your settings. The fbset program includes a Perl script to convert your XF86Config file to fb.modes settings. I've included my octave/Borne shell script to convert your XF86Config file in Borne -> Bourne Appendix A & B.--> ''fbset'' プログラムをインストールし、設定を調整する方法について文書全体 を注意深く読まなくてはいけません。 fbset で行こうと決めたのなら、 "/etc/fb.modes" ファイルを使うことを強くおすすめします。 fbset プログラムは XF86Config ファイルを fb.modes に変換する Perl スクリプトを持っています。補足 A と B にお使いの XF86Config ファイル を変換するための私のoctave/Bourne シェルスクリプトがあります。 <!-- You need to get comfortable with using the frame buffer device on one monitor, understanding any issues that can arise from your set up that have nothing to do with multi-head support. This can save a lot of head scratching later.--> multi-head サポートをするしかないというあなたの設定が原因で起こるどん な問題も理解できるよう、ひとつのモニターでフレームバッファデバイスを 使う事 (設定) を十分理解しておかなければいけません。これで頭を掻きむ しる回数をずいぶん減らすことができます。 <!-- I'm going to concentrate my explanation on getting X running on the second monitor as doing most other configurations will just be a obvious subset of the procedure.--> この文書では、二台目のモニターで X を動かすことについての説明に集中する つもりです。これは、多くの他のコンフィグレーションは単にこの手順の一部を 取り出すことに過ぎないからです。 <sect2><!-- Move a console over...--> コンソール上に移動 <p> <!-- Compile the "con2fb" program. If you run it without any arguments you'll get the following usage message: --> ''con2fb'' プログラムをコンパイルします。何の問題もなく動くなら、次に示 すような使用方法についてのメッセージが出るでしょう。 <!-- "usage: con2fb fbdev console".--> ''使い方: con2fb fbdev console'' <!-- Thus, an example command would be "con2fb /dev/fb1 /dev/tty6" to move virtual console number six over to the second monitor. Use Ctrl-Alt-F6 to move over to that console and see that it does indeed show up on the second monitor. --> 例示されたコマンドは ''con2fb /dev/fb1 /dev/tty6'' のように使い、 二台目のモニターを仮想コンソール 6 にしてやります。 Ctrl-Alt-F6 というキーを使ってコンソールを操作すると、 第二モニター上に実際に画面が出てきます。 <sect2><!-- Use ''fbset'' to adjust the setting on this second monitor--> 二台目のモニターでの設定を調節するため ''fbset'' を使う <p> <!-- Only set the "fbset" settings on the monitor you run the "fbset" command on. Therefore, you must be careful to use the "-fb" flag on the second monitor. In particular, if you do nothing else you'll probably want to at least set the virtual vertical resolution to your actually vertical resolution. --> モニターに ''fbset '' を設定する設定にだけ ''fbset''コマンドを使います。 つまり、二台目のモニターに ''-fb''フラッグ を使うのに注意しなければい けません。とりわけ、少なくとも実際の垂直像度に仮想垂直解像度を設定した いだけで、他のことはいじりたくないなら注意しなければいけません。 e.g. "fbset -fb /dev/fb1 -vyres 600" <!-- This will seriously slow down text mode, but X will be obnoxious without it. --> これでテキストモードは劇的に遅くなりますが、 X はテキストモードのこと は気にしません。 <sect2><!-- Set up X for Frame Buffer support.--> フレームバッファサポートに対して X を設定する <p> <!-- The framebuffer.txt file explains this better than I can, but here's the two important points.--> framebuffer.txt ファイルは私がするよりももっとうまく説明していますが、 ここでは二つの重要なことを書いておきます。 <!-- Make sure you set the link for "X" to point to "XF86_FBDev".--> ''X'' に対して ''XF86_FBDev'' をリンクしているかを確認します。 <!-- Next you need to add a monitor section to your XF86Config file for the frame buffer device. Here's an example:--> 次にフレームバッファデバイスについてお使いの XF86Config ファイルの モニターセクションを追加しなければいけません。 次に例を示します。 <verb> # The Frame Buffer server Section "Screen" Driver "fbdev" Device "Millennium" Monitor "NEC MultiSync 5FGp" Subsection "Display" Depth 8 Modes "default" ViewPort 0 0 EndSubsection Subsection "Display" Depth 16 Modes "default" ViewPort 0 0 EndSubsection Subsection "Display" Depth 24 Modes "default" ViewPort 0 0 EndSubsection Subsection "Display" Depth 32 Modes "default" ViewPort 0 0 EndSubsection EndSection </verb> <!-- Use the "default" modes as I don't think any other one will work with the Matrox frame buffer. --> その他別のものについてはよくわからないので、''デフォルト''モードを使っ て、Matrox フレームバッファで動くでしょう。 <sect2><!-- Try starting the X server on the second monitor.--> 二台目のモニターの X サーバを始動してみる <p> <!-- Set the variable FRAMEBUFFER to the second frame buffer. "export FRAMEBUFFER=/dev/fb1" or "setenv FRAMEBUFFER /dev/fb1"--> 第二フレームバッファにさまざまなFRAMEBUFFER を設定する ''export FRAMEBUFFER=/dev/fb1'' または、 ''setenv FRAMEBUFFER /dev/fb1'' <!-- You need to start the X server so that it both matches the selected color depth and it appears on the same monitor you start the X server from. --> e.g. "startx -- :0 -bpp 16 vt06" X サーバを起動すると、両方が選択したカラー depth に適合し、X サーバを 始動する同じモニター上に現れます。 <!-- This example will start the "zeroth" X server on virtual console six with 16 bit color. Using ":1" when launching another X server for the other frame buffer will allow you to have two X servers running. --> この例は 18 ビットカラーで仮想コンソールの 6 上に''zeroth''X サーバー を始動します。その他のフレームバッファに対してもうひとつの X サーバを 出したときに'':1'' を使うと、二つの X サーバを動かすことができるように なります。 <sect1><!-- Summary--> 要約 <p> <!-- The steps involved in getting an X server running on a second monitor can be summarized as follows: --> 第二モニターで X サーバを動かす方法は、次のように要約できます。 <!-- * Get the kernel patch, fbset, and con2fb. * Patch the kernel, configure, rebuild, and reboot. * Add XF86_FBDev section to XF86Config file and set X link. Then each time you reboot: * Move a console over. e.g. "con2fb /dev/fb1 /dev/tty6" * Adjust the settings e.g. "fbset -fb /dev/fb1 1280x1024" * Set the FRAMEBUFFER. e.g. "export FRAMEBUFFER=/dev/fb1" * Start the X server. e.g. "startx -- -bpp 16 vt06"--> ○ カーネルパッチ、fbset、con2fb を入手する。 ○ カーネルにパッチを当て、コンフィギュア、再構築、再起動をする。 ○ XF86Config ファイルに XF86_FBDev section を追加し、 X とリンクする。 それからいつものように再起動します。 ○ コンソール上で動 たとえば、'' con2fb /dev/fb1 /dev/tty6 '' ○ 設定を調整する。 たとえば、'' fbset -fb /dev/fb1 1280x1024 '' ○ FRAMEBUFFER を設定 たとえば、'' export FRAMEBUFFER=/dev/fb1 '' ○ X サーバを起動する。たとえば、''startx -- -bpp 16 vt06'' <!-- You can automate this each time you reboot via a shell alias. It must be an alias and not a shell script since it needs to detect the current console number. This is my C-shell alias to start up X on a second fixed frequency monitor: --> 別名シェルを通して再起動するたびにこれを自動化できます。現在のコンソー ル番号を決める必要があるのでシェルスクリプトではなく、 alias でなけれ ばいけません。これは二つ目の固定された周波数のモニターで X を始動させる C-シェルエイリアスです。 <!-- <verb> alias startxfb = " setenv FRAMEBUFFER /dev/fb\!*; # Set the env var to the cmd arg. con2fb $FRAMEBUFFER /dev/$tty; # Move the fb to the current tty. fbset -fb $FRAMEBUFFER 1280x1024@62; # Favorite from /etc/fb.modes startx -- :\!* -bpp 16 vt0`echo $tty | cut -dy f 2`' # X on this tty. " </verb> --> <verb> alias startxfb = &dquot; setenv FRAMEBUFFER /dev/fb\!*; # Set the env var to the cmd arg. con2fb $FRAMEBUFFER /dev/$tty; # Move the fb to the current tty. fbset -fb $FRAMEBUFFER 1280x1024@62; # Favorite from /etc/fb.modes startx -- :\!* -bpp 16 vt0`echo $tty | cut -dy f 2`' # X on this tty. " </verb> <!-- In my .cshrc file these are all on the same line together without the comments, but it's easier to read here with line breaks and comments inserted. I just give the number of the frame buffer as an argument and it starts right up. --> 私の .cshrc ファイルにはコメントをつけないで同じ行にすべてを書いていま すが、ここでは改行し、コメントをつけて読みやすくしています。私はフレー ムバッファの番号を変数として与えており、そうすると正しく始動します。 <!-- I'm not sure how to do this same alias in bash. I don't know how to determine the current tty or get the arguments to an alias in bash. If someone lets me know I'll insert it here. However, you can use the "tty" command to get the name of the current VT and just make two separate aliases for each X server. --> bash で同じエイリアスが動くかどうかはわかりません。bash で現在の tty を決定する方法、あるいはエイリアスに変数を得る方法はわかりません。もし どなたかが教えてくださればここに加えましょう。 しかし、現在の VT の名 称を得、それぞれの X サーバに二つに分離したエイリアスを作るために ''tty'' コマンドを使えます。 <sect1><!-- Other Notes and Problems--> その他の注意と問題点 <p> <!-- * Both "fbset" and "startx" MUST be run from the same frame buffer as the one being affected. This places serious limits on how much of these commands can be automated via scripts. --> ○ ''fbset''と''startx''の両方は、操作を行おうとしている同じ一つの フレームバッファから動かさなければいけません。 これが、これらのコマンドがスクリプトを通してどれくらい自動化できるか について重大な制約を課します。 <!-- * XFree86 4.0 will have "proper" multi-head support, but 3.3.1 does not. You can run two servers with 3.3.1 and use x2x to switch between them however...(see the next bullet) --> ○ XFree86 4.0 は正規の multi-head support を持っていますが、 3.3.1 ではサポートしていません。3.3.1 で二つのサーバを動かすことができ、 x2x を使ってそれらの間を切替えることができます。しかし、(次を見てください) <!-- * The inactive frame buffer will just hold the last image of when it was active, no updates with occur.--> ○ アクティブになっていないフレームバッファは、最後にアクティブになった ときのイメージを保持したままで、画面の更新は行われません。 <!-- preserve * The monitor that's not selected doesn't always preseve it's state when not active. (But it usually does.)--> ○ 選択されなかったモニターは、非アクティブの時には状態を常に保持する わけではありません (通常は保持されますが)。 <!-- * Geert Uytterhoeven (the frame buffer maintainer) and Linus Torvalds don't agree with the current "frame buffer per VT" multi-head console support changes (i.e. fbaddon) so it may never be in the mainstream kernel tree. (This was heard third hand and may be wildly untrue.)--> ○ Geert Uytterhoeven(フレームバッファの維持者)と Linus Torvalds は、 現在の''frame buffer per VT''multi-head console support の変更(たとえ ばfbaddon)に同意していませんから、カーネルツリーの本流にはならないでしょ う。(これは第三者から聞いたことで本当ではないかもしれません。) <!-- * If you "break the rules" and start the X server (run "startx") from a different monitor, the machine can eventually crash badly with the keyboard and mouse input all mixed together.--> ○ ''ルールを破って''違ったモニターから X サーバを始動するなら( ''startx'' を動かす)、結局のところマシンはキーボードやマウス入力もうまくいかなく なって壊れることでしょう。 <!-- * The documentation framebuffer.txt in the kernel source explains that you can use the Modeline settings in your XF86Config file directly when running X. Using the Matrox frame buffer seems to force the X server to drop all of those. So you can only have the one ("default") setting at at time (the same one you had in text mode).--> ○ カーネルソースに付属する framebuffer.txt 文書では、X を起動する時に 直接的に XF86Config ファイルで Modeline を設定できると説明しています。 Matrox フレームバッファを使うと、 X サーバを落してしまうように見えます。 そこで、同時にひとつだけ(''デフォルト'')を設定できます(もうひとつテキスト モードを持てます)。 <!-- * The XF86_FBDev is unaccelerated. However, there are patches for accelerated Matrox support at <verb>http://www.in-berlin.de/User/kraxel/xfree86/</verb> --> ○ XF86_FBDev は高速ではありませんが、<htmlurl url="http://www.in-berlin.de/User/kraxel/xfree86/" name="http://www.in-berlin.de/User/kraxel/xfree86/">で高速の Matrox support に対するパッチがあります。 <sect2><!-- Getting "init level five" (i.e. xdm/gdm) to work--> ''init level 5 ''(たとえば xdm/gdm) を動かすようにする <p> <!-- I have not yet figured out a way to boot with init level 5 with a dual monitor configuration (and actually have the server on either the second montior or both). While it seems easy enough to add a line to the gdm/xdm Xservers file, the constrain that you must start the X server from the same frame buffer prevents the obvious solution from working. If anyone finds a way please e-mail me and I'll add it here.--> 私はまだ複数のモニター設定(そして、実際に二番目のモニターか、あるいは 両方のモニターにサーバがある)で、init level 5 で始動する方法で設定をし たことがありません。gdm/xdm Xservers ファイルに 1 行加えるだけで十分だと 思えますが、同じフレームバッファから X サーバを始動しなければならない とい制約のため、この簡単な解決法では動作しません。うまくいった 方がおられるなら、どうぞ私にお知らせください。ここに追加しましょう。 <sect2><!-- Using the x2x program.--> x2x プログラムを使う <p> <!-- There's a nice little program called x2x that will switch X servers for you when you get to the edge of the screen. Last known home for this program was: <verb>http://ftp.digital.com/pub/DEC/SRC/x2x/</verb> It's also an optional Debian package. I haven't tried it yet but some users have reported success.--> スクリーンの接線を得るとき、X サーバを切り替える x2x という良くできた 小さなプログラムがあります。このプログラムの最新版は次のところにありま す: <htmlurl url="http://ftp.digital.com/pub/DEC/SRC/x2x/" name="http://ftp.digital.com/pub/DEC/SRC/x2x/">Debian パッケー ジの付属でもあります。私はまだ試していませんが、うまくいっているユーザ もあります。 <sect2><!-- Other useful commands--> その他役立つコマンド <p> <!-- These are existing linux commands that are worth remembering when dealing with a multi-head configuration (especially in writing scripts).--> multi-head configuration (とりわけスクリプトを書くときに)を扱うときに 覚えておく価値のある linux コマンドがあります。 <!-- * "chvt" will allow you to switch between virtual terminals. * "openvt" start a program on a new virtual terminal (VT). * "tty" will report the name of the current terminal.--> ○ ''chvt''は仮想ターミナル間で切り替えできるようにします。 ○ ''openvt''は新しい仮想ターミナル(VT)上でプログラムを始動させます。 ○ ''tty''は現在のターミナルの名前を表示します。 <sect2><!-- Appendix A. Octave cvtmode.m script --> 補足 A. <p> <!-- (note the bpp setting)--> ( bpp 設定の注意) <verb> #!/usr/bin/octave -q bpp = 16; DCF = sscanf(argv(1,:), "%f"); HR = sscanf(argv(2,:), "%f"); SH1 = sscanf(argv(3,:), "%f"); SH2 = sscanf(argv(4,:), "%f"); HFL = sscanf(argv(5,:), "%f"); VR = sscanf(argv(6,:), "%f"); SV1 = sscanf(argv(7,:), "%f"); SV2 = sscanf(argv(8,:), "%f"); VFL = sscanf(argv(9,:), "%f"); pixclock = 1000000 / DCF; left_margin = HFL - SH2; right_margin = SH1 - HR; hsync_len = SH2 - SH1; # 3) vertical timings: upper_margin = VFL - SV2; lower_margin = SV1 - VR; vsync_len = SV2 - SV1; RR = DCF / (HFL * VFL) *1e6; HSF = DCF / HFL * 1e3; printf("mode \"%dx%d\"\n",HR,VR); printf(" # D: %3.2f MHz, H: %3.2f kHz, V: %2.2f Hz\n", DCF, HSF, RR); printf(" geometry %d %d %d %d %d\n", HR, VR, HR, VR, bpp); printf(" timings %d %d %d %d %d %d %d\n", ... pixclock, left_margin, right_margin, ... upper_margin, lower_margin, ... hsync_len, vsync_len); printf("endmode\n"); </verb> <sect2><!-- Appendix B. Borne Shell script "cvtfile" --> 補足 B. Borne シェルスクリプト "cvtfile" <p> <!-- (This calls the octave script "cvtmode")--> (これは octave スクリプト''cvtmode''を呼び出します。 [訳注:octave スクリプトとは、数値計算の処理系の GNU Octave 言語のことです。 詳細は次の URL 等でご確認ください。] <htmlurl url="http://www.octave.org/" name="Octave Home Page"> <htmlurl url="http://www.octave.org/history.html" name="Octave History"> <verb> #!/bin/sh # Shell script to convert XF86Config file to fb.modes file. # Uses octave script cvtmode.m if [ -z $1 ]; then FILE=/etc/X11/XF86Config else FILE=$1 fi i=1 LEN=`grep Modeline $FILE | wc -l` while expr $i \< $LEN > /dev/null ; do CURLINE=`grep Modeline $FILE | cut -d'"' -f 3-20 | head -$i | tail -1 ` ./cvtmode.m $CURLINE echo " " i=`expr $i + 1` done </verb> <sect><!-- Using/Changing fonts--> フォントを使う、変更する <p> <!-- To get the capability to change fonts, you need kbd-0.99. You may obtain this from <verb>ftp://ftp.win.tue.nl/pub/linux/utils/kbd</verb> --> フォントを変更するために、kbd-0.99 が必要です。 <url url="ftp://ftp.win.tue.nl/pub/linux/utils/kbd" name="ftp://ftp.win.tue.nl/pub/linux/utils/kbd"> から入手できます。 <!-- One advantage of downloading and installing kbd-0.99 is that you will be able to load international fonts (i.e Euro symbol) into your console device (It is tres chic to have three symbols on my keyboard, the dollar sign, the English pound sign and the Euro sign!). --> kbd-0.99 をダウンロードしインストールする利点は、お使いのコンソールデ バイスに国際フォント(たとえば Euro symbol のような)をロードできるよう になることです。(私のキーボードに3種類、つまり、ドルの単位記号、 英国ポンドの単位記号とユーロの単位記号のシンボルを持つのはなかなかお洒 落です) <sect><!-- Changing console modes--> コンソールモードを変更する <p> <!-- To get the capability to change modes (i.e 640x480, 800x800 etc), you need fbset (currently fbset-19990118.tar.gz) - you may ftp it from: --> モードを変更(たとえば 640x480、 800x800 など)できるようにするため、 fbset が必要でしょう(最新版は、fbset-19990118.tar.gz)、次のところで 入手できます。 <htmlurl url="http://www.cs.kuleuven.ac.be/~geert/bin/fbset-19990118.tar.gz" name="http://www.cs.kuleuven.ac.be/~geert/bin/fbset-19990118.tar.gz"> <!-- This comes with a full set of instructions on how to operate this. --> このパッケージを動かす方法について、必要なすべてのものを添付しています。 <sect><!-- Setting up the X11 FBdev driver--> X11 FBdev ドライバを設定する <p> <!-- If you are not using XFree86 3.3.3.1 or later, you are urged to upgrade to XFree86 3.3.3.1 - it includes a FBdev X driver for framebuffer devices. Otherwise, follow the steps below to either download or build your own FBdev driver for older XFree86 versions such as 3.3.2, 3.3.3 etc. --> XFree86 3.3.3.1 かそれより新しい版を使っていないなら、 XFree86 3.3.3.1 に更新しなければいけません。XFree86 3.3.3.1 にはフレームバッファ デバイスに対応する FBdev X ドライバが含まれています。もしくは下記のと ころからダウンロードするか、 3.3.2や 3.3.3 のような XFree86 の旧版に対 して FBdev ドライバを構築するかしなくてはいけません。 <!-- Go to <verb>http://www.xfree86.org</verb>, and download the latest XServers source archive, unpack, and configure the drivers, following these steps: --> <htmlurl url="http://www.xfree86.org" name="http://www.xfree86.org"> に行き、 XServers のソースアーカ イブをダウンロードします。そして次に示す方法にしたがってドライバを設定 します。 <!-- <itemize> <item>Edit xc/config/cf/xf86site.def, uncomment the #define for XF68FBDevServer <item>Comment out <em/all/ references to FB_VISUAL_STATIC_DIRECTCOLOR, as these are bogus and aren't used any more. If you are using XFree86 3.3.3.1, there is no need to do this step - as they have removed this. <item>Edit xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c, and change K_RAW to K_MEDIUMRAW. </itemize> --> <itemize> <item>xc/config/cf/xf86site.def を編集します。XF68FBDevServer に対して #define をコメントをはずします。 <item> FB_VISUAL_STATIC_DIRECTCOLOR を参照するすべてをコメントアウトします。 これらは誤りがあり、もう使われていません。 XFree86 3.3.3.1 を使っているなら、XFree86 はこれを取り除いているので、 この段階ではもうすることはありません。 <item> xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c を編集し, K_RAW を K_MEDIUMRAW に変更します。 </itemize> <!-- and then build the driver. Don't worry about the m68k references, it supports Intel platforms. Then build the whole thing - it'll take a long time though as it's a large source tree. --> それからドライバを構築します。 m68k レファレンスについて心配はありませ ん。インテルプラットホームをサポートしています。それから全部を構築しま す。大きなソースツリーですから時間がかかるでしょう。 <!-- Alternatively, if you don't have the time to spare, you can obtain the binaries from the sites below. Please note that these are 'unofficial' builds and you use them at your risk. --> 時間をかけたくないなら、下記サイトからバイナリーを入手できます。 これれは'非公式'に構築されたものですから、自分の責任で使用するということに 注意してください。 <!-- For libc5, use the one at:--> libc5 に対しては次のものを使用します。 <htmlurl url="http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.libc6.gz" name="http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.libc6.gz"> <!-- For glibc2, download from these URLs.--> glibc2 では次の URL からダウンロードしてください。 <htmlurl url="http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.libc6.gz" name="http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.libc6.gz"> <htmlurl url="http://pobox.com/~brion/linux/fbxserver.html" name="http://pobox.com/~brion/linux/fbxserver.html"> <!-- There have been reports that X11 is non functional on certain graphic cards with this vesafb feature enabled, if this is happening, try the new XF86_FBdev driver for X11. --> X11 は、この vesafb 仕様を有効にしてあると一部のグラフィックカードではうまく 動かないという報告があります。もしそうなるなら、X11 に対しては新しい XF86_FBdev ドライバを試してみてください。 <!-- This driver, along with vesafb can also help run X11 in higher graphic resolutions with certain graphic chipsets which are not supported by any of the current X11 drivers. Examples are MGA G-200 et. al. --> このドライバは、vesafb とともに、現在の X11 ドライバでサポートされてい ないある種のグラフィックチップをより高いグラフィック解像度で X11 を動かすのも援助できます。MGA G-200 のようなものはその例です。 <!-- To configure the XF86_FBdev driver with your X11 system, you'll need to edit your XF86Config for the following: --> お使いの X11 システムで XF86_FBdev ドライバをコンフィギュアするため、 次のようにお使いの XF86Config を編集しなければいけません。 <verb> Section "Screen" Driver "FBDev" Device "Primary Card" Monitor "Primary Monitor" SubSection "Display" Modes "default" EndSubSection EndSection </verb> <!-- You'll also need to set XkbDisable in the keyboard section as well, or invoke the XF86_FBDev server with the '-kb' option to set up your keyboard so it works properly. If you forget to set XkbDisable, you will have to put the following lines in your .Xmodmap to straighten out the keyboard mappings. Alternatively, you can edit your xkb to reflect the list below. --> keyboard の項でも同様に、XkbDisable に設定しなければいけないか、また はお使いのキーボードが適切に動くよう設定するため、'-kb' オプションをつ けて XF86_FBDev サーバを呼び出す必要があるでしょう。 XkbDisable を設定 するのを忘れたなら、キーボードのマッピングを適切に設定するため、お使い の .Xmodmap に次のような行を書かなければいけません。 <!-- <em/This is fixed in XFree86 3.3.3.1, and it is a good idea to upgrade to this version anyway because there are quite a few bug fixes, and also, it includes FBDev as one of the drvers, as I've mentioned previously./ --> <em/ これは XFree86 3.3.3.1 では修正されており、その他二、三の大きなバグ が修正されており、さらに先に述べたようにドライバのひとつとして FBDev を含んでいますから、この版にアップグレードするのはよいことです。/ <verb> ! Keycode settings required keycode 104 = KP_Enter keycode 105 = Control_R keycode 106 = KP_Divide keycode 108 = Alt_R Meta_R keycode 110 = Home keycode 111 = Up keycode 112 = Prior keycode 113 = Left keycode 114 = Right keycode 115 = End keycode 116 = Down keycode 117 = Next keycode 118 = Insert keycode 119 = Delete </verb> <!-- You may need to do some fiddling around with this (try copying the original definition from the original X11 driver that you were using and editing the name of the driver to FBDev), but basically this is what you need to do to use the vesafb X11 driver. --> 何かする必要があるかもしれませんが(あなたが使っていて、そして、 FBDev にドライバの名前を編集してあるオリジナルの X11 ドライバからオリジナル の定義をコピーしてみてください)、基本的にこれが vesafb X11 ドライバを 使うためにやらなくてはいけないことのすべてです。 <!-- Hopefully the X11 problems with supported graphic cards will be fixed in future releases.--> うまくいけばサポートされたグラフィックカードでの X11 の問題は、将来の 版では修正されるでしょう。 <sect><!-- How do I convert XFree86 mode-lines into framebuffer device timings?--> フレームバッファデバイスのタイミングに XFree86 モードラインをどのよう に変換したらよいですか。 <p> <!-- If you have XFree86 (X11) installed on your machine, and you can use it successfully, it is a simple matter to convert the mode-lines in your XF86Config to the required timings needed by the framebuffer devices. --> お使いのマシンに XFree86 (X11) をインストールしているなら、ちゃんと使 うことができるでしょう。フレームバッファデバイスによって必要とされた要 求タイミングにお使いの XF86Config に モードラインを変換するのはとても 簡単です。 <!-- The framebuffer device requires the following fields--> フレームバッファデバイスには次のようなフィールドが必要です。 <!-- <itemize> <item>pixclock - pixel clock in pico seconds <item>left_margin - time fron sync to picture <item>right_margin - time from picture to sync <item>upper_margin - time from sync to picture <item>lower_margin - time from picture to sync <item>hsync_len - length of horizontal sync <item>vsync_len - length of vertical sync </itemize>--> <itemize> <item>pixclock - ピコ秒でのピクセル <item>left_margin - time fron sync to picture <item>right_margin - time from picture to sync <item>upper_margin - time from sync to picture <item>lower_margin - time from picture to sync <item>hsync_len - 水平同期長 <item>vsync_len - 垂直同期長 </itemize> <p> <!-- An XFree86 mode line has the following fields--> XFree86 モード行は次のような部分があります。 <verb> Modeline "1280x1024" DCF HR SH1 SH2 HFL VR SV1 SV2 VFL </verb> <p> <!-- It is necessary to do some simple calculations to translate the XF86 mode-lines into a set of framebuffer device timings. As an example, we shall examine how to convert a mode-line taken from my XF86Config file. --> framebuffer device timings の設定に XF86 モードラインに翻訳するため単 純な計算をする必要があります。例として、私の XF86Config ファイルから取っ てきたモードラインを変換する方法を試してみましょう。 <verb> Modeline "1280x1024" 110.00 1280 1328 1512 1712 1024 1025 1028 1054 </verb> <p> <!-- First, calculate the required pixclock rate. XFree86 uses megahertz whilst framebuffer devices uses picoseconds (Why, I don't know). Divide one million by DCF. For example, 1,000,000 / 110.0 = 9090.9091 --> はじめに要求された pixclock 率を計算します。 XFree86 はメガヘルツを使 いますが、フレームバッファデバイスはピコセコンドを使います(その理由は 私にはわかりません)。DCF で 1 万を割ります。たとえば、1,000,000 / 110.0 = 9090.9091 <p> <!-- Now we need to calculate the horizontal timings. --> さて、水平タイミングを計算しなくてはいけません。 <itemize> <item>left_margin = HFL - SH2 <item>right_margin = SH1 - HR <item>hsync_len = SH2 - SH1 </itemize> <p><!-- In our example, this would be:--> われわれの例は次のようになります。 <itemize> <item>left_margin = 1712 - 1512 = 200 <item>right_margin = 1328 - 1280 = 48 <item>hsync_len = 1512 - 1328 = 184 </itemize> <p><!-- And now we need to calculate the vertical timings.--> さらに、仮想タイミングを計算しなければいけません。 <itemize> <item>upper_margin = VFL - SV2 <item>lower_margin = SV1 - VR <item>vsync_len = SV2 - SV1 </itemize> <p><!-- For our example, this would be:--> われわれの例では、このようにしています。 <itemize> <item>upper_margin = 1054 - 1028 = 26 <item>lower_margin = 1025 - 1024 = 1 <item>vsync_len = 1028 - 1025 = 3 </itemize> <p> <!-- Now we can use this information to set up the framebuffer for the desired mode. For example, for the matroxfb framebuffer, it requires:--> 上述したモードについてフレームバッファを設定するためこの情報を使えます。 たとえば、matroxfb フレームバッファでは、次のようになります。 <verb> video=matrox:xres:<>,yres:<>,depth:<>,left:<>,right:<>,hslen:<>,upper:<>,lower:<>,vslen:<> </verb> <!-- I put in my /etc/lilo.conf the following line:--> 私の /etc/lilo.conf に、次のような行を追加しています。 <verb> append = "video=matrox:xres:1280,yres:1024,depth:32,left:200,right:48,hslen:184,upper:26,lower:0,vslen:3" </verb> <p> <!-- Note that in this case the pixclock isn't used. It's only necessary if you don't like the default pixclock rates. You can supply this as a parameter as well. Setting the pixclock is documented in other parts of this HOWTO. --> この場合、pixclock を使っていないことに注意してください。pixclock の指定は デフォルトの pixclock 率を好まない場合にだけ必要です。パラメーターとしても またこれを補足できます。pixclock を設定するには、この HOWTO の他の項目に書 いてあります。 <sect><!-- Changing the Linux logo--> Linux のロゴを変更する <p> <!-- It can be customised by changing the file linux_logo.h in include/linux directory. its a c header and pretty hard to change by hand however there is a plugin available for gimp <verb> http://registry.gimp.org/detailview.phtml?plugin=Linux+Logo </verb> that will create one for you. all you need is a picture 80x80 with less than 224 colours. you can either let the plug in create the 3 varieties (2,16,224) or create them yourself and use them with the plug-in. it will ask you where you want to store the file and if you are game you can put it in ($SRCDIR)/include/linux/linux_logo.h. once that is finished all you need to do is recompile the kernel as usual, reboot, and if framebuffer is working you will see your new logo upon bootup. --> include/linux ディレクトリにある linux_logo.h ファイルを変更してカスタ マイズできます。これは c ヘッダーで、手で変更するのは少し難しいですが、 自分の作りたいものを作るため gimp <htmlurl url="http://registry.gimp.org/detailview.phtml?plugin=Linux+Logo" name="http://registry.gimp.org/detailview.phtml?plugin=Linux+Logo"> で利用できる plugin があります。必要なものは、224 色以下の画像 80x80 です。 3 種類(2,16,224)を作るか、自分で作り、プラグインで使うかのどちらかでできます。 ファイルを保存する場所を尋ねてきますから、 遊びなら、($SRCDIR)/include/linux/linux_logo.h に書きこめます。 一度すべてを終了し、いつものようにカーネルの再構築をし、再起動します。 そして、フレームバッファが動くなら、起動時に自分で書いた新しいロゴが 見えるでしょう。 <sect><!-- Looking for further information? --> もっと情報を知りたいなら <p> <!-- For those of you interested in working with the framebuffer drivers, point your browser at <verb>http://www.linux-fbdev.org </verb> for information on programming. --> フレームバッファドライバを動かすことに関心をお持ちの方々に、 プログラミング情報についてはブラウザで次のところを見てください。 <htmlurl url="http://www.linux-fbdev.org" name="http://www.linux-fbdev.org"> <!-- French speakers, there is a translation at <verb>http://www.freenix.org/unix/linux/HOWTO/mini/Vesafb.html</verb>--> この文書のフランス語訳は次のところにあります <htmlurl url="http://www.freenix.org/unix/linux/HOWTO/mini/Vesafb.html" name="http://www.freenix.org/unix/linux/HOWTO/mini/Vesafb.html">。 日本語訳の校正をして頂いた方々のリスト <itemize> <item>Jun Morimoto <morimoto@xantia.citroen.org> <item>Seiji Kaneko <se-kane@str.hitachi.co.jp> <item>Taketoshi Sano <kgh12351@nifty.ne.jp> </itemize> </article>