アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » ADMINISTRATOR STAGE » FreeBSD Daily Topics » 2009年1月27日 ≪注目≫X.Org 7.4へのアップグレード方法とトラブルシューティング,グラフィックアクセラレータの選択指針

FreeBSD Daily Topics

2009年1月27日 ≪注目≫X.Org 7.4へのアップグレード方法とトラブルシューティング,グラフィックアクセラレータの選択指針

heads-up

How to upgrade X.Org 7.4

ports - Ports CollectionのX.Orgが7.4へアップグレードされました。X.Org 7.4へのアップグレードはPorts Collectionを最新の状態にしてからportupgrade(8)でまとめてアップグレードすることで実施できます。Libxcbライブラリが更新されていることから,アップグレード後には念のため「portupgrade -rf libxcb」のようにLibxcbライブラリに依存するライブラリやアプリケーションを再構築します。

Ports Collectionを最新の状態に上げてからまとめて更新

# portsnap fetch update
# portupgrade -a

Libxcbに依存しているライブラリやアプリケーションを再構築

# portupgrade -rf libxcb

X.Org 7.4ではFilesセクションのRgbPath設定が不要になりました。またデフォルトで読み込まれるモジュールも変更されています。以前の/etc/X11/xorg.confファイルをそのまま使うのではなく,次のように新しく/root/xorg.conf.newファイルを自動生成して,このファイルを編集する形で新しい/etc/X11/xorg.confファイルを作成すると良いでしょう。

Xorg(1)コマンドで新しい/etc/xorg.confファイルのベースを作成する - /root/xorg.conf.new

# Xorg -configure

X.Org 7.4からはキーボードとマウスの操作にHALを使うようになりました。X.Orgを起動する前にhald(8)が有効になっている必要があります。hald(8)はdbus(8)を要求することから,次の2行を/etc/rc.confに追加してシステム起動時に起動するように設定します。

/etc/rc.confに追加する設定 - hald(8)とdbus(8)を先に実行する

hald_enable="YES"
dbus_enable="YES"

/usr/ports/UPDATINGにはxorg.confのServerLayoutセクションに「Option "AllowEmptyInput" "off"」の設定を追加してAllowEmptyInputを無効にし,従来のようにxorg.confに記載されている設定からマウスやキーボードを使う方法も紹介されています。しかし,多くのアプリケーションがhald(8)やdbus(8)を使うようになってきていること,今後X.Orgがhald(8)とdbus(8)が動作していることを前提としてくることを考えると,このタイミングでhald(8)/dbus(8)を使う方向で調整したほうが良いでしょう。

X.Org 7.4はサーバの起動/停止処理が高速化された他,Radonデバイスドライバ(xf86-video-ati)へRadeonHD 1xxx/2xxx/3xxx系サポートの追加,その他入力系のバグ修正や高速化が実施されています。

X.Org 7.4 upgrading Tips

tips - X.Orgのビルドをはじめるまえに,次の処理をしておくと便利です。

OpenOffice.org対策

X.Org 7.4へのアップグレードは依存関係を持っている多くのアプリケーションを再構築します。OpenOffoce.orgをインストールしてある場合,更新の失敗などで何度もOpenOffoce.orgごとビルドすることになり,長い時間を必要とする可能性があります。作業をはじめるまえにOpenOffice.orgは一旦削除し,すべてのアップグレード作業が完了してから再度インストールする方法がお勧めです。

X.Org 7.4 upgrading Trouble Shooting

tips - X.Org 7.4へのアップグレードはいくつか注意する必要があります。随時改善が実施されているため,基本的には最新のPorts Collectionにアップデートしてから取り組むようにしてください。次に個別の問題とそれを解決する方法をまとめます。

graphics/graphviz問題

graphvizのビルドが失敗する場合,依存関係の指定にXaw8が指定されている可能性があります。最新のPorts Collectionでは修正されていますので,最新のPorts Collectionにアップグレードしてもう一度取り組むか,graphics/graphviz/Makefileのxaw8の部分をxawに変更してもう一度作業してください。

x11-drivers/xf86-video-via問題

xf86-video-viaのビルドが失敗する場合,xf86-video-viaを削除してください。X.Org 7.4ではデフォルトではこのデバイスドライバをインストールしません。「pkg_delete -f xf86-video-via-0.2.2_3」のように削除して「pkgdb -F」のようにデータベースを修正してからもう一度作業してください。

xphelloworld問題

xphelloworldはPorts Collectionから削除されました。xphelloworldが問題として表示される場合,「pkg_delete -f xphelloworld-1.0.1_1」のように削除して「pkgdb -F」のようにデータベースを修正してからもう一度作業してください。

xorg-protos問題

xorg-protosはPorts Collectionから削除されました。xorg-protosが問題として表示される場合,「pkg_delete -f xorg-protos-7.3_2」のように削除して「pkgdb -F」のようにデータベースを修正してからもう一度作業してください。

マウスが使えない

hald(8)が実行されていない可能性があります。前述したように/etc/rc.confにhald(8)を有効にする設定を追加するか,/usr/ports/UPDATINGに説明があるようにhald(8)を使わないように/etc/X11/xorg.confファイルを編集してから動作を確認してください。

gdm(8)でマウスが使えない

起動順序の関係でgdm(8)でマウスが使えなくなることがあります。マウス動作に対応するために追加された変更で発生したバグなので近日中に修正されると思いますが,それまでは/etc/rc.confから「gnome_enable="YES"」の設定を削除し,代わりに次の設定を追加することで起動できるようになります。

gnome_enableを削除し,すべて明示的に指定することでgdm(8)を動作させる

hald_enable="YES"
dbus_enable="YES"
gdm_enable="YES"
avahi_daemon_enable="YES"
avahi_dnsconfd_enable="YES"

キーボードが使えない

問題とその対処方法はマウスが使えない場合と同じです。

X.Org 7.4 Video Driver Issue

tips - X.Org 7.4へアップグレードすることでビデオデバイスドライバ,特にCompizやGoogle Gadgetなど3D描画関連機能で再ビルドが必要になったり,動作しなくなる可能性があります。次に主な操作方法や設定方法を紹介します。

NVIDIAドライバ(最新)を使っている場合

X.Org 7.4へアップグレードしてから/etc/make.confに「WITH_NVIDIA_GL=yes」の設定を追加したうえで,次のようにNVIDIAドライバとlibGLおよびそれに依存するライブラリやアプリケーションをすべて再構築します。

NVIDIAドライバの更新とlibGL関連の更新

# portupgrade -f x11/nvidia-driver
# portupgrade -fr graphics/libGL

これで問題なく動作するようになるケースもあれば,GLX機能が使えなくなり,CompizやGoogle Gadgetなどの3D描画機能(透過処理など)が使えなくなるケースもあります。NVIDIAドライバが更新されることで対処できるようになるとみられますが,動作しなくなっては困る場合にはX.Orgへのアップグレードはしばらく待ったほうが良いでしょう。

NVIDIAドライバ(旧来)を使っている場合

最新版のNVIDIAと同様に作業しますが,同じようにGLXが機能しなくなる可能性があります。こちらは将来的に修正がはいるかどうかもわからないため,動かなくなっては困る場合には基本的にX.Org 7.4へのアップグレードは見送ったほうが良さそうです。

NVIDIAドライバのGLXが機能しなくなった場合

NVIDIAのGLXが機能しなくなるとしても,X.Org 7.4へのアップグレードを実施するという場合には,/etc/make.confから「WITH_NVIDIA_GL=yes」の設定を抜いたあとで次のアプリケーションでインストールしてあるものを再インストールしてください。

  • astro/google-earth
  • emulators/linux-pete-xgl2gpu
  • emulators/linux-pete-mesagpu
  • games/linux-savage-samuraiwars
  • games/linux-ut2003-demo
  • games/linux-ut2004-demo
  • games/linux-nwnclient
  • games/linux-savage
  • games/linux-virtual-jay-peak
  • games/atitd
  • games/linux-doom3-demo
  • graphics/linux-ac3d
  • graphics/mesa-demos
  • graphics/mesa-demos
  • multimedia/libxine
  • net/skype
  • net/skype12
  • net/skype-devel

また,/etc/make.confから「WITH_NVIDIA_GL=yes」の設定を抜いたあとで「portupgrade -fr graphics/libGL」のように関連ライブラリの再構築を行っておいたほうが良いでしょう。

Radeon (ATI)ドライバを使っている場合

X.Orgはデフォルトでxf86-video-ati-6.10.0を使いますが,xf86-video-radeonhd-1.2.4_1の方が最新版の認識は進んでいることがあります。Driver "radeon"でうまくいかない場合は,Deriver "radeonhd"で試してみてください。設定オプションや対応している機能などはそれぞれradeon(4),radeonhd(4)オンラインマニュアルにまとまっています。

X.Org/FreeBSDに適したグラフィックアクセラレータ

X.Org/FreeBSDで使うグラフィックアクセラレータには,おもにNVIDIA,Radeon (AMD, ATI),Intelという3つの選択肢があります。適材適所であるため一概にどれが良いとはいえません。特徴と得手不得手をまとめると次のようになります。

  • NVIDIAドライバ(x11/nvidia-driver, x11/nvidia-driver-173, x11/nvidia-driver-71xx, x11/nvidia-driver-96xx, x11/nvidia-settings)
    高性能。人気も高い。しかしクローズドドライバでありX.Orgのアップグレード時に対応が遅れる傾向があります。またFreeBSD/i386版しか提供されておらず,FreeBSD/AMD64版では動作しません。
  • Radeonドライバ(x11-drivers/xf86-video-ati, x11-drivers/xf86-video-radeonhd)
    OSSで提供されているドライバでNVIDIAほどではありませんが,それなりの性能が期待できます。i386でもAMD64でも動作します。しかし3D機能が提供されているデバイスが限られており,最近のボードでは3D機能が使えません。開発は進められているため今後が期待できます。
  • Intelドライバ(xf86-video-intel)
    OSSで提供されているドライバ。オンボード。あまり性能は期待できませんが,3D機能が使えるケースが多いようです。i386でもAMD64でも動作します。一通り動作しi386でもAMD64でも使いたい場合には有効な選択肢です。

4Gバイト以上のメモリを活用するにはFreeBSD/amd64版の活用が有益です。主要な配布物も向こう数年でi386からAMD64へ移行すると見られます。今後,NVIDIAドライバがAMD64版として登場するか不透明であるため,AMD64版でのCompiz/Google Gadgetなどの動作を望むならIntelを,将来的に動けばいいならRadeonを,i386版で高性能に動作して欲しいならNVIDIAということになりそうです。

アップグレード作業に自身がない場合は,すべて削除してから一からインストールしたほうが簡単です :)

著者プロフィール

後藤大地(ごとうだいち)

ONGS Inc.代表取締役。FreeBSD committer。MYCOMジャーナルにおけるニュース執筆他,『改訂第二版 FreeBSDビギナーズバイブル』,『D言語パーフェクトガイド』,『UNIX本格マスター 基礎編~Linux&FreeBSDを使いこなすための第一歩~』など著書多数.

著書

  • UNIX本格マスター 基礎編 〜Linux&FreeBSDを使いこなすための第一歩〜

    UNIX本格マスター 基礎編 〜Linux&FreeBSDを使いこなすための第一歩〜

バックナンバー

FreeBSD Daily Topics

バックナンバー一覧

コメント

  • 参考になりました

    Xorg-7.4 導入の具体的な注意点や
    HAL + D-Bus との関係など
    参考になりました

    Commented : #1  deer (2009/09/26, 15:44)

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

キーパーソンが見るWeb業界

本連載はWeb Site Expert/gihyo.jpとの連動企画です。阿部淳也, 長谷川敦士, 森田雄のお三方による,Web業界をテーマにした座談会です。

きたみりゅうじの聞かせて珍プレー

ソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。みなさんからの投稿もお待ちしてます!

ActionScript 3.0で始めるオブジェクト指向スクリプティング

野中文雄氏が,簡単なスクリプトは書いたことがあるという初級者を対象に,ActionScript 3.0の基本からクラス定義までを解説します。

まだ間に合う「ITパスポート」受験対策 原山先生の短期合格塾

この連載では,4月18日のITパスポート試験の受験に向けて,短い期間で効率良く受験対策を行う方法や,確実に得点するための裏ワザなどを伝授していきます。

Ubuntu Weekly Recipe

Ubuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。

C/C++プログラマのためのDTrace入門

よくカーネルのチューニングや解析で活用されるDTraceですが,実はユーザプログラムの開発においても非常に有用です。連載ではC/C++プログラマやテストに関わる方向けにDTraceの使い方を解説します。

Blogopolisから学ぶ計算幾何

計算幾何学は,図形に関するアルゴリズムを研究するコンピュータサイエンスの一分野です。本連載では,ビジュアルブログ検索エンジン「Blogopolis」で採用されている計算幾何のアプローチを例に取り上げながら,計算幾何の初歩を実践的に学習します。

検索エンジンはいかにして動くのか?

本連載では, 今や誰もが利用している検索エンジンの中身を,全体の仕組みやデータ構造,アルゴリズムから分散インデックスまで,最近の研究事例も交えて紹介します。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス