HiDPI και πολλαπλές οθόνες

Χαιρετώ την παρέα και παραθέτω ένα προβληματισμό μου, μήπως και βρεθεί κάποια λύση!

Αν δεν ενδιαφέρεστε για την ανιαρή ιστορία μου, απλά προχωρήστε κατευθείαν στο πρόβλημα!

My broken monitor story

Έχει κάποια χρόνια που χρησιμοποιώ 2 οθόνες στο pc μου, και όλα πήγαιναν καλά. Μέχρις ότου μια μέρα η μία από τις 2 απλά δεν άνοιγε :scream:. Αλλά δεν αφορά αυτό το παρόν post, απλά είναι η εισαγωγή! :grinning:

Η εταιρεία που είχα πάρει λοιπόν τις οθόνες μου ζητάει να τους στείλω φωτογραφία την οθόνη να βεβαιωθούν ότι δεν είχε πάθει ζημιά το πάνελ (γιατί τέτοιου είδους ζημιές δεν καλύπτονται) και εφόσον το επιβεβαίωσε ξεκίνησε η διαδικασία της αντικατάστασης. Ε επειδή το μοντέλο της οθόνης που είχα ήταν παλιό και δεν υπήρχε πλέον σε stock, μου στείλανε μια καλύτερή της. Και κάπως έτσι βρέθηκα με 2 οθόνες εκ των οποίων η μία είναι HiDPI monitor.

Και εδώ αρχίζει το ψητό! Στις οθόνες HiDPI, εάν δεν μεγεθύνεις τα πράγματα, τότε δεν είναι και πολύ ευχάριστη η εμπειρία της θέασης. Ψάχνοντας αρκετά το θέμα, δοκίμασα διάφορα. Αλλά δεν είχα και φοβερή επιτυχία.


Εντάξει δεν έβαλα wayland, αλλά η φωτό αντικατοπτρίζει λίγο τις δοκιμές που έκανα :joy:)

Ένας τρόπος που προσπάθησα να πετύχω το αποτέλεσμα, ήταν να δώσω το argument --scale στην εντολή xrandr όπως επίσης το --dpi. Δυστυχώς δεν το πέτυχα…

Εν τέλει ο μόνος τρόπος που κατάφερα να βλέπω φυσιολογικά στην καινούργια οθόνη ήταν βάζοντας στο .Xresourses την παρακάτω γραμμή

Xft.dpi: 144

Και ενώ παίζει μια χαρά, η δεύτερη οθόνη τώρα (η ταπεινής ανάλυσης :joy:) τα δείχνει αρκετά μεγεθυμένα τα πράγματα… και δεν είναι τώρα σε αυτή, πολύ ευχάριστη η εμπειρία θέασης :cry:.

Κάποια χαρακτηριστικά του συστήματός μου:

  • Distro: Arch Linux :arch:

  • Display Server: Xorg :xorg:

  • Window manager: i3 :tmux: (not the right emoji but it looks like tilling windows!)

  • GPU: Nvidia GeForce 1050Ti :pci:

  • GPU drivers: Nvidia proprietary (χρειάζονται για CUDA)

Αυτά! Ό,τι άλλο θεωρείτε πως είναι χρήσιμο να αναφέρω πείτε!

Ευχαριστώ και μόνο για την ανάγνωση του σεντονιού!

Εδώ ταιριάζει η παροιμία με την ολόκληρη πίτα και τον χορτάτο σκύλο. Σε καθημερινή γλώσσα, θα ήθελες ο display server να κάνει ταυτόχρονα δύο εντελώς διαφορετικά πράγματα, και μάλιστα σε ένα περιβάλλον που έχει σχεδιαστεί κυρίως για χρήση τερματικού (και πρακτικά καταλήγει αχταρμάς τερματικού και GUI). Θα σε στεναχωρέσω λίγο αλλά αυτό δε γίνεται.

Αυτό που μπορείς να κάνεις είναι να ορίσεις την επιθυμητή ανάλυση για την HiDPI οθόνη σου (όπως το έκανες με το .Xresources) και μετά να κάνεις downscale την ανάλυση μόνο στην non-HiDPI οθόνη με το xrandr. Αυτό έχει το μειονέκτημα ότι το downscale δημιουργεί «θολούρες» αλλά δεν υπάρχει κάτι καλύτερο που μπορεί να γίνει.

Εναλλακτικά, μπορείς να το κάνεις αντίστροφα. Να ορίσεις την επιθυμητή ανάλυση για την non-HiDPI οθόνη και να κάνεις upscale μόνο για την HiDPI. Και στις δύο περιπτώσεις θα παιδευτείς μέχρι να βρεις το scaling που θα σε ικανοποιεί και κατά 99,9% το αποτέλεσμα δε θα είναι το ιδανικό που επιθυμείς. Επιπλέον, ενδέχεται να έχεις θεματάκια με εφαρμογές που αγνοούν εντελώς το .Xresources.

Ρίξε διάβασμα εδώ για να πάρεις μια ιδέα, και λίγο ακόμα εδώ.

Υ.Γ. Αν σκοπεύεις να παραμείνεις σε i3, δοκίμασε το sway που είναι τυπικά η Wayland-compatible εκδοχή του και έτσι θα είσαι future-proof χωρίς να χρειαστεί να μάθεις καινούργιο τρόπο χρήσης.

1 «Μου αρέσει»

Άφησα το dpi ως είχε στο .Xresources και πείραξα το scale factor στην άλλη οθόνη. Έτσι και αλλιώς δεν είναι εξαιρετική η οθόνη οπότε η θολούρα χάνεται λίγο στην κακιά ποιότητα της! Πάντως είναι πολύ καλύτερα τα πράγματα!

Θα επισημάνω την απάντηση ως λύση μιας και είναι ένα workaround. Παρ όλα αυτά αν έχει κάποιος άλλος να προτείνει κάτι, ευπρόσδεκτο!

Ευχαριστώ πολύ!

Ειχα ενα παρομοιο προβλημα και τοτε στο ιντερνετ εβρισκα σα λυση να εχω μια δευτερη gpu. Η μια στην 144 και η αλλη στην 60…

Στην 60 θα μπορουσε να μπει μια πολυ παλια gpu.

Τωρα αν θα δουλευε δεν ξερω γιατι δεν το επιχειρησα ποτε

1 «Μου αρέσει»

Το είχα σκεφτεί αυτό με τις 2 gpu. Όμως η δεύτερη που έχω, λειτουργεί με χαμηλότερους drivers από της 1050. Στο μεταξύ, θα ήθελα να τρέχω τον τελευταίο driver μιας και υποστηρίζει pass-through σε vm’s, αλλά όσο έχω μία και αυτό το feature άχρηστο μου είναι.

Γνωρίζει κανείς τι παίζει να χάνω αν δουλεύω και την 1050 με τους 340 ας πούμε; (αντί για τον 465 που τρέχει τώρα)

Εσυ εχεις το καρπουζι εσυ και το μαχαιρι…

Μπορεις με ενα live usb η με μια προχειρη εγκατασταση να δεις μπαμ μπαμ τι γινεται τι χανεις τι κερδιζεις και να προχωρησεις μετα στην κανονικη εγκατασταση

1 «Μου αρέσει»

Αυτό το νήμα έκλεισε αυτόματα 2 ημέρες μετά την τελευταία απάντηση. Δεν επιτρέπονται πλέον νέες απαντήσεις.