XRandR DPI di linux multihead

18

Saya memiliki beberapa layar dengan pengaturan DPI yang benar berbeda. Saya dapat menggunakan xrandr --dpi Xuntuk mengubah DPI untuk semua layar, apakah mungkin untuk mengatur DPI yang berbeda untuk setiap layar? Bagaimana cara saya membuat aplikasi menghitung ulang ukuran font ketika mereka dipindahkan ke layar yang berbeda? xrandr --dpi Xhanya mempengaruhi windows baru, windows lama masih menggunakan nilai DPI lama.

Marek Sapota
sumber

Jawaban:

3

Saya belum mencobanya, tetapi ada jawaban yang terlihat bagus di sini yang menyarankan menggunakan xrandropsi scale yang akan memberi Anda efek yang Anda cari.

UPDATE: Ini berfungsi, saya sudah menulis instruksi ringkasan di sini .

Jamie Kitson
sumber
3
Tolong, selalu salin dan tempel instruksi ke jawabannya. Ini pencegahan terhadap hilangnya informasi pertanyaan historis. Cepat atau lambat, sebagian besar area tautan eksternal MATI, dan itu akan membuat jawaban Anda sia-sia ... Lagi pula, sebagian besar pengguna ingin melihat jawaban di satu situs, ...
kravemir
Bahkan jika situs itu adalah situs StackExchange lain?
Jamie Kitson
Perintah scale tampaknya sangat intensif GPU bila dibandingkan dengan pengaturan multi-monitor pada Windows 10. Scale berarti penskalaan piksel secara langsung sementara Windows 10 mengubah ukuran teks.
Kun
3

Saya dapat menyelesaikan ini (dengan masalah) menggunakan detail yang diuraikan dalam diskusi github berikut: https://github.com/linuxmint/Cinnamon/issues/3606

Monitor Eksternal QHD (2560X1440), Monitor Internal / Laptop 3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2880
xrandr --output DP-1 --mode 2560x1440 --scale 2x2 --fb 5120x4680

ATAU Monitor Eksternal FHD (1920x1080), Monitor Internal / Laptop 3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2160
xrandr --output DP-1 --mode 1920x1080 --scale 2x2 --fb 3840x3960

Ini bekerja, tetapi ada jumlah yang signifikan untuk merobek monitor resolusi tinggi (laptop) ketika saya memindahkan windows, mengubah ukuran layar atau gulir pada browser. Ini terasa seperti solusi rending perangkat lunak (yang memiliki semua masalah sobek, dan penyegaran lambat).

Pada 2017, Linux / Gnome perlu mengatasi solusi multi-monitor, penskalaan campuran. Baik Windows 10 dan OS X menyelesaikan masalah ini tanpa harus menggunakan perbaikan jalur bantuan pita perintah yang berfungsi sebagian (masalah robek tidak dapat diterima untuk bermain game)

Jeets
sumber
2

Anda dapat mengatur nilai yang berbeda untuk setiap layar dengan:

xrandr --output <Display1> --dpi X --output <Display2> --dpi Y

Untuk melihat apa yang tersedia gunakan saja xrandr, untuk me-restart font. Saya pikir Anda bisa mematikan layar dan menyalakannya lagi dengan:

xrandr --output <Display1> --off
xrandr --output <Display1> --auto

tetapi saya tidak begitu yakin

Agomezl
sumber
2
Sejauh yang saya lihat '--dpi' bukan pengaturan per-output. Ini menghasilkan panggilan ke XRRSetScreenSize untuk seluruh layar. Sejauh yang saya lihat X11 tidak mendukung pengaturan nilai DPI yang berbeda untuk output yang berbeda. Yang akan payah ...
Arnout Engelen
2
Ah, sebenarnya keluaran RandR memang memiliki lebar / tinggi yang ditentukan dalam piksel dan milimeter, sehingga keluaran yang berbeda dapat memiliki DPI yang berbeda - tetapi AFAICS tidak ada panggilan RandR untuk memanipulasi ukuran fisik keluaran.
Arnout Engelen
5
Berbagai sumber termasuk wiki.archlinux.org/index.php/HiDPI#External_displays menyarankan bahwa hanya satu pengaturan DPI yang dimungkinkan sekaligus (dalam satu contoh Xserver tunggal). Perintah xrandr yang disarankan oleh Agomezl tidak berfungsi.
Vladimír Čunát