Εγκατάσταση cuda μαζί με steam

Έκανα μια καθαρή εγκατάσταση του :mint: σήμερα, με τις τόσες αλλαγές και δοκιμές το ήθελε το φρεσκαρισματάκι, και το πρώτο πράγμα που στήνω πάντα είναι η κάρτα γραφικών μου, που είναι NVidia. Και δύο πράγματα με ενδιαφέρουν το cuda και βέβαια το steam :innocent: . Δυστυχώς δεν ήταν μια απλή διαδικασία και μετά από αρκετό ψάξιμο δείχνω πως το έκανα ελπίζοντας να βοηθήσω άλλους που θα αντιμετωπίσουν το ίδιο πρόβλημα.

Ε: Τι είναι αυτό το cuda; Το θέλω;
Α: Αν δεν ξέρεις τι είναι, τότε δεν το θέλεις :laughing:
Ε: Μα θέλω να μαθω, πες μου
Α: Είναι μια γλώσσα προγραμματισμού και ένα μεγάλο σύνολο απο βιβλιοθήκες για να χρησιμοποιήσεις την κάρτα γραφικών σε βαρίες υπολογιστικές λειτουργίες, όπως εκπαίδευση νεωρωνικών δικτύων.
Ε: Αν κάνει τα προγράμματα και τους υπολογισμούς γρηγορότερα τότε το θέλω!
Α: Το θέλεις μόνο αν ξέρεις τι είναι. Τα προγραμματα θα του κάνουν χρήση αν γνωρίζουν για αυτό με τους οδηγούς του διαχειρηστή.

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

Η ρίζα του προβλήματος

Για να τρέξει το steam απλά περνάς τους οδηγούς από τον “διαχειριστή οδηγών” και είσαι εντάξει. Για να τρέξει το cuda όμως θέλει συγκεκριμένη έκδοση των οδηγών, που είναι η τελευταία. Η εγκατάσταση του είναι απλή και υπάρχει καλή τεκμηρίωση από την NVidia, απλά περνάς ένα repository και κάνεις apt install cuda. Θα περάσει τους τελευταίους drivers και είσαι πάλι ΟΚ. Αλλά έτσι δεν τρέχει το steam.
Για να γλυτώσω χρόνο έστησα μόνο τα βασικά με apt install cuda-drivers και στα συνιστώμενα πακέτα πρότεινε και την 32bit έκδοση των βιβλιοθηκών. Μόνο που αυτές δεν υπήρχαν στα αποθετήρια. Η NVidia για κάποιο λόγο, δεν τους έχει στα αποθετήρια. Πιθανά γιατί η cannonical είπε πως σταματά να υποστηρίζει τις 32bit βιβλλοθήκες. Μόνο που τις θέλει το steam. Ouch.

Η λύση

Αν και δεν τους έχει στα αποθετήρια, τους έχει αν κατεβάσεις το cuda σαν .run. Οπότε το πρώτο βήμα είναι να βεβαιωθούμε πως δεν έχουμε κανένα πακέτο που να περιέχει την λέξη ‘nvidia’ εγκατεστημένο. Πάμε στο synaptic ψάχνουμε και αφαιρούμε όλα τα πακέτα. Κατεβάζουμε το αρχείο cuda_11.0.1_450.36.06_linux.run από την NVidia. Είναι μεγάλο και θα πάρει λίγο χρόνο.

Προεργασία

Ας κάνουμε μια προεργασία όσο έχουμε ακόμα το γραφικό περιβάλλον. Θα φτιάξουμε ένα αρχείο με όνομα blacklist-nouveau.conf που θα περιέχει τα εξής

blacklist nouveau
options nouveau modeset=0

και θα το αποθηκεύσουμε στον κατάλογο χρήστη. Ας κάνουμε λίγη προεργασία ακόμα. Φτιάχνουμε ένα αρχείο `/etc/profile.d/cuda.sh’ που θα περιέχει τα παρακάτω:

export PATH="${PATH}:/usr/local/cuda-11.0/bin/"

Επίσης θα φτιάξουμε ένα αρχείο /etc/ld.so.conf.d/cuda που θα περιέχει τα παρακάτω

# cuda libraries
/usr/local/cuda-11.0/lib64

Και δεν ξεχνάμε να κάνουμε ένα snapshoot στο timeshift αχρείαστο να είναι.

Εγκατάσταση

Για να το εγκαταστήσουμε θα κάνουμε επανεκκίνηση και απο to grub θα πάμε στο ‘recovery console’ και θα ξεκινήσουμε έτσι τον υπολογιστή σε περιβάλλον root χωρίς γραφικό περιβάλλον.

Θα πάμε εκεί που έχουμε κατεβάσει το cuda και θα το εγκαταστήσουμε

cd /home/talos/Downloads
chmod +x cuda_11.0.1_450.36.06_linux.run
./cuda_11.0.1_450.36.06_linux.run

Αυτό θα πάρει λίγο χρόνο, αλλά αν όλλα πάνε καλά ήρθε η ώρα να φτιάξουμε το ramdisk, αλλά πρώτα θα μεταφέρουμε το αρχείο blacklist-nouveau.conf στην σωστή του θέση

cp /home/talos/blacklist-nouveau.conf /etc/modprobe.d/blacklist-nouveau.conf
ldconfig
update-initramfs -u
reboot

Έλεγχος του cuda

Αν όλλα πήγαν καλά έχουμε μετα την επανεκίνηση ένα γραφικό περιβάλλον. Αλλίως το timeshift να είναι καλά. Θα κάνουμε compile τα samples για τις δοκιμές μας

sudo apt install g++ freeglut3-dev build-essential libx11-dev
sudo apt install libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev
cuda-install-samples-11.0.sh .
cd NVIDIA_CUDA-11.0_Samples/
GLPATH=/usr/lib make -j

Έλεγχος του steam

Αυτό είναι το διασκεδαστικό κομμάτι :stuck_out_tongue:

1 «Μου αρέσει»