忍者ブログ

素人翻訳

適当に翻訳する。

pkg-config の手引き

出典:http://people.freedesktop.org/~dbn/pkg-config-guide.html

Dan Nicholson 著
全体像

この文書の狙いは、pkg-config ツールを使うということがどういうことなのか、その全体像を利用者・開発者双方の視点から描き出すことである。本文書では次の3つのものについて述べる。pkg-config の概要、自分のプロジェクトに沿った pkg-config ファイルの書き方、及び pkg-config を使って第三者のプロジェクトを取り込む方法である。

詳しい情報はこのサイトやpkg-config(1) のマニュアル・ページにある。

この文書では、Linux のような Unix 様のオペレーティング・システムで pkg-config を使用することを前提にしている。 他の環境では細かい部分で異同があるだろう。

何故?

現代の計算機システムでは、利用者にアプリケーションを提供するため、多数の階層化された部品を用いている。これらの部品を一つに纏めて組み上げる際、特に問題となるのは各部品を正しく結びつけることである。pkg-config を使えば、利用者はインストール済みライブラリのメタデータ(metadata)を容易く蒐集できる。

pkg-config のようなメタデータを扱う仕組みがない場合、各計算機に備わる機能を検出し、その機能の詳細を得るのは難しい。開発者にとっては、自作パッケージに pkg-config ファイルを仕込んでおくことで、自分の API が利用されやすくなるという利がある。

概要

pkg-config の主要な用途は、プログラムをコンパイル&リンクしてライブラリを生成する際に必要となる、細かい情報を取得することである。このメタデータは pkg-config ファイルに書いておく。同ファイルの拡張子は「.pc」である。pkg-config に認識される所定の場所に「.pc」ファイルを置く。これは後ほど詳説する。

pkg-config ファイルは、予め定義されているメタデータの鍵語の群と、自由形式の変数群から成る。例を見た方が分かり易いだろう

prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: foo
Description: The foo library
Version: 1.0.0
Cflags: -I${includedir}/foo
Libs: -L${libdir} -lfoo

上記の「Name:」のような鍵語の定義は、鍵語、コロン、値の順で記述する。「prefix=」のような変数は、文字列、等号、値の順で記述する。鍵語は pkg-config によって定義され、共有される(exported)。変数群は必ず要るわけではないが、鍵語の定義に柔軟性を持たせたり、pkg-config の担当外の情報を記憶したりするために使われる。

以下は鍵語の欄の簡単な説明である。鍵語の欄の詳しい説明と効果的な活用方法はpkg-config ファイルの書き方の項を参照。

  • Name: 人間に読める形の、ライブラリもしくはパッケージの名前。pkg-config は「.pc」ファイルのファイル名を利用するので、この定義は直接影響しない。
  • Description: パッケージ(package)の簡単な説明。
  • URL: パッケージに関する更なる情報が得られるURL。パッケージが取得できるURL。
  • Version: パッケージの版を一貫した様式で定義する文字列。
  • Requires: このパッケージの利用に必要となるパッケージの一覧表。ここで挙げるパッケージ群の版は比較演算子 =、<、>、<=、もしくは >= を使って指定する。
  • Requires.private: このパッケージには必要とされるが、アプリケーションには見せない非公開パッケージの一覧表。「Requires」の欄と同じく比較演算子を用いて版を指定する。
  • Conflicts: このパッケージと衝突するパッケージを記述する任意欄。「Requires」の欄と同じく比較演算子を用いて版を指定する。同一パッケージの複数の版に関する記述を持つことができる。例えば、「Conflicts: bar < 1.2.3, bar >= 1.3.0.」のように。
  • Cflags: コンパイラ・フラグのうち、このパッケージと pkg-config に対応していない必須ライブラリのためのもの。もし必須ライブラリが pkg-config に対応している場合、そうしたライブラリは「Requires」もしくは「Requires.private」の欄に書き加えるべきである。
  • Libs: リンカ・フラグ(link flags)のうち、このパッケージと pkg-config に対応していない必須ライブラリのためのもの。pkg-config 対応の必須ライブラリについては「Cflags」に同じ。
  • Libs.private: リンカ・フラグ(link flags)のうち、このパッケージには必要とされるがアプリケーションには見せない非公開ライブラリに適用されるもの。pkg-config 対応の必須ライブラリについては「Cflags」に同じ。
pkg-config ファイルの書き方

あるパッケージのために pkg-config ファイルを作成する場合、pkg-config ファイル群がパッケージ内でどのように配置されるのかを最初に決める必要がある。各 pkg-config ファイルがそれぞれライブラリ1個の説明を担う時、同ファイルは最も威力を発揮する。そのため各パッケージには、利用するインストール済みライブラリと(少なくとも)同数の pkg-config ファイルを同梱するべきである。

パッケージの名前は pkg-config メタデータ・ファイルのファイル名を通じて決定される。ファイル名の拡張子「.pc」より前の部分がパッケージ名になる。大抵はライブラリの名前と「.pc」ファイルの名前を合わせる。例えば、「libfoo.so」をインストールするパッケージには、pkg-config メタデータを含むファイルとして「libfoo.pc」を用意する。名前をこのように決めなければいけない訳ではない。「.pc」ファイルが自作ライブラリの固有な識別子として機能すれば足りる。上の例で言えば、「foo.pc」でも「foolib.pc」でも上手く行くだろう。

「Name」「Description」「URL」の欄は単に情報を伝える場所なので、書くのは易しい。「Version」欄は気をつけて書かないと、データの消費者にとって使えないものになる可能性がある。pkg-config は版番号を比較するアルゴリズムを RPM から借りている。これは小数点で区切られた十進数(例えば 1.2.3)の比較に向いている。版番号の表記の途中に文字(letters)を使うと予期せぬ結果を引き起こす。数字の番号は単調に増していくべきであり、ライブラリの版を確実に特定できるようにするべきである。通常、パッケージの版番号を「Version」欄に使えば十分である。そうすれば、この情報の消費者が版を辿りやすくなる。

もっと有用な鍵語を説明する前に、変数の定義を例示しておこう。変数定義の最も一般的な使い方は、メタデータ欄が煩雑にならないよう、インストール場所へのパス(path、経路)を定義しておく、というものである。変数は再帰的に展開されるので、autoconf で得られた経路と組み合わせて使うと役に立つ。

prefix=/usr/local
includedir=${prefix}/include

Cflags: -I${includedir}/foo

最も重要な pkg-config メタデータ欄は「Requires」「Requires.private」「Cflags」「Libs」及び「Libs.private」である。ここに記述されたメタデータは、外部のプロジェクトがライブラリのコンパイルとリンクを行う際に使用する。

「Requires」と「Requires.private」には、ライブラリに必要な他のモジュール群を記述する。自作ライブラリをリンクしようとするプログラムに対して、そのプログラムが必要としていないライブラリを見せたくない場合、「private」で修飾された「Requires」を使用するのが望ましい。同プログラムが必須とされたライブラリのシンボル(symbols)を利用しないのであれば、そのライブラリはプログラムに直接リンクされるべきではない。詳しい説明は過剰結合(overlinking)の考察を参照。

pkg-config が「Requires」欄のライブラリのリンカ・フラグ(link flags)を常に公開してしまうため、この欄のモジュール群は上記プログラムが直接依存するものとして認識されてしまう。一方、「Requires.private」欄のライブラリは静的リンクの時しか組み込まれない。以上の理由から、通常は「Requires」に書かれているパッケージと同一のモジュール群だけを繋げるべきである。

「Libs」欄には、ライブラリを使用するのに必要なリンカ・フラグ(link flags)を記す。それ加えて、「Libs」と「Libs.private」には pkg-config に対応していない他のライブラリのリンカ・フラグ(link flags)も入れる。「Requires」欄と同じく、外部ライブラリのリンカ・フラグ(link flags)は「Libs.private」欄に加えるのが好ましい。それによってプログラムは余計な直接依存関係を抱え込まなくて済む。

最後に、ライブラリを使うためのコンパイラ・フラグを記す「Cflags」がある。「Libs」欄と異なり、「Cflags」に「private」形は存在しない。データの型とマクロの定義は、リンクの方法に関わりなく必要だからである。

pkg-config ファイルの利用

システムに「.pc」ファイルが然るべく配置されていれば、pkg-config でメタデータを引き出して活用できる。「pkg-config --help」を実行することで、実行時オプションの簡単な説明が見られる。詳細な記述は pkg-config(1) のマニュアル・ページにある。この項では一般的な使用方法について手短に解説する。

「foo」と「bar」の二つのモジュールを含むシステムを考える。「.pc」ファイルは次のようなものだとしよう。

foo.pc:
prefix=/usr
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: foo
Description: The foo library
Version: 1.0.0
Cflags: -I${includedir}/foo
Libs: -L${libdir} -lfoo

bar.pc:
prefix=/usr
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: bar
Description: The bar library
Version: 2.1.2
Requires.private: foo >= 0.7
Cflags: -I${includedir}
Libs: -L${libdir} -lbar

モジュールの版番号は「--modversion」指定を付して取得できる。

$ pkg-config --modversion foo
1.0.0
$ pkg-config --modversion bar
2.1.2

各々のモジュールに必要なリンカ・フラグ(link flags)は、「--libs」指定を付して表示できる。

$ pkg-config --libs foo
-lfoo
$ pkg-config --libs bar
-lbar

pkg-config が両モジュールの「Libs」欄の一部を表示していないことに注意して欲しい。これは pkg-config が「-L」指定を特別扱いしており、「$(libdir)」ディレクトリ即ち「/usr/lib」がシステムのリンカの標準的な参照場所であることを知っているからである。このお陰で、リンカの動作が pkg-config によって妨げられずに済む。

また、「bar」は「foo」を必須指定しているが、「foo」を示すリンカ・フラグ(link flags)は出力されていない。「bar」ライブラリだけを要求しているアプリケーションは、「foo」ライブラリを直に必要としているわけではないからである。「bar」を利用したアプリケーションを静的にリンクするには、両モジュールのリンカ・フラグが要る。

$ pkg-config --libs --static bar
-lbar -lfoo

pkg-config はこの場合、双方のリンカ・フラグ(link flags)一式を出力しなければならない。静的にリンクされたアプリケーションが必要なシンボル(symbols)の全てを見つけられるようにするためである。一方、pkg-config は全ての「Cflags」を常に出力する。

$ pkg-config --cflags bar
-I/usr/include/foo
$ pkg-config --cflags --static bar
-I/usr/include/foo

「--exists」指定も役に立つ。これを使えば、モジュールが利用可能か否かを検査できる。(訳註、利用できる時は 0、利用できないときは 1 が出力される。)

$ pkg-config --exists foo
$ echo $?
0

最もありがたい pkg-config の機能の一つに、版番号の確認がある。条件を満たした版が利用可能かどうかを判定するのに使える。

$ pkg-config --libs "bar >= 2.7"
Requested 'bar >= 2.7' but version of bar is 2.1.2

「--print-errors」指定と組み合わせて使った場合に、長文を出力する命令もある。

$ pkg-config --exists --print-errors xoxo
Package xoxo was not found in the pkg-config search path.
Perhaps you should add the directory containing `xoxo.pc'
to the PKG_CONFIG_PATH environment variable
No package 'xoxo' found

上の出力は環境変数 PKG_CONFIG_PATH に触れている。この変数は pkg-config の検索経路を増やすために使用される。典型的な UNIX システムでは、pkg-config はディレクトリ「/usr/lib/pkgconfig」と「/usr/share/pkgconfig」の中を検索する。大抵はこれでシステムにインストールされているモジュールを網羅できる。しかし、モジュールの中には「/usr/local」のような異なるディレクトリにインストールされているものもあるかもしれない。そのような場合、pkg-config が「.pc」ファイルを探し出せるよう、検索経路を追加する必要がある。

$ pkg-config --modversion hello
Package hello was not found in the pkg-config search path.
Perhaps you should add the directory containing `hello.pc'
to the PKG_CONFIG_PATH environment variable
No package 'hello' found
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$ pkg-config --modversion hello
1.0.0

pkg-config を利用しているモジュール群をプロジェクトに組み込み易くする目的で、autoconf マクロも幾つか用意されている。

  • PKG_PROG_PKG_CONFIG([MIN-VERSION]): システム内の pkg-config を探し出し、版を調べて互換性の有無を確認する。
  • PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]): 特定のモジュール群が存在するか調べる。
  • PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]): 特定のモジュール群が存在するか調べる。もし存在すれば、「pkg-config --cflags」と「pkg-config --libs」の出力結果に従って、 「<VARIABLE-PREFIX>_CFLAGS」と「<VARIABLE-PREFIX>_LIBS」を設定する。
よくある質問
  • 自作プログラムがライブラリ「x」を使っている。どうすればいいか。

    pkg-config の出力は、簡単にコンパイラ宛ての命令文の中で使用できる。「x」ライブラリが「x.pc」という pkg-config ファイルを持っている場合:

    cc `pkg-config --cflags --libs x` -o myapp myapp.c

    autoconfautomake とともに用いることで、プログラムの統合作業がより堅牢になる。予め用意されている PKG_CHECK_MODULES マクロを使うことで、構築処理中でも簡単にメタデータを取得できるようになる。

    configure.ac:
    PKG_CHECK_MODULES([X], [x])

    Makefile.am:
    myapp_CFLAGS = $(X_CFLAGS)
    myapp_LDADD = $(X_LIBS)

    もし機能「x」を発見した場合、マクロは変数「X_CFLAGS」と「X_LIBS」を実際の値に書き換える。もしその機能が見つからなければエラーを出す。PKG_CHECK_MODULES マクロに任意で第三第四引数を追加すると、モジュールの有無に従って動作を変えることができる。

  • 自作ライブラリ「z」はヘッダ・ファイルの中で「libx」のヘッダを取り込んでいる。「z.pc」ファイルには何を書くべきか。

    もしライブラリ「x」が pkg-config に対応しているなら、「Requires.private」欄に書き加える。対応していなければ、「libx」ヘッダを使うために必要なコンパイラ・フラグを「Cflags」欄に追加する。どちらの場合でも、「--static」の使用不使用にかかわらず、pkg-config はコンパイラ・フラグを出力する。

  • 自作ライブラリ「z」は内部で「libx」を使用しているが、公開 API では「libx」のデータ型を公表していない。「z.pc」ファイルには何を書くべきか。

    先と同様、「libx」が pkg-config に対応していれば「Requires.private」にモジュールを追加するだけでよい。この場合、コンパイラ・フラグが無駄に吐かれるが、同時に静的リンクにおけるリンカ・フラグの存在が保証される。もし「libx」が pkg-config に対応していなければ、必要とされるリンカ・フラグを「Libs.private」に追加する。

Dan Nicholson <dbn.lists (at) gmail (dot) com>

Dan Nicholson 著
この文書は GNU General Public License 第二版もしくはそれ以降の版に則っている。
PR

Catalyst、Linux、インストール

www2.ati.com/relnotes/Catalyst_11.3_Linux_Installer.pdf
AMD Catalyst Installer Notes for Linux

「AMD Catalyst Installer for Linux」は「AMD Catalyst proprietary driver」のインストールを簡単な操作で行えるようにする。「AMD Catalyst installer」は2種類のインストール方法を用意している。簡単にドライバの設定処理を行うには「Install Driver」を選ぶ。自身の Linux の配布版に合ったインストールパッケージを生成し、それを使ってインストールしたいなら「Generate Distribution Specific Driver Package」を選ぶ。

この覚書の内容は下記の通り

  • 互換性のあるオペレーティングシステム
  • OS が満たすべき最低条件
  • OS の推奨環境
  • 「AMD Catalyst Proprietary Driver」をアンインストールする方法
  • ドライバのインストール方法各種
  • ドライバ更新通知
  • 「Linux Feedback Program」
注:「AMD Catalyst proprietary driver」を正しく設定するには、現在組み込まれている他社製の描画ドライバをアンインストールした方が良い。例えば Linux 用の「NVIDIA proprietary graphics driver」など。
注:わかりやすい場所・フォルダを作って、そこに「AMD Catalyst proprietary driver」をダウンロードすることを勧める。
注:Linux 向け「AMD Catalyst proprietary driver」の新しい版をインストールする前に、古い版をアンインストールすることを勧める。
互換性のあるオペレーティングシステム

最新版の「AMD Catalyst proprietary driver」は次の Linux 配布版に対応している。

  • Red Hat Enterprise Linux suite
  • Novell/SuSE product suite
  • Ubuntu
注:Linux用「AMD Catalyst driver」はここに挙げられていない多数の Linux の配布版にもインストールできる。個々の配布版に最適化されたインストールパッケージを生成する「Package Generation installation」の説明を参照。
注:上記以外の Linux の配布版については、それぞれに対して最適化されたインストールパッケージの生成方法を提供しているが、正しく動作するか検証はしていないし、保証もしない。現在「Red Hat Enterprise Linux suite」と「Novell/SuSE product suite」が Linux 配布版に対応している。どのような支援が受けられるかは、Red Hat と Novell/SuSE に直接問い合わせて欲しい。
注:自動でドライバをインストールする「Automatic Driver Installation」を選択した場合、「AMD Events Daemon」は「/etc/init.d」階層にはインストールされない。Red Hat と SuSE 用の「Events Daemon」をインストールする時は、各 Linux 配布版専用のインストールパッケージを生成する「Generate Distribution Specific Driver」を選択して LGD インストール用のパッケージを作る。「daemon」で実行するための諸手続きをインストールするにあたって、自分の Linux 配布版向けのパッケージが得られない場合、それぞれの配布版に付属している「services/daemons」の挿入・使用に関する文書を参照する。自動で Linux 配布版の推測を行う「Automatic Driver Installation」でインストールした場合、「daemon」用の例文は「/usr/share/doc/ati/examples」階層に置かれているはず。
OS が満たすべき最低条件

「AMD Catalyst proprietary driver」のインストールを実行する前に、次のソフトウェアを入れておく必要がある。

  • XOrg 6.9、7.0、7.1、7.2、7.3、7.4、7.5 もしくは 7.6
  • Linux kernel 2.6 もしくはそれ以降の版
  • glib 2.2 版 もしくは 2.3 版
  • 3D アプリケーションには POSIX 共有メモリ(/dev/shm)が必要
注:Linux 2.6.11 以上の環境で、核(kernel)が CONFIG_AGP を有効にして構築されている場合、核 AGP の上層処理には「fglrx kernel module」の読み込みが必要。自分の Linux の核が CONFIG_AGP を有効にして構築されているか否かは、核設定ファイルに「CONFIG_AGP=y」の一文の有無、あるいは「agpgart」モジュールが読み込まれているか否かを調べればわかる。
OS の推奨環境

最適な動作とより良い使用感を求めるならば、次のようなものもある。

  • 「Kernel module」構築環境
    • 核のソースコードは「Kernel Source」と「Kernel Headers」の両パッケージから成る。
  • RPM パッケージを通じてインストールするには、予め自身の環境に RPM 機能がインストールされ、正しく環境設定されていなければならない。

Linux用「AMD Catalyst driver」をインストールして最適動作させるには、次のパッケージが適切にインストールされている必要がある。

  • XFree86-Mesa-libGL
  • libstdc++
  • libgcc
  • XFree86-libs
  • fontconfig
  • freetype
  • zlib
  • gcc
「AMD Catalyst Proprietary Driver」をアンインストールする方法
  • 1.端末「Terminal Application/Window」を起動する。
  • 2.管理者権限を取得して、「aticonfig --uninstall」という命令文を打ち込む。
    注:アンインストール手続きは管理者権限を取得し、次の命令を打ち込む方法でも起動できる。
    sh ati-driver-installer-x86.x86_64.run --uninstall
    sh /usr/share/ati/amd-uninstall.sh
  • 3.上記の命令が通らなかった場合、「Uninstaller for AMD Catalyst Proprietary driver, /usr/share/ati/amd-uninstall.sh, does not exist or cannot be found」(/usr/share/ati/amd-uninstall.sh は存在しないか見つけ出せない)のようなエラー通知が表示される。

    RPM や APT のようなオペレーティングシステムのパッケージ管理機能を使って「AMD Catalyst proprietary driver」を削除すると良い。

    最後のインストールを行う前の状態にシステムの環境を復元するためには、元の設定ファイルが手動で保存されていなければならない。そうでなければ Xorg は、ドライバをアンインストールして再起動した後、正しく動作しない可能性がある。

    元の Xorg 設定ファイルを復元する方法
    • 1.保存用設定ファイルを作る。「ls /etc/X11/xorg.conf.original-<番号>」(番号を適当につけて保存しておく。)
    • 2.最も大きな番号が付されている最新版の xorg.conf-<番号> で既存の xorg.conf を上書きする。「cp /etc/X11/xorg.conf.original-<番号> /etc/X11/xorg.conf」(保存してあったものを xorg.conf に上書き)

    この作業を行えばシステムを安全に再起動できる。xorg.conf の復元後、システムは OS に元から付属している「open-source driver」を使用する。
  • 4.再起動する。

Linux 用「AMD Catalyst proprietary driver」のアンインストールはこれで完了する。

ドライバのインストール方法各種

ドライバをインストールする方法は2つある。ドライバの部品全てを自動的にインストールする「Automatic」と、インストールするドライバの部品を選択できる「Custom」である。

注:この文書では AMD のインストールファイルの名前を「ati-driver-installer-x86.x86_64.run」としている。この「AMD Catalyst Linux install file」の仮称部分は実行したいファイル名に替える必要がある。(例えば、「Catalyst 11.6」なら「ati-driver-installer-11-6-x86.x86_64.run」のように)
自動ドライバインストール
注:Linux 用「AMD Catalyst proprietary driver」を正しくインストールするためには、管理者権限で操作する必要がある。(「root」もしくは「sudo」による操作)

「AMD Catalyst proprietary driver」を「Automatic」でインストールする手順は以下の通り。

  • 1.端末「Terminal Application/Window」を起動し、「AMD Catalyst proprietary driver」をダウンロードした場所へ移動する。
  • 2.命令文「sh ./ati-driver-installer-x86.x86_64.run」(上記注のように変更する)を打ち込み、「AMD Catalyst proprietary driver installer」を起動する。

    「AMD Catalyst proprietary driver」設定窓が表示される。
  • 3.「Install Driver」を選択し、「Continue」を押す。AMD の利用許諾が現れる。
    注:既にインストールされている「AMD Catalyst proprietary driver」が検知され、アンインストールが必要だとわかった場合、AMD 利用許諾の代わりに下の通知が出る。新しい版のドライバをインストールする前に古いドライバをアンインストールしなければならない。「sh ./ati-driver-installer-x86.x86_64.run --force」という命令文でドライバのインストールを強行することもできる。ドライバの強制インストールは勧めない。
  • 4.利用許諾を読み、同意するなら「I Agree」を押してインストールに進む。その場でインストールを止めるなら「Cancel」を選ぶ。インストール方法選択窓が現れる。
  • 5.「Automatic」を選び、「Continue」を押す。「AMD Catalyst proprietary driver」がインストールされ、インストール完了を通知する窓が表示される。
  • 6.「Exit」を押し、「AMD Catalyst proprietary driver installer」を閉じる。
  • 7.端末「Terminal Application/Window」を起動し、自身の AMD 製品に対してドライバを設定するために次の命令を走らせる。X.Org が7版より新しければ「/usr/bin/aticonfig --initial」、7版より古ければ「/usr/X11R6/bin/aticonfig --initial」。
  • 8.システムを再起動する。

Linux 用「AMD Catalyst proprietary driver」のインストールが完了する。

選択的ドライバインストール

「Custom option」でインストールするドライバの部品を選択できる。「AMD Catalyst proprietary driver」を「Custom option」でインストールするには以下の手順を取る。

  • 1.端末「Terminal Application/Window」を起動し、「AMD Catalyst proprietary driver」をダウンロードした場所まで移動する。
  • 2.命令文「sh ./ati-driver-installer-x86.x86_64.run」を打ち込み、「AMD Catalyst proprietary driver installer」を起動する。

    「AMD Catalyst proprietary driver」設定窓が現れる。
  • 3.「Install Driver」を選択し、「Continue」を押す。AMD 利用許諾が表示される。
    注:既にインストールされている「AMD Catalyst proprietary driver」が検知され、アンインストールが必要な場合、AMD 利用許諾の代わりに下の通知が出る。新しい版のドライバをインストールする前に古いドライバをアンインストールしなければならない。「sh ./ati-driver-installer-x86.x86_64.run --force」という命令文でドライバのインストールを強行することもできる。ドライバの強制インストールは勧めない。
  • 4.利用許諾を読み、同意するなら「I Agree」を押してインストールに進む。その場でインストールを止めるなら「Cancel」を選ぶ。インストール方法選択窓が現れる。
  • 5.「Custom」を選び、「Continue」を押す。「AMD Catalyst proprietary driver」導入・設定のための諸項目が表示される。
  • 6.インストールしたいドライバ部品を選択し、「Continue」を押す。「AMD Catalyst proprietary driver」がインストールされ、インストールの完了を示す窓が表示される。
  • 7.「Exit」を押し、「AMD Catalyst proprietary driver installer」を閉じる。
  • 8.端末「Terminal Application/Window」を起動し、自身の AMD 製品に対してドライバを設定するために次の命令を走らせる。X.Org が7版より新しければ「/usr/bin/aticonfig --initial」、7版より古ければ「/usr/X11R6/bin/aticonfig --initial」
  • 9.システムを再起動する。

Linux 用「AMD Catalyst proprietary driver」のインストールが完了する。

個々の配布版に最適化されたインストールパッケージの生成

項目「Generate Distribution Specific Driver Package」を選択することで、自身の Linux 配布版に誂えられたインストールパッケージを簡単に生成できる。オペレーティングシステム製作者が定めた動作規則の利用を通じて、特定の Linux 配布版への最適化が実現されている。「Generate Distribution Specific Driver Package」を使って「AMD Catalyst proprietary driver」をインストールするには以下の手順に依る。

注:Linux 用「AMD Catalyst proprietary driver」を正しくインストールするためには、管理者権限で操作する必要がある。(「root」もしくは「sudo」による操作)
    • 1.端末「Terminal Application/Window」を起動し、「AMD Catalyst proprietary driver」をダウンロードした場所へ移動する。
    • 2.命令文「sh ./ati-driver-installer-x86.x86_64.run」(上記注のように変更する)を打ち込み、「AMD Catalyst proprietary driver installer」を起動する。

      「AMD Catalyst proprietary driver」設定窓が表示される。
    • 3.「Generate Distribution Specific Driver Package」を選択し、「Continue」を押す。AMD の利用許諾が現れる。
    • 4.利用許諾を読み、同意するなら「I Agree」を押してインストールに進む。その場でインストールを止めるなら「Cancel」を選ぶ。パッケージ生成窓が現れる。
注:RedHat と SuSE の配布版以外のインストールパッケージを生成するために「Packages for other distributions」を選択した場合、 それらのインストールパッケージの生成方法を知らせる窓が表示される。
注:ドライバインストーラによって自動的に自分の配布版の種別が検知されることもある。その場合、選択肢「Packages for other distributions」の代わりに「Build package for detected OS:<ここに配布版の名前が入る>」が表示される。
  • 5.自分の配布版に合ったインストールパッケージを選択し、「Continue」を押す。インストールパッケージ生成が始まり、生成終了の窓が表示される。
  • 6.「Exit」を押し、「AMD Catalyst proprietary driver installer」を閉じる。
  • 7.Linux 附属のインストールパッケージ管理機能を使って、自身の配布版に適合するよう生成されたインストールパッケージを実行する。
  • 8.生成された配布版固有パッケージのインストール完了後、端末「Terminal Application/Window」を起動し、自身の AMD 製品に対してドライバを設定するために次の命令文を打ち込む。X.Org が7版より新しければ「/usr/bin/aticonfig --initial」、7版より古ければ「/usr/X11R6/bin/aticonfig --initial」
  • 9.システムを再起動する。

Linux 用「AMD Catalyst proprietary driver」のインストールが完了する。

ドライバ更新通知

ドライバの更新通知を受け取るには、次の「RSS feed」を自身の「RSS reader」に追加する。http://www2.ati.com/rss/catalyst.rss

注:通知を受け取るためには、予め「RSS reader」をインストールしておく必要がある。
Linux Feedback Program

公開された「AMD Catalyst proprietary driver」は「Linux feedback program」を通じて得た成果情報を利用している。

情報の還元「feedback」を提供したい人は http://www.amd.com/us/LinuxCrewSurvey を参照。

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

最新コメント

[08/18 NONAME]
[05/18 NONAME]
[04/09 NONAME]
[03/21 NONAME]
[03/20 NONAME]

最新記事

ブログ内検索

広告

バーコード

広告