# NVIDIA Driver with Optimus Laptops

## Xywa

Ktoś testował może oryginalny driver zamiast bumblebee?

http://wiki.gentoo.org/wiki/NVIDIA_Driver_with_Optimus_Laptops

----------

## dziadu

For english comment see bottom of the page

Nie wiem czy rozumiem Twoje pytanie, masz na myśli:

a) użycie nVidia jako głównej i jedynej karty graficznej,

b) użycie karty zintegrowanej jako głównej i przełączanie się na zewnętrzną w razie potrzeby?

Ja na samym początku miałem rozwiązanie pierwsze gdyż miałem problemy na moim laptopie (Lenovo T440s) aby uruchomić technologię przełączenia się pomiędzy grafikami. Nie mam chyba zachowanej tamtej konfiguracji, ale jeśli masz jakiś specyficzny problem to chyba będę mógł odpowiedzieć jeśli dostanę pytanie.

Co do odpowiedzi drugiej, to zajęło mi trochę czasu zanim udało mi się to zrobić więc mogę podzielić się moją konfiguracją, dla potomnych:

Laptop: Lenovo T440s, Intel GPU + nVidia

```
# lspci

00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)

04:00.0 3D controller: NVIDIA Corporation GK208M [GeForce GT 730M] (rev a1)
```

Konfiguracja serwera X dla podstawowej karty graficznej

```
# cat /etc/X11/xorg.conf

Section "ServerLayout"

    Identifier     "Layout0"

    Screen      0 "intel"

    InputDevice    "Keyboard0" "CoreKeyboard"

    InputDevice    "Mouse0" "CorePointer"

EndSection

Section "Module"

        Load "glx"

EndSection

Section "InputDevice"

    # generated from data in "/etc/conf.d/gpm"

    Identifier     "Mouse0"

    Driver         "mouse"

    Option         "Protocol"

    Option         "Device" "/dev/input/mice"

    Option         "Emulate3Buttons" "no"

    Option         "ZAxisMapping" "4 5"

EndSection

Section "InputDevice"

    Identifier     "Keyboard0"

    Driver         "kbd"

EndSection

Section "Monitor"

    VendorName     "Unknown"

    ModelName      "Unknown"

EndSection

Section "Device"

    Identifier     "intel"

    Driver         "intel"

    Option         "CustomEDID" "DFP-0:/lib/firmware/edid/1920x1080_T440s.bin"

    BusID          "PCI:0:2:0"

EndSection

Section "Screen"

    Identifier    "intel"

    Device        "intel"

    SubSection     "Display"

        Depth       24

        Modes      "1920x1080"

    EndSubSection

    Monitor        "Monitor0"

EndSection

Section "Extensions"

    Option         "Composite" "Enable"

EndSection
```

Komentarz: EDID prawdopodobnie nie jest potrzebny, miałem to został w configu. Wygenerowałem wg. tej instrukcji: http://wiki.gentoo.org/wiki/NVIDIA_Driver_with_Optimus_Laptops#Using_Specific_Monitor_via_EDID

Konfiguracja bumblebee

```
# cat /etc/bumblebee/bumblebee.conf 

[bumblebeed]

VirtualDisplay=:8

KeepUnusedXServer=false

ServerGroup=bumblebee

TurnCardOffAtExit=false

NoEcoModeOverride=false

Driver=nvidia

XorgConfDir=/etc/bumblebee/xorg.conf.d

[optirun]

Bridge=primus

VGLTransport=proxy

PrimusLibraryPath=/usr/lib/primus:/usr/lib32/primus

AllowFallbackToIGC=false

[driver-nvidia]

KernelDriver=nvidia

PMMethod=auto

LibraryPath=/usr/lib64/opengl/nvidia/lib:/usr/lib32/opengl/nvidia/lib:/usr/lib/opengl/nvidia/lib

XorgModulePath=/usr/lib64/opengl/nvidia/lib,/usr/lib64/opengl/nvidia/extensions,/usr/lib64/xorg/modules/drivers,/usr/lib64/xorg/modules

XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

[driver-nouveau]

KernelDriver=nouveau

PMMethod=auto

XorgConfFile=/etc/bumblebee/xorg.conf.nouveau
```

Konfiguracja dla drugiego servera X, odpalanego przez optirun/bumblebee dla nVidiaa (obraz z tego serwera jest przesyłany do głownego).

```
# cat /etc/bumblebee/xorg.conf.nvidia

Section "Files"

    ModulePath   "/usr/lib64/xorg/nvidia"

    ModulePath   "/usr/lib64/xorg/modules"

EndSection

Section "ServerLayout"

    Identifier  "Layout0"

    Option      "AutoAddDevices" "false"

    Option      "AutoAddGPU" "false"

EndSection

Section "Device"

    Identifier  "DiscreteNvidia"

    Driver      "nvidia"

    VendorName  "NVIDIA Corporation"

    Option "ProbeAllGpus" "false"

    Option "NoLogo" "true"

    Option "UseEDID" "false"

    Option "UseDisplayDevice" "none"

    # my settings

    Option "CustomEDID" "DFP-0:/lib/firmware/edid/1920x1080_T440s.bin"

    BusID "PCI:4:0:0"

    Option         "UseEDID" "True"

    Option         "ModeValidation" "NoVirtualSizeCheck"

    Option       "ModeDebug" "True"

EndSection

# my screen

Section "Screen"

    Identifier     "nvidia"

    Device         "DiscreteNvidia"

    Monitor        "Monitor0"

    Option         "RenderAccel" "True"

    Option         "NoRenderExtension" "False"

    Option         "AllowGLXWithComposite" "True"

    Option         "AddARGBGLXVisuals" "True"

    Option         "DamageEvents" "True"

    Option         "ConnectToAcpid" "True"

    Option         "UseDisplayDevice" "none"

    SubSection     "Display"

        Depth       24

        Modes      "1920x1080"

    EndSubSection

EndSection

Section "Monitor"

    Identifier "Monitor0"

    VendorName "Unknown"

    Modelname "Unknown"

EndSection
```

Oczywiście na końcu trzeba odpalić odpowiednie daemony

```
/etc/init.d/bumblebee start
```

i testowanie:

a) na zintegrowanej

```
> glxgears 

Running synchronized to the vertical refresh.  The framerate should be

approximately the same as the monitor refresh rate.

306 frames in 5.0 seconds = 61.053 FPS

301 frames in 5.0 seconds = 60.048 FPS
```

b) na nVidia

```
> primusrun glxgears 

293 frames in 5.0 seconds = 58.460 FPS

301 frames in 5.0 seconds = 60.049 FPS
```

W przeszłości na zintegrowanej miałem około 3000 fps ale ostatnio jakieś cyrki są z virtualgl i chyba to mi obniża fps.

Jako, że T440s ma specyficzny touchpad i wiele osób ma problemy z jego konfiguracją, a google może indeksowac ten temat, dorzucę config touchapad gratis:

```
# cat /etc/X11/xorg.conf.d/99-synaptics.conf

Section "InputClass"

        Identifier "Default clickpad buttons"

        MatchDriver "synaptics"

        Option "SoftButtonAreas" "60% 0 0 2400 40% 60% 0 2400"

        Option "AreaTopEdge" "2400"

        Option "TapButton1" "1"

        Option "TapButton3" "2"

        Option "TapButton2" "3"

        # Calm the pad down while clicking

        Option "VertHysteresis" "50"

        Option "HorizHysteresis" "50"

        # Drag lock

        Option "LockedDrags" "1"

        # Tap to click

        Option "FingerLow" "50"

        Option "FingerHigh" "55"

        # Prevent accidental clicks

        Option "PalmDetect" "1"

        Option "PalmMinWidth" "5"

        Option "PalmMinZ" "40"

        # Natural scrolling

        Option "VertTwoFingerScroll" "1"

        Option "VertScrollDelta" "-90"

        Option "HorizTwoFingerScroll" "1"

        Option "HorizScrollDelta" "-90"

        Option "MinSpeed" "0.5"

        Option "MaxSpeed" "1.9"

        Option "AccelerationProfile" "2"

        Option "ConstantDeceleration" "4"

EndSection
```

..:: english version

Configuration above allows me to use bumblebee (graphics card switching) to change between integrated card (normal work) and external card (video games) by running primusrun (x11-misc/primus).

Steps to configure:

1. Create proper xorg.conf

2. Configure Bumblebee

3. Configure nVidia settings for extra X server (nVidia runs second server which is later streamed to the primary).

4. Run bumblebee as daemon

5. Gratis: touchpad configuration

----------

## Xywa

 *dziadu wrote:*   

> 
> 
> a) użycie nVidia jako głównej i jedynej karty graficznej,
> 
> b) użycie karty zintegrowanej jako głównej i przełączanie się na zewnętrzną w razie potrzeby?

 

Chodziło mi o wersje a) bez bumblebee, jako że z wersji b) korzystałem wcześniej.

 *Quote:*   

> Note
> 
> This article is about native Optimus support using the official Nvidia drivers (x11-drivers/nvidia-drivers) – it is not about bumblebee; bumblebee is not used in the following configuration.

 

Dzięki wielkie, ja w między czasie z sukcesem odpaliłem w końcu Nvidie bez wspomagania bumblebee, ale...

Okazało się że pomimo wielu plusów (np. więcej fps (czasmi dużo) w niektórych grach), były też minusy:

1) Codzienna praca na kde na samej nvidi była zauważalnie głosniejsza - tzn. mam parę bajerów na pulpicie kde, które korzystają z opengl, i podczas ich wykorzystywania włączał się wiatrak na karcie graficznej. Nie była to pełna moc i szum nie był donośny, ale różnica na moim laptopie była mocno słyszalna w porównaniu do czystego intela, który przy pracach biurowych jest bezgłośny.

2) Gwoździem do trumny był straszny "screen tearing" w grach czy oglądaniu filmów. Co z tego, że było więcej fpsów jak "zacinało" obraz pomimo włączonego vsyncu. W EVE Online jeszcze to uchodziło, jako że tło jest głowne czarne, ale grając symulatorem lotu War Thunder piękne krajobrazy nie były takie piękne, i odczuwało się że gra się na starej karce graficznej, choć miałem okoł 10-15 fpsów więcej...

http://multiplayerblog.mtv.com/wp-content/uploads/2010/01/darksiders_screentearing.jpg

Jest nawet wątek na ten temat na angielskim forum Gentoo:

Nvidia Optimus + screen tearing + sync to vblank

https://forums.gentoo.org/viewtopic-t-1002284-highlight-.html

Przetestowałem wszelkie rozwiązania z niego, bez rezultatów. W koncu znalazłem info z Nvidi (cytat poniżej), które zamieściłem w wątku powyżej, że "tearing" jest winą X-ów a nie Nvidii... Cóż, powróciłem do wspomagania bumblebee + primusrun, cisza w pracy codziennej, płynnośc miła dla oka w grach.

 *Quote:*   

> The README mentions this in Chapter 32, "Offloading Graphics Display with RandR 1.4": 
> 
> Caveats 
> 
> There is no synchronization between the images rendered by the NVIDIA GPU and the output device. This means that the output device can start reading the next frame of video while it is still being updated, producing a graphical artifact known as “tearing”. Tearing is currently expected due to limitations in the design of the X.Org X server.

 

----------

## dziadu

Ja osobiście nie widzę większych zalet korzystania tylko i wyłącznie z nVidii na laptopie, przede wszystkim większy pobór mocy. Natomiast kiedy tak miałem skonfigurowany system, to nie zauważyłem żadnych negatywnych efektów o których pisałeś - też używam KDE. A z bumblebee jestem bardzo teraz zadowolony.

----------

## Xywa

 *dziadu wrote:*   

> Ja osobiście nie widzę większych zalet korzystania tylko i wyłącznie z nVidii na laptopie, przede wszystkim większy pobór mocy. Natomiast kiedy tak miałem skonfigurowany system, to nie zauważyłem żadnych negatywnych efektów o których pisałeś - też używam KDE. A z bumblebee jestem bardzo teraz zadowolony.

 

Poczekałem kilka lat na driver, więc poczekam aż naprawią tą współpracę z RandR 1.4.

A to ciekawe że u Ciebie nie ma tego "tearing".

U mnie w wersji na samą nvidię jest problem, a intel+nvidia+bumblebee nie ma problemu.

Napisz jak to wygląda na twoim laptopie (opcja sama Nvidia):

https://www.youtube.com/watch?v=5xkNy9gfKOg

----------

## robertsurma

Ponoć są takie konstrukcje sprzętowe, że umożliwiają korzystanie z samej nvidii (intel można wyłączyć całkowicie). 

Ale w większości przypadków to intel kontaktuje się z monitotem (tworzy obraz) i tylko czasami uruchamia nvidię do pomocy (ona przekazuje intelowi wynik swojej pracy, a on to wysyła na monitor). Tak rozumiem technologię Optimus i oszczędzanie energii na laptopie.

Zastanawiam się jednak, czy jest jakiś sposób, aby sprawdzić czy nVidia pracuje w danym momencie czy odpoczywa (zagadnienie dotyczy także Windowsa).

----------

## Bialy

 *robertsurma wrote:*   

> Zastanawiam się jednak, czy jest jakiś sposób, aby sprawdzić czy nVidia pracuje w danym momencie czy odpoczywa (zagadnienie dotyczy także Windowsa).

 

na M$ (po zainstalowaniu sterowników) pojawia się ikonka w Tray'u.

Jak jej nie widzisz, to pójdź do NVIDIA Control Panel i do menu Desktop.

Tam masz "Display GPU Activity Icon in Notification Area".

BTW, możesz wymusić pracę jakiegoś programu na Nvidii:

W NVIDIA Control Panel idź do 3D Settings > Manage 3D settings, potem wybierasz zakładkę Program Settings...

----------

## robertsurma

Hmm... w Windowsie ikonkę nVidia mam cały czas nawet bez uruchamiania żadnego programu (może dlatego, że mam włączone "Pokazuj wszystkie ikony").

Zastanawiam się, jak to w Linuksie zrobić. Jeśli włączę coś, aby sprawdzić działanie GLX, to mi to włączy nVidię (więc bez sensu).

----------

## robertsurma

BTW, większość przykładów w Internecie podaje taką konfigurację xorg.org dla Optimus:

```
Section "ServerLayout"

    Identifier     "Layout0"

    Screen      0  "Screen0"                     # Screen powiązany ze sterownikiem nvidia

    Inactive       "intel"

    InputDevice    "Keyboard0" "CoreKeyboard"

    InputDevice    "Mouse0" "CorePointer"

EndSection

[...]

```

Chyba tego nie rozumiem. Dlaczego screen powiązany z kartą Intel jest nieaktywny?

Jeśli dobrze rozumiem, z tego by wynikało, że ładowana jest nvidia przy starcie X?

----------

## robertsurma

Podsumowanie moich dwutygodniowych wysiłków w tym temacie:

1. Nie da się skonfigurować "czystego" Optimusa w oparciu o nvidia-drivers i modesetting. Nie znalazłem żadnego dowodu na to, że komuś się to udało.

2. Bazując na poradach zamieszczonych na forum i w ogóle w Internecie, należy zdawać sobie sprawę, że ludzie mają różne rzeczy na myśli używając słowa "Optimus". I tak... sterownik zamieszczony w jądrze o nazwie "Hybrid Graphics..." (switcherro) dotyczy tylko laptopów z fizycznym sprzętowym przełącznikiem (mux) i jest bezużyteczny w innych przypadkach. Inna także będzie konfiguracja dla laptopów w których można wyłączyć karty graficzne w BIOS, a inna dla tych, które tej opcji nie posiadają.

3. Nie istnieje konfiguracja xorg.conf dla Optimus, która nie generowałaby chociaż jednego błędu (niektórzy nie sprawdzają logów i potem chwalą się, że im działa wszystko).

4. Można tak skonfigurować xorg, aby działała nVidia jako rendering dla Intela... ale karta nVidii będzie cały czas włączona (wentylator będzie się kręcił, choć na niskich obrotach).  Rozwiązanie to prezentuję poniżej.

5. Zastosowanie bumblebee lub nouveau nie przekonuje mnie z powodu obniżonej wydajności (własne openGL i X wewnątrz X). Bilans zysków i strat jest niekorzystny.

6. Mój pomysł: stworzyć dwie alternatywne konfiguracje, jedna oparta tylko o Intel+Mesa (niski pobór energii) jako domyślną do codziennej pracy, oraz drugą opartą o modesetting + nVidia (gdy potrzebujemy wykonać coś w temacie video / 3D). Do przełączania się między dwoma trybami użyłem skryptów. Oto szczegóły:

Skrypt .go-nVidia:

```
#!/bin/sh

# Ustawia korzystanie z karty graficznej Intel + NVidia

eselect opencl set 2

eselect opengl set 1

cp /etc/X11/optimus/xorg-optimus.conf /etc/X11/xorg.conf

cp /etc/X11/optimus/94-xrandr-nvidia /etc/X11/xinit/xinitrc.d/94-xrandr

/etc/init.d/udev restartt
```

Skrypt /etc/X11/optimus/94-xrandr-nvidia:

```
#!/bin/sh

xrandr --setprovideroutputsource modesetting NVIDIA-0

xrandr –auto
```

Skrypt .go-Intel:

```

#!/bin/sh

# Ustawia korzystanie tylko z karty graficznej Intel

eselect opencl set 1

eselect opengl set 2

cp /etc/X11/optimus/xorg-intel-only.conf /etc/X11/xorg.conf

cp /etc/X11/optimus/94-xrandr-intel /etc/X11/xinit/xinitrc.d/94-xrandr

/etc/init.d/udev restart
```

Skrypt /etc/X11/optimus/94-xrandr-intel:

```
#!/bin/sh

xrandr --auto
```

cat /etc/X11/xorg-intel-only.conf

```
##################### PROFILE ###################

Section "ServerLayout"

   Identifier   "Main Layout"

   Screen   0   "IntelScreen"

EndSection

Section "Files"

   ModulePath   "/usr/lib64/xorg/modules,/usr/lib64/opengl/xorg-x11/extensions"

   FontPath   "/usr/share/fonts/100dpi"

   FontPath   "/usr/share/fonts/75dpi"

   FontPath   "/usr/share/fonts/Type1"

   FontPath   "/usr/share/fonts/TTF"

   FontPath   "/usr/share/fonts/dejavu"

   FontPath   "/usr/share/fonts/freefonts"

   FontPath   "/usr/share/fonts/liberation-fonts"

   FontPath   "/usr/share/fonts/libertine"

   FontPath   "/usr/share/fonts/misc"

   FontPath   "/usr/share/fonts/urw-fonts"

EndSection

Section "Module"

   Load      "synaptics"

   Load      "type1"

   Load      "freetype"

EndSection

Section "ServerFlags"

   Option      "Xinerama"      "0"

   Option      "AIGLX"         "off"

   Option      "AllowEmptyInput"   "off"

   Option      "AutoAddDevices"   "true"

   Option      "AutoEnableDevices"   "true"

   Option      "AutoAddGPU"      "true"

   Option      "blank time"      "7"

EndSection

Section   "Extensions"

   Option      "Composite"   "Enable"

EndSection

###################### TYPY MONITOROW #######################

Section "Monitor"

   Identifier   "Monitor0"

   ModelName   "DFP"

   Option      "dpms"

   Modeline   "1366x768_60.00" 85.25 1366 1440 1576 1784 768 771 781 798 -hsync +vsync

EndSection                              

######################### KARTY GRAFICZNE #######################

Section "Device"

   Identifier   "nVidia"

   VendorName   "nVidia Corporation"

   Driver      "nvidia"

   BusID      "PCI:4:0:0"

   Option      "UseDisplayDevice"   "none"

EndSection

Section "DRI"

   Mode      0666

EndSection

Section   "Device"

   Identifier   "Intel"

   Driver   "intel"

   BusID   "PCI:0:2:0"

   Option   "Monitor-eDP-0"         "Monitor0"

EndSection   

##################### SPRZET WYSWIETLAJACY ######################

Section   "Screen"

   Identifier   "IntelScreen"

   Device   "Intel"

   Monitor   "Monitor0"

# W przypadku sterownika "intel", nie trzeba tutaj definiowac "Modes", bo on to robi sam.

EndSection

```

cat /etc/X11/xorg-optimus.conf

```
##################### PROFILE ###################

Section "ServerLayout"

   Identifier   "Main Layout"

   Screen   0   "nVidiaScreen"

   Inactive   "Intel"

EndSection

Section "Files"

   ModulePath   "/usr/lib64/xorg/modules,/usr/lib64/opengl/xorg-x11/extensions"

    FontPath   "/usr/share/fonts/100dpi"

   FontPath   "/usr/share/fonts/75dpi"

   FontPath   "/usr/share/fonts/Type1"

   FontPath   "/usr/share/fonts/TTF"

   FontPath   "/usr/share/fonts/dejavu"

   FontPath   "/usr/share/fonts/freefonts"

   FontPath   "/usr/share/fonts/liberation-fonts"

   FontPath   "/usr/share/fonts/libertine"

   FontPath   "/usr/share/fonts/misc"

   FontPath   "/usr/share/fonts/urw-fonts"

EndSection

Section "Module"

   Load      "synaptics"

   Load      "type1"

   Load      "freetype"

EndSection

Section "ServerFlags"

   Option      "Xinerama"      "0"

   Option      "AIGLX"         "off"

   Option      "AllowEmptyInput"   "off"

   Option      "AutoAddDevices"   "true"

   Option      "AutoEnableDevices"   "true"

   Option      "AutoAddGPU"      "true"

   Option      "blank time"      "7"

EndSection

Section   "Extensions"

   Option      "Composite"   "Enable"

EndSection

###################### TYPY MONITOROW ####################### 

Section "Monitor"

   Identifier   "Monitor0"

   ModelName   "DFP"

   Option      "dpms"

   Modeline   "1366x768_60.00" 85.25 1366 1440 1576 1784 768 771 781 798 -hsync +vsync

EndSection                              

######################### KARTY GRAFICZNE #######################

Section "Device"

   Identifier   "nVidia"

   VendorName   "nVidia Corporation"

   Driver      "nvidia"

   BusID      "PCI:4:0:0"

   Option      "DPI"         "96 x 96"      

EndSection

Section "DRI"

   Mode      0666

EndSection

Section   "Device"

   Identifier   "Intel"

   Driver   "modesetting"

   BusID   "PCI:0:2:0"

EndSection   

##################### SPRZET WYSWIETLAJACY ######################

Section   "Screen"

   Identifier   "nVidiaScreen"

   Device      "nVidia"

   Monitor      "Monitor0"

   SubSection   "Display"

      Depth   24

      Modes   "1366x768" "1024x768" "800x600"   

      Virtual   1366 768

   EndSubSection

EndSection

Section   "Screen"

   Identifier   "IntelScreen"

   Device   "Intel"

   Monitor   "Monitor0"

EndSection

```

Podsumowując: zmiana profilu polega na zalogowaniu się na konto roota (polecenie su), uruchomieniu skryptu, wylogowaniu się i ponownym zalogowaniu.

W trybie Intel+nVidia w logach widnieje jeden błąd:

```
 (EE) Screen 1 deleted because of no matching config section.
```

Nie udało mi się go naprawić. Jak ktoś zna jakiś sposób, niech da znać.

----------

## Xywa

A jaką masz kartę?

Zapytałem na forum Nvidi jaki jest postęp prac nad vsynciem na laptopach i cisza. Buglista jest chyba widoczna dla deweloperów, ale w razie czego jakby ktoś znalazł - numerek

 *Quote:*   

> working on this issue, tracking this issue under bug 1629916

 

Ponoć Optimus gryzię się Plasma 5 z KDE, a ja potrzebuje najnowsze wersji kdenlive, które wymaga już Plasma 5   :Sad: 

https://bugs.kde.org/show_bug.cgi?id=347237

----------

## robertsurma

Moja karta: nVidia GeForce 820M.

Hmm... ja mam kdenlive i nie mam plasmy  :Wink: 

Przed chwilą specjalnie sprawdzałem najnowszą wersję.

----------

## Xywa

 *robertsurma wrote:*   

> Moja karta: nVidia GeForce 820M.
> 
> Hmm... ja mam kdenlive i nie mam plasmy 
> 
> Przed chwilą specjalnie sprawdzałem najnowszą wersję.

 

Ja mam 620M a wątek na Nvidi dotyczy 630M (i ponoć całej serii mobilnej).

Co do kdenlive, to w portage jest tylko 0.9.10.

Od miesięcy hula 15.04 a lada moment wyjdzie 15.08.

----------

## dziadu

 *robertsurma wrote:*   

> Zastanawiam się jednak, czy jest jakiś sposób, aby sprawdzić czy nVidia pracuje w danym momencie czy odpoczywa (zagadnienie dotyczy także Windowsa).

 

Możesz użyć nvidia-settings, gdzie jednym z parametrów przekazywanych jest numer desktopu: bumbleebee zwyczajowo używa :8

```
nvidia-settings -q [gpu:0]/GPUCoreTemp -c :8 -t 2> /dev/null
```

To polecenie pobiera wartość temperatury rdzenia GPU, gdy nie ma tego servera i nvidia nie pracuje, to zwraca błąd typu:

 *Quote:*   

> ERROR: Unable to load info from any available system

 

dlatego ja przekierowuje błędy do null i sprawdzam, czy mam coś na wyjściu czy nie. Ten kog chodzi mi m.in. w conky.

----------

## robertsurma

To jeszcze dodam metodę "okienkową".

# nvidia-settings

GPU 0 – GeForce 820M / GPU Utilization → 

      0% - gdy tylko Intel pracuje

  ~93% - gdy nVidia renderuje

----------

