---
title: Οδηγός ρύθμισης διπλής GPU
---

import ImageComponent from '~/components/image-component.astro';

## Τι είναι τα υβριδικά γραφικά;

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

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

Αυτό έχει ως αποτέλεσμα οι δύο GPU να μοιράζονται τις «μεγάλες» και τις «μικρές» εργασίες. Όταν
λοιπόν βρίσκονται σε εξέλιξη μόνο «μικρές» εργασίες, η dGPU μπορεί απλώς να απενεργοποιηθεί (σαν
να τίθεται σε κατάσταση αναμονής), μειώνοντας σημαντικά την κατανάλωση ενέργειας. Με αυτόν τον 
τρόπο, όταν χρειαστεί ξανά η dGPU (δηλαδή όταν εκτελέσουμε μια εφαρμογή μέσω της dGPU), θα
«ξυπνήσει» και θα αρχίσει να λειτουργεί.

## Τι είναι το PRIME Offload;

Το PRIME είναι μια ενοποιημένη τεχνολογία για τη διαχείριση διαφορετικών συνδυασμών υβριδικών
γραφικών στο Linux, όπως το NVIDIA Optimus ή το AMD Dynamic Switchable Graphics. Το PRIME
Offload είναι η υλοποίηση της ιδέας να μεταφέρεται η εκτέλεση της απεικόνισης (rendering) από
τη μια GPU σε μια άλλη στο Linux.

Η υποστήριξη του PRIME στον κλειστό οδηγό της NVIDIA ξεκίνησε ουσιαστικά μόνο με την έκδοση 435.17.
Επομένως, εάν χρησιμοποιείτε τις παρωχημένες εκδόσεις 390xx (ή ακόμα και 340xx) του οδηγού, το PRIME
Offload δεν θα λειτουργεί για εσάς. Σημειώστε ότι σας αποθαρρύνουμε έντονα από τη χρήση ξεπερασμένων
τρόπων χειρισμού υβριδικών γραφικών, όπως του nvidia-xrun ή του Bumblebee. Αυτά είναι παρωχημένα και
δεν υποστηρίζονται (το Bumblebee δεν έχει ενημερωθεί για πάνω από 8 χρόνια), βασίζονται αποκλειστικά
σε «hacks» και έχουν χαμηλή απόδοση. Παράλληλα, ο οδηγός Nouveau υποστηρίζει το PRIME Offload, πράγμα
που μπορεί να αποτελέσει εναλλακτική λύση για παλαιότερες dGPU.

Στο CachyOS, **δεν χρειάζεται να ρυθμίσετε τίποτα για να κάνετε το PRIME Offload να λειτουργήσει**. Με
τα πακέτα nvidia-utils και cachyos-settings, έχετε ήδη όλα όσα χρειάζεστε για να χρησιμοποιήσετε το
PRIME Offload.

Επίσης, παρακαλούμε αποφύγετε τη χρήση εργαλείων όπως το optimus-manager. Μπορεί να φαίνονται βολικά,
αλλά πιστέψτε μας, μπορούν να προκαλέσουν πολλά προβλήματα και πραγματικά δεν τα χρειάζεστε εάν η dGPU
σας υποστηρίζει το PRIME Offload και τη δυναμική διαχείριση ενέργειας.

### Τρόπος χρήσης του PRIME Offload

Για να υποδείξετε στο PRIME ότι θέλετε να χρησιμοποιείται η ανεξάρτητη κάρτα γραφικών αντί για την
ενσωματωμένη, πρέπει να καθορίσετε έναν αριθμό μεταβλητών περιβάλλοντος πριν από την εκτέλεση του
προγράμματος:

```bash
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia <πρόγραμμα>
```

Αυτό το σύνολο μεταβλητών φαίνεται πολύ δύσχρηστο και είναι εύκολο να το ξεχάσετε. Για τον λόγο αυτό,
μπορείτε να εγκαταστήσετε το πακέτο `nvidia-prime` (`sudo pacman -S nvidia-prime`), το οποίο περιέχει
ένα ψευδώνυμο δέσμης ενεργειών για όλες αυτές τις μεταβλητές. Στη συνέχεια, η εκτέλεση μιας εφαρμογής
χρησιμοποιώντας αυτήν τη μέθοδο θα μοιάζει ως εξής:

```bash
prime-run <πρόγραμμα>
```

Όπου `<πρόγραμμα>` είναι το όνομα της εντολής που εκτελεί την εφαρμογή σας.

:::note
Ορισμένα παιχνίδια DX12 αντιμετωπίζουν δυσκολία στην επιλογή της dGPU, ακόμα και με τη χρήση
του `prime-run`. Για να παρακάμψετε αυτό το πρόβλημα, προσθέστε τη μεταβλητή περιβάλλοντος
`VK_DRIVER_FILES=/usr/share/vulkan/icd.d/nvidia_icd.json` πριν από τη δέσμη ενεργειών `prime-run`.
:::

Για διαμορφώσεις όπου η διαχείριση και των δύο καρτών γραφικών γίνεται από τους ανοικτούς οδηγούς
Mesa (π.χ. AMD+AMD, AMD+Intel ή ακόμα και Intel+NVIDIA, όπου η ανεξάρτητη κάρτα γραφικών NVIDIA
ελέγχεται από τον ανοικτό οδηγό Nouveau), δεν απαιτείται καμία επιπλέον ρύθμιση. Για τη χρήση της
ανεξάρτητης κάρτας γραφικών, χρειάζεται μόνο να ορίσετε τη μεταβλητή περιβάλλοντος `DRI_PRIME=1`
πριν από την εκκίνηση εφαρμογών ή παιχνιδιών, όπως με όλες τις μεταβλητές που αναφέρθηκαν προηγουμένως
για το υλικό της NVIDIA. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τις έτοιμες λύσεις με γραφικό
περιβάλλον που περιγράφονται παρακάτω.

## Μέθοδος με γραφικό περιβάλλον

Μπορεί να μην είναι βολικό να εκκινείτε όλες τις εφαρμογές μέσω του τερματικού χρησιμοποιώντας το
`prime-run`. Ευτυχώς, ορισμένες εφαρμογές και περιβάλλοντα επιφάνειας εργασίας παρέχουν εργαλεία
για να ελέγχετε ποια GPU χρησιμοποιείται για συγκεκριμένες εφαρμογές.

### Lutris

Για να ρυθμίσετε τα παιχνίδια να εκτελούνται με την ανεξάρτητη κάρτα γραφικών στο Lutris, πρέπει
να μεταβείτε στις ρυθμίσεις (τρεις γραμμές στην κάτω δεξιά γωνία του παραθύρου και το κουμπί
«Preferences»). Στη συνέχεια, μεταβείτε στο *«Global Options» -> «Display»*. Εδώ, μπορείτε να
επιλέξετε την GPU με την οποία θα εκτελείται το παιχνίδι.

<br />
<ImageComponent imgsrc={import('~/assets/images/lutris-prime.png')} />

### Steam

Το Steam δεν διαθέτει συγκεκριμένη ρύθμιση για να επιβάλει σε ένα παιχνίδι να χρησιμοποιήσει την
ανεξάρτητη κάρτα γραφικών. Ωστόσο, μπορείτε να αποκτήσετε πρόσβαση στις ιδιότητες του παιχνιδιού
κάνοντας κλικ στο εικονίδιο γραναζιού πριν από την εκκίνησή του. Στο πεδίο «Επιλογές εκκίνησης»,
μπορείτε να προσθέσετε την εντολή prime-run ή μεταβλητές περιβάλλοντος.
Παράδειγμα:

```bash
prime-run %command%
```

Φροντίστε να προσθέσετε το `%command%` μετά το `prime-run`. Να θυμάστε ότι οι επιλογές του παιχνιδιού
μπαίνουν μετά το `%command%`, ενώ οι μεταβλητές περιβάλλοντος του συστήματος ή οι εντολές πρέπει να
προηγούνται αυτού.

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

```bash
VK_DRIVER_FILES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json %command%
```

<br />
<ImageComponent imgsrc={import('~/assets/images/steam-prime.png')} />

### KDE Plasma

Το Plasma διαθέτει έναν πολύ εύχρηστο τρόπο για να ρυθμίσετε την εκκίνηση των εφαρμογών με την
ανεξάρτητη κάρτα γραφικών. Ωστόσο, αυτή η μέθοδος λειτουργεί μόνο εάν έχετε εγκαταστήσει το πακέτο
`switcheroo-control` και την αντίστοιχη υπηρεσία του στο σύστημά σας.

Σε μια νέα εγκατάσταση του CachyOS, αυτό το πακέτο και η υπηρεσία θα είναι ήδη ενεργοποιημένα από
προεπιλογή μέσω του chwd.

```bash
sudo pacman -S switcheroo-control
sudo systemctl enable --now switcheroo-control
```

Αφού εκτελέσετε και τις δύο εντολές, κάντε δεξί κλικ στην καταχώρηση της εφαρμογής στην επιφάνεια
εργασίας ή στο μενού εφαρμογών και μεταβείτε στις *«Ιδιότητες»* -> *«Εφαρμογή»* -> *«Προηγμένες επιλογές»*.

Η επιλογή *«Εκτέλεση με χρήση ανεξάρτητης κάρτας γραφικών»* θα πρέπει να είναι ενεργοποιημένη.

<br />
<ImageComponent imgsrc={import('~/assets/images/plasma-prime.jpg')} />

:::note
Η χρήση του switcheroo-control επιτρέπει σε αυτές τις επιλογές να λειτουργούν σε όλες τις διαμορφώσεις
PRIME, ακόμα και σε εκείνες χωρίς κάρτα γραφικών NVIDIA, όπως AMD-APU+AMD-ανεξάρτητη.
:::

### GNOME

Στο GNOME, θα πρέπει επίσης να εγκαταστήσετε το switcheroo-control (όπως αναφέρθηκε παραπάνω). Στη συνέχεια,
κάντε δεξί κλικ στο εικονίδιο της εφαρμογής και να επιλέξετε *«Εκκίνηση με ανεξάρτητη κάρτα γραφικών»*.
Σημειώστε όμως ότι το GNOME δεν απομνημονεύει αυτήν την επιλογή για το μέλλον. Την επόμενη φορά που θα
εκτελέσετε την εφαρμογή από το εικονίδιο, αυτή θα ξεκινήσει με τα ενσωματωμένα γραφικά αντί για τα ανεξάρτητα.

### Cinnamon

Όπως και στο Plasma, το Cinnamon σάς επιτρέπει επίσης να επιλέξετε την GPU για συγκεκριμένες εφαρμογές.
Κάντε δεξί κλικ στην καταχώρηση της εφαρμογής στην επιφάνεια εργασίας, μεταβείτε στις Ιδιότητες και
ενεργοποιήστε τη σχετική επιλογή.

<br />
<ImageComponent imgsrc={import('~/assets/images/cinnamon-prime.png')} />

Εάν η επιλογή δεν είναι διαθέσιμη, βεβαιωθείτε ότι έχετε εγκαταστήσει το `switcheroo-control` και
ότι η υπηρεσία του είναι ενεργοποιημένη, καθώς όλα τα περιβάλλοντα επιφάνειας εργασίας βασίζονται σε
αυτό για τη συγκεκριμένη λειτουργικότητα.

## Επίλυση προβλημάτων

### Η εξωτερική μου οθόνη «κολλάει» πολύ με το PRIME

Πρόκειται για γνωστό ζήτημα του οδηγού της NVIDIA. Θα πρέπει να έχετε εγκαταστήσει τον πιο πρόσφατο
οδηγό της NVIDIA και να χρησιμοποιείτε το Wayland με έναν συνθέτη που υποστηρίζει το λειτουργία
«explicit sync». Για το GNOME, αυτό διορθώθηκε στην έκδοση 46.2. Για το Plasma 6, θα διορθωθεί
πιθανότατα στην έκδοση 6.1, αν και ορισμένοι χρήστες αναφέρουν κανονικές επιδόσεις ήδη από την έκδοση
6.0. Τα υπόλοιπα περιβάλλοντα επιφάνειας εργασίας και διαχειριστές παραθύρων θα εξακολουθούν να έχουν
αυτό πρόβλημα, επομένως θα πρέπει να μεταβείτε στην πιο πρόσφατη έκδοση του GNOME ή του Plasma.
