xrandr:彩度の変更(色の減少、白黒の増加)

xrandr:彩度の変更(色の減少、白黒の増加)

明るさとガンマを変更する方法を知っていますxrandr

xrandr --output eDP1 --brightness 0.8 --gamma "0.90:0.85:0.80"

しかし、彩度を変更する方法、つまり色の量を減らし、スペクトルを白黒に近づける方法は何ですか?

モニターのハードウェア設定ではなく、コマンドラインでこの設定を変更する方法が必要です。

私はDebian 10を使用しています

答え1

2022年現在、最も便利な方法は、次のツールを使用することです。vibrant-cli(これはすべてのX11設定で機能します)。構文は次のとおりです。

Vivid-cli出力[彩度]
Get or set saturation of output.

OUTPUT is the name of the X11 output. You can find this by running xrandr.
SATURATION is a floating point value between (including) 0.0 and (including) 4.0.

    0.0 or 0 means monochrome
    1.0 or 1 is normal color saturation (100%)
    if empty the saturation will not be changed

たとえば、私のラップトップで彩度を30%に下げるには、次のようにします。

活気に満ちたCLI eDP-1 0.3
libvibrant version 1.0.2
Saturation of eDP-1 is 0.300000

libvibrantグラフィックチップセットを識別し、特定のGPU用ドライバがサポートする既知の方法で彩度を変更してみてください。ハードウェア/ドライバがカラーシャープネスの変更をサポートしていない場合は、エラーメッセージが表示されます。
DRM(Direct Render Manager)レイヤーのカラーマネジメントかなり最近:

Color Manager framework defines a color correction property for color space
transformation and Gamut mapping.  
This property is called CTM (Color Transformation Matrix).

This patch adds a new structure in DRM layer for CTM. This structure can be used
by all user space agents to configure CTM coefficients for color correction.

したがって、プラットフォームがオープンソースドライバ1i915および)を介してamdgpuカラー管理をサポートしていることを確認するには、を実行しますxrandr --properties。記載されていない場合、または設定が以下を介してサポートされていないCTM場合(おそらく他の方法で)、下部の関連する注意事項を参照してください。 nVidiaの投稿)彩度を変更してください。出力用に次の行がある場合:CTM: 0CTM
CTM: 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1eDP-1

..................
eDP-1 connected primary.....
..................
link-status: Good 
        supported: Good, Bad
CTM: 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 
        0 1 
CONNECTOR_ID: 78 
        supported: 78

これにより、設定がカラー管理をサポートします。つまり、Color Transform atrixプロパティを設定できます...直接数学を実行したい場合を除き、Mまだ少しの作業です...たとえば、set saturation to(grayscale)コマンドは次のようになります。vibrant-cli0

xrandr --output eDP-1 --set CTM '1431655765,0,1431655765,0,1431655765,0,1431655765,0,1431655765,0,1431655765,0,1431655765,0,1431655765,0,1431655765,0'

1:私はこれら2つのプラットフォームにのみアクセスできます(AMD独自のドライバを使用したことがありません。サポートしているかどうかはわかりませんCTM)。 GPU の場合 (nVidia ドライバを使用するとき)、以下を通じて設定できるnVidia属性があるようです。digital vibranceNVIDIAコントロールパネルまたは、たとえばターミナルで実行しますnvidia-settings -a [gpu:0]/DigitalVibrance[DFP-1]=235(正しい構文はドキュメントを参照)。nouveau同じ属性がサポートされているかどうかはわかりません。

関連情報