nvidia-smi는 작동하지만 glxinfo show OpenGL은 Intel 그래픽 카드를 사용합니다. 우분투 18.04

nvidia-smi는 작동하지만 glxinfo show OpenGL은 Intel 그래픽 카드를 사용합니다. 우분투 18.04

내 노트북의 개별 그래픽을 사용하여 게임을 하고 싶습니다. Intel 그래픽 카드에는 관심이 없습니다. NVidia만 사용하고 싶습니다.

$ nvidia-smi
Mon Mar 23 20:40:58 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.64.00    Driver Version: 440.64.00    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 860M    On   | 00000000:01:00.0 Off |                  N/A |
| N/A   47C    P8    N/A /  N/A |      0MiB /  4046MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
$ glxinfo |grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile 
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.2.8
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 19.2.8
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 19.2.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
$ lspci | grep NVIDIA
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev a2)

필사적으로 bbswitch를 설치했는데, 꺼도 켜짐으로 표시됩니다.

root@eevee-G551JM:/home/adam # cat /proc/acpi/bbswitch 
0000:01:00.0 ON
root@eevee-G551JM:/home/adam # tee /proc/acpi/bbswitch <<<OFF
OFF
root@eevee-G551JM:/home/adam # cat /proc/acpi/bbswitch 
0000:01:00.0 ON
root@eevee-G551JM:/home/adam # prime-select query
nvidia

나는 이 컴퓨터에 범블비를 구성했지만 더 이상 제대로 작동하지 않습니다(그리고 이를 제거해도 렌더링에 영향을 미치지 않습니다).

root@eevee-G551JM:/home/adam # service bumblebeed stop
root@eevee-G551JM:/home/adam # bumblebeed 
[  821.692186] [INFO]bumblebeed 3.2.1 started
[  821.692614] [ERROR]Failed to unload module 'nvidia' (ref count: 15).
^C[  882.413474] [WARN]Received Interrupt signal.
root@eevee-G551JM:/home/adam 5 # service bumblebeed start
root@eevee-G551JM:/home/adam # service bumblebeed status
● bumblebeed.service - Bumblebee C Daemon
   Loaded: loaded (/lib/systemd/system/bumblebeed.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2020-03-23 20:52:34 CET; 1s ago
 Main PID: 10898 (bumblebeed)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/bumblebeed.service
           └─10898 /usr/sbin/bumblebeed

Mar 23 20:52:34 eevee-G551JM systemd[1]: Started Bumblebee C Daemon.
Mar 23 20:52:34 eevee-G551JM bumblebeed[10898]: [  903.313579] [INFO]/usr/sbin/bumblebeed 3.2.1 started
Mar 23 20:52:34 eevee-G551JM bumblebeed[10898]: [  903.314010] [ERROR]Failed to unload module 'nvidia' (ref count: 15).
root@eevee-G551JM:/home/adam # apt install xserver-xorg-video-nvidia-440 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
xserver-xorg-video-nvidia-440 is already the newest version (440.64.00-0ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

$ cd /etc/modprobe.d/
$ ag nvidia
blacklist-framebuffer.conf
19:blacklist nvidiafb

bumblebee.conf
5:# do not automatically load nouveau as it may prevent nvidia from loading
7:# do not automatically load nvidia as it's unloaded anyway when bumblebeed
10:blacklist nvidia
11:blacklist nvidia-current
12:blacklist nvidia-legacy-304xx
13:blacklist nvidia-legacy-340xx
15:blacklist nvidia
16:blacklist nvidia-current
17:blacklist nvidia-current-updates
...

root@eevee-G551JM:/etc/modprobe.d # cat /etc/modules
i915
bbswitch
$ cat /etc/bumblebee/bumblebee.conf

[bumblebeed]
VirtualDisplay=:8
KeepUnusedXServer=false
ServerGroup=bumblebee
TurnCardOffAtExit=false
NoEcoModeOverride=false
Driver=
XorgConfDir=/etc/bumblebee/xorg.conf.d
XorgBinary=/usr/lib/xorg/Xorg

[optirun]
Bridge=auto
VGLTransport=proxy
PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
AllowFallbackToIGC=false

[driver-nvidia]
KernelDriver=nvidia
PMMethod=auto
LibraryPath=/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu
XorgModulePath=/usr/lib/x86_64-linux-gnu/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules/input
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

[driver-nouveau]
KernelDriver=nouveau
PMMethod=auto
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau

누군가 제게 설명해 주실 수 있나요? 어떻게 nvidia-smi그래픽 카드를 볼 수 있는데 xorg가 이를 사용하지 않는 걸까요? 이것이 처음부터 가능하다는 것은 매우 흥미롭습니다. 하지만 모든 그래픽이 NVIDIA에 의해 렌더링될 때(또는 더 나은 방법으로는 호박벌이 작동하는) 상태로 시스템을 되돌리는 방법은 무엇입니까?

답변1

glxinfo는 메사 유틸리티이고, mesa는 Intel, Amd, VMware 및 Raspbery PI용 GPU 드라이버입니다. 따라서 이러한 GPU에 대한 정보만 제공합니다.

답변2

그것은 다음과 관련이 있을 수 있습니다.엔비디아 온디맨드프로필(특히 외부 모니터를 사용하는 경우) 프로필을 다음으로 전환 중입니다.엔비디아(성능 모드)in은 nvidia-settings나에게도 같은 문제를 해결합니다.

내가 가져간 것 중에서NVIDIA X 서버 설정에서 NVIDIA On-Demand 옵션은 어떻게 작동합니까?, On-Demand프로필은 Nvidia의 동적 전환을 허용하지만 노트북 화면으로 제한되는 반면 Performance ModeNvidia를 사용하여 모든 것을 렌더링하고 외부 모니터에서 작동합니다.

관련 정보