お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-05-22 02:24:17

wonderman
メンバ
登録日: 2010-05-21

ATI RADEON HD 3200 で compizが動かなくなった場合:考察メモ

ATI RADEON HD 3200 /ubuntu 10.4

なぜだかある日compizが動かなくなってしまいました。
復活のメモ。

■至極当たり前の手順

ビデオドライバを削除して再起動。VESAで高解像度になるはず。
ATIからドライバ(10.4 2010 apr 28)をダウンロードして、導入、再起動。

というのを繰り返しやりつつ、compiz再インストールを繰り返しつつ。
うまくいけば一発で「治る」かもしれません。 :D

ATIに限らず、intelなんかでも同じようなことが起きているようですし、
潜在的にかなりの人がcompizが味わえないでいるような気がします。

ATIのドライバもは、10.4から10.1まではローカルに残してあります。
サイト上でも古いのが落とせますが、たまにWindowsサーバーらしく?
エラーを吐いて、ダウンロードさせてくれません。

xorg.conf をいじってもダメなものはダメ。   ;)

■動いた xorg.conf

コード:

Section "ServerLayout"
    Identifier     "aticonfig Layout"
    Screen      0  "aticonfig-Screen[0]-0" 0 0
EndSection

Section "Files"
EndSection

Section "Module"
EndSection

Section "Monitor"
    Identifier   "aticonfig-Monitor[0]-0"
    Option        "VendorName" "ATI Proprietary Driver"
    Option        "ModelName" "Generic Autodetecting Monitor"
    Option        "DPMS" "true"
EndSection

Section "Device"
    Identifier  "aticonfig-Device[0]-0"
    Driver      "fglrx"
    BusID       "PCI:1:5:0"
EndSection

Section "Screen"
    Identifier "aticonfig-Screen[0]-0"
    Device     "aticonfig-Device[0]-0"
    Monitor    "aticonfig-Monitor[0]-0"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

■これでもcompizは動作する xorg.conf

コード:

Section "Screen"
        Identifier      "Default Screen"
        DefaultDepth    24
EndSection

Section "Module"
        Load    "glx"
EndSection

Section "Device"
        Identifier      "Default Device"
        Driver  "fglrx"
EndSection

■ディスプレイ効果が有効にできない場合にそれを追認するためのコマンド

だと想っていたが役に立たないコマンド

$ compiz-check

だけど。たぶん、これは意味がない。compizが有効になっても、表示は全く
同じで関係ない。ダウンロードするだけ無駄。問題点は何一つわからない。
利用グラフィックチップが何かがわかる程度。トラブルシュートとは全く関係
なし。軽く見た範囲で英語サイトでも答えはでてない。
わしもダメ、僕もダメというのが続くだけ。

http://forlong.blogage.de/entries/pages/Compiz-Check
http://blogage.de/files/9124/download?compiz-check

Updateされてない気がします。にもかかわらずこれの結果を貼り付けて
compizが動かんぞという質問を世界でやっているから話がややこしく
なってしまっている気がします。さらにいえば、Xorg.confもほぼ無関係。

compiz有効無効問わず、表示は同じです。
 

コード:

Gathering information about your system...

 Distribution:          Ubuntu 10.04
 Desktop environment:   GNOME
 Graphics chip:         ATI Technologies Inc Radeon HD 3200 Graphics
 Driver in use:         fglrx
 Rendering method:      None

Checking if it's possible to run Compiz on your system...  [SKIP]

 Checking for hardware/setup problems...           [SKIP]

At least one check had to be skipped:
 Error: No rendering method in use (AIGLX, Xgl or Nvidia)

結論:ドライバを疑え、か

(0.4.5/平成22年5月22日現在の確信)

オフライン

 

#2 2010-05-22 08:49:56

hmatsue
アドバイザ
登録日: 2009-03-10

Re: ATI RADEON HD 3200 で compizが動かなくなった場合:考察メモ

wonderman による投稿:

ビデオドライバを削除して再起動。VESAで高解像度になるはず。
ATIからドライバ(10.4 2010 apr 28)をダウンロードして、導入、再起動。

というのを繰り返しやりつつ、compiz再インストールを繰り返しつつ。

あたりからすると、すでにかなり複雑で異常な状態になってしまっているように思えます。

wonderman による投稿:

$ compiz-check

だけど。たぶん、これは意味がない。compizが有効になっても、表示は全く
同じで関係ない。ダウンロードするだけ無駄。問題点は何一つわからない。
利用グラフィックチップが何かがわかる程度。トラブルシュートとは全く関係
なし。

例えば、私の環境でcompiz-checkを実行すると下記のように出ます。

コード:

$ ./compiz-check 

Gathering information about your system...

 Distribution:          Ubuntu 10.04
 Desktop environment:   KDE4
 Graphics chip:         ATI Technologies Inc RS880 [Radeon HD 4200]
 Driver in use:         radeon
 Rendering method:      AIGLX

Checking if it's possible to run Compiz on your system...

 Checking for texture_from_pixmap...               [ OK ]
 Checking for non power of two support...          [ OK ]
 Checking for composite extension...               [ OK ]
 Checking for FBConfig...                          [ OK ]
 Checking for hardware/setup problems...           [ OK ]

compiz-checkは確認するべき項目をスクリプト化しているだけのものなので、Rendering methodなど、表示がおかしい箇所について、スクリプトの中を追いかけていけば、どこで異常が発生しているか調べられるものと考えます。

オフライン

 

#3 2010-05-22 10:58:17

wonderman
メンバ
登録日: 2010-05-21

Re: ATI RADEON HD 3200 で compizが動かなくなった場合:考察メモ

話が横道にそれたので。横道に。

compiz-checkは確認するべき項目をスクリプト化しているだけのものなので、Rendering methodなど、表示がおかしい箇所について、スクリプトの中を追いかけていけば、どこで異常が発生しているか調べられるものと考えます。

そうですね。本来はそういうものだろうと私も思います。
あるべき論、期待値の話をしても仕方がない気もします。ドライバは本来ちゃんと動作するはずだ!
があるべき論です。このツールはちゃんと動作するはずだもあるべき論です。ですが、この場合ちゃ
んと動かない。出自もそれを期待するものではない。

実際問題、この表示結果で問題を追いかけられますかね?
Rendering method:      None

動いている場合でも、動かない場合でも、途中で動かなくなった場合でも、
ぜんぶ同じ表示なのに。これに関しては、私の答えはNONEです。

期待値はさておいて、もし本当にできるのなら具体の手順をみなさんに公開してほ
しいです。ものすごく役に立つと思います。偶然ではなく確信できる手順があれば、時
間を大幅に節約できますものね。私は、バックアップを少しづつ過去にさかのぼったり、
動作しているXorg.conf やXのディレクトリをまるごと差し替えてみたり、無駄かつ睡眠
不足の1週間をこれで過ごしました。(笑) 

ちなみに、
「環境3」導入後1時間でジャンクアプリもまだインストールしていない、非正規レポジトリは
日本語Team産だけって状態で、compizは正常動作し、表示はこれとおなじです。
すくなくともこのATI HD3200については、2つのマザー7つの区画で検証しています。

基本的にジャンクアプリ、その他のレポジトリは努めて導入しないようにしています。
すごく気に入ったので、ubuntu 10.4からは仕事で使うつもり。
綺麗な環境づくりに努めています。

オフライン

 

#4 2010-05-22 11:16:33

hmatsue
アドバイザ
登録日: 2009-03-10

Re: ATI RADEON HD 3200 で compizが動かなくなった場合:考察メモ

Driverがこちらとそちらで違っていましたね。
で、ちょこっと試してみました。

あとで気付いたのですが、
http://forlong.blogage.de/entries/pages/Compiz-Check
に、既に投稿されていましたが、

m1st0 (Anonymous)
3 hours ago

I got the same "Error: No rendering method in use (AIGLX, Xgl or Nvidia)" in Ubuntu 10.04.

I had to change the following lines to get it to work:
(284-295)
  #AIGLX_STAT="AIGLX enabled\|AIGLX disabled"
  # Unsure what it says when its disabled, so I guessed
  AIGLX_STAT="AIGLX: Loaded and initialized\|AIGLX: disabled"

  if [ -z $XORG_LOG ] || [ ! -r $XORG_LOG ]; then
    RENDER=$SKIPPING
    return 1
  #elif grep "$AIGLX_STAT" $XORG_LOG | tail -1 | grep -q "AIGLX enabled" ; then
  elif grep "$AIGLX_STAT" $XORG_LOG | tail -1 | grep -q "AIGLX" ; then
    RENDER=AIGLX
    return 0
  fi

There may be a cleaner string check, but this got it to work on this distribution.  May break others.

のとおりでfglrxのXorg.0.logへの出力メッセージが変わったらしく、fglrxの場合は正常に動かないようです。

wonderman による投稿:

実際問題、この表示結果で問題を追いかけられますかね?
Rendering method:      None

ちょっと言葉足らずで誤解させてしまったかも知れませんが、私が言いたかったのは「スクリプトの中身」を追いかけるの意です。

いま、サラッと眺めただけなので、他のところでトラブルかも知れませんが、

コード:

$ diff compiz-check compiz-check_modified 
283c283
<   AIGLX_STAT="AIGLX enabled\|AIGLX disabled"
---
>   AIGLX_STAT="AIGLX enabled\|AIGLX disabled\|AIGLX: Loaded"
288c288
<   elif grep "$AIGLX_STAT" $XORG_LOG | tail -1 | grep -q "AIGLX enabled" ; then
---
>   elif grep "$AIGLX_STAT" $XORG_LOG | tail -1 | grep -q "AIGLX enabled\|AIGLX: Loaded" ; then
382c382
<         DIGITS=$($FGLRXINFO | grep version | sed 's/[a-Z:(.)]//g')
---
>         DIGITS=$($FGLRXINFO | grep version | sed 's/[a-zA-Z:(.)]//g')

みたいな改変でfglrxに対応できたりしないでしょうか。
# とりあえず、DualBootのUbutnuStudio 10.04で動作確認はしてみました。

オフライン

 

#5 2010-05-22 13:20:08

wonderman
メンバ
登録日: 2010-05-21

Re: ATI RADEON HD 3200 で compizが動かなくなった場合:考察メモ

(憶測:素晴らしいことに)、
ubuntu提供のfglrx関連のパッケージが今日昼ごろに出現?しました。
都合、入れ替えてみました。いまんとこ、問題なく動いてます。
結果オーライなので、これで幸せになれる人が増えるかな。

やっぱドライバは空気のように動いてほしいものです。

オフライン

 

#6 2010-05-22 15:43:34

hmatsue
アドバイザ
登録日: 2009-03-10

Re: ATI RADEON HD 3200 で compizが動かなくなった場合:考察メモ

どうやら必要無くなったようで、よかったです。
compiz-checkはUbuntu専用のツールでは無いので、今回のように一時的に誤判定することもあるかも知れませんが、判定部分がどのようになっているかまで見ていけば、相変わらず、グレートな状態チェックスクリプトなので、なにかトラブルことがありましたら、再挑戦してみて下さい。
# Ubuntu 10.04 + fglrxでの誤判定の件も、サイトに報告があがっているので、そのうち直してもらえると期待しています。 :)

オフライン

 

Board footer

Powered by FluxBB