Μετάβαση στο περιεχόμενο

Οδηγός χρήσης του Debian/X.Org εξυπηρετητής

Από Βικιβιβλία

Βασικές έννοιες

[επεξεργασία]
  1. GPU Graphic Processing Unit
  2. /usr/lib/xorg/modules επεκτάσεις του xorg εξυπηρετητή.
  3. dexconf Βοήθημα του debian για μη εμπειρους χρήστες στη διαμόρφωση του εξυπηρετητή X. Βασιζόμενο σε καταχωρήσεις της debconf δημιουργεί ένα αρχείο /etc/X11/xorg.conf . Το ερώτημα είναι κατα πόσο μπορούμε να βασιστούμε σε αυτό για αλλαγές ή κρύβονται κάποιες λεπτομέρειες.
  4. driconf Bοήθημα διαμόρφωσης DRI , opengl οδηγών.
  5. #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. Υπάρχουν δύο τρόποι:

  1. Εγκατάσταση από το αποθετήριο nonfree του debian fglrx driver
  2. Εγκατάσταση από τον εγκαταστάτη του ιστοτόπου της 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

[επεξεργασία]
  • Κάνουμε λήψη του πακέτου xorg-dev


  • 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

[επεξεργασία]
  1. Αφαιρούμε τα εγκατεστημένα πακέτα fglrx-* . Βεβαιωθείται ότι έχετα αφαιρέσει τυχών fglrx αθρώματα που δημιουργήσατε με μεταγλώττιση.
  2. Εγκαθιστούμε το πακέτο xserver-xorg-video-radeonhd
  3. Εκτελούμε την εντολή dpkg-reconfigure -phigh xserver-xorg για να δημιουργηθεί ένα καινούργιο /etc/X11/xorg.conf
  4. Κάνουμε επαννεκκίνηση του υπολογιστή.
  5. Κάνουμε τις παρακάτω αλλαγές στο xorg.conf
 Section "Device"
       ...
       Driver   "radeonhd"
       Option   "DRI"
 EndSection
 ....
 Section "Module"
       Load  "dri"
 EndSection
 Section "DRI"
       Mode         0666
 EndSection
  1. Κατόπιν πρέπει να φροντίσουμε να φορτωθει το 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 κάρτες γραφικών

Δημόσιες συζητήσεις

[επεξεργασία]

Διαχείριση σφαλμάτων

[επεξεργασία]

Σχετικά πακέτα

[επεξεργασία]
  • Το πηγαίου κώδικα πακέτο 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)

Χρήσιμα

[επεξεργασία]
  • xwininfo Χρήσιμο X βοήθημα με το οποίο μπορείς επιλέγοντας με το ποντίκι ένα παράθυρο να πάρεις πληροφορίες γι'αυτό (πχ διαστάσεις, θέση κτλ). Αυτή η πληροφορία θα μπορούσε πχ να σου φανεί χρήσιμη στην διαμόρφωση προγραμμάτων όπως το devilspie.
  • dpgk-reconfigure -phigh xserver-xorg Όταν πιστεύεται ότι έχει απορρυθμιστεί το xorg πχ έπειτα από προσπάθεια εγκατάστασης άλλης έκδοσης ή κλειστού server δοκιμάστε να δώσετε αυτήν την εντολή για να πάρει κάποιες προκαθορισμένες τιμές το /etc/X11/xorg.conf
  • dpkg-reconfigure xserver-xorg