<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Takabayap</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Takabayap"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Takabayap"/>
	<updated>2026-04-13T13:57:42Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Picom&amp;diff=33977</id>
		<title>Picom</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Picom&amp;diff=33977"/>
		<updated>2023-09-12T15:21:26Z</updated>

		<summary type="html">&lt;p&gt;Takabayap: /* NVIDIA のプロプライエタリドライバーでちらつきが発生する */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:X サーバー]]&lt;br /&gt;
[[Category:視覚効果]]&lt;br /&gt;
[[en:Picom]]&lt;br /&gt;
[[ko:Compton]]&lt;br /&gt;
[[ru:Compton]]&lt;br /&gt;
[[zh-hans:Compton]]&lt;br /&gt;
[https://github.com/yshui/picom Picom]  は軽量なスタンドアロン型のコンポジットマネージャです。コンポジット機能が含まれていない [[Xorg]] の[[ウィンドウマネージャ]]を使っている場合に向いています。Picom は [https://github.com/chjj/compton/ compton] のフォークであり、compton は [http://oliwer.net/xcompmgr-dana/ xcompmgr-dana] のフォークですが、xcompmgr-dana は [[xcompmgr]] のフォークです。&lt;br /&gt;
&lt;br /&gt;
Picom は大量にあった先行者のバグを修正していることで特に有名で、信頼性があり安定しているということで人気があります。他にも、高速な GLX (OpenGL) バックエンド (デフォルトでは無効になっています) やデフォルトのアクティブ・インアクティブウィンドウの透過、ウィンドウの枠の透過、ウィンドウの背景のブラー、ウィンドウの色の反転、描画レートの調整、垂直同期、条件で分岐する細かい制御、設定ファイルの読み込み、D-Bus の制御など、多数の改善や設定オプションが実装されています。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|picom}} パッケージをインストールしてください。[[git]] 版を使う場合、{{AUR|picom-git}} をインストールしてください。また、[[Qt]] ベースの設定 GUI を {{AUR|compton-conf}} または {{AUR|compton-conf-git}} をインストールすることで使うことができます。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
デフォルトの設定は {{ic|/etc/xdg/picom.conf}} にあります。 {{ic|~/.config/picom.conf}} や {{ic|~/.config/picom/picom.conf}}、{{ic|~/.picom.conf}} にコピーしてカスタマイズできます。&lt;br /&gt;
&lt;br /&gt;
picom でカスタム設定ファイルを使うには、次のコマンドを使用:&lt;br /&gt;
&lt;br /&gt;
 $ picom --config &#039;&#039;path/to/&#039;&#039;picom.conf&lt;br /&gt;
&lt;br /&gt;
=== 一部ウィンドウの影を無効化 ===&lt;br /&gt;
&lt;br /&gt;
picom が影を描画することによって、一部のアプリケーションでは見た目がおかしくなってしまうことがあります。{{ic|shadow-exclude}} オプションで picom の影を無効にできます。現在無効になっているウィンドウについては [https://projects.archlinux.org/svntogit/community.git/tree/trunk/compton.conf?h=packages/compton#n80] を見てください。&lt;br /&gt;
&lt;br /&gt;
メニューの影を無効化するには {{ic|picom.conf}} wintypes に以下を追加してください:&lt;br /&gt;
&lt;br /&gt;
 # menu        = { shadow = false; };&lt;br /&gt;
 dropdown_menu = { shadow = false; };&lt;br /&gt;
 popup_menu    = { shadow = false; };&lt;br /&gt;
 utility       = { shadow = false; };&lt;br /&gt;
&lt;br /&gt;
=== 透過 ===&lt;br /&gt;
&lt;br /&gt;
選択・非選択ウィンドウの透過率を設定するには、以下を {{ic|picom.conf}} に追加 (例: ターミナルエミュレータ):&lt;br /&gt;
&lt;br /&gt;
 opacity-rule = [&lt;br /&gt;
   &amp;quot;90:class_g = &#039;URxvt&#039; &amp;amp;&amp;amp; focused&amp;quot;,&lt;br /&gt;
   &amp;quot;60:class_g = &#039;URxvt&#039; &amp;amp;&amp;amp; !focused&amp;quot;&lt;br /&gt;
 ];&lt;br /&gt;
&lt;br /&gt;
[[#タブ化したウィンドウ (影と透過)]]も見てください。&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
&lt;br /&gt;
Picom はいつでも手動で有効化・無効化することができます。また、バックグラウンドで自動起動 ([[デーモン]]) することも可能です。また、コンポジット効果を設定できる任意の引数もあります。引数の一部:&lt;br /&gt;
&lt;br /&gt;
* {{ic|-b}}: バックグラウンドプロセス ([[デーモン]]) で実行 (例: [[Openbox]] などの[[ウィンドウマネージャ]]で自動起動する場合)&lt;br /&gt;
* {{ic|-c}}: 影効果を有効化&lt;br /&gt;
* {{ic|-C}}: パネルとドックの影効果を無効化&lt;br /&gt;
* {{ic|-G}}: アプリケーションウィンドウとドラッグアンドドロップオブジェクトの影効果を無効化&lt;br /&gt;
* {{ic|--config}}: 指定した設定ファイルを使用&lt;br /&gt;
&lt;br /&gt;
他にも、タイミングの設定や、管理するディスプレイ、メニューやウィンドウの縁、インアクティブアプリケーションメニューの透過度など多数のオプションが存在します。詳しくは {{man|1|picom}} を見て下さい。&lt;br /&gt;
&lt;br /&gt;
{{Note|他の[[コンポジットマネージャ]]が動作している場合、&#039;&#039;picom&#039;&#039; を起動する前に無効化してください。}}&lt;br /&gt;
&lt;br /&gt;
セッション中にデフォルトのコンポジット効果を手動で有効化するには、次のコマンドを使用:&lt;br /&gt;
&lt;br /&gt;
 $ picom&lt;br /&gt;
&lt;br /&gt;
また、影効果を全て無効化するには、{{ic|-C}} と {{ic|-G}} 引数を追加します:&lt;br /&gt;
&lt;br /&gt;
 $ picom -CG&lt;br /&gt;
&lt;br /&gt;
バックグラウンドプロセス ([[デーモン]]) として picom を自動起動するには、{{ic|-b}} 引数を使います:&lt;br /&gt;
&lt;br /&gt;
 $ picom -b&lt;br /&gt;
&lt;br /&gt;
[[デーモン]]プロセスの影効果を全て無効化するには、{{ic|-C}} と {{ic|-G}} 引数を追加:&lt;br /&gt;
&lt;br /&gt;
 $ picom -CGb&lt;br /&gt;
&lt;br /&gt;
以下は引数を追加して必要な値を設定した例です:&lt;br /&gt;
&lt;br /&gt;
 $ picom -cCGfF -o 0.38 -O 200 -I 200 -t 0 -l 0 -r 3 -D2 -m 0.88&lt;br /&gt;
&lt;br /&gt;
== マルチディスプレイ ==&lt;br /&gt;
xinerama を使わずに[[マルチディスプレイ]]の設定をしている場合 (複数のスクリーンで X サーバーを実行している場合)、デフォルトでは picom は一つのスクリーンでしか起動しません。{{ic|DISPLAY}} 環境変数を使うことで全てのスクリーンで実行させることができます。&lt;br /&gt;
例えば、バックグラウンドで X スクリーン 0 で実行する場合：&lt;br /&gt;
&lt;br /&gt;
 DISPLAY=&amp;quot;:0&amp;quot; picom -b&lt;br /&gt;
&lt;br /&gt;
上記はすべてのモニタで動作するはずですが、動作しない場合は手動で各モニタを指定する古い方法を試してみてください。&lt;br /&gt;
&lt;br /&gt;
 seq 0 3 | xargs -l1 -I@ picom -b -d :0.@&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
最近のバージョンの picom には DRI2 アクセラレーションに問題があり、DRI2 を使っているときにちらつきが発生していました ([https://github.com/yshui/picom/issues/47 picom バグ], [https://bugs.freedesktop.org/show_bug.cgi?id=108651 mesa バグ])。対処策によって問題は解決していますが、一部のユーザーにはまだ問題が残っているという報告があります。DRI3 にはこのような問題はありません。&lt;br /&gt;
&lt;br /&gt;
他のアプリケーションやプログラムで正しい設定をしていない場合、コンポジット効果を有効にすることで外観がおかしくなる問題が発生することがあります。&lt;br /&gt;
&lt;br /&gt;
=== Conky ===&lt;br /&gt;
&lt;br /&gt;
[[Conky]] のウィンドウの影を無効化するには、{{ic|~/.conkyrc}} に以下を記述します:&lt;br /&gt;
&lt;br /&gt;
 own_window_class conky&lt;br /&gt;
&lt;br /&gt;
=== dwm と dmenu===&lt;br /&gt;
&lt;br /&gt;
dwm のステータスバーは picom の関数から検出されず、自動的にウィンドウマネージャのエレメントが除外されることはありません。また、dwm のステータスバーと dmenu のどちらもウィンドウ id は固定されていません。ステータスバーがウィンドウ透過しないようにしたい場合、ソースコードのウィンドウクラスにパッチをあてるか、他の属性を使って除外してください。dmenu と dwm のステータスバーを上部に表示している場合、位置によって指定することができます:&lt;br /&gt;
 $ picom &amp;lt;any other arguments&amp;gt; --focus-exclude &amp;quot;x = 0 &amp;amp;&amp;amp; y = 0 &amp;amp;&amp;amp; override_redirect = true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
もしくは、設定ファイルを使う場合:&lt;br /&gt;
 focus-exclude = &amp;quot;x = 0 &amp;amp;&amp;amp; y = 0 &amp;amp;&amp;amp; override_redirect = true&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
上書きリダイレクトプロパティは大抵のウィンドウでは false になっています。それによって左下に配置された他のウィンドウが除外されることを防げます (例えば、dwm ステータスバーが非表示になった場合、x0 y0 は dwm のマスタースタックにある全てのウィンドウにマッチします)。&lt;br /&gt;
&lt;br /&gt;
=== Firefox ===&lt;br /&gt;
&lt;br /&gt;
[[#一部ウィンドウの影を無効化]]を見てください。&lt;br /&gt;
&lt;br /&gt;
Firefox の部品の影を無効化するには {{ic|picom.conf}} の shadow-exclude に以下を追加します:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;class_g = &#039;firefox&#039; &amp;amp;&amp;amp; argb&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
詳しくは [https://github.com/chjj/compton/issues/201#issuecomment-45288510] を参照。&lt;br /&gt;
&lt;br /&gt;
=== Slock ===&lt;br /&gt;
インアクティブウィンドウの透過を有効にしている場合 (コマンドで実行している場合 {{ic|-i}} 引数)、[[アプリケーション一覧/セキュリティ#スクリーンロック|slock]] を使っているときに問題が発生します。透過度を {{ic|0.2}} にすることで解決します。例えばコマンドで picom を実行する場合:&lt;br /&gt;
&lt;br /&gt;
 $ picom &amp;lt;any other arguments&amp;gt; -i 0.2&lt;br /&gt;
&lt;br /&gt;
または、設定ファイルを使う場合:&lt;br /&gt;
&lt;br /&gt;
 inactive-dim = 0.2;&lt;br /&gt;
&lt;br /&gt;
もしくは、slock のウィンドウ ID を使用して slock を除外したり、名前がないウィンドウを全て除外する方法もあります。&lt;br /&gt;
{{note|プログラムによっては新しいインスタンスを起動するたびに id を変化させるものもありますが、slock の id は固定されています。}}&lt;br /&gt;
名前がないウィンドウを全て picom から除外するには:&lt;br /&gt;
 $ picom &amp;lt;other arguments&amp;gt; --focus-exclude &amp;quot;! name~=&#039;&#039;&amp;quot;&lt;br /&gt;
次のコマンドを実行することで slock のウィンドウ id を確認できます:&lt;br /&gt;
 $ xwininfo &amp;amp; slock&lt;br /&gt;
画面の何処かを (slock が終了する前に) 素早くクリックして、パスワードを入力してロックを解除してください。以下のようにウィンドウ id が出力されます:&lt;br /&gt;
 xwininfo: Window id: 0x1800001 (has no name)&lt;br /&gt;
取得できたウィンドウ id を使って picom から除外するには:&lt;br /&gt;
 $ picom &amp;lt;any other arguments&amp;gt; --focus-exclude &#039;id = 0x1800001&#039;&lt;br /&gt;
もしくは、設定ファイルを使う場合:&lt;br /&gt;
 focus-exclude = &amp;quot;id = 0x1800001&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
=== ちらつき ===&lt;br /&gt;
&lt;br /&gt;
デフォルトの {{ic|picom.conf}} を使っているときに最大化されたウィンドウでちらつきが発生する場合、以下のオプションで解決できます:&lt;br /&gt;
&lt;br /&gt;
 unredir-if-possible = false;&lt;br /&gt;
&lt;br /&gt;
詳しくは [https://github.com/chjj/compton/issues/402] を参照。&lt;br /&gt;
&lt;br /&gt;
=== フルスクリーン画面でティアリングが発生する ===&lt;br /&gt;
&lt;br /&gt;
フルスクリーンでビデオ再生するとティアリングが発生する場合、[[Picom#ちらつき|ちらつき]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== xft フォントを使用した場合にラグが発生する ===&lt;br /&gt;
&lt;br /&gt;
[[xterm]] や [[urxvt]] などのアプリケーションで Xft フォントを使用した場合に酷いラグが発生する場合、以下のオプションを使ってみてください:&lt;br /&gt;
&lt;br /&gt;
 --xrender-sync --xrender-sync-fence&lt;br /&gt;
&lt;br /&gt;
もしくは xrender バックエンドを使ってみてください。&lt;br /&gt;
&lt;br /&gt;
詳しくは [https://github.com/chjj/compton/issues/152] を参照。&lt;br /&gt;
&lt;br /&gt;
=== AMD の Catalyst ドライバーを使ってる場合に画面に問題が発生する ===&lt;br /&gt;
次の引数を付けて picom を起動するか:&lt;br /&gt;
&lt;br /&gt;
 --backend xrender&lt;br /&gt;
&lt;br /&gt;
{{ic|picom.conf}} ファイルに以下を追加してください:&lt;br /&gt;
&lt;br /&gt;
 backend = &amp;quot;xrender&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
詳しくは https://github.com/chjj/compton/issues/208 を参照。&lt;br /&gt;
&lt;br /&gt;
=== タブ化したウィンドウ (影と透過) ===&lt;br /&gt;
&lt;br /&gt;
透過されたウィンドウがタブ化されているとき、下のタブになっているウィンドウが見えてしまいます。タブ化されたウィンドウそれぞれが影を描画するため、影が重なります。&lt;br /&gt;
&lt;br /&gt;
既存の [https://projects.archlinux.org/svntogit/community.git/tree/trunk/compton.conf?h=packages/compton#n80 shadow-exclude リスト] に以下を追加することで重複する影の問題を解決できます:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;_NET_WM_STATE@:32a *= &#039;_NET_WM_STATE_HIDDEN&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
また、{{ic|picom.conf}} に以下を追加することで下のタブになっているウィンドウを描画しないようにできます:&lt;br /&gt;
&lt;br /&gt;
 opacity-rule = [&lt;br /&gt;
   &amp;quot;95:class_g = &#039;URxvt&#039; &amp;amp;&amp;amp; !_NET_WM_STATE@:32a&amp;quot;,&lt;br /&gt;
   &amp;quot;0:_NET_WM_STATE@[0]:32a *= &#039;_NET_WM_STATE_HIDDEN&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;0:_NET_WM_STATE@[1]:32a *= &#039;_NET_WM_STATE_HIDDEN&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;0:_NET_WM_STATE@[2]:32a *= &#039;_NET_WM_STATE_HIDDEN&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;0:_NET_WM_STATE@[3]:32a *= &#039;_NET_WM_STATE_HIDDEN&#039;&amp;quot;,&lt;br /&gt;
   &amp;quot;0:_NET_WM_STATE@[4]:32a *= &#039;_NET_WM_STATE_HIDDEN&#039;&amp;quot;&lt;br /&gt;
 ];&lt;br /&gt;
&lt;br /&gt;
{{ic|URxvt}} はあなたが使っているターミナルの Xorg クラスに置き換えてください。{{ic|xprop WM_CLASS}} コマンドを実行してからウィンドウをクリックすることでウィンドウのクラスを確認できます。&lt;br /&gt;
&lt;br /&gt;
詳しくは [https://www.reddit.com/r/unixporn/comments/330zxl/webmi3_no_more_overlaying_shadows_and_windows_in/] を参照。&lt;br /&gt;
&lt;br /&gt;
{{Warning|i3 と kitty を使っている場合、i3 のリロード時に全ての kitty のタブ化されたインスタンスがフリーズします (2019年6月4日現在) [https://github.com/kovidgoyal/kitty/issues/1681]。}}&lt;br /&gt;
&lt;br /&gt;
=== xsetroot で背景色が変えられない ===&lt;br /&gt;
現在、picom は {{ic|xsetroot}} の {{ic|-solid}} オプションと互換性がありません。解決方法としては {{Pkg|hsetroot}} を使って背景色を設定するようにしてください:&lt;br /&gt;
&lt;br /&gt;
 $ hsetroot -solid &#039;#000000&#039;&lt;br /&gt;
&lt;br /&gt;
詳しくは https://github.com/chjj/compton/issues/162 を参照。&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA のプロプライエタリドライバーでちらつきが発生する ===&lt;br /&gt;
{{ic|picom.conf}} で以下のように設定してみてください:&lt;br /&gt;
 vsync = true&lt;br /&gt;
&lt;br /&gt;
=== Nvidia のプロプライエタリドライバーと FullCompositionPipeline でラグが発生する ===&lt;br /&gt;
&lt;br /&gt;
[[#AMD の Catalyst ドライバーを使ってる場合に画面に問題が発生する]] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Nvidia のプロプライエタリドライバーで Xorg によって GPU のメモリリークが発生する ===&lt;br /&gt;
&lt;br /&gt;
[[#AMD の Catalyst ドライバーを使ってる場合に画面に問題が発生する]] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== サスペンド後の Slock ===&lt;br /&gt;
systemd サービスを使ってサスペンド・ハイバネート時に slock を起動している場合、復帰後に画面のロックが解除されてしまうことがあります。問題を解決するには、ウィンドウフェーディングを無効化してください:&lt;br /&gt;
 $ picom --no-fading-openclose&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
*[https://ubuntuforums.org/showthread.php?t=2144468&amp;amp;p=12644745#post12644745 Howto: Using Picom for tear-free compositing on XFCE or LXDE]&lt;/div&gt;</summary>
		<author><name>Takabayap</name></author>
	</entry>
</feed>