Οδηγός χρήσης του Debian/X.Org εξυπηρετητής
Βασικές έννοιες
επεξεργασία- GPU Graphic Processing Unit
- /usr/lib/xorg/modules επεκτάσεις του xorg εξυπηρετητή.
- dexconf Βοήθημα του debian για μη εμπειρους χρήστες στη διαμόρφωση του εξυπηρετητή X. Βασιζόμενο σε καταχωρήσεις της debconf δημιουργεί ένα αρχείο /etc/X11/xorg.conf . Το ερώτημα είναι κατα πόσο μπορούμε να βασιστούμε σε αυτό για αλλαγές ή κρύβονται κάποιες λεπτομέρειες.
- driconf Bοήθημα διαμόρφωσης DRI , opengl οδηγών.
- #X -configure αυτόματη διαμόρφωση του Χ εξυπηρετητή.
Έκδοση συστήματος Χ και εξυπηρετητή Χ
επεξεργασία- Εύρεση έκδοσης εξυπηρετητή
# X -version X.Org X Server 1.4.2 Release Date: 11 June 2008 X Protocol Version 11, Revision 0 Build Operating System: Linux Debian (xorg-server 2:1.4.2-7) Current Operating System: Linux eleniPC 2.6.26-1-686 #1 SMP Sat Nov 8 19:00:26 UTC 2008 i686 Build Date: 30 September 2008 01:48:58AM Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. Module Loader present
Προσέξτε ότι αναφέρεται η έκδοση του X εξυπηρετητή. (1.4.2) και όχι η έκδοση του X συστήματος (πχ X11R4.6) του οποίου ο εξυπηρετητής αποτελεί κομμάτι.
Αρχείο ρύθμισης
επεξεργασίαΤο προκαθορισμένο είναι το xorg.conf. Στο debian δημιουργείται ένα βασικό xorg.cong βασισμένο στις ρυθμίσεις που έχει η βάση debconf και αυτό γίνεται με το dexconf. Το αρχείο αυτό δεν περιέχει section file και section module.
Αλήθεια σε τι μας χρησιμεύει το αρχείο ρύθμισης;
Το αρχείο xorg.conf αποτελείται από έναν αριθμό ενοτήτων(sections) που μπορούν να είναι παρόντες με οποιαδήποτε σειρά. Κάθε ενότητα έχει την μορφή:
Section "SectionName" SectionEntry ... EndSection
Τα ονόματα των sections :
- Files Ονόματα διαδρομών αρχείων
- ServerFlags σημαίες(flags) εξυπηρετητή
- Module Δυναμικό φόρτωμα αρθρωμάτων(module)
- InputDevice Περιγραφή συσκευών εισόδου.
- Device Περιγραγή συσκευών γραφικών.
- VideoAdaptor Περιγραφή προσαρμογέα βίντεο Xv
- Monitor Περιγραφή Οθόνης
- Modes Περιγραφή Video modes
- Screen Διαμόρφωση οθόνης(Screen) ομαδοποίηση οθόνης(monitor) και κάρτας γραφικών
- ServerLayout Συνολική διάταξη ομαδοποίηση screen και συσκευές εισόδου (input devices)
- DRI DRI-ειδική διαμόρφωση
- Vendor Διαμόρφωση ανά κατασκευαστή-πωλητή
Η ενότητα ServerLayout είναι στο υψηλότερο επίπεδο. Σ´αυτή ομαδοποιούμε τις συσκευές εισόδου και εξόδου που θα χρησιμοποιηθούν σε μια σύνοδο.
- Οι συσκευές εισόδου περιγράφονται στις ενότητες InputDevice.
- Οι συσκευές εξόδου συνήθως αποτελούνται από πολλά ανεξάρτητα υπομέρη. (πχ μια γραφική κάρτα και ένα μονιτορ). Αυτά τα πολλά υπομέρη ενώνονται στις ενότητες Screen, και σ'αυτές αναφερόμαστε στην ενότητα ServerLayout . Κάθε ενότητα Screen ομαδοποιεί μια κάρτα γραφικών και ένα μόνιτορ.
- Οι γραφικές κάρτες περιγράφονται στις ενότητες Device
- τα μόνιτορ περιγράφονται στις ενότητες Monitor .
openGL , DRI , mesa
επεξεργασίαΧρήσιμα πακέτα , εντολές
- glxinfo Χρήσιμο για να δούμε μεταξύ άλλων αν είναι ενεργοποιημένο το direct rendering.
Οδηγοί για κάρτες γραφικών
επεξεργασίαΕγκατάσταση οδηγού της ΑΤΙ
επεξεργασίαxorg radeon driver
επεξεργασίαΠρόκειται για ανοιχτό οδηγό για κάρτες τις ati με το chipset radeon που υπάρχει στο πακέτο xserver-xorg-video-radeonhd . Δεν υποστηρίζονται όλες οι κάρτες γι'αυτό προσοχή. .
Δείτε x.org_wiki_radeonhd', radeonhd.org/
fglrx ή catalyst
επεξεργασίαΕίναι κλειστός οδηγός της ATI. Υπάρχουν δύο τρόποι:
- Εγκατάσταση από το αποθετήριο nonfree του debian fglrx driver
- Εγκατάσταση από τον εγκαταστάτη του ιστοτόπου της ATI ATI Catalyst™ Proprietary Linux x86 Display Driver
Περιπτώσεις
επεξεργασίαΣε debian lenny με ATI radeon hd3650 κατά την εγκατάσταση μάλλον αναγνωρίστηκε κάρτα ati radeon και εγκαταστάθηκε ο ανοιχτός οδηγός του xorg. Όμως δεν φαινόταν να αναγνωρίζει την κάρτα και εγκαταστήσαμε fglrx από το μη-ελεύθορο τομέα του αποθετηρίου του debian. Όμως επειδή δεν φανηκε κάποια αλλαγή χρησιμοποιήσαμε την εντολή
#aticonfig --initial --input=/etc/X11/xorg.conf #aticonfig --lsa Ή εντολή αυτή μας δίνει σαν έξοδο την κάρτα γραφικών μας.
που επέφερε κάποιες αλλαγές στο xorg.conf.
Το επόμενο πρόβλημα ήταν να ενεργοποιησουμε το DRI αφού παρατηρούσε ότι το γραφικό περιβάλλον είχε γίνει ποιό αργό!.
Ξεκινάμε από τον πυρήνα. Κάνουμε λήψη του κώδικα και βλέπουμε ότι υπάρχει άρθρωμα ATI Radeon στο τμήμα DRI σαν άρθρωμα. Συνεπώς μια σκέψη είναι να φορτώνεται αυτό το άρθρωμα κατά την εκκίνηση .Οπότε προσθέτουμε στο αρχείο /etc/modules τη λέξη radeon
Κατόπιν σκέφτομαι τι να βάλω στο Section "Module" στο xorg.conf
Κάνωντας επανεκκίνηση εξετάζουμε
- #dmesg | grep drm
- #less /var/log/Xorg.0.log
- #glxinfo
Αποφασίζουμε να ακολουθήσουμε τις οδηγίες του ati linux wiki. Δημιουργώντας όμως εκ νέου το άρθρωμα fglrx από το πακέτο fglrx-source παρατηρήσαμε ότι δεν μπορούμε να το εισάγουμε στον πηρύνα με insmod. Ο λόγως είναι ότι το εμποδίζει το radeon που υπάρχει στον linux kernel. Aν κάνουμε την αλλαγή στο /etc/modules και βάλουμε το fglrx με επανεκκίνηση θα είναι ενεργοποιημένο πλεον το DRI! κάτι που θα το καταλάβουμε άμμεσα από την βελτίωση της απόκρισης του παραθυρικού περιβάλλοντος.
Τι πρέπει να προσέξουμε .
- Οτι ο πυρήνας του linux περιέχει το δικό του άρθρωμα radeon dri το οποίο πιθανώς να θέλουμε να αντικαταστήσουμε με μια άλλη έκδοση πχ του πακέτου fglrx-source
- πακέτα όπως το lib-mesa-dri παρέχουν βιβλιοθήκες πχ radeon_dri.so που χρησιμοποιούνται μάλλον για προγραμματισμό , δεν είναι αρθρώματα του X ούτε του του πυρήνα.
- στο debian το dexconf φροντίζει για την δημιουργία ενός απλού xorg.conf το οποίο κρύβει πολλές προκαθορισμένες τιμές του xorg τις οποίες μπορούμε να τις δούμε να τίθονται στο /var/log/Xorg.0.log
Μεταγλώττιση xorg
επεξεργασία
- xserver-xorg-input-mouse
- xorg-server
- xserver-xorg-input-kbd
Δοκιμές απόδοσης
επεξεργασίαΧρησιμοποιουμε την ομάδα [δοκιμών phoronix]. Μπορούμε να κάνουμε λήψη των δοκιμών προσθέτωντας στο /etc/apt/sources.list το αποθετήριο deb http://www.phoronix-test-suite.com/releases/repo pts.debian/ και να κάνουμε λήψη του πακέτου phoronix-test-suite Χρήσιμες εντολές :
- phoronix-test-suite list-tests
- phoronix-test-suite benchmark <testname>
- phoronix-test-suite install <testname>
- phoronix-test-suite info <testname>
Δοκιμές/αλλαγές οδηγών και εξυπηρετητών
επεξεργασίαΥπάρχουν διάφοροι οδηγοί καρτών γραφικών και πρόσθετα του X εξυπηρετητή και διάφορες εκδόσεις που μπορεί να θέλουμε να δοκιμάσουμε.
Ένα ερώτημα που τίθεται είναι αν η απεγκατάσταση πχ των fglrx πακέτων από το debian συστημά μας προκειμένου πχ να δοκιμάσουμε τον radionhd οδηγό θα δημιουργούσε προβλήματα στο σύστημα μας.
Όσον αφορά την τρέχουσα συνοδό μας η απάντηση είναι αρνητική.Με την απεγκατάσταση αυτών των πακέτων θα αφαιρεθούν κάποια αρθρώματα του πυρήνα (/lib/modules/..) και του εξυπηρετητή (/usr/lib/xorg/modules/..) .Ο πυρήνας κατά την εκκίνηση του φόρτωσε το κατάλληλο άρθρωμα και ο X εξυπηρετητής θα φορτώσει τα κατάλληλα αρθρώματα κατά την εκκίνηση του ,συνεπώς η λειτουργία τους δεν θα διαταραχτεί κατά την τρέχουσα σύνοδο. Αυτό όμως θα συμβεί κατά την επαννεκκινηση αν δεν έχουμε φροντίσει να τα αντικαταστήσουμε με άλλα.
Παράδειγμα fglrx -> radeonhd
επεξεργασία- Αφαιρούμε τα εγκατεστημένα πακέτα fglrx-* . Βεβαιωθείται ότι έχετα αφαιρέσει τυχών fglrx αθρώματα που δημιουργήσατε με μεταγλώττιση.
- Εγκαθιστούμε το πακέτο xserver-xorg-video-radeonhd
- Εκτελούμε την εντολή dpkg-reconfigure -phigh xserver-xorg για να δημιουργηθεί ένα καινούργιο /etc/X11/xorg.conf
- Κάνουμε επαννεκκίνηση του υπολογιστή.
- Κάνουμε τις παρακάτω αλλαγές στο xorg.conf
Section "Device" ... Driver "radeonhd" Option "DRI" EndSection .... Section "Module" Load "dri" EndSection
Section "DRI" Mode 0666 EndSection
- Κατόπιν πρέπει να φροντίσουμε να φορτωθει το module radeon από τον πυρήνα , δίνοντας modprobe radeon και παρακολουθώντας με tail -f /var/log/dmesg για να δούμε αν θα αναγνωριστεί η κάρτα μας,
Πάντως (02/2009) μην περιμένετε να δουλέψει το dri αν δεν έχετε τελευταίες εκδόσεις του radeonhd και του πυρήνα.
Αποσφαλμάτωση
επεξεργασίαΕργαλεία γραμμής εντολών
επεξεργασία- X -version
- #less /var/log/Xorg.0.log
- # dmesg | grep [κ.ε] // όπου κ.ε:κανονική έκφραση
Κανάλια irc
επεξεργασία- #phoronix
- #ati
- #xorg
- #debian DpkgBot
- #radeonhd Συζήτησεις για τον ανοιχτό οδηγό για ATI κάρτες γραφικών
Δημόσιες συζητήσεις
επεξεργασίαΔιαχείριση σφαλμάτων
επεξεργασία- Διαχείριση σφαλμάτων για τον κλειστό οδηγό της ATI για το linux, fglrx
- Διαχείρηση σφαλμάτων για τους ανοιχτούς οοηγούς -μέρος του freedesktop εγχειρήματος
Σχετικά πακέτα
επεξεργασίαATI
επεξεργασία- Το πηγαίου κώδικα πακέτο fglrx source δημιουργεί τα εξής δυαδικά πακέτα:
- fglrx-amdcccle(dummy), fglrx-control Περιέχει πίνακα ελέγχου για τον μη-ελεύθερο οδηγό των γραφικών καρτών AMD/ATI r5xx, r6xx, r7xx
- fglrx-glx, fglrx-glx-ia32 Περιέχει την κλειστή βιβλιοθήκη της ΑΤΙ /usr/lib/libGL.so.1.2 (για 64 και 32 αρχιτεκτονικές)
- fglrx-driver
- /usr/lib/dri/fglrx_dri.so
- /usr/lib/xorg/modules/drivers/fglrx_drv.so
- /usr/lib/xorg/modules/extensions/libdri.so
- fglrx-kernel-src(dummy) , fglrx-source Περιέχει πηγαίο κώδικα του αρθρώματος(module) για τον μη-ελεύθερο οδηγό των γραφικών καρτών AMD/ATI r5xx, r6xx, r7xx (Με μεταγλώττιση μπορείς να δημιουργήσεις το άρθρωμα fglrx.ko)
Nvidia
επεξεργασίαΧρήσιμα
επεξεργασία- xwininfo Χρήσιμο X βοήθημα με το οποίο μπορείς επιλέγοντας με το ποντίκι ένα παράθυρο να πάρεις πληροφορίες γι'αυτό (πχ διαστάσεις, θέση κτλ). Αυτή η πληροφορία θα μπορούσε πχ να σου φανεί χρήσιμη στην διαμόρφωση προγραμμάτων όπως το devilspie.
- dpgk-reconfigure -phigh xserver-xorg Όταν πιστεύεται ότι έχει απορρυθμιστεί το xorg πχ έπειτα από προσπάθεια εγκατάστασης άλλης έκδοσης ή κλειστού server δοκιμάστε να δώσετε αυτήν την εντολή για να πάρει κάποιες προκαθορισμένες τιμές το /etc/X11/xorg.conf
- dpkg-reconfigure xserver-xorg