2012年11月22日木曜日

fglrxの悪夢 : ATI プロプライエタリドライバ

解決編はこちら

→ http://poor-user.blogspot.jp/2012/12/ati-driver-for-ubuntu-mint.html

以下、12月中旬までの試行錯誤

fglrxでみる悪い夢

3Dな「ぐりんぐりん」環境 
AMDのATIグラフィックドライバ fglrxは、たまにバグってうまく導入、インストールできないことがあります。とはいえ、いまどきの3Dな「ぐりんぐりん」環境を満喫するにはどうしても必要ですね?! AMDサイトのプロプライエタリドライバをさまざま理由でいれたくなるわけです。標準ドライバだと画面がバグるなどの理由が主だと思います。

追記、まず次のリンクを参考にしてみてください。最初に試してみる価値は十分です。
http://www.upubuntu.com/2012/12/install-amd-catalyst-1212-from-ppa-in.html
とにかくうまくいかない場合が多いらしく、.debを作成してそれをdpkgする方法や多様な情報が転がっています。いまんところ、コレ!!といったものが見つかりません。

以下、絶対的確信は持てない方法だが当方ではうまくいった場合の記録。

そのうちちゃんと書くとしてツボだけ。

gcc、dkmsが知らないうちに削除されているとコケます。(不注意な自分の責任 ではなくて標準では入っていませんでした。素の環境で試しました。また、これ以外にも多数のツールのインストールが必要です。とてもめんどくさい。) AMDWikiにいろいろ導入パッケージが書いてあります。インストーラーを起動するとそれでも「足りへん」とのたまったりします。頭に来ます。
開発環境をてんこもり入れた環境では必要なものがいつのまに入っていて、すんなりいっているいたのかもしれません。素の12.10ではうまくいかなくなりましたので。ほんとに、鬼門です。


sudo apt-get install dkms

gccを削除してしまった場合もこれで入ると思います。

どっかにある、/usr/....../ati/amd-uninstall.sh(うろ覚え) を実行して、ドライバを取り除く。再起動。
当該ati、Directoryも空になります。 

/usr/share/ati/*-uninstall.sh=うろ覚え。

そして、実行権限を与えたドライバを
sudo ドライバ.run

以上でうまくいく確率は高いはずです。けっこう困ったので。私の環境では百発百中で正常化されました。依存関係で「なければない」と警告してくれればいいんですけどね。(^_^;)

追記しておくと、強制インストールオプションは、

sudo ドライバ.run --force

です。上記は、エラーがでなくてもダメ!!っていう場合にも覚えておいて損はないかも。

要するに

ati-configしようが、xorg.confをいじろうがだめなものはだめ。
無駄な時間を使わずに、さっさと削除、再導入です。synapticやapt-getで削除してもダメな場合はダメですから。提供されているuninstallコマンドを使いましょう、です。

大切なのは、どっかにある、/usr/...../ati/amd-uninstall.sh(うろ覚え) を実行して、ドライバを取り除く。これです。

9月、10月あたりはうまくいかないことが多かった気がしますから、諦めていた方は、パッチを全部あてた上で、この段階で再度チャレンジしてみると、いいかも、です。OpenGL関係のFixとも関係があるような気もしますね。

どちらかといえば保守的に使う

ubuntuMaintainerの検証済みドライバだけしか入れない主義の方は、プロプライエタリドライバを入れる手順のところを、検証済みドライバ導入に置き換えてください。12.10から手順が変更になっています。

[システム設定]→[ソフトウエアソース]→右タブ[追加のドライバ]

で、導入できます。再起動は忘れずに。

私の環境では、12.10の片方(実験用環境)はAMD提供ドライバ最新を、もうひとつではubuntu開発者検証済みドライバといった具合に使い分けています。不具合を感じた場合は、βドライバも試してみるのですが、総じて通常リリースをキャッチアップするほうがいいかも、です。

追記、決定版?! 

askubuntu.com他にも対応策が出ていました。私が書いたのとちょっと違いますがこっちのほうを信じたほうがいいでしょう。^^; http://askubuntu.com/a/129200 です。ついでにプチ解説。


準備作業:必要なライブラリの類をいれる
sudo apt-get install build-essential cdbs fakeroot dh-make debhelper debconf libstdc++6 dkms libqtgui4 execstack libelfg0 dh-modaliases
sudo apt-get install ia32-libs

64bit のみ

sudo apt-get install ia32-libs-multiarch i386 lib32gcc1 libc6-i386
※実際こんなに必要なのか?という疑問も。


導入作業:とにかく最初にドライバを取り除く
sudo sh /usr/share/ati/fglrx-uninstall.sh
sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev* xorg-driver-fglrx

次いで、あらかじめAMDサイトからダウンロードし用意していたドライバを導入
sudo sh axxxxxx.run
インストールの最後に
sudo aticonfig --initial -f
リブート
sudo reboot

幸せになれるといいですね。なれなかった人

この方法で試してみた、玉砕


ちゃんと動作していたわけですが、それを削除して、やりなおしてみたら、インストール工程ではエラーはでないものの、fglrxが組み込まれず起動します。gnome Classicになるばかりでなく、1920x1200であるはずが、1600x1200になってしまい、「ひどい話」。

/etc/ati にあるログなどをみるにはみたんですが。既述の回避方法をやった上で、とりあえず、(以下順不同、考えずにタイプしないで!! ください)


sudo apt-get remove fglrx
sudo apt-get -f install
sudo apt-get install fglrx

などを繰り返して、元に戻せました。なお、Recoveryで起動して作業しています。failesafeXしかそのうち起動できなくなったので。などと、弄ばれてしまいました。


0 件のコメント:

コメントを投稿