概要
対象は次のようなものです.
- PC-98
- FreeBSD は 4 系までは FreeBSD(98),5 系以降は FreeBSD/pc98
- XFree86 の 4 系,および X.Org の 6 系,7 系
ここの内容は AT 互換機をお使いの方にとっては得るものが少ないと考えます.
概要
対象は次のようなものです.
目的は次のようなものです.
(補足 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 は動作に問題をかかえているので妥当な措置なのでしょうが.
目次
FreeBSD は当初 X Window System として XFree86 を使っていました.
2003 年末にその組織が分裂して,XFree86 と X.Org とが併存するようになりました.
分裂後の最初の版は XFree86 が 4.4.0,X.Org が 6.7.0 です.
(下表に赤字で示す.)
その後の両者の進展と FreeBSD への「標準採用」の状況を下表に示します.
(注 : release の日付は必ずしも公式のものではありません.
目安とお考え下さい.)
version | release date | FreeBSD (release date) |
---|---|---|
3.3.3 | 1998.11.19 | 2.2.8 (1998.11.30) |
3.3.5 | 1999. 8.17 | 3.4 (1999.12.20) |
3.3.6 | 2000. 1. 9 | 4.5 (2002. 1.29) までは標準採用. 以後は標準採用ではないが ports にて利用可. |
4.0.0 | 2000. 3. 7 | (省略) |
4.1.0 | 2001. 1. 2 | 標準採用ではないが ports にて利用可.4.4, 4.5 |
4.2.0 | 2002. 1.18 | 4.6 (2002. 6.15), 4.7 (2002.10.10), 5.0 (2003. 1.19) |
4.3.0 | 2003. 2.27 | 4.9 (2003.10.28), 4.10 (2004. 5.27), 5.1 (2003. 6. 9),
5.2 (2004. 1.12) |
4.4.0 | 2004. 2.29 | 4.11 (2005. 1.25)
標準採用ではないが ports にて利用可.5.3, 5.4 |
4.5.0 | 2005. 3.16 | 標準採用ではないが ports にて利用可.6.1, 6.2 |
4.6.0 | 2006. 5.10 | 採用されていないが,動作は確認済み. |
4.7.0 | 2007. 8.12 | 採用されていないが,動作は確認済み. |
4.8.0 | 2008.12.15 | 採用されていないが,動作は確認済み. |
version | release date | FreeBSD (release date) |
---|---|---|
6.7.0 | 2004. 3.31 | 5.3 (2004.11. 6) |
6.8.0 | 2004. 9. 9 | 使われていない. |
6.8.1 | 2004. 9.17 | 標準採用ではないが ports にて利用可.4.11 (2005. 1.25) |
6.8.2 | 2005. 2.11 | 5.4 (2005.5. 9), 6.0 (2005.11. 4) |
6.9.0 | 2005.12.21 | 6.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.15 | FreeBSD に移植中. → 2007.5.20 より ports にて利用可. |
7.3 | 2007. 9. 6 | 6.3 (2008. 1.18), 7.0 (2008. 2.27), 6.4 (2008.11.28) |
7.4 | 2008. 9.23 | 7.2 (2009. 5. 4), 8.0 (2009.11.27), 7.3 (2010. 3.23) |
7.5 | 2009.10.26 | 8.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.20 | 9.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 に対してそれに関連する問題点を述べます.
御存知のように,PC-98 はもう生産を終えています. 当然,グラフィックカードも新しいものは出ません. それにも関わらずなぜ新たな変更が生じるのかと言うと,次のような事情があります.
よって,もしも我々一般ユーザーが 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 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
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 を選択するべきです.
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 も御覧下さい.
開発状況に関しては,一次データは以下のところから情報が得られます.
やはり 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 系のどれに関するものなのかに注意して下さい.