Monitor Setup Under Linux
Γιάννης Εξηνταρίδης exindari@ermis.math.upatras.gr
Ιούλιος - Αύγουστος 1998
Είναι αλήθεια πως το στήσιμο του monitor σε PC είναι
ένα από τα πιο απλά και εύκολα πράγματα. Τι γίνεται όμως
όταν οι ανήσυχοι χρήστες θέλουν να εκμεταλλευθούν στο
έπακρο τις δυνατότητές του και να μην μείνουν στα
καθιερωμένα ;
Πριν από μερικές εβδομάδες απόκτησα επιτέλους το 17άρι
monitor της ΕΙΖΟ. Πιο συγκεκριμένα το F55S. Το monitor
αυτό επιβεβαιώνει για μια ακόμη φορά τους λόγους για τους
οποίους η EIZO αναδεικνύεται κάθε φορά πρώτη στα
αντίστοιχα συγκριτικά τέστ. Η απόδοση του στα Win είναι
κορυφαία με μέγιστο refresh rate 120 Hz και ειδικά στα
1024χ768 έχει refresh rate 100 Hz. Ολα αυτά βέβαια σε
συνδυασμό με την αντίστοιχη κάρτα γραφικών. Η δικιά μου
(Diamond Stealth 3D 2000 ) συνεργάζεται άψογα με το
monitor με αποτέλεσμα να έχω μια καταπληκτική και
ξεκούραστη εικόνα.
Και αφού έγιναν όλα αυτά ήρθε και η σειρά του Linux. Στο
RedHat 5.0 που διαθέτω, ανάλογες ρυθμίσεις γίνονται μέσω
του configX ( κάτι αντίστοιχο υπάρχει και στις άλλες
διανομές ). Δυστυχώς επειδή το μοντέλο ήταν από τα
σχετικά καινούρια, δεν υπήρχαν αντίστοιχες έτοιμες
ρυθμίσεις έτσι αναγκάστηκα να το δηλώσω σαν GENERIC 17" .
Πράγματι λειτούργησε αλλά....
Αλλά τι; Στα 1024χ768 είχα refresh rate 85Hz και στα
1152χ864 είχα 70Hz. Αυτό ήταν αδιανόητο ! Για ποιό λόγο
να μην μπορεί το Linux να εκμεταλλευθεί στο μέγιστο το
Monitor ; Προφανώς έφταιγε το GENERIC 17". Για βέλτιστες
ρυθμίσες έπρεπε να "παίξω" με το XMetroConfig (αντίστοιχα
Xfree86config, για όποιον δεν διαθέτει MetroX server) το
αρχείο δηλαδή που είναι υπεύθυνο για τις περισσότερες και
πιο ζωτικές ρυθμίσεις των X. Οι ρυθμίσεις που αφορούν το
monitor περιλαμβάνονται στο Section "Monitor". O ρόλος
των γραμμών με τίτλο Identifier και ModelName είναι
μάλλον προφανός. Τα πιο σημαντικά ακολουθούν μετά. Οι
γραμμές που αρχίζουν με τις λέξεις HorizSync, VertRefresh
και ModeLine. Οι δύο πρώτες δίνουν τους ρυθμούς ανανέωσης
(οριζόντιους και κάθετους) που υποστηρίζονται από το
monitor ενώ το Modeline είναι υπεύθυνο για τον ρυθμό
ανανέωσης σε μια συγκεκριμένη ανάλυση. Οπότε λογικά
έπρεπε να φτιάξω τα δικά μου Modelines για να έχω τα
refresh rate που θέλω. Και επειδή οι αριθμοί που
ακολουθούσαν δεν μου έδιναν καμμία ένδειξη για το τι
έπρεπε να κάνω (καθώς έμοιαζαν περισσότερο με κάποιο
γρίφο) κατέφυγα μετά από ψάξιμο στο αντίστοιχο HOWTO. (
Video Timings HOWTO )
Το HOWTΟ πράγματι εξηγεί το τι σημαίνουν αυτοί οι
αριθμοί, δεν είναι όμως και το πιο εύκολο πράγμα η
εξαγωγή τους, καθώς σχεδόν όλοι αφορούν ορισμένες
"φρικτές" τεχνικές λεπτομέρειες. (άσε που πρέπει να είναι
διαιρετοί με το 8). Η αλήθεια είναι πως πρέπει να
πειραματιστεί κανείς αρκετά και να έχει χρόνο στην
διάθεσή του για να πετύχει το ποθητό αποτέλεσμα. Για να
μην περάσω λοιπόν μια μέρα ολόκληρη κάνοντας
πολλαπλασιασμούς και διαιρέσεις αναζήτησα στο Web άλλες
πληροφορίες σχετικά. Υπάρχουν αρκετές διάσπαρτες
πληροφορίες για monitor σε Χ, για Modelines τα οποία λίγο
- πολύ αναφέρουν τα ίδια πράγματα αλλά ...
... βρήκα τελικά ένα μικρό προγραμματάκι που κάνει όλη
αυτή την δουλειά δηλαδή να υπολογίζει Modelines.
Ονομάζεται videogen και δέχεται σαν είσοδο την επιθυμητή
ανάλυση, το μέγιστο Horizontal και Vertical refresh rate
που υποστηρίζεται από το Monitor και το dot clock rate
της κάρτας γραφικών. ( Προσοχή αυτό δεν είναι η συχνότητα
του RAMDAC της κάρτας ). Σαν αποτέλεσμα το videogen σου
βγάζει την μαγική γραμμή που αποτελεί το Modeline.
Σίγουρα υπάρχουν και άλλα τέτοια προγραμματάκια ή και
μερικά έτοιμα scripts που κάνουν παρόμοια δουλειά. Αρκεί
λίγο ψάξιμο στους γνωστούς ftp servers. Επίσης αν είστε
και λίγο τυχεροί μπορεί να βρείτε έτοιμο το Modeline της
οθόνης σας. Υπάρχουν και μερικές άλλες παράμετροι που
δέχεται το Modeline αλλά δεν θα αναφερθώ σε αυτές.
Πληροφορίες υπάρχουν σε man pages και απλά λέω ότι αφορύν
επί μέρους τεχνικά στοιχεία του monitor. Το αποτέλεσμα
των παραπάνω τελικά είναι να βλέπω το KDE σε ανάλυση
1024χ768 με refresh rate 100 Hz.
Να θυμίσω ότι χρειάζεται ιδιαίτερη προσοχή σε ότι αφορά
τα εξαγόμενα refresh rates ( είτε κάνοντας υπολογισμούς
με το χέρι, είτε χρησιμοποιώντας κάποιο πρόγραμμα όπως
έκανα εγώ ). Δεν πρέπει σε καμμία περίπτωση να υπερβείτε
τα specifications του Monitor γιατί το πιθανότερο θα
είναι η καταστροφή του. Σε ακόμη χειρότερη θέση
βρίσκονται παλιά 14" monitor και γενικά όλα τα
ονομαζόμενα fixed - scan, που υποστηρίζουν δηλαδή μόνο
ορισμένες συχνότητες και όχι ένα εύρος συχνοτήτων σε
αντίθεση με όλα τα μοντέρνα τα ονομαζόμενα Multisync ( ή
Multiscan ή Flexscan ή τέλος πάντων όπως τα ονομάζει ο
κάθε κατασκευαστής). Είναι κάτι που ευτυχώς επισημαίνεται
σε οτιδήποτε σχετικό με αυτό το θέμα.
Ανάφερα παραπάνω τον όρο dot clock rate. ( Είναι ο πρώτος
αριθμός στην σειρά των αριθμών που απαρτίζουν το modeline
και οποίος δηλώνει τον μέγιστο αριθμό των pixels που
μπορεί να "γραφτούν" στην οθόνη από την κάρτα ). Δυστυχώς
πολλές κάρτες γραφικών δεν το αναφέρουν στο manual τους.
Μια λύση δίνουν τα Χ. Δίνοντας την εντολή X -probeonly
ανάμεσα στα άλλα επιστρέφεται το μέγιστο dot clock rate
που υποστηρίζεται από την κάρτα ( χωρίς να ξεκινήσουν τα
Χ ). Για την ακρίβεια τα αποτελέσματα του probing
γράφονται στο αρχείο /var/log/Xerrors. Πάντως αν δοθεί
κατά λάθος μεγαλύτερο dot clock rate από το
υποστηριζόμενο μην ανησυχείτε. Απλά τα Χ δεν θα
ξεκινήσουν και θα αναφέρουν σχετικό μήνυμα λάθους.
Ισως αντιληφθήκατε ότι με τον παραπάνω τρόπο παρέχεται
μια τεράστια ευελιξία σε ότι αφορά τις αναλύσεις.
Πράγματι μπορεί άνετα κάποιος να χρησιμοποιήσει
οποιαδήποτε ανάλυση εκτός από τις συνηθισμένες ( 800χ600
, 1024χ768 κ.λπ ) με πάντα την απαραίτητη προϋπόθεση τα
αντίστοιχα refresh rates να είναι υποστηριζόμενα από το
monitor. Αυτό είναι κάτι που δεν πρέπει να εκπλήσσει.
Πράγματι αρκετά DOS-based games τρέχουν σε δικιά τους
ανάλυση εκτός από τις συνηθισμένες. Είναι ένα ευπρόσδεκτο
αποτέλεσμα των low - level ρυθμίσεων.
Τα παραπάνω ελπίζω να βοηθήσουν αρκετούς να πετύχουν το
μέγιστο δυνατό αποτέλεσμα από το monitor τους πάντα με
την απαραίτητη προσοχή. Τo Linux αποδεικνύεται και σε
αυτό τον τομέα αρκετά ισχυρό και ευέλικτο.