DIVE X Window Server 網友 Amos Ho 提供
【前言】

    OS/2 下的 X 有 XFREE86,PMX 與 EX????(忘了名稱)
其中 XFREE86 最常為人使用,但卻只能在 FULL SCREEN 下執行.
PMX 與 EX????,雖然可以在 PM 下執行,不過卻都是商業軟體.
為了解決 XFREE86 能在 PM 下顯示,有人發展了 DIVE X WINDOW SERVER.


【軟體介紹】

    如前所述,PMFB 為一 DIVE X WINDOW SERVER,因此,在此【原則】上無論
您的顯示卡為何,都可以以此當作您的 X SERVER.

    目前本軟體,最新版本 .01-BETA-3,可以在 HOBBES 上找到,檔名 XPMFB.ZIP

    在此對 X 稍作介紹(如有錯誤還請不吝指教)
X SERVER 對應於 OS/2、WINDOWS 來說,可以想像成顯示卡驅動程式
因此,隨著顯示卡不同,【原則上】就要選用不同的 X SERVER.

而透過 DIVE 的技術,現在 DIVE X WINDOW SERVER 適用於所有的顯示卡
(當然,要 OS/2 有提供支援的,如果 OS/2 豪韭N無法驅動此顯示卡,DIVE 也是白搭)
不過,由於 BETA 版緣故,目前還不是很穩定.目前最大的致命傷為【速度】,【非常】慢.


【軟體安裝】

1.安裝 XFREE86 FOR OS/2 ,詳細步驟不再贅述.

2.下載 XPMFB.ZIP,將其解壓縮到目錄下,如:
    unzip xpmfb.zip -d e:\pmfb ,其中 e:\pmfb 為我們所要放置的目錄.
    拷貝
    %X11ROOT%/XFree86/lib/X11/XF86Config 成為 %X11ROOT%/XFree86/lib/X11/XConfig

3.編輯 XConfig,將下列置於檔案最底部
----cut here-----------
Section "Screen"
    Driver      "fbdev"
    Device      "My device"
    Monitor     "My Monitor"
    Subsection "Display"
        Modes       "640x400"
        ViewPort    0 0
    EndSubsection
EndSection
----cut here-----------

A.
其中,Monitor一項,請參照您的 XConfig 中
Section "Monitor"
        Identifier "UltraScan-233"
        VendorName "ACME"
        ModelName  "FastXGA"
        ...
的設定,如上例,此處的 "my monitor" 即填為 "UltraScan-233"
(如果在 xfconfig 設定時沒有指定 Monitor,此處的 "My Monitor" 可以維持不變)

B.
另外,"My Device" 一項也需要更改.
可以參照 XConfig 中

Section "Device"
        Identifier  "VL-41"
        VendorName  "Unknown"
        BoardName   "Unknown"

的設定,如上例,此處的 "My Device" 應填為 "VL-41"

C.最後,Modes 一項的設定也要修改,為如 "1024x768" 或 "800x640" 的格式.

以下是我的系統設定,可以參考
Section "Screen"
    Driver      "fbdev"
    Device      "LeadTek WinFast 3D S600"
    Monitor     "My Monitor"
    Subsection "Display"
        Depth       8
        Modes       "640x480" "800x600" "1024x768" "1280x1024"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "800x600"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "640x480" "800x600" "1024x768" "1280x1024"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       32
        Modes       "640x480" "800x600" "1024x768"
        ViewPort    0 0
    EndSubsection
EndSection

4. 修改 startx2.cmd(在 /pmfb內)
    修改 serverargs = ...........640x400x8 的設定,其中,640x400x8 是需要修改的部份.
640x400 為您想要 X 【桌面】的大小.8 則為色數,(8 bits)
您可以修改成 640x400,如此就不會出面過大的 X 桌面而造成操作不便.
不過,如果您有使用虛擬桌面,1024x768 或 800x640 都是可以的.
而 8 的設定,建議與 OS/2 相同(譬如,如果 OS/2 本身設定為 64K,則此處可設定為 16.

5.修改 KEYMAP 的設定(不知道為何原因,X FULL SCREEN 與 DIVE X WINDOW SERVER
   (X PM)的鍵盤定義,稍有不同,因此須對 X PM 的 KEYMAP 做【個別】設定.

A.首先拷貝原來的 KEYMAP,命名為 /XFREE86/LIB/X11/ETC/XPMFBKEYS
    (如果原來沒有特別定義,可以拷貝 /XFREE86/LIB/X11/ETC/XMODMAP.STD)
將下列替代原來的敘述:
--keymap---------cut here--------------
keycode  99 = Control_R
keycode 100 = KP_Divide
keycode 101 = Print           Execute
keycode 102 = Mode_switch     Multi_key
keycode 103 = Pause           Break
keycode 104 = Home
keycode 105 = Up
keycode 106 = Prior
keycode 107 = Left
keycode 108 = Right
keycode 109 = End
keycode 110 = Down
keycode 111 = Next
keycode 112 = Insert
keycode 113 = Delete

clear Shift
clear Lock
clear Control
clear Mod1
clear Mod2
clear Mod3
clear Mod4
clear Mod5

add    Shift   = Shift_L Shift_R
add    Lock    = Caps_Lock
add    Control = Control_L Control_R
add    Mod1    = Alt_L
add    Mod2    = Num_Lock
add    Mod3    = Mode_switch
add    Mod5    = Scroll_Lock
--keymap---------cut here--------------

並且修改原 startx2.cmd 中,'detach xmodmap......' 的設定,改為
        'detach xmodmap E:/xfree86/lib/x11/etc/xpmfbkeys'
其中 e:/xfree86 為 xfree86 for os/2 安裝目錄.

6.如果一切無誤,執行 STARTX2.CMD,等待 XPM 的出現.


【後記】

1.由於目前為 BETA,請別對【效能】與穩定有太大期望,不過雖說如此,這一版已經比前
  版有進步,值得期待.

2.安裝與設定 XFREE86 FOR OS/2,還請自行解決.

3.本軟體的版權聲明,詳記載在 README 中,
  不過只要不【宣稱】此軟體的版權為【你】的,一般使用上都沒問題.

4.目前已知與 AFTERSTEP 不太處的來,建議以 CTWM 等較簡單的 WM,一方面加快載入,
  一方面較穩當.

5.CRXVT+XCIN 可以執行無誤,不過 XCIN 的 HOT KEY(CTRL+SPACE BAR....)
  必須在 KEYMAP 修改後才能正常作用.

小恐龍工作坊 提供