2013年6月7日金曜日

Catalyst(Fglrx)ドライバーをやめてradeonドライバーにしたお話

ついさっきプロプライエタリドライバ使う時の話書いておいてなんだけれども、
Fglrxを削除してradeonドライバにしました

理由は2chのLinux板の、動画・音声関係ソフトウェア総合スレでFglrxドライバの使用の是非について質問した方がおられたのを見て、そういえばずっとArchはプロプライエタリドライバでしか使ってなかったことを思い出したためです。
そのときのいろいろをメモ




ついでにuvesafbも削除しました。

ハマったところといえば、公式レポジトリで配布されているカーネルだと問題なかったのに
自分がいつも使ってるカスタムビルドなカーネルだと画面が砂嵐しか表示できずに死んでしまったところ。

ArchWikiのATIの項を読み間違えて、vesaやuvesafbを削除してたはいいけれど
radeonfbを有効にしてしまっていたせいでした。
Graphic OptionのDRMのところは有効にしてもframe buffer supportのところは全部無効にしたほうがKMSを使用するときには無難なようですね。
設定ミスってこーなった


ちゃんと有効にしてみると、コンソールフレームバッファやplymouthが1366x768で起動してくれるのが嬉しいところ。
(ThinkPad x121 AMDモデルだとBIOSの制限でGrubやvesa,uvesaが1024x768までの解像度しか使えない)


それに、wineで今まで例外を吐いて死んでいたADVゲームが普通にヌルヌル動きました。
FglrxのOpenGLの実装がバグってたんですかね?

今までFglrxを使用する最大の理由はUVDを使用した動画再生支援(XvBA)でした。しかしx121eに搭載されているのはAPUなので動画再生支援させてもCPU使用率が下がってるようには見えてなかったので結局オープンソースドライバでいいかという気分になったのがそのままオープンソースドライバ続投することにした理由です。ベンチマークとかとってないので実際は再生支援があったほうがいいのかもしれないですが

それにあとでArchWiki見て知りましたがオープンソースドライバでもUVD使った動画再生支援のいくつかはvdpauを通して実装されているみたいですね(XvMC、XvBAはvaapiを使用)
まだMPEG-1/2しか再生支援が効いてないみたいですが、どこかのフォーラムだかニュースだかでH264の再生支援もそのうち実装されそうなので安心しました。


おまけとして、今までLCDの輝度を変更しても/sysのインターフェースから読みとれる値は変化してるのに実際の輝度が変化しないという謎現象が直り、原因はFglrxドライバにあることがわかりました。