AMD RAVEN/NVIDIA 듀얼 그래픽을 사용하여 AMD 그래픽으로 전환하는 방법

AMD RAVEN/NVIDIA 듀얼 그래픽을 사용하여 AMD 그래픽으로 전환하는 방법

내 노트북인 Asus Rog Zephyrus G G4502가 prime-select. 배터리 수명을 늘리기 위해 NVIDIA GPU를 끄려고 합니다.

편집 1: 주행 후 소비전력 sudo prime-select nvidia && reboot낮추다달리는 것보다 sudo prime-select intel && reboot.

소프트웨어 및 업데이트는 Nvidia 카드와 드라이버를 인식합니다. Nvidia 설정은 현재 다음을 제공합니다.

(nvidia-settings:11339): GLib-GObject-CRITICAL **: 14:27:26.898: g_object_unref: assertions 'G_IS_OBJECT (object)' failed
** Message: PRIME: No offloading required. Abort
** Message: PRIME: is it supported? no

저는 Nvidia 드라이버를 수십 번 제거하고 다시 설치하려고 했습니다(새로 설치하는 경우에도 마찬가지).

파일이 없으면 xorg.confnvidia-settings에 빈 화면이 표시됩니다. 이 파일을 사용하면 GPU에 대한 일부 정보가 표시되지만 PRIME 프로필 탭은 표시되지 않습니다.

편집 2: 출력 lspci -k | grep -EA3 'VGA|3D|Display':

victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:~$ lspci -k | grep -EA3 'VGA|3D|Display'
01:00.0 VGA compatible controller: NVIDIA Corporation TU116M [GeForce GTX 1660 Ti Mobile] (rev a1)
Subsystem: ASUSTeK Computer Inc. TU116M [GeForce GTX 1660 Mobile]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
--
05:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Picasso (rev c1)
Subsystem: ASUSTeK Computer Inc. Picasso
Kernel driver in use: amdgpu
Kernel modules: amdgpu
--
05:00.7 Non-VGA unclassified device: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/Renoir Non-Sensor Fusion Hub KMDF driver
Subsystem: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/Renoir Non-Sensor Fusion Hub KMDF driver
Kernel driver in use: i2c_amd_mp2
Kernel modules: i2c_amd_mp2_pci

출력 mokutil --sb-state:

victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:~$ mokutil --sb-state
SecureBoot enabled

편집 3: 출력 glxinfo | grep OpenGL:

victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:~$ glxinfo | grep OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1660 Ti with Max-Q Design/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 440.44
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6.0 NVIDIA 440.44
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 440.44
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

편집 4: 출력 xrandr --listproviders:

victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:~$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x1e8 cap: 0x1, Source Output crtcs: 4 outputs: 2 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x45 cap: 0x6, Sink Output, Source Offload crtcs: 4 outputs: 2 associated providers: 1 name:modesetting

편집 5: @Pilot6 제안 후 새 출력을 게시합니다.

출력 nvidia-smi:

victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:~$ nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

출력 nvidia-settings:

victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:~$ nvidia-settings

ERROR: NVIDIA driver is not loaded


ERROR: Unable to load info from any available system


(nvidia-settings:4070): GLib-GObject-CRITICAL **: 15:58:56.780: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
** Message: 15:58:56.784: PRIME: No offloading required. Abort
** Message: 15:58:56.784: PRIME: is it supported? no

출력 glxinfo | grep OpenGL:

victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:~$ glxinfo | grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: AMD RAVEN (DRM 3.33.0, 5.3.0-24-generic, LLVM 9.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.2.1
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: 4.5 (Compatibility Profile) Mesa 19.2.1

편집 6: 출력 dkms status:

victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:~$ dkms status
nvidia, 440.44, 5.3.0-24-generic, x86_64: installed
rtl8821ce, 5.2.5.2.1.30816.20190425, 5.3.0-24-generic, x86_64: installed

편집 6: 일부 bbswitch 명령의 출력:

victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:/proc/acpi$ sudo cat /proc/acpi/bbswitch
cat: /proc/acpi/bbswitch: No such file or directory
victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:/proc/acpi$ sudo tee /proc/acpi/bbswitch <<<OFF
tee: /proc/acpi/bbswitch: No such file or directory
OFF
victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:/proc/acpi$ sudo modprobe bbswitch
modprobe: ERROR: could not insert 'bbswitch': No such device

출력 dmesg | tail:

victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:/proc/acpi$ dmesg | tail
[ 1153.397538] bbswitch: version 0.8
[ 1153.397556] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.GPP0.PEGP
[ 1153.397561] bbswitch: Found discrete VGA device 0000:05:00.0: \_SB_.PCI0.GP17.VGA_
[ 1153.397593] bbswitch: failed to evaluate \_SB_.PCI0.GP17.VGA_._DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x0 {0x00,0x00,0x00,0x00}: AE_NOT_FOUND
[ 1153.397605] bbswitch: failed to evaluate \_SB_.PCI0.GP17.VGA_._DSM {0xA0,0xA0,0x95,0x9D,0x60,0x00,0x48,0x4D,0xB3,0x4D,0x7E,0x5F,0xEA,0x12,0x9F,0xD4} 0x102 0x0 {0x00,0x00,0x00,0x00}: AE_NOT_FOUND
[ 1153.397606] bbswitch: No suitable _DSM call found.

출력 dmesg | grep bbswitch:

victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:/proc/acpi$ dmesg | grep bbswitch
[ 1153.397538] bbswitch: version 0.8
[ 1153.397556] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.GPP0.PEGP
[ 1153.397561] bbswitch: Found discrete VGA device 0000:05:00.0: \_SB_.PCI0.GP17.VGA_
[ 1153.397593] bbswitch: failed to evaluate \_SB_.PCI0.GP17.VGA_._DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x0 {0x00,0x00,0x00,0x00}: AE_NOT_FOUND
[ 1153.397605] bbswitch: failed to evaluate \_SB_.PCI0.GP17.VGA_._DSM {0xA0,0xA0,0x95,0x9D,0x60,0x00,0x48,0x4D,0xB3,0x4D,0x7E,0x5F,0xEA,0x12,0x9F,0xD4} 0x102 0x0 {0x00,0x00,0x00,0x00}: AE_NOT_FOUND
[ 1153.397606] bbswitch: No suitable _DSM call found.

출력 dmesg | grep acpi:

victor7095@victor7095-Zephyrus-G-GU502DU-GA502DU:/proc/acpi$ dmesg | grep acpi
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])
[    0.132087] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.160775] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
[    0.160932] acpi PNP0A08:00: _OSC: platform does not support [SHPCHotplug LTR]
[    0.161083] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug PME AER PCIeCapability]
[    0.161094] acpi PNP0A08:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-3f] only partially covers this bridge
[    0.188199] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    0.343322] acpi_cpufreq: overriding BIOS provided _PSD data
[    0.433812] acpi device:19: registered as cooling_device8

관련 정보