%entities; ]>
Εγκατάσταση και χρήση του Compiz Fusion Μανώλης Κιαγιάς
manolis@FreeBSD.org
2008 Μανώλης Κιαγιάς $FreeBSD$ $FreeBSD$ &tm-attrib.freebsd; &tm-attrib.general; Η πιο πρόσφατη μόδα στον κόσμο του &linux; είναι αναμφίβολα τα τρισδιάστατα εφέ στο desktop. Αν και η χρησιμότητα τους έχει αμφισβητηθεί, δεν παύουν να εντυπωσιάζουν και να παραμένουν συνέχεια στη δημοσιότητα. Τα εφέ αυτά υλοποιούνται με τη βοήθεια διάφορων προγραμμάτων όπως τα Compiz, Beryl, και το πιο πρόσφατο Compiz Fusion. Δεν χρειάζεται να στερείστε αυτά τα εφέ όταν χρησιμοποιείτε το &os;. Οι οδηγίες που ακολουθούν θα σας βοηθήσουν να εγκαταστήσετε και να ρυθμίσετε στο σύστημα σας τα προγράμματα που απαιτούνται για να έχετε τα πλέον πρόσφατα τρισδιάστατα εφέ που προσφέρει το Compiz Fusion χρησιμοποιώντας (αν χρειάζεται) και την κατάλληλη έκδοση των προγραμμάτων οδήγησης γραφικών της nVidia.
Εισαγωγή H εγκατάσταση του Compiz Fusion από την συλλογή των Ports, είναι μια σχετικά απλή διαδικασία. Χρειάζονται, όμως, και κάποιες επιπλέον ρυθμίσεις, οι οποίες δεν περιγράφονται στην τεκμηρίωση του port. Το άρθρο αυτό θα σας βοηθήσει να ρυθμίσετε τον &xorg; server για τρισδιάστατη λειτουργία, να ρυθμίσετε την nVidia κάρτα γραφικών σας, και τελικά να εγκαταστήσετε και να εκτελέσετε την εφαρμογή compiz. Αφού διαβάσετε αυτό το άρθρο, θα ξέρετε: Πως να ρυθμίσετε το πιο πρόσφατο πρόγραμμα οδήγησης της nVidia (αν απαιτείται) για το σύστημα σας. Πως να ρυθμίσετε το αρχείο xorg.conf για να μπορέσετε να ενεργοποιήσετε τα τρισδιάστατα εφέ. Πως να εγκαταστήσετε και να ρυθμίσετε το Compiz Fusion χρησιμοποιώντας την συλλογή των Ports. Πως να αντιμετωπίσετε συνηθισμένα προβλήματα που αφορούν τα τρισδιάστατα εφέ. Ρύθμιση των προγραμμάτων οδήγησης της nVidia για το &os; Τα τρισδιάστατα εφέ απαιτούν αρκετή ισχύ επεξεργασίας από την κάρτα γραφικών σας. Αν χρησιμοποιείτε κάποια κάρτα γραφικών που βασίζεται σε κυκλώματα της nVidia, θα πρέπει να εγκαταστήσετε και να ρυθμίσετε το πρόγραμμα οδήγησης που παρέχεται από την εταιρία για το &os;, χρησιμοποιώντας την έκδοση που είναι κατάλληλη για το σύστημα σας. Αν χρησιμοποιείτε κάποια άλλη κάρτα, που όμως γνωρίζετε ότι μπορεί να ανταποκριθεί στις απαιτήσεις των εφέ, μπορείτε να παραλείψετε αυτή την ενότητα και να συνεχίσετε με την ρύθμιση του xorg.conf. Προσδιορίστε το σωστό πρόγραμμα οδήγησης Υπάρχουν διάφορες εκδόσεις των προγραμμάτων οδήγησης της nVidia στη συλλογή των ports. Η επιλογή του σωστού προγράμματος για το σύστημα σας, εξαρτάται από το μοντέλο (και την παλαιότητα) της κάρτας γραφικών σας: Οι τελευταίες εκδόσεις των καρτών nVidia, υποστηρίζονται από το port x11/nvidia-driver. Κάρτες της nVidia που ανήκουν στις σειρές GeForce 2MX/3/4 υποστηρίζονται από τα προγράμματα οδήγησης της σειράς 96 τα οποία διατίθενται μέσω του port x11/nvidia-driver-96xx. Ακόμα πιο παλιές κάρτες, όπως οι GeForce και RIVA TNT υποστηρίζονται από τη σειρά 71 των προγραμμάτων οδήγησης, τα οποία διατίθενται μέσω του port x11/nvidia-driver-71xx. Στην πραγματικότητα, η nVidia παρέχει λεπτομερείς πληροφορίες σχετικά με το ποια κάρτα υποστηρίζεται από ποιο πρόγραμμα οδήγησης. Οι πληροφορίες αυτές διατίθενται απευθείας από το δικτυακό τους τόπο: . Εγκατάσταση του προγράμματος οδήγησης της nVidia Αφού καθορίσετε το σωστό πρόγραμμα οδήγησης για την κάρτα σας, η εγκατάσταση είναι το ίδιο απλή με οποιοδήποτε άλλη εφαρμογή της συλλογής των ports. Βεβαιωθείτε ότι έχετε ανανεώσει τη συλλογή των ports, χρησιμοποιώντας τη μέθοδο που προτιμάτε (π.χ. csup, CVSup ή portsnap) πριν εγκαταστήσετε οποιαδήποτε εφαρμογή από τα ports. Τα προγράμματα οδήγησης των καρτών γραφικών, καθώς και τα προγράμματα τρισδιάστατων εφέ, είναι υπό συνεχή εξέλιξη και εμφανίζονται τακτικά νέες εκδόσεις. Για παράδειγμα, για να εγκαταστήσετε το τελευταίο πρόγραμμα οδήγησης: &prompt.root; cd /usr/ports/x11/nvidia-driver &prompt.root; make install clean Το πρόγραμμα οδήγησης θα δημιουργήσει ένα άρθρωμα (module) για τον πυρήνα, το οποίο θα πρέπει να φορτωθεί στην εκκίνηση του συστήματος. Θα χρειαστεί να προσθέσετε την ακόλουθη γραμμή στο αρχείο /boot/loader.conf: nvidia_load="YES" Μπορείτε να φορτώσετε το άρθρωμα απευθείας στον πυρήνα που εκτελείται τη δεδομένη χρονική στιγμή χρησιμοποιώντας την εντολή kldload nvidia, αλλά έχει παρατηρηθεί ότι οι τελευταίες εκδόσεις του &xorg; δεν λειτουργούν σωστά αν το πρόγραμμα οδήγησης δεν φορτωθεί κατά την εκκίνηση του συστήματος. Για το λόγο αυτό, σας συνιστούμε να επανεκκινήσετε το σύστημα σας μετά την προσθήκη της καταχώρησης στο αρχείο /boot/loader.conf. Έχοντας φορτώσει το άρθρωμα στον πυρήνα, χρειάζεται μόνο μια μικρή αλλαγή σε μια γραμμή του αρχείου xorg.conf για να ενεργοποιήσετε το πρόγραμμα οδήγησης. Βρείτε την ακόλουθη γραμμή στο /etc/X11/xorg.conf: Driver "nv" και αλλάξτε την σε: Driver "nvidia" Όταν ξεκινήσετε το γραφικό περιβάλλον με το συνήθη τρόπο, θα δείτε την οθόνη χαιρετισμού της nVidia. Όλα θα πρέπει να λειτουργούν κανονικά. Σημειώστε ωστόσο, ότι στο σημείο αυτό δεν έχει ακόμα ρυθμιστεί το &xorg; για τρισδιάστατα εφέ. Η ρύθμιση αυτή περιγράφεται παρακάτω. Αν και δεν είναι οπωσδήποτε απαραίτητο, μπορείτε επίσης να εγκαταστήσετε τα ports x11/nvidia-xconfig και x11/nvidia-settings. Το πρώτο μπορεί να σας βοηθήσει να ρυθμίσετε το /etc/X11/xorg.conf μέσω της γραμμής εντολών, ενώ το δεύτερο θα σας επιτρέψει να αλλάζετε ρυθμίσεις στην οθόνη μέσα από γραφικό περιβάλλον και ενώ εκτελείται το &xorg;. Ρύθμιση του xorg.conf για τρισδιάστατα εφέ Πριν εγκαταστήσετε και εκτελέσετε το Compiz Fusion, θα πρέπει να προσθέσετε μερικές ρυθμίσεις στο /etc/X11/xorg.conf: Προσθέστε τις ακόλουθες γραμμές για να ενεργοποιηθούν τα εφέ τύπου composite: Section "Extensions" Option "Composite" "Enable" EndSection Εντοπίστε το τμήμα Screen το οποίο θα μοιάζει με το παρακάτω: Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" ... και προσθέστε τις δύο γραμμές που ακολουθούν (μπορείτε να τις βάλετε μετά την καταχώρηση Monitor): DefaultDepth 24 Option "AddARGBGLXVisuals" "True" Εντοπίστε το Subsection το οποίο αναφέρεται στην επιθυμητή ανάλυση οθόνης. Για παράδειγμα, αν θέλετε να χρησιμοποιήσετε ανάλυση 1280x1024, βρείτε την ενότητα που φαίνεται στο παράδειγμα. Αν δεν υπάρχει ενότητα που να αναφέρεται στην επιθυμητή ανάλυση, μπορείτε να την προσθέσετε χειροκίνητα: SubSection "Display" Viewport 0 0 Modes "1280x1024" EndSubSection Για τη λειτουργία των εφέ, απαιτείται βάθος χρώματος 24bits. Αλλάξτε το παραπάνω ώστε να δείχνει: SubSection "Display" Viewport 0 0 Depth 24 Modes "1280x1024" EndSubSection Τέλος, επιβεβαιώστε ότι φορτώνονται τα αρθρώματα glx και extmod μέσα από το τμήμα Module: Section "Module" Load "extmod" Load "glx" ... Αν έχετε εγκαταστήσει το port x11/nvidia-xconfig, μπορείτε να κάνετε τις περισσότερες από τις παραπάνω ρυθμίσεις δίνοντας τις ακόλουθες εντολές (ως root): &prompt.root; nvidia-xconfig --add-argb-glx-visuals &prompt.root; nvidia-xconfig --composite &prompt.root; nvidia-xconfig --depth=24 Αν θέλετε να δείτε όλες τις δυνατότητες του παραπάνω προγράμματος, δώστε την εντολή nvidia-xconfig -A | more. Εγκατάσταση και ρύθμιση Compiz Fusion Η εγκατάσταση του Compiz Fusion είναι το ίδιο απλή με οποιοδήποτε άλλο πρόγραμμα: &prompt.root; cd /usr/ports/x11-wm/compiz-fusion &prompt.root; make install clean Βεβαιωθείτε ότι επιλέξατε τα EXTRA plugins και το EMERALD window decorator από τη λίστα επιλογών που θα εμφανιστεί. Αν χρησιμοποιείτε GNOME, ή έχετε εγκαταστήσει στο σύστημα σας υποστήριξη gconf, μπορείτε επίσης να επιλέξετε gconf support. Με τον τρόπο αυτό, οι ρυθμίσεις των εφέ θα ενσωματωθούν με τις άλλες ρυθμίσεις που έχετε κάνει στο γραφικό περιβάλλον σας, και θα μπορείτε να τις δείτε χρησιμοποιώντας το gconf-editor. Ωστόσο, το Compiz Fusion μπορεί να αποθηκεύσει τις ρυθμίσεις του και σε απλά αρχεία κειμένου, αν δεν επιθυμείτε τέτοιου είδους ολοκλήρωση. Στην περίπτωση αυτή, θα δημιουργηθεί ο κατάλογος .compizconfig μέσα στον προσωπικό σας κατάλογο. Μετά το τέλος της εγκατάστασης, ξεκινήστε το γραφικό περιβάλλον και σε ένα τερματικό, δώστε (ως απλός χρήστης) τις ακόλουθες εντολές: &prompt.user; compiz --replace --sm-disable --ignore-desktop-hints ccp & &prompt.user; emerald --replace & Η οθόνη σας θα τρεμοπαίξει για λίγα δευτερόλεπτα, καθώς θα γίνεται αντικατάσταση του τρέχοντος διαχειριστή παραθύρων σας (π.χ. Metacity αν χρησιμοποιείτε περιβάλλον GNOME) από το Compiz Fusion. Η εφαρμογή Emerald αναλαμβάνει τις διακοσμήσεις των παραθύρων (π.χ. τα πλήκτρα για κλείσιμο, μεγιστοποίηση, ελαχιστοποίηση, τις μπάρες τίτλων κ.ο.κ.). Μπορείτε να μετατρέψετε το παραπάνω σε ένα απλοϊκό script το οποίο να εκτελείται αυτόματα κατά την εκκίνηση του περιβάλλοντος (π.χ. προσθέτοντας το στο Sessions στο γραφικό περιβάλλον GNOME): #! /bin/sh compiz --replace --sm-disable --ignore-desktop-hints ccp & emerald --replace & Αποθηκεύστε το στον κατάλογο σας, για παράδειγμα με το όνομα start-compiz και δώστε του δικαιώματα εκτέλεσης: &prompt.user; chmod +x ~/start-compiz Χρησιμοποιήστε έπειτα τα γραφικά εργαλεία για να το προσθέσετε στα προγράμματα εκκίνησης, Startup Programs (βρίσκεται στο System, Preferences, Sessions στο περιβάλλον εργασίας GNOME). Για να ρυθμίσετε όπως θέλετε τα εφέ, εκτελέστε (πάλι ως κανονικός χρήστης) την εφαρμογή Compiz Config Settings Manager: &prompt.user; ccsm Στο GNOME, μπορείτε να βρείτε την εφαρμογή αυτή στο μενού System, Preferences. Αν επιλέξατε gconf support κατά τη μεταγλώττιση, θα μπορείτε επίσης να δείτε τις ρυθμίσεις σας μέσω του gconf-editor, στην ενότητα apps/compiz. Αντιμετώπιση προβλημάτων του Compiz Fusion Η ακόλουθη ενότητα καλύπτει συχνές ερωτήσεις που αφορούν προβλήματα κατά την εκτέλεση του Compiz Fusion. Έχω εγκαταστήσει το Compiz Fusion, και μετά την εκτέλεση των εντολών που περιγράφετε, τα παράθυρα μου δεν έχουν πλέον μπάρες τίτλων και πλήκτρα ελέγχου. Που είναι το λάθος; Το πιθανότερο είναι ότι σας λείπει κάποια ρύθμιση στο /etc/X11/xorg.conf. Ελέγξτε προσεκτικά το αρχείο, και ειδικά τις καταχωρήσεις DefaultDepth και AddARGBGLXVisuals. Όταν εκτελώ την εντολή για να ξεκινήσει το Compiz Fusion, ο X server τερματίζεται απότομα και επιστρέφω στην κονσόλα. Που είναι το λάθος; Αν ελέγξετε το αρχείο /var/log/Xorg.0.log, θα δείτε πιθανόν κάποια σφάλματα κατά την εκκίνηση του Χ. Το πιο κοινό σφάλμα είναι: (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X (EE) NVIDIA(0): log file that the GLX module has been loaded in your X (EE) NVIDIA(0): server, and that the module is the NVIDIA GLX module. If (EE) NVIDIA(0): you continue to encounter problems, Please try (EE) NVIDIA(0): reinstalling the NVIDIA driver. Αυτό συνήθως συμβαίνει μετά από κάποια αναβάθμιση της εφαρμογής &xorg;. Θα πρέπει να επανεγκαταστήσετε το port x11/nvidia-driver ώστε να μεταγλωττιστεί από την αρχή και το άρθρωμα glx.