Penskalaan jendela per aplikasi di Xorg untuk tampilan dpi tinggi

28

Saya menjalankan Gnome Shell dengan monitor 4k dan ada beberapa aplikasi yang saya gunakan yang tidak berskala sama sekali dengan resolusi tinggi.

Berikut ini adalah contoh LMMS, aplikasi yang belum porting Qt 5, sehingga tidak memiliki kemampuan penskalaan dpi tinggi:

Tangkapan layar
(Klik gambar untuk memperbesar)

Apakah ada cara untuk skala jendela X tertentu tanpa mengubah resolusi tampilan?

Solusi saya saat ini adalah setengah dimensi dari resolusi tampilan saya, tetapi ini menurunkan resolusi setiap aplikasi lain yang mendukung penskalaan dpi yang tepat:

Tangkapan layar

MetaDark
sumber

Jawaban:

20

Saya akhirnya berhasil menemukan solusi yang menskala aplikasi lama tanpa penurunan visual atau kinerja yang nyata.

Berkat kaueraal, kini Anda dapat mengatur skala aplikasi lama menggunakan run_scaled. Anda dapat memperoleh skrip dari halaman GitHub- nya atau melalui AURrun_scaled-git jika Anda menjalankan Arch Linux.

Berikut adalah contoh dari dua aplikasi yang berjalan berdampingan:

  • Firefox dengan dukungan HiDPI di sebelah kiri
  • LMMS berjalan dengan run_scaleddi sebelah kanan

masukkan deskripsi gambar di sini

Saya menemukan skrip ini melalui Arch Linux Wiki .

MetaDark
sumber
Di Ubuntu, Anda perlu menginstalxpra
Pablo A
Program ini sangat memakan CPU.
L29Ah
6

Tanpa melihat masalah persis yang Anda temui saya sarankan menggunakan

GDK_SCALE=x

atau

GDK_DPI_SCALE=x

Sebelum memulai setiap aplikasi. Anda mungkin harus mengubah .desktopfile secara manual atau menjalankan shell Anda dari awal dengan perintahGDK_SCALE=x

GDK_SCALEnamun hanya izinkan nilai interger, izinkan nilai GDK_DPI_SCALE=xdesimal seperti misGDK_DPI_SCALE=0.66

Untuk aplikasi berbasis SDK lain ada kemungkinan pengaturan yang sama untuk masing-masing kit. Namun karena masalah Anda adalah dengan desktop gnome saya akan memberikan solusi ini.

Saya belum mencoba dengan monitor 4k, tetapi menjalankan GDK_DPI_SCALE=1.66 gnome-calculatorakan menunjukkan solusinya.

Sumber: https://developer.gnome.org/gtk3/stable/gtk-x11.html

Maeve Kennedy
sumber
1
Terima kasih atas jawabannya, tetapi ini tidak berfungsi untuk aplikasi Xlib.
Ho1
3
Terima kasih atas jawabannya, tetapi ini bukan yang sebenarnya saya cari. Saya hanya mengalami masalah penskalaan dengan aplikasi yang tidak menggunakan GTK3. Saya berharap menemukan solusi yang dapat diterapkan pada aplikasi X apa pun.
MetaDark
wiki.archlinux.org/index.php/HiDPI memiliki info yang mungkin berguna untuk aplikasi GTK dan non-GTK. Saya akan membuat jawaban untuk itu, tetapi saya tidak ingin menuliskan info itu ke posting jawaban.
Emmaly Wilson
2

Saya memiliki aplikasi yang memunculkan banyak jendela, dan saat ini saya tidak dapat menggunakannya xprasebagaimana diperlukan oleh solusi run_scaled yang diterima. Saya juga tidak bisa mentolerir penskalaan 2x gnome-tweak-tool. Terlalu besar Butuh 1,5x.

Saya telah menemukan bahwa klien java tigerVNC mendukung penskalaan tampilan sisi klien sebesar 150%.

Jadi saya memulai vncserver dengan ukuran 2 / 3rds dan windows manager minimal:

vncserver -geometry 2520x1380 -xstartup ~/.vnc/xstartup-mwm

Saya kemudian terhubung dengan klien java TigerVNC v1.7 (1.8.0 secara konsisten crash untuk saya):

java -jar VncViewer-1.7.0.jar -ScalingFactor=150

Selain dari commandline, Anda dapat menekan F8untuk mendapatkan VNC Viewer Options. Layar-> Faktor Penskalaan-> 150%. Ini skala resolusi dari 2 / 3rds dari 4k ke 4k.

masukkan deskripsi gambar di sini

MWM kuno di VNC dengan penskalaan 150% di sebelah kiri. Desktop Fancy Gnome (asli) di sebelah kanan, tanpa scaling. Anda akan melihat ikon-ikon kecil. Gnome jika tidak disesuaikan untuk 4k dengan 1.5x Font Scaling di gnome-tweak-tool, tetapi ikon tidak skala. Ini hanyalah contoh aplikasi - ikon dan penskalaan dalam aplikasi yang mendorong saya dengan cara ini jauh lebih buruk.

Sayangnya ini adalah seluruh desktop berskala 1,5x dengan window manager yang terpisah. Ini menciptakan area tembok yang bagus untuk aplikasi multiwindow saya, tetapi menjengkelkan memiliki pengelola jendela kedua. Meskipun demikian VNC adalah sesuatu yang saya kenal dari penggunaan lama, dan ini menendang ke laptop dengan mudah, jadi mungkin ini bisa digunakan.

stevesliva
sumber
1

Vncdesk memberi Anda solusi berdasarkan server klien VNC lokal (lihat di sini )

Ini bukan solusi lengkap bagi saya karena memberikan beberapa masalah jika aplikasi memerlukan window manager.

Sergio Llorente
sumber