SolarisでWUXGA(1920x1200)を表示する

GIGABYTEのマザーボードGA-MA78GM-S2HはオンボードでAMD 780G(RADEON HD 3200相当)を搭載していますが、Solaris 10およびOpenSolarisのXorgで はATI RADEON用のドライバーが古く、VESAでしか認識できません。その結果、 解像度はUXGA(1600x1200)どまりとなり、せっかくWUXGA対応ディスプレイを 持っていても性能を活かしきれないということになります。
そこで、ATI RADEON用のドライバーを780G対応のものに入れ替えてWUXGAを 実現します。

まず、OpenSolarisのサイトからXorgのbuild環境をダウンロードして展 開します。

% wget http://dlc.sun.com/osol/x/downloads/B102/X-src-nv_102.tar.bz2
% bzip2 -dc X-src-nv_102.tar.bz2 | tar xf -

続いて、Makefileを一部書き換えてATI RADEON HD用ドライバのバージョ ンを新しい1.2.3に変更します。

% cd X-src-nv_102
% vi XW_NV/open-src/driver/xf86-video-radeonhd/Makefile

- MODULE_VERSION=1.2.1
+ MODULE_VERSION=1.2.3

Xorgのソースコードをダウンロードしてコンパイルします。次のスクリ プトを使うことで必要なソースコードのダウンロードは自動的に行われます。 コンパイルにはksh93が必要なことに注意します。

% ./download-tarballs
% ./buildit            

aclocalが見つからないなどのエラーが出る場合は、適宜シンボリックリ ンクを作成します。

# ln -s /usr/bin/aclocal-1.10 /usr/bin/aclocal
# ln -s /usr/bin/automake-1.10 /usr/bin/automake

なお、b106までのOpenSolaris上でコンパイルしたドライバーバイナリーは Solaris 10U6上でも使えますので、OpenSolaris上でコンパイルすることをお勧めします。

できあがったドライバーをシステムのディレクトリにコピーします。

# cp できあがったディレクトリ/radeonhd_drv.so /usr/X11/lib/modules/drivers/
# cp できあがったディレクトリ/amd64/radeonhd_drv.so /usr/X11/lib/modules/drivers/amd64/

xorg.confをradeonhdを使うように書き換えます。

# cp /etc/X11/.xorg.conf /etc/X11/xorg.conf
# vi /etc/X11/xorg.conf

-       Driver      "vesa"
+       Driver      "radeonhd"

システムをリブートします。

# reboot

画面がWUXGAになったら完了です。
Xorgのログをみると780Gに対応したドライバーが読み込まれていることがわ かります。

(II) RADEONHD: X driver for the following AMD GPG (ATI) graphics devices:
        RV505 : Radeon X1550, X1550 64bit.
        RV515 : Radeon X1300, X1550, X1600; FireGL V3300, V3350.
        RV516 : Radeon X1300, X1550, X1550 64-bit, X1600; FireMV 2250.
        R520  : Radeon X1800; FireGL V5300, V7200, V7300, V7350.
        RV530 : Radeon X1300 XT, X1600, X1600 Pro, X1650; FireGL V3400, V5200.
        RV535 : Radeon X1300, X1650.
        RV550 : Radeon X2300 HD.
        RV560 : Radeon X1650.
        RV570 : Radeon X1950, X1950 GT; FireGL V7400.
        R580  : Radeon X1900, X1950; AMD Stream Processor.
        R600  : Radeon HD 2900 GT/Pro/XT; FireGL V7600/V8600/V8650.
        RV610 : Radeon HD 2350, HD 2400 Pro/XT, HD 2400 Pro AGP; FireGL V4000.
        RV620 : Radeon HD 3450, HD 3470.
        RV630 : Radeon HD 2600 LE/Pro/XT, HD 2600 Pro/XT AGP; Gemini RV630;
                FireGL V3600/V5600.
        RV635 : Radeon HD 3650, HD 3670.
        RV670 : Radeon HD 3690, 3850, HD 3870, FireGL V7700, FireStream 9170.
        R680  : Radeon HD 3870 X2.
        M52   : Mobility Radeon X1300.
        M54   : Mobility Radeon X1400; M54-GL.
        M56   : Mobility Radeon X1600; Mobility FireGL V5200.
        M58   : Mobility Radeon X1800, X1800 XT; Mobility FireGL V7100, V7200.
        M62   : Mobility Radeon X1350.
        M64   : Mobility Radeon X1450, X2300.
        M66   : Mobility Radeon X1700, X1700 XT; FireGL V5250.
        M68   : Mobility Radeon X1900.
        M71   : Mobility Radeon HD 2300.
        M72   : Mobility Radeon HD 2400; Radeon E2400.
        M74   : Mobility Radeon HD 2400 XT.
        M76   : Mobility Radeon HD 2600;
                (Gemini ATI) Mobility Radeon HD 2600 XT.
        M82   : Mobility Radeon HD 3400.
        M86   : Mobility Radeon HD 3650, HD 3670, Mobility FireGL V5700.
        M88   : Mobility Radeon HD 3850, HD 3850 X2, HD 3870, HD3870 X2.
        RS600 : Radeon Xpress 1200, Xpress 1250.
        RS690 : Radeon X1200, X1250, X1270.
        RS740 : RS740, RS740M.
        RS780 : Radeon HD 3100/3200/3300 Series.
        RV770 : Radeon HD 4800 Series; Everest, K2, Denali ATI FirePro.

(II) RADEONHD: version 1.2.3, built from dist of git branch master, commit 57aca005

(II) Primary Device is: PCI 01:05:0
(--) Chipset RS780 found

コンパイルには多くの時間がかかるため、コンパイル済ドライバーを置い ておきます。システムのドライバーディレクトリで展開してください。

ドライバーファイル: radeonhd_drv.tar.bz2

# cd /usr/X11/lib/modules/drivers
# bzip2 -dc radeonhd_drv.tar.bz2 | tar xf -