Xorg における高 dpi ディスプレイ用のアプリケーションごとのウィンドウ スケーリング

Xorg における高 dpi ディスプレイ用のアプリケーションごとのウィンドウ スケーリング

私は 4k モニターで Gnome Shell を実行していますが、高解像度ではまったくスケーリングされないアプリケーションがいくつかあります。

以下は、まだ Qt 5 に移植されていないため高 dpi スケーリング機能がないアプリケーションである LMMS の例です。

スクリーンショット
(画像をクリックすると拡大します)

ディスプレイ解像度を変更せずに特定の X ウィンドウを拡大縮小する方法はありますか?

現在の解決策は、ディスプレイ解像度の寸法を半分にすることですが、これにより、適切な dpi スケーリングをサポートする他のすべてのアプリケーションの解像度が低下します。

スクリーンショット

答え1

ついに、目立った視覚的劣化やパフォーマンス低下なしに古いアプリケーションを拡張できるソリューションを見つけることができました。

kaueraalのおかげで、古いアプリケーションを を使ってスケールできるようになりましたrun_scaled。スクリプトは、GitHub ページxpraまたは、 Arch Linux を実行している場合はパッケージの一部としてインストールされます。

2 つのアプリケーションを並行して実行する例を次に示します。

  • 左はHiDPI対応のFirefox
  • run_scaled右側でLMMSが実行中

ここに画像の説明を入力してください

私は、このスクリプトをArch Linux ウィキ

答え2

あなたが直面している問題を正確に把握していない場合は、

GDK_SCALE=x

または

GDK_DPI_SCALE=x

各アプリケーションを起動する前に、手動で.desktopファイルを変更するか、シェルからコマンドの前にGDK_SCALE=x

GDK_SCALE整数値のみを許可しますが、 GDK_DPI_SCALE=x小数値も許可します。GDK_DPI_SCALE=0.66

他の SDK ベースのアプリケーションの場合、それぞれのキットに同様の設定がある可能性があります。ただし、問題は gnome デスクトップにあるため、この解決策を提供します。

4K モニターで試したことはありませんが、実行するとGDK_DPI_SCALE=1.66 gnome-calculatorソリューションがデモされます。

ソース:gtk3 は、Windows 7 および Windows Server 2008 でサポートされています。

答え3

VncデスクローカルVNCクライアントサーバーに基づくソリューションを提供します(ここ

アプリにウィンドウ マネージャーが必要な場合、いくつかの問題が発生するため、これは私にとって完全な解決策ではありません。

答え4

GPU アクセラレーション ソリューションを見つけたと思います。westonこれをインストールして実行します。

weston --xwayland --scale=2
DISPLAY=:1 your_app

それでおしまい!

チューニング

注 1: 魔法の数字 が使用されていることにお気づきかもしれませんDISPLAY=:1。ここでの基本的な前提は、メインの xorg ディスプレイが であるということです:0。そうでない場合は、それに応じて調整してください。

注 2: にはデフォルトでトップ パネルがあることに気付いたかもしれませんweston。これを削除したい場合があります。そのためには、次のweston.iniファイルを作成します。

[core]
idle-time=0

[shell]
panel-position=none
locking=false

ウェストンを起動するときに使用しますweston --config=/path/to/weston.ini。 に配置すると、~/.config/weston.iniウェストンが自動的に拾うようになります。man weston.ini詳細については、 を参照してください。

編集: 新しく発見したアプローチについてもここで文書化しました:https://wiki.archlinux.org/title/HiDPI#サポートされていないアプリケーション、_via_weston

関連情報