
Ubuntu日本語フォーラム

ログインしていません。
ubuntu9.10から10.4にバージョンアップしておかしな現象が発生しています。
グラフィックボードにATIの5450を使用しており、ドライバをシステム管理のドライバからインストールしていますが以下の様なおかしな状況になっています。
①再起動、再ログインなどをすると、各アプリのウィンドウのタイトルバーが消える(再現率100%)
「外観の設定」から視覚効果を通常効果を選択するとエラー(デスクトップ効果を有効にできませんとダイアログが出力されます)になり「効果なし」にもどるのですが、なぜかタイトルバーは戻ります。
②Catalyst Control CenterでOpenGLのバージョンが表示されない。
ATIのドライバのツールであるCatalyst Control CenterでなぜかOpenGLのバージョンが表示されなくなりました。
この状態でATIのドライバがおかしいのかもと思い、ドライバをアンインストールし、再起動したところ、「ハードウェアドライバ」からドライバをインストールしようとするとエラーになり再インストールできなくなってしまいました。
ダイアログでは/var/log/jockey.logを見るように出力され、見ると以下のようなエラーが出ています。
2010-05-12 10:12:41,611 ERROR: XorgDriverHandler.enable(): package or module not installed, aborting
①を発生しなくする方法、またはATIのドライバの再インストールするには同すればいいでしょう?ご存知の方はお教えください。
オフライン
その後、別のユーザを作成してログインして見たところ①の現象は発生しないことが分かりました。
そのため、①はドライバレベルではなくユーザレベル何らかの設定の問題のようです。お騒がせしました。
ただ相変わらずATIのドライバの再インストールだけはうまくいかずにおります。
もしよい方法をご存知の方がいらっしゃいましたらお教えください。
オフライン
ATIのHD4670を使用していますが、ubuntu10.04提供のドライバーで不都合無く機能しています。
再インストールは多分次の方法で可能かと思います。
1)システム>システム管理>ハードウェアドライバーをクリック検索が開始されます。
2)検索終了後 ハードウェアドライバーが表示されます。右下に「有効にする」ボタンが有ると思います。クリックすればOKのはずです。
オフライン
3988さん
そのはずなのですが、「有効にする」ボタンをクリックするとエラーになり、インストールが失敗してしまいます。
どうすればよいでしょう。
オフライン
パッケージマネージャでATIと入力しインストールされているのを削除し再インストールを実行でどうなりますか。
参考になりますが、ATIとしてみたら以下のものがインストールされています。
xserver-xorg-video-ati
xserver-xorg-video-radeon
xserver-xorg-video-mach64
xserver-xorg-video-r128
fglrx
fglrx-amdcccle
fglrx-modaliases
radeontool
jockey-gtk
jockey-common
オフライン
3988さん
ありがとうございました。お教えいただいたパッケージをすべて再インストールしたところ、
システム>システム管理>ハードウェアドライバー
でATIのドライバが有効になっていることまで確認できました。
ただ,amdcccleを起動すると以下のようにエラーになってしまいます。どうも完全には復旧できていないようです。
もうOSの再インストールしかないかな。。。。。。
----以下エラーメッセージ
There was a problem initializing Catalyst Control Center Linux edition. It could be caused by the following.
No ATI graphics driver is installed, or the ATI driver is not functioning properly.
Please install the ATI driver appropriate for you ATI hardware, or configure using aticonfig.
オフライン
fglrxドライバはインストールされているけども、それが使われていない状態ということは無いでしょうか。
/etc/X11/xorg.conf
/var/log/Xorg.0.log
の内容を投稿してみてください。
もし、fglrxが使われていなければ、aticonfigを使ってxorg.confを生成すれば良いような気がします。
オフライン
「システム>システム管理>ハードウェアドライバー」の有効・無効の判定基準は非常にてきとうな気配のただよった実装になっていますので、あまり信用しない方が良いように思います。
cat /var/log/Xorg.0.log|grep II |egrep -i Driver などとすると、「fglrx」という文字列は出てこず、「radeon」という文字列がヒットしないでしょうか。
オフライン
エラーの内容は
ATIグラフィックスドライバーが全くインストールされないか、またはATIドライバーは適切に機能していません。
ATIハードウェア的にあなたにとって、適切なATIドライバーをインストールするか、またはaticonfigに使用を構成してください。
なので
hmatsueさん による投稿:
aticonfigを使ってxorg.confを生成すれば良いような気がします。
を実行してはどうでしょうか。
参考URLです。http://ankyo.blog.so-net.ne.jp/2010-05-05
hitoさん による投稿:
cat /var/log/Xorg.0.log|grep II |egrep -i Driver などとすると、「fglrx」という文字列は出てこず、「radeon」という文字列がヒットしないでしょうか。
を実行してみました。
ssd44@ssd44-desktop:~$ sudo cat /var/log/Xorg.0.log|grep II |egrep -i Driver
[sudo] password for ssd64:
(II) Loading /usr/lib/xorg/extra-modules/modules/drivers/fglrx_drv.so
(II) ATI Proprietary Linux Driver Version Identifier:8.72.11
(II) ATI Proprietary Linux Driver Release Identifier: 8.723.1
(II) ATI Proprietary Linux Driver Build Date: Apr 8 2010 21:40:58
(II) AMD Video driver is running on a device belonging to a group targeted for this release
(II) AMD Video driver is signed
(II) fglrx(0): swlDriScreenInit for fglrx driver
(II) fglrx(0): [uki] created "fglrx" driver at busid "PCI:1:0:0"
(II) fglrx(0): Kernel Module version matches driver.
(II) fglrx(0): Initialized in-driver Xinerama extension
(II) fglrx(0): Disabling in-server RandR and enabling in-driver RandR 1.2.
(II) No input driver/identifier specified (ignoring)
(II) No input driver/identifier specified (ignoring)
(II) No input driver/identifier specified (ignoring)
(II) No input driver/identifier specified (ignoring)
(II) No input driver/identifier specified (ignoring)
(II) No input driver/identifier specified (ignoring)
(II) No input driver/identifier specified (ignoring)
ssd64@ssd64-desktop:~$ sudo cat /var/log/Xorg.0.log|grep II |egrep -i radeon
(II) fglrx(0): Adapter ATI Radeon HD 4600 Series has 2 configurable heads and 2 displays connected.
オフライン
追記です。
ドライバーの削除後「再起動」
再インストール「再起動」
は実行されていますか?
オフライン
以下のコマンドを実行してみました。
~$ cat /var/log/Xorg.0.log|grep II |egrep -i Driver
(II) Loading /usr/lib/xorg/modules/drivers/ati_drv.so
(II) Loading /usr/lib/xorg/modules/drivers/radeon_drv.so
(II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
(II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
(II) RADEON: Driver for ATI Radeon chipsets:
(II) VESA: driver for VESA chipsets: vesa
(II) FBDEV: driver for framebuffer: fbdev
(II) Unloading /usr/lib/xorg/modules/drivers/vesa_drv.so
(II) Unloading /usr/lib/xorg/modules/drivers/fbdev_drv.so
(II) No input driver/identifier specified (ignoring)
(II) No input driver/identifier specified (ignoring)
(II) No input driver/identifier specified (ignoring)
確かにfglrxがありませんでした。
3988さん、ありがとうございます。
#ちなみに削除後、インストール後に再起動はしています。。。。。
オフライン
お教えいただいたWebを参考に「sudo aticonfig --initial -f」を実行し、再起動したところamdcccleは無事に起動するようになりました。
ただ、まだ問題があります。
「amdxdg-su -c amdcccle」を実行し、amdcccleを管理者モードで起動していますが、「infomation」のメニューを選択して見てみるとOpneGL関連の欄がすべて空欄になっています。(provider、Renderer、Versionすべて)
またお教えいただいたURLより以下のコマンドを実行してみましたがdirect renderingがNoになっており、どうもまだ正常に機能していないようです。
$ glxinfo | grep render
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
OpenGL renderer string: ATI Radeon HD 5400 Series
direct renderingをyesにするにはどうしたらよいでしょうか?
オフライン
/var/log/Xorg.0.logを見ていますが、fglrxは出てくるようになっていました。
1$ cat /var/log/Xorg.0.log|grep II |egrep -i Driver
(II) Loading /usr/lib/xorg/extra-modules/modules/drivers/fglrx_drv.so
(II) ATI Proprietary Linux Driver Version Identifier:8.72.11
(II) ATI Proprietary Linux Driver Release Identifier: 8.723.1
(II) ATI Proprietary Linux Driver Build Date: Apr 8 2010 21:40:29
(II) AMD Video driver is running on a device belonging to a group targeted for this release
(II) AMD Video driver is signed
(II) fglrx(0): swlDriScreenInit for fglrx driver
(II) fglrx(0): [uki] created "fglrx" driver at busid "PCI:1:0:0"
(II) fglrx(0): Kernel Module version matches driver.
(II) fglrx(0): Initialized in-driver Xinerama extension
(II) fglrx(0): Disabling in-server RandR and enabling in-driver RandR 1.2.
(II) No input driver/identifier specified (ignoring)
(II) No input driver/identifier specified (ignoring)
(II) No input driver/identifier specified (ignoring)
オフライン
上の内容ですと、小生が#9で提示したものと変わりありませんね、ところで#11と#13で大変な変化がありますが、どうされましたか??
でまだ表示は正常でありませんか
オフライン
追記 glxinfo | grep renderを試行してみました。
ssd64@ssd64-desktop:~$ glxinfo | grep render
プログラム 'glxinfo' はまだインストールされていません。 次のように入力することでインストールできます:
sudo apt-get install mesa-utils
ssd64@ssd64-desktop:~$ sudo apt-get install mesa-utils
[sudo] password for ssd64:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
mesa-utils
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
51.3kB のアーカイブを取得する必要があります。
この操作後に追加で 176kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com/ubuntu/ lucid/universe mesa-utils 7.7.1-1ubuntu2 [51.3kB]
51.3kB を 0s で取得しました (119kB/s)
未選択パッケージ mesa-utils を選択しています。
(データベースを読み込んでいます ... 現在 155786 個のファイルとディレクトリがインストールされています。)
(.../mesa-utils_7.7.1-1ubuntu2_amd64.deb から) mesa-utils を展開しています...
man-db のトリガを処理しています ...
mesa-utils (7.7.1-1ubuntu2) を設定しています ...
ssd64@ssd64-desktop:~$ glxinfo | grep render
以下が大きく違いますが、なぜ?? 上のエラーに直接レンダリング: No(理由を見つけたいなら、冗長な状態でLIBGL_DEBUG=verboseをしてみてください)とありますが
direct rendering: Yes
OpenGL renderer string: ATI Radeon HD 4600 Series
GL_NV_conditional_render, GL_NV_copy_depth_to_color,
ssd64@ssd64-desktop:~$
オフライン
sudo aticonfig --initial -f を実行して表示はとりあえず正常になりました。Compize等々でいろいろ設定していたところにGPUドライバがおかしくなって
何かが異常になっていたようです。
direct rendering: Noのままですがとりあえずぷよぷよ揺れるWindowなど高度な効果までつかえるようにはなりました。
↓を見るかぎり無理だと思っていたのですが、、、、
https://forums.ubuntulinux.jp/viewtopic.php?id=2733
オフライン
追記です。fglxinfoを打ってみたところ、OpenGLのバージョンは出力されました。
$ fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 5400 Series
OpenGL version string: 1.4 (3.2.9756 Compatibility Profile Context)
となるとamdcccleにOpenGLのバージョンが表示されないのもモジュールが足りない等ではなく、direct renderingがNoになっているところに問題がありそうな気がします。
オフライン
エラー発見。swrast_dri.soが無いと言われていた。。。。。orz
$ LIBGL_DEBUG=verbose fglrxinfo
libGL: OpenDriver: trying /usr/lib/fglrx/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/fglrx/dri/swrast_dri.so
libGL error: dlopen /usr/lib/fglrx/dri/swrast_dri.so failed (/usr/lib/fglrx/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: swrast_dri.so
libGL error: reverting to indirect rendering
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 5400 Series
OpenGL version string: 1.4 (3.2.9756 Compatibility Profile Context)
オフライン
swrast_dri.soが/usr/lib/fglrx/dri/にはなく、探したら:/usr/lib/dri配下にあることが分かりました。
そのため、シンボリックリンクを作って再起動してみましたが、そしたら視覚効果等が一切使えなくなりました。
とりあえずシンボリックリンクは削除して再起動し正常に動いているような状態には戻りましたが、相変わらず#18のエラーは発生しており、direct rendering: Noのままです。
う~ん謎です。
オフライン
以下は、あくまでも、パッケージの内容物からの判断になりますので、参考までに。
/usr/lib/dri/swrast_dri.soは、別のアクセレータ環境(GPU?)用だと思います。
動く環境での、verboseがあるとよいのですが、じつは、「swrast_dri.so」の、「swrast」の分部が、本来は「fglrx」になってないとおかしいんじゃないか言う気が少し。
# 環境変数の、LIBGL_DRIVERS_PATHおよび、LIBGL_DRIVERS_DIRは、正しい値(/usr/lib/fglrx/dri)を含んでいる気がします。
参照しているlibGLが、なんらかの原因でflgrx用ではない という可能性は無いでしょうか?
# コマンドはfglrxinfoなのに、なんで別のlibGLを参照される可能性が・・・という気もするので違う可能性も高いです。
オフライン
~$ LIBGL_DEBUG=verbose fglrxinfoを実行してみました、やはり内容がちがいますね。(当方デュアルモニターです。)
libGL: XF86DRIGetClientDriverName: 8.72.11 fglrx (screen 0)
libGL: OpenDriver: trying /usr/lib/fglrx/dri/tls/fglrx_dri.so
libGL: OpenDriver: trying /usr/lib/fglrx/dri/fglrx_dri.so
libGL: XF86DRIGetClientDriverName: 8.72.11 fglrx (screen 0)
libGL: OpenDriver: trying /usr/lib/fglrx/dri/tls/fglrx_dri.so
libGL: OpenDriver: trying /usr/lib/fglrx/dri/fglrx_dri.so
ukiDynamicMajor: found major device number 250
ukiDynamicMajor: found major device number 250
ukiOpenByBusid: Searching for BusID PCI:1:0:0
ukiOpenDevice: node name is /dev/ati/card0
ukiOpenDevice: open result is 5, (OK)
ukiOpenByBusid: ukiOpenMinor returns 5
ukiOpenByBusid: ukiGetBusid reports PCI:1:0:0
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon HD 4600 Series
OpenGL version string: 3.2.9756 Compatibility Profile Context
~$ fgl_glxgears<---を実行してみてください。3D画像が表示されます。
Using GLX_SGIX_pbuffer
7763 frames in 5.0 seconds = 1552.600 FPS
オフライン
うまく動くと言う環境では、fglrx_dri.soを参照しているようなので、fglrxにてopenGLを使用するには、fglrxに付属のlibGLを使う必要があるはずが、ここがうまくいっていないように見えます(が、DIRやPATHはちゃんとfglrxを向いている)
いま、誤って認識されていると思われるものは、mesa-utilsが依存しているlibgl1-mesa-glxに含まれているものっぽいので、libGL.soのファイル自体は双方の環境に存在するはず・・・です(glxinfoを実行した時点では存在しているはずです)
と、すると、複数のopenGLのライブラリ(libGL.so)が存在する場合に、なんらかの方法で(自動的に?)選んでいると思うのですが・・・その方法はわかりませんでした。
# なんか、単に、ld.confの関連で、どのlibGL.soが最初に見つかるか と言う話しのような気もしてきました(パッケージ内のpostinstの仕事のようなので、インストールしなおせば(もしくは、設定だけ行えば?)うまく行くのかもしれません。/etc/ld.so.conf.d/GL.conf(/usr/lib/fglrx/ld.so.conf か、/usr/lib/mesa/ld.so.conf のどちらかのコピー?)の取り合いっぽい感じ(未確認))
オフライン
fgl_glxgearsを実行したところキューブのようなものの中で歯車が回っている画像が表示されました。ちょっとwindowを動かしたりするとチラチラしますが、多分正常に動いていると思います。
以下ターミナル上の出力です。
Using GLX_SGIX_pbuffer
369 frames in 5.0 seconds = 73.800 FPS
375 frames in 5.0 seconds = 75.000 FPS
376 frames in 5.0 seconds = 75.200 FPS
372 frames in 5.0 seconds = 74.400 FPS
372 frames in 5.0 seconds = 74.400 FPS
375 frames in 5.0 seconds = 75.000 FPS
とりあえず動いてはいるようです。でも相変わらず「LIBGL_DEBUG=verbose fglrxinfo」でエラーは出ていますし、direct renderingがNoのままです。
オフライン
libGL: OpenDriver: trying /usr/lib/fglrx/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/fglrx/dri/swrast_dri.so
libGL error: dlopen /usr/lib/fglrx/dri/swrast_dri.so failed (/usr/lib/fglrx/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: swrast_dri.so
のswrast_dri.soが何故インストールされるのか?? 当方にはfglrx_dri.soが存在しswrast_dri.soは存在しません。
この辺が不具合の原因じゃないでしょうか。
オフライン