top page > X Window System > here

PC-98 における X Window System


ここの内容は AT 互換機をお使いの方にとっては得るものが少ないと考えます.

概要

対象は次のようなものです.

  1. PC-98
  2. FreeBSD は 4 系までは FreeBSD(98),5 系以降は FreeBSD/pc98
  3. XFree86 の 4 系,および X.Org の 6 系,7 系

目的は次のようなものです.

  1. 二つの X Window System (XFree86, X.Org) の差異と,FreeBSD との関係とを示す.
  2. PC-98 における X Window System の動作状況に関する資料を提示する.

(補足 1) FreeBSD 9 系では PC-98 は Tier 2 になりました. うちの環境では install 自体ができなくなるようです. この先 FreeBSD 8 系が終了した後でも,PC-98 にて ports を更新する場合の資料として,また AT 互換機のための資料として,このページは更新を続けます.

(補足 2) X.Org 7.7 から X Server 等が PC-98 に対応しないことになりました.

(補足 3) FreeBSD は 11 系以後は PC-98 に対応しないことになりました.

FreeBSD/i386 も 13.0 から Tier 2 になり,15.0 からは除外される予定です.

(補足 4) 2024.7.4 の ports において,x11-drivers/ にある多数の video driver が削除されています. まあ,X Server の更新に追随できていない driver は動作に問題をかかえているので妥当な措置なのでしょうが.


目次

1. FreeBSD と二つの X Window System
2. PC-98 と二つの X Window System
3. PC-98 における X Window System の動作状況
4. 情報の入手法

1. FreeBSD と二つの X Window System

FreeBSD は当初 X Window System として XFree86 を使っていました. 2003 年末にその組織が分裂して,XFree86 と X.Org とが併存するようになりました. 分裂後の最初の版は XFree86 が 4.4.0,X.Org が 6.7.0 です. (下表に赤字で示す.) その後の両者の進展と FreeBSD への「標準採用」の状況を下表に示します.
(注 : release の日付は必ずしも公式のものではありません. 目安とお考え下さい.)

XFree86 の version と FreeBSD
version release date FreeBSD (release date)
3.3.31998.11.192.2.8 (1998.11.30)
3.3.51999. 8.173.4 (1999.12.20)
3.3.62000. 1. 94.5 (2002. 1.29) までは標準採用.
以後は標準採用ではないが ports にて利用可.
4.0.0 2000. 3. 7(省略)
4.1.0 2001. 1. 2標準採用ではないが ports にて利用可.4.4, 4.5
4.2.02002. 1.18 4.6 (2002. 6.15), 4.7 (2002.10.10), 5.0 (2003. 1.19)
4.3.02003. 2.274.9 (2003.10.28), 4.10 (2004. 5.27), 5.1 (2003. 6. 9),
5.2 (2004. 1.12)
4.4.02004. 2.294.11 (2005. 1.25)
標準採用ではないが ports にて利用可.5.3, 5.4
4.5.02005. 3.16標準採用ではないが ports にて利用可.6.1, 6.2
4.6.02006. 5.10採用されていないが,動作は確認済み.
4.7.02007. 8.12採用されていないが,動作は確認済み.
4.8.02008.12.15採用されていないが,動作は確認済み.
X.Org の version と FreeBSD
version release date FreeBSD (release date)
6.7.02004. 3.315.3 (2004.11. 6)
6.8.02004. 9. 9使われていない.
6.8.12004. 9.17標準採用ではないが ports にて利用可.4.11 (2005. 1.25)
6.8.22005. 2.115.4 (2005.5. 9), 6.0 (2005.11. 4)
6.9.02005.12.216.1 (2006.5. 8), 5.5 (2006. 5.25), 6.2 (2007. 1.15)
7.0  2005.12.21対応 OS は Linux, Solaris のみ.
7.1  2006. 5.12同上
7.2  2007. 2.15FreeBSD に移植中. → 2007.5.20 より ports にて利用可.
7.3  2007. 9. 66.3 (2008. 1.18), 7.0 (2008. 2.27), 6.4 (2008.11.28)
7.4  2008. 9.237.2 (2009. 5. 4), 8.0 (2009.11.27), 7.3 (2010. 3.23)
7.5  2009.10.268.1 (2010. 7.23), 7.4 (2011. 2.24), 8.2 (2011. 2.24),
9.0 (2012. 1.12), 8.3 (2012. 4.18), 9.1 (2012.12.30),
8.4 (2013. 6. 3)
7.6  2010.12.209.1 (2012.12.30), 8.4 (2013. 6. 3)
7.7  2012. 6. 9 2013.6.28 より ports にて利用可.
9.2 (2013. 9.30), 9.3 (2014. 7. 8), 10.0 (2014. 1.14),
10.1 (2014.11.14), 10.2 (2015. 8.13), 10.3 (2016. 4. 4),
11.0 (2016.10. 3), 11.1 (2017. 7.26), 10.4 (2017.10. 3)
11.2 (2018. 6.28), 12.0 (2018.12.10), 11.3 (2019. 7. 3)
12.1 (2019.11. 4), 11.4 (2020. 6.16), 12.2 (2020.10.27)
13.0 (2021. 4.13), 12.3 (2021.12. 7), 13.1 (2022. 5.16)
12.4 (2022.12. 5), 13.2 (2023. 4.11), 14.0 (2023.11.10)
13.3 (2024. 3. 5), 14.1 (2024. 6. 9), 13.4 (2024. 9.18)
X Server 等は PC-98 に対応しない. 詳細はこちら

FreeBSD の version についてまとめれば,「標準採用」の状況は次のようになります.

なお,FreeBSD の ports/packages においては,これらに FreeBSD 独自の修正が加えられている場合があります. (その確認法は 4 節 に示します.)

問題なのは,当然のことですが分裂した後は両者の開発目標や進捗が異なることです. それに FreeBSD 独自の修正が絡んで話がさらに複雑になります.

次の節にて,PC-98 に対してそれに関連する問題点を述べます.

2. PC-98 と二つの X Window System

御存知のように,PC-98 はもう生産を終えています. 当然,グラフィックカードも新しいものは出ません. それにも関わらずなぜ新たな変更が生じるのかと言うと,次のような事情があります.

  1. PC-98 に限らず,X Window System の開発の過程で,今まで動作していたボードで動作しなくなることもある.
    (それが修復される場合もされない場合もある.)
  2. XFree86 が 3 系から 4 系に移行する際,PC-98 において動作するボードが減った.
    X.Org もその状況を引き継いでいる.

よって,もしも我々一般ユーザーが 1. の修復とか,2. の新たなボードへの移植に挑んで成功した場合,XFree86, X.Org に報告することになります. (義務ではありませんが,報告はしましょう.) 困るのは,その際の両者の対応が異なることです.

XFree86 4.3.0 から XFree86 4.4.0, X.Org 6.7.0 (この時点では両者はほとんど同一) に移行する際に,PC-98 において次のような不具合が生じました.

また,この時期に CLGD7555 (PC-9821 La13 搭載,cirrus driver) への移植ができました. これらはすべて XFree86, X.Org, FreeBSD に報告しています. すなわち,

ところが,それへの反応と言いますと,下表のように明暗が分かれています.

XFree86, X.Org における修正の反映状況
修正箇所 XFree86 X.Org
4.4.0 4.5.0 4.6.0 6.7.0 6.8.1 6.9.0 7.0 7.4 7.5 7.6 7.7
K/B
cirrus ×××××××
trident × ××××

表中の記号の意味は次の通り.
〇 : XFree86 または X.Org のソースが変更されている.
△ : FreeBSD が独自の修正を行なって対処している.
× : 対応がなされておらず,使えない.

すなわち,FreeBSD 6 系では標準でない XFree86 の方が PC-98 の対応をちゃんとしてくれているという皮肉な状態です.

とはいえ,格段の理由がない限りは各々の version の FreeBSD が標準採用している方の X Window System を選択するべきです.

3. PC-98 における X Window System の動作状況

XFree86 4 系や X.Org 6 系にはソース等に文書 README98 が添付されており,PC-98 にて動作する X Window System の状況はこれに書かれています. それを取得する方法を X.Org on PC-98 (3) に記します.

しかし,その作業は面倒なので,ここに XFree86 4.5.0 の README98 を提示します.
そこに書かれている,PC-98 にて X Window System が動作する環境を要約すれば次の表のようになります.
動作状況に関しては問題があるものもありますので,README98 を必ずお読み下さい.
もちろん,先の節も必ずお読み下さい.

サポートカード一覧
ベンダー カード名称 driver
NEC フルカラーウィンドウアクセラレータボード X2 mga
Matrox MGA Millennium (PC/AT 互換機用) mga
IO-DATA GA-RUSH6/PCI apm
Melco WHP-PS8, WHP-PS4 glint
IO-DATA GA-PII8, GA-PIIH8 glint
サポート内蔵ビデオシステム一覧
ベンダー チップセット (搭載機) driver
NEC MGA Millennium/Mystique (R-Mate,ValueStar 等) mga
NEC Trident TGUI968x (X-Mate,ValueStar 等) trident
NEC Cirrus Logic CLGD755x (Aile 等) cirrus

注意しなければいけないのは,XFree86 の 3 系よりもその 4 系や X.Org では動作するボードが減っていることです. 特に,どの PC-98 でも動作した EGC, PEGC は使えなくなっています.

残念ながら,私の把握する限り現在移植作業をしている人はおりませんので,今後動作するボードが増える見込みはないと考えます.

(注) 文書 README98 は,最後の修正がなされてから既に 11 年経過しています. 上に引用した「サポートされているボード」が現在でも動作する保証はないので御注意下さい. 最新の情報に関しては X.Org 7.7 on PC-98 も御覧下さい.

4. 情報の入手法

開発状況に関しては,一次データは以下のところから情報が得られます.

  1. XFree86 の提示する情報やソース・プログラム
  2. X.Org の提示する情報やソース・プログラム
  3. FreeBSD による独自の修正.
  4. X を install した後で, /usr/X11R6/lib/X11/doc/ にある諸々のファイルおよび man page.

やはり 1 or 2 のソース・プログラムと 3 をチェックするのが最良でしょう. ソースは大量にありますが,注目すべきは driver でしょう. XFree86 や X.Org 6 系では,以下のところにあります.

xc/programs/Xserver/hw/xfree86/drivers/*/*_driver.c

また,X.Org 7 系では,ports/x11-drivers/ の各々の driver にて make すれば,そのソースが得られます.

FreeBSD による独自の修正は,XFree86 や X.Org 6 系では

/usr/ports/x11-servers/XFree86-4-Server/files/
/usr/ports/x11-servers/xorg-server/files/

等にある patch file(s) により行なうので,ここから修正の有無やその内容を知ることができます.

また,X.Org 7 系では,それは ports の各々の driver のところにあります.

公開されている個人の使用例に関しては link から辿って下さい.
その際,それらの情報が XFree86 3 系,同 4 系,X.Org 6 系,同 7 系のどれに関するものなのかに注意して下さい.