2011/5/1 Emmanouel Kapernaros <mano...@kapcom.gr>:
> Άνοιξα θέμα στο φόρουμ
> http://forum.ubuntu-gr.org/viewtopic.php?f=4&p=184083#p184083 αλλά είπα να
> στείλω και εδώ για να το δουν περισσότεροι μιας και με ψιλο-καίει!
>

Θα χρησιμοποιήσω την ευκαιρία να αναφερθώ στα ζητήματα με κάρτες
γραφικών και Ubuntu 11.04.

Η πλειοψηφία των υπολογιστών έχει κάρτα γραφικών από έναν από τους 3
κατασκευαστές, Intel, AMD/ATI ή NVidia.

Κάθε εφαρμογή 3D χρησιμοποιεί μια ή περισσότερες «επεκτάσεις»
(extensions) που παρέχει η κάρτα γραφικών και ο οδηγός (driver) της
κάρτας. Για να δούμε το σύνολο των επεκτάσεων που υποστηρίζει η κάρτα
μας,

sudo apt-get install mesa-utils
glxinfo

και η glxinfo θα δείξει όλες τις υποστηριζόμενες επεκτάσεις. Τυπικά,
κάθε μια επέκταση έχει υλοποίηση στο υλικό της κάρτας γραφικών, οπότε
η ύπαρξη μιας επέκτασης σημαίνει ότι η κάρτα γραφικών παρέχει τη
λειτουργία. Υπάρχουν μερικές περιπτώσεις ότι μια επέκταση είναι
υλοποιημένη σε λογισμικό, από τον οδηγό (driver).
Ανάλογα με την εφαρμογή 3D, μπορεί να χρειάζεται ένα σύνολο από
επεκτάσεις. Αν η εφαρμογή είναι απαιτητική, τότε θέλει πολύ
περισσότερες επεκτάσεις.
Τυπικά, για το Unity και τα εφέ που απαιτεί, πρέπει να υπάρχει ένα
σύνολο από επεκτάσεις που απαραίτητα χρειάζεται.
Αν δείτε μια τέτοια λίστα επεκτάσεων για Unity, τότε πείτε και εδώ.
(Θέλει κάποια δουλειά για να δημιουργηθεί η λίστα, και νομίζω ότι το
Unity χρησιμοποιεί εσωτερικά τέτοια τεχνική για να μάθει αν μπορεί να
τρέξει σε ένα σύστημα).

A. Για την Intel: υπάρχουν τέτοιες κάρτες μόνο ενσωματωμένες στη
μητρική, και χρησιμοποιούν μέρος της κύριας μνήμας RAM του υπολογιστή.
Έχουν σχετικά χαμηλότερες επιδόσεις από AMD/ATI και NVidia, ωστόσο
έχουν χαμηλή κατανάλωση.
Οι παλιές κάρτες Intel έχουν μικρές επιδόσεις, και δεν υποστηρίζουν
αρκετές επεκτάσεις. Για παράδειγμα, επεκτάσεις σχετικά με shader δεν
υποστηρίζονται.
Νέες κάρτες γραφικών της Intel είναι αρκετά καλύτερες, ιδίως οι κάρτες
για i5, i7, που συνεργάζονται πολύ στενά με τον επεξεργαστή.
Αν έχετε υπολογιστή με i3, i5 ή i7 είναι πολύ σημαντικό να βάλετε
Ubuntu 11.04 διότι υποστηρίζει πολύ καλύτερα το υλικό του υπολογιστή
σας.

Β. AMD/ATI: Πριν από 1-2 χρόνια, η AMD/ATI (είναι μία εταιρία τώρα)
άρχισε να δίνει πληροφορίες για τον προγραμματισμό των καρτών
γραφικών, με αποτέλεσμα να δημιουργηθεί ένα νέο έργο (με οικονομική
υποστήριξη από AMD/ATI) για την παροχή ανοιχτού οδηγού. Πιο πριν
υπήρχαν δύο έργα (που εξακολουθούν να υπάρχουν): ανοιχτός οδηγός που
δημιουργήθηκε δίχως την υποστήριξη της ATI και ο κλειστός οδηγός της
AMD/ATI (τώρα ATI).

Ανάλογα με την κάρτα σας, το Ubuntu επιλέγει τι είναι καλύτερο. Αν για
κάποιο λόγο θέλετε να αλλάξετε, τότε μπορείτε να το κάνετε από το
Σύστημα→Διαχείριση→Πρόσθετοι οδηγοί. Αυτός είναι ο πιο εύκολος τρόπος
για αλλαγή από το ένα στο άλλο. Είναι και ο υποστηριζόμενος τρόπος.

Τυπικά, αν η κάρτα είναι πολύ καινούρια, τότε χρειάζεται ο κλειστός
οδηγός, αν είναι παλαιότερη κάρτα μπορεί να λειτουργήσει και με τον
ανοιχτό οδηγό, και αν είναι πολύ παλιά κάρτα, τότε αναγκαστικά θέλει
τον ανοιχτό οδηγό (για κάποιο παράξενο λόγο).

Γ. NVidia: Η NVidia ακόμα δεν έχει προσφέρει προγραμματιστικές
πληροφορίες, οπότε υπάρχει ένας ανοιχτός οδηγός (nouveau) που
δημιουργήθηκε δίχως καμιά υποστήριξη από την NVidia, και ο κλειστός
οδηγός της NVidia.

Ανάλογα με την κάρτα σας, το Ubuntu επιλέγει τι είναι καλύτερο. Αν για
κάποιο λόγο θέλετε να αλλάξετε, τότε μπορείτε να το κάνετε από το
Σύστημα→Διαχείριση→Πρόσθετοι οδηγοί. Αυτός είναι ο πιο εύκολος τρόπος
για αλλαγή από το ένα στο άλλο. Είναι και ο υποστηριζόμενος τρόπος.

Αν η κάρτα μας είναι κάπως παλιά, τότε ο ανοιχτός οδηγός μπορεί να
δουλέψει. Για νέες κάρτες, θέλει απαραίτητα τον κλειστό οδηγό.


Οπότε, υπάρχει κάτι άλλο που πρέπει να ξέρουμε;
Ναι, για τις κάρτες γραφικών γίνεται πολύ δουλειά αυτή τη στιγμή, και
βελτιώνεται σημαντικά η κοινή υποστήριξη για διαχείριση μνήμης στον
πυρήνα του Linux.
Το αποτέλεσμα τέτοιων δραστικών αλλαγών είναι η δυνατότητα να έχουμε
εξαιρετικές ταχύτητες στο σύντομο μέλλον και πιο απλή αρχιτεκτονική
ώστε νέες κάρτες να υποστηρίζονται πολύ πιο γρήγορα+εύκολα.
Ωστόσο, ένα μειονέκτημα είνα πιθανά regression για παλιές κάρτες,
δηλαδή κάτι που δούλευε παλιά δε λειτουργεί τώρα. Σε τέτοιες
περιπτώσεις το αναφέρουμε στο launchpad.net, όπου τρέχουμε την εντολή

ubuntu-bug xorg


Οπότε, τι γίνεται με το πρόβλημα του Μανόλη;

1. Ο Μανόλης έχει ένα πρόβλημα με την κάρτα γραφικών, ωστόσο δεν
περιγράφει τι κάρτα γραφικών έχει. Στην υπογραφή στο φόρουμ αναφέρει
για κάρτα γραφικών ATI, ωστόσο στο μήνυμα αναφέρει για μια
ενσωματομένη σε συγκεκριμένη μητρική της Asrock. Στη σελίδα της Asrock
δε βοηθάει πολύ επειδή αναφέρει το γενικό όνομα «Integrated Intel®
Extreme Graphics 2».
Αναζήτηση στο διαδίκτυο λέει ότι πρόκειται για την 865GM της Intel,
μια σχετικά παλιά κάρτα.

2. Στο X.Org λέει κάτι ενδιαφέρον;
Φυσικά, και είναι εύκολο να το δούμε. Στο http://pastebin.com/3F67kELM αναφέρει

[    67.384] (EE) intel(0): Detected a hung GPU, disabling acceleration.
[    67.385] (WW) intel(0): intel_uxa_prepare_access: bo map failed:
Input/output error

που σημαίνει ότι για κάποιο λόγο κόλλησε η GPU (επεξεργαστής για κάρτα
γραφικών), και ο X.Org απενεργοποίησε την υποστήριξη 3D.
Πρόκειται για regression, οπότε τρέχεις

ubuntu-bug xorg

και συμπληρώνεις αυτά που χρειάζονται (Ναι, ξέρω ότι δε μπορείς να το
τρέξεις δίχως X.Org. Περίμενε).

Οπότε τι μπορείς να κάνεις;
Ο τρόπος που χρησιμοποιείς τον «server» δεν απαιτεί καν κάρτα
γραφικών. Μπορείς να βάλεις και Ubuntu Server (απαιτήσεις ελάχιστες
128MB), και μετά να εγκαταστήσεις το πακέτο vncserver, όπου το
ρυθμίζεις κατάλληλα (δεν απαιτεί κάρτα γραφικών).
Και τρέχεις και 'ubuntu-bug xorg' για να αναφέρεις ότι υπάρχει το
παραπάνω regression.

Σίμος
-- 
Ubuntu-gr mailing list
Ubuntu-gr@lists.ubuntu.com

If you do not want to receive any more messages from the ubuntu-gr mailing 
list, please follow this link and choose unsubscribe:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-gr

Απαντηση