この記事に記載のある方法より、より良い解決方法を発見しました。
詳しくは「Matrox Millennium G550をX.org 7.2で利用する(完全版)」を参照してください。

はじめに

2007/05末よりportsに含まれるようになったX.org 7.2で、Matrox Millennium G550のDVI経由でモニタ出力を行おうとしたところ、画面が出力されない(モニタ上の表示が「No Signal」になる)不具合に遭遇しました。

この問題の回避方法について、簡単にまとめてみましたので、同様の不具合でお困りの方の参考になれば幸いです。

Matrox純正ドライバのインストール

元々、Millennium G550でDVI出力を利用する場合には、Matroxから提供されている純正のX.org用のドライバを利用する必要があります。

Matrox純正ドライバはmga_halのports(/usr/ports/x11-servers/mga_hal)を構築することにより、システムにインストールされるようになっていますが、2007/08/13現在のportsでは、X.org 7.0.0用のバイナリがあるのにもかかわらず、X.org 6.9.0用のバイナリがインストールされてしまいます。
また、インストール先も微妙に違っていますし(「/usr/local/lib/xorg/modules/drivers/」ではなく「/usr/local/lib/modules/drivers/」にインストールされる)、ただ単にMatroxのサイトからコンパイル済みのバイナリを持ってきてコピーしているだけなので、make installではなくmakeだけして、展開したファイルを個別にインストールすることにします。

Martox純正ドライバの展開
$ cd /usr/ports/x11-servers/mga_hal
$ make

上記のようにすると、「work」以下にドライバが展開されますので、X.orgインストール時にインストールされているデフォルトのmgaドライバを退避させてから、ドライバがおいてあるディレクトリに遷移して下記の手順でファイルをインストールします。

デフォルトドライバの退避とMatrox純正ドライバのインストール
$ cd /usr/local/lib/xorg/modules/drivers/
$ mv mga_drv.so mga_drv.so.original

$ cd /usr/ports/x11-servers/mga_hal/work/matrox_driver-x86_32-4.4.0/xserver/7.0.0/
$ cp -p mga_drv.so /usr/local/lib/xorg/modules/drivers/
$ cp -p mga_hal_drv.so /usr/local/lib/xorg/modules/drivers/

ABIモジュールのエラーの回避方法

インストールが完了したので、後はX.orgを起動するだけ…といいたいところですが、このままstartx等を行ってX Serverを起動させようとしても、ABIモジュールのエラーで止まってしまいます。

ABI (Applications Binary Interface) は、同一のCPU上で動作するバイナリを異なったシステム間で動作させる(もしくは動作させない)仕組みで、バイナリを動作させる前にELFバイナリに書き込まれた情報をチェックし、そのバイナリを動作させていいのか/だめなのかを判断しています。

今回、ABIモジュールでエラーが出るのは、mga_drv.soのABIバージョンと、X WINDOW SERVERのABIバージョンが異なるためです。

このエラーの回避方法で一番シンプルなのは、ABIモジュール自体を無効化する方法です。
ABIモジュールによるチェックを無効化するために、xorg.confに以下の記述を追記します。

「xorg.conf」への追記
Section "ServerFlags"
        Option  "ignoreABI" "true"
EndSection

この対策によって、X WINDOW SERVER起動時にWarningが出るものの、X.org 7.2上のMillennium G550のDVI出力から画面が表示できるようになります。

根本的な解決方法

この問題の根本的な解決策は、Matroxから提供されている純正ドライバのソースコードをFreeBSD上でコンパイルしなおすことです。(「brandelf」も試してみましたが、ABIのメジャーバージョンは変更できないようです…)

この解決方法については、「Matrox Millennium G550をX.org 7.2で利用する(完全版)」で紹介していますので、ご確認ください。


あなたの探し物は見つかりましたか?
まさにこれだ
参考になった
ちょっと違う
これじゃない

何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まだ評価がありません

表示できるメッセージはありません。