Posts Tagged with xrandr

posted by qubix on April 2, 2013

Στο προηγούμενο άρθρο έγραψα για τη χρήση του xrandr ώστε να προσθέσω ένα νέο mode για καλύτερη ανάλυση. Αφού το προσθέσω όμως, στην επόμενη επανεκκίνηση θα έχουν εξαφανιστεί όλα...τι κάνουμε λοιπόν? Υπάρχουν 2 εύκολες επιλογές:

1) γράφουμε στο home του χρήστη μας το αρχείο .xprofile στο οποίο βάζουμε τις εντολές του xrandr


xrandr --newmode "1280x1024_75.00"  138.54  1280 1368 1504 1728  1024 1025 1028 1069  -HSync +Vsync
xrandr --newmode "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060 -HSync +Vsync
xrandr --addmode DVI-1 "1280x1024_75.00"
xrandr --addmode DVI-1 "1280x1024_60.00"
xrandr --output DVI-1 --mode "1280x1024_75.00"


Το κακό με μια τέτοια λύση είναι πως οι αλλαγές μας θα τρέξουν σχετικά αργά στο boot proccess και συγκεκριμένα αφότου κάνουμε login οπότε θα δούμε παράθυρα να αλλάζουν μέγεθος ή μπορεί να έχουμε σφάλματα σε applets κλπκλπ

2) Μπορούμε να βάλουμε τις εντολές στον εκάστοτε login manager μας
Για τον GDM μπορούμε να βάλουμε ένα startup script στο /etc/gdm/ ενώ για τον KDM στο /etc/kde4/kdm/Xsetup .Για τον lightdm χρειάζεται να πάμε στο /etc/lightdm/lightdm.conf και να του πούμε πως θέλουμε να τρέξει ένα script το οποίο θα έχει μέσα τις παραπάνω εντολές και το οποίο μπορούμε να το βάλουμε πχ στο /usr/share . Οπότε θα βρούμε τη γραμμή display-setup-script, θα την κάνουμε uncomment και θα προσθέσουμε το path του μαγικού script μας!
Οι παραπάνω επιλογές είναι καλύτερες γιατί τρέχουν το xrandr νωρίτερα στο boot proccess και οι αλλαγές είναι ορατές σε όλους τους χρήστες όχι μόνο σε αυτόν που βάλαμε το .xprofile .
Tέλος, είναι δυνατό να βάλουμε τις ρυθμίσεις μας στο xorg.conf, το οποίο παρότι πλέον είναι άδειο, μπορούμε να το χρησιμοποιήσουμε για τους σκοπούς μας με ασφάλεια. Επίσης θα μπορούσαμε αντί για το /etc/X11/xorg.conf να φτιάξουμε ένα directory (αν δεν υπάρχει ήδη!) /etc/X11/xorg.conf.d/ και εκεί μέσα να βάλουμε τις ρυθμίσεις για την ανάλυση.

Περισσότερα για όλα αυτά στο μπορείτε να βρείτε στο ubuntu wiki και σε πολλά άλλα μέρη στο 'net.

posted by qubix on March 31, 2013

Αφού έστησα ένα pc με ένα debian unstable (siduction) και όλα πήγαν ρολόι, ανακάλυψα πως η ανάλυση του monitor είχε κολλήσει στα 1024x768 ενώ το monitor το ίδιο μπορεί να φτάσει τα 1280x1024.
Αρχικά σκέφτηκα πως το πρόβλημα μπορεί να είναι το οτι σύνδεσα το monitor στην 2η DVI έξοδο της κάρτας ή πως κάτι δεν πήγε καλά γιατί η κάρτα έχει μόνο DVI εξόδους αλλά τίποτα από αυτά δεν έφταιγε.
Απλά..απουσίαζε η ανάλυση που ήθελα. Με το xrandr προσπάθησα να δω τι συμβαίνει:


$xrandr -q
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
DVI-0 disconnected (normal left inverted right x axis y axis)
S-video disconnected (normal left inverted right x axis y axis)
DVI-1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       60.0* 
   800x600        60.3     56.2  
   848x480        60.0  
   640x480        59.9  


Όντως δεν υπήρχε τέτοιο mode που ήθελα. Η λύση είναι απλή: θα το προσθέσω! Το γιατί δεν υπήρχε αυτό ήταν άλλο θέμα και απλά ήθελα να παίξει με τη σωστή ανάλυση η οθόνη. Αρχικά με το gtf (calculate VESA GTF mode lines) θα βρούμε τις παραμέτρους που χρειαζόμαστε:


$gtf 1280 1024 60
   1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz
  Modeline "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync +Vsync


Μετά θα βάλουμε ένα νέο mode στο xrandr το 1280x1024_60.00. To xrandr παίρνει GTF mode lines ακριβώς αυτό που πήραμε με το gtf δλδ! :<br/>


$xrandr --newmode "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060 -HSync +Vsync


Ξανά xrandr -q για να δούμε οτι όντως υπάρχει αυτό το νέο mode:


Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
DVI-0 disconnected (normal left inverted right x axis y axis)
S-video disconnected (normal left inverted right x axis y axis)
DVI-1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       60.0* 
   800x600        60.3     56.2  
   848x480        60.0  
   640x480        59.9  
  1280x1024_60.00 (0x157)  108.9MHz
 h: width  1280 start 1360 end 1496 total 1712 skew  0 clock 63.6KHz
 v: height 1024 start 1025 end 1028 total 1060 clock   60.0Hz


Τώρα χρειάζεται να το προσθέσουμε στο output μας (DVI-1) ώστε να το χρησιμοποιήσει το xrandr και να αλλάξει η ανάλυση:


$xrandr --addmode DVI-1 "1280x1024_60.00"


Για τέλος αρκεί να πούμε στο xrandr να χρησιμοποιήσει το νέο mode:


$xrandr --output DVI-1 --mode "1280x1024_60.00"


Αυτό ήταν όλα φαίνονται ωραία και πάλι!

hyperworks