Xの透過

Last-modified: 2009-07-20 (月) 11:01:40

Xorg7.1くらいからXの機能としてのウィンドウ透過がサポートされました.
これまで透過というとEterm等を用いてルートウィンドウの画像を貼り込むことしかできなかったけどこれからは本当の透過の時代ですよということでcompositeに関する情報をまとめていこうかと.

誰かたのむwww

Linuxデスクトップ画像 Part17より

47 名前:login:Penguin: 2008/02/23(土) 19:38:45 ID:MAkVTDBr

>半透明が動作の軽快さに繋がる理由は何?

ウィンドウ単位でVRAMを占有できるので

ウィンドウの移動やオーバーラップの度にCPU使って再描画しなくて済むし

移動やオーバーラップ程度ならGPUの仕事でCPUの処理も喰わなくなって軽くなる

>俺は2つ以上のグラフィックを合成するのだから重くなって当然と考えていたが、

その処理はGPUがやるからCPUやCPU側のメモリやバスを浪費しない

>もし軽くなるのなら目から鱗だな。

一つ大人になったんだね

つかいかた

  1. xorg.conf を編集して
    前略
    Section "Extensions"
    	Option "Composite" "true"
    EndSection
    後略
  2. Xを再起動
  3. xdpyinfoでextentionsにCompositeがあることを確認
  4. ウマー

いまんとこ対応しているのはXfce 4.xくらい?

  • GNOME 2.22でも(一部?)対応したらしい。
  • gconf-editor で /apps/metacity/general の compositing_manager のチェックを入れてXを再起動すると、 gnome-terminal 等の透過処理がきちんと機能するようになる(terminal側で壁紙だけ読み込んで擬似透過「風」等の、インチキ動作ではなくなる)。
    ただし、その代償として動画等のオーバーレイ表示ができなくなる(vlc や mplayer 等で、出力に xv を指定できなくなる)ため、オーバーレイに依存して辛うじて動画を見ていたようなロートル環境では、ユーザビリティが低下する場合もある。Pentium II/III世代あたりはかなり厳し目かと。

某Compizが使えるなら要らない機能ではある

  • Compizなんか動かんような、それでもDRIやCompositeには対応しているような微妙なGPUやグラフィックカード(DirectX5世代以前くらいか?)でそこそこ高速なCPU(Pen3-1GHzくらいからか?500のDualで試したらCPUむちゃくちゃ喰って遅すぎて使えん。CPU喰わんというのは嘘だ)、Xfceの使用に不自由しない程度に十分なメモリ、という微妙な組み合わせの環境にオススヌ
  • あと、仮想PC系のゲスト環境でcompizが動かない、だけど今時透過も無い殺風景なデスクトップには耐えられない、みたいな人にもオヌヌメ。まあ最近のVMware(Workstation/Player)やVirtualBoxあたりは、ゲスト環境からでもCompizくらいぐりぐり動くけどね…