Is it possible to run only on Intel's graphics?

Hi everyone,
This is my very first post on these forums, so I’d like to apologize in advance if I’m posting in the wrong place.
I have intel/nvidia hybrid graphics. I don’t need Nvidia, because I don’t really do anything graphics intensive. Also, I want to get rid of nouveau because it’s been causing issues with my wifi usb adaptor (completely black screen after suspend where I can’t do anything beside force power off the laptop. Not even TTY). So, I’m forced to run the “auto install proprietary driver” in the settings, but that is eating the battery really quick on my laptop. So, my question is, like the title says, is it at all possible to run only on intel’s graphics? Like disable nvidia and nouveau completely? (Note that I don’t have an option to disable nvidia on my BIOS) If so, how? I am not an advanced user by any means, but I can follow instructions, as long as they are not too complicated. Also, I don’t know what’s currently running my system, intel, nvidia or nouveau. Like I mentioned, I did “auto install proprietary driver” from the hardware configurations in the settings.

System:
  Kernel: 5.15.12-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-5.15-x86_64
    root=UUID=33b9cef7-8b09-4b5c-b8d4-405d1f320df4 rw rootflags=subvol=@ quiet
    apparmor=1 security=apparmor
    resume=UUID=935eaefd-5656-4168-9c4a-f670924802a4 udev.log_priority=3
  Desktop: KDE Plasma 5.23.4 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM
    Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Convertible System: Dell product: Inspiron 7573 v: N/A
    serial: <superuser required> Chassis: type: 31 serial: <superuser required>
  Mobo: Dell model: 0X1X3N v: A00 serial: <superuser required> UEFI: Dell
    v: 1.22.0 date: 12/14/2021
Battery:
  ID-1: BAT0 charge: 35.6 Wh (73.9%) condition: 48.2/56.0 Wh (86.1%)
    volts: 16.8 min: 15.2 model: LGC-LGC3.553 DELL 81PF3 type: Li-ion
    serial: <filter> status: Charging
  Device-1: hid-0018:04F3:2540.0001-battery model: ELAN2097:00 04F3:2540
    serial: N/A charge: N/A status: N/A
Memory:
  RAM: total: 15.37 GiB used: 4.19 GiB (27.3%)
  RAM Report:
    permissions: Unable to run dmidecode. Root privileges required.
CPU:
  Info: model: Intel Core i7-8550U bits: 64 type: MT MCP arch: Coffee Lake
    family: 6 model-id: 0x8E (142) stepping: 0xA (10) microcode: 0xEC
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
    L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
    L3: 8 MiB desc: 1x8 MiB
  Speed (MHz): avg: 2300 high: 2302 min/max: 400/4000 scaling:
    driver: intel_pstate governor: powersave cores: 1: 2300 2: 2300 3: 2300
    4: 2302 5: 2300 6: 2300 7: 2300 8: 2300 bogomips: 32012
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat
    arch_capabilities arch_perfmon art avx avx2 bmi1 bmi2 bts clflush clflushopt
    cmov constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64 dtherm dts
    epb ept ept_ad erms est f16c flexpriority flush_l1d fma fpu fsgsbase fxsr
    ht hwp hwp_act_window hwp_epp hwp_notify ibpb ibrs ida intel_pt invpcid
    invpcid_single lahf_lm lm mca mce md_clear mmx monitor movbe mpx msr mtrr
    nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm pdpe1gb pebs pge pln
    pni popcnt pse pse36 pti pts rdrand rdseed rdtscp rep_good sdbg sep sgx
    smap smep ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp syscall tm tm2
    tpr_shadow tsc tsc_adjust tsc_deadline_timer vme vmx vnmi vpid x2apic
    xgetbv1 xsave xsavec xsaveopt xsaves xtopology xtpr
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf
    mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl and seccomp
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional,
    IBRS_FW, STIBP: conditional, RSB filling
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel UHD Graphics 620 vendor: Dell driver: i915 v: kernel
    bus-ID: 00:02.0 chip-ID: 8086:5917 class-ID: 0300
  Device-2: NVIDIA GM108M [GeForce MX130] vendor: Dell driver: nvidia
    v: 495.44 alternate: nouveau,nvidia_drm bus-ID: 01:00.0 chip-ID: 10de:174d
    class-ID: 0302
  Device-3: Realtek Integrated_Webcam_HD type: USB driver: uvcvideo
    bus-ID: 1-5:3 chip-ID: 0bda:58f5 class-ID: 0e02 serial: <filter>
  Display: x11 server: X.org 1.21.1.2 compositor: kwin_x11 driver:
    loaded: modesetting,nvidia alternate: fbdev,nouveau,nv,vesa
    resolution: <missing: xdpyinfo>
  Message: Unable to show advanced data. Required tool glxinfo missing.
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio vendor: Dell driver: snd_hda_intel
    v: kernel alternate: snd_soc_skl bus-ID: 00:1f.3 chip-ID: 8086:9d71
    class-ID: 0403
  Sound Server-1: ALSA v: k5.15.12-1-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.19 running: no
  Sound Server-3: PulseAudio v: 15.0 running: no
  Sound Server-4: PipeWire v: 0.3.42 running: yes
Network:
  Device-1: ASUSTek 802.11ac NIC type: USB driver: rtl88x2bu bus-ID: 1-3:2
    chip-ID: 0b05:184c class-ID: 0000 serial: <filter>
  IF: wlp0s20f0u3 state: up mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: noprefixroute scope: link
  WAN IP: <filter>
Bluetooth:
  Device-1: Intel Bluetooth wireless interface type: USB driver: btusb v: 0.8
    bus-ID: 1-7:4 chip-ID: 8087:0a2a class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 4 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: see --recommends
Logical:
  Message: No logical block device data found.
RAID:
  Hardware-1: Intel 82801 Mobile SATA Controller [RAID mode] driver: ahci
    v: 3.0 port: f060 bus-ID: 00:17.0 chip-ID: 8086:282a rev: N/A class-ID: 0104
Drives:
  Local Storage: total: 476.94 GiB used: 61.58 GiB (12.9%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: SK Hynix model: SC311 SATA 512GB
    size: 476.94 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: 0P10 scheme: GPT
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 467.84 GiB size: 467.84 GiB (100.00%)
    used: 61.57 GiB (13.2%) fs: btrfs dev: /dev/sda2 maj-min: 8:2 label: N/A
    uuid: 33b9cef7-8b09-4b5c-b8d4-405d1f320df4
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 6.6 MiB (2.2%) fs: vfat dev: /dev/sda1 maj-min: 8:1 label: NO_LABEL
    uuid: B4A1-7FAC
  ID-3: /home raw-size: 467.84 GiB size: 467.84 GiB (100.00%)
    used: 61.57 GiB (13.2%) fs: btrfs dev: /dev/sda2 maj-min: 8:2 label: N/A
    uuid: 33b9cef7-8b09-4b5c-b8d4-405d1f320df4
  ID-4: /run/timeshift/backup raw-size: 467.84 GiB
    size: 467.84 GiB (100.00%) used: 61.57 GiB (13.2%) fs: btrfs dev: /dev/sda2
    maj-min: 8:2 label: N/A uuid: 33b9cef7-8b09-4b5c-b8d4-405d1f320df4
  ID-5: /var/cache raw-size: 467.84 GiB size: 467.84 GiB (100.00%)
    used: 61.57 GiB (13.2%) fs: btrfs dev: /dev/sda2 maj-min: 8:2 label: N/A
    uuid: 33b9cef7-8b09-4b5c-b8d4-405d1f320df4
  ID-6: /var/log raw-size: 467.84 GiB size: 467.84 GiB (100.00%)
    used: 61.57 GiB (13.2%) fs: btrfs dev: /dev/sda2 maj-min: 8:2 label: N/A
    uuid: 33b9cef7-8b09-4b5c-b8d4-405d1f320df4
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
  ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/sda3 maj-min: 8:3 label: swap
    uuid: 935eaefd-5656-4168-9c4a-f670924802a4
Unmounted:
  Message: No unmounted partitions found.
USB:
  Hub-1: 1-0:1 info: Hi-speed hub with single TT ports: 12 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Device-1: 1-3:2 info: ASUSTek 802.11ac NIC type: Network driver: rtl88x2bu
    interfaces: 1 rev: 2.1 speed: 480 Mb/s power: 500mA chip-ID: 0b05:184c
    class-ID: 0000 serial: <filter>
  Device-2: 1-5:3 info: Realtek Integrated_Webcam_HD type: Video
    driver: uvcvideo interfaces: 4 rev: 2.0 speed: 480 Mb/s power: 500mA
    chip-ID: 0bda:58f5 class-ID: 0e02 serial: <filter>
  Device-3: 1-7:4 info: Intel Bluetooth wireless interface type: Bluetooth
    driver: btusb interfaces: 2 rev: 2.0 speed: 12 Mb/s power: 100mA
    chip-ID: 8087:0a2a class-ID: e001
  Hub-2: 2-0:1 info: Super-speed hub ports: 6 rev: 3.0 speed: 5 Gb/s
    chip-ID: 1d6b:0003 class-ID: 0900
Sensors:
  System Temperatures: cpu: 55.0 C pch: 52.0 C mobo: 52.0 C sodimm: SODIMM C
  Fan Speeds (RPM): cpu: 3206
Info:
  Processes: 298 Uptime: 3h 2m wakeups: 7 Init: systemd v: 250 tool: systemctl
  Compilers: gcc: 11.1.0 clang: 13.0.0 Packages: pacman: 1330 lib: 342
  flatpak: 0 Shell: Zsh v: 5.8 default: Bash v: 5.1.12 running-in: konsole
  inxi: 3.3.12```
I have nvidia GeForce MX130, but I don't know why it isn't showing in the settings. 
Thank you in advance
1 Like

Hi,
Please see this:

Fixed it. Hope that works now.

Thanks.

I would suggest first make sure to have only the following mhwd profiles installed:

video-linux
video-moesetting
If you dont know how click this

Here is an an example of listing, removing and installing:

mhwd -li
sudo mhwd -r pci video-nvidia
sudo mhwd -i pci video-linux

Then blacklist nouveau:

printf 'blacklist nouveau\noptions nouveau modeset=0' | sudo tee /etc/modprobe.d/blacklist-nouveau.conf

If you want to go further and make sure the card is fully powered down you can probably do so with acpi_call. To install the module for your kernel:

sudo pacman -Syu $(ls /boot | awk -F "-" '/^linux/ { print $1"-acpi_call" }')

(you may wish to restart here - especially if there were a number of updates)

Then load the module:

sudo modprobe acpi_call

And try turning off the card with the provided script:

sudo /usr/share/acpi_call/examples/turn_off_gpu.sh

A couple of questions if you don’t mind.
Will this disable nouveau and nvidia and leave only intel?
Also, this command you provided

sudo /usr/share/acpi_call/examples/turn_off_gpu.sh

Do I just run it as is, or do I replace the “examples” with something?

And which provided script are you talking about?

I’m trying to post a screenshot of my current set up, but I can’t. I have “video-hybrid-intel-nvidia-prime” on both nvidia and intell sections. Then after that, I have modsettings checked. All of that is in the “installed” section.

Here is what mhwd -li give me

 Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
     video-modesetting            2020.01.13                true            PCI
video-hybrid-intel-nvidia-prime            2021.12.18               false            PCI


Warning: No installed USB configs!

Run as-is, that is the path. It is the script.
(note - .sh is a common extension for scripts)

Then remove it with

sudo mhwd -r pci video-hybrid-intel-nvidia-prime

Running
sudo /usr/share/acpi_call/examples/turn_off_gpu.sh
gave me this:
sudo: /usr/share/acpi_call/examples/turn_off_gpu.sh: command not found

Did you install and start the module ?

Twice. The second time to make sure I did. I rebooted after installing it then ran the last command.

It wont be loaded after a restart, we are just testing it.
So make sure it is loaded with modprobe.

And … oh, maybe we want to do it a little differently…

cd /
sudo ./usr/share/acpi_call/examples/turn_off_gpu.sh

Same results.
Installed it with this command
sudo pacman -Syu $(ls /boot | awk -F "-" '/^linux/ { print $1"-acpi_call" }')
did NOT reboot
then ran
sudo modprobe acpi_call
then cd / and
sudo ./usr/share/acpi_call/examples/turn_off_gpu.sh
and I’m still getting this
sudo: ./usr/share/acpi_call/examples/turn_off_gpu.sh: command not found

Ok … now the lookyloo:

pacman -Qs acpi_call
lsmod | grep acpi_call
ls -la /usr/share/acpi_call/examples

This is what I got

 [kalzi@Jaro /]$ pacman -Qs acpi_call
local/linux515-acpi_call 1.2.2-4 (linux515-extramodules)
    A linux kernel module that enables calls to ACPI methods through /proc/acpi/call
[kalzi@Jaro /]$ lsmod | grep acpi_call
acpi_call              16384  0
[kalzi@Jaro /]$ ls -la /usr/share/acpi_call/examples
ls: cannot access '/usr/share/acpi_call/examples': No such file or directory
[kalzi@Jaro /]$ 

…hah. I gave you the wrong path.
(it was missing the kernel-module directory)

/usr/share/linux515-acpi_call/examples/turn_off_gpu.sh

Ran it without sudo and got a bunch of “permission denied” then ran it with sudo and got this:

[kalzi@Jaro /]$ sudo /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh
[sudo] password for kalzi:
Trying \_SB_.PCI0.GFX0.ATPX: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41: war
ning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.P0P1.VGA._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.P0P2.VGA._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB_.PCI0.OVGA.ATPX: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41: war
ning: command substitution: ignored null byte in input
failed
Trying \_SB_.PCI0.OVGA.XTPX: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41: war
ning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.P0P3.PEGP._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.P0P2.PEGP._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.P0P1.PEGP._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.MXR0.MXM0._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.PEG1.GFX0._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.PEG0.GFX0.DOFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.PEG1.GFX0.DOFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.PEG0.PEGP._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.XVR0.Z01I.DGOF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.PEGR.GFX0._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.PEG.VID._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41: w
arning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.PEG0.VID._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.P0P2.DGPU._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.P0P4.DGPU.DOFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.IXVE.IGPU.DGOF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.RP00.VGA._PS3: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.RP00.VGA.P3MO: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.GFX0.DSM._T_0: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.LPC.EC.PUBS._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 4
1: warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.P0P2.NVID._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.P0P2.VGA.PX02: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB_.PCI0.PEGP.DGFX._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41
: warning: command substitution: ignored null byte in input
failed
Trying \_SB_.PCI0.VGA.PX02: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41: warn
ing: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.PEG0.PEGP.SGOF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.AGP.VGA.PX02: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41: w
arning: command substitution: ignored null byte in input
failed
Trying \_SB.PCI0.RP05.PXSX._OFF: /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh: line 41:
warning: command substitution: ignored null byte in input
failed

Also, went into the file itself with dolphin, clicked on it to excute it, but nothing happened. Opened that directory with a terminal and ran that single .sh file, but it keeps telling me sudo: turn_off_gpu.sh: command not found
From the long output above, it looks like there is something wrong with line 41 in that file result=$(cat /proc/acpi/call)

We might try running it as root for real and making sure its bash;

su -
bash
cd /
./usr/share/linux515-acpi_call/examples/turn_off_gpu.sh

same long message. There is something wrong with line 41 of the acpi_calls
this one result=$(cat /proc/acpi/call)

Hm. Yeah. I see some other reports.
Care to try replacing the script?
Maybe back up first;

sudo mv /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh.bak
sudo nano /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh

And put in the following:

Contents of /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh
#!/bin/sh

if lsmod | grep -q acpi_call; then
methods="
\_SB_.PCI0.GFX0.ATPX
\_SB.PCI0.P0P1.VGA._OFF
\_SB.PCI0.P0P2.VGA._OFF
\_SB_.PCI0.OVGA.ATPX
\_SB_.PCI0.OVGA.XTPX
\_SB.PCI0.P0P3.PEGP._OFF
\_SB.PCI0.P0P2.PEGP._OFF
\_SB.PCI0.P0P1.PEGP._OFF
\_SB.PCI0.MXR0.MXM0._OFF
\_SB.PCI0.PEG1.GFX0._OFF
\_SB.PCI0.PEG0.GFX0.DOFF
\_SB.PCI0.PEG1.GFX0.DOFF
\_SB.PCI0.PEG0.PEGP._OFF
\_SB.PCI0.XVR0.Z01I.DGOF
\_SB.PCI0.PEGR.GFX0._OFF
\_SB.PCI0.PEG.VID._OFF
\_SB.PCI0.PEG0.VID._OFF
\_SB.PCI0.P0P2.DGPU._OFF
\_SB.PCI0.P0P4.DGPU.DOFF
\_SB.PCI0.IXVE.IGPU.DGOF
\_SB.PCI0.RP00.VGA._PS3
\_SB.PCI0.RP00.VGA.P3MO
\_SB.PCI0.GFX0.DSM._T_0
\_SB.PCI0.LPC.EC.PUBS._OFF
\_SB.PCI0.P0P2.NVID._OFF
\_SB.PCI0.P0P2.VGA.PX02
\_SB_.PCI0.PEGP.DGFX._OFF
\_SB_.PCI0.VGA.PX02
\_SB.PCI0.PEG0.PEGP.SGOF
\_SB.PCI0.AGP.VGA.PX02
\_SB.PCI0.RP05.PXSX._OFF
\_SB.PCI0.GPP0.PG00._OFF
"

for m in $methods; do
    printf "Trying %s: " "$m"
    echo "$m" > /proc/acpi/call
    result=$(cat /proc/acpi/call)
    case "$result" in
        Error*)
            echo "failed"
        ;;
        *)
            echo "works!"
            # break # try out outher methods too
        ;;
    esac
done

else
    echo "The acpi_call module is not loaded, try running 'modprobe acpi_call' or 'insmod acpi_call.ko' as root"
    exit 1
fi

And try again :crossed_fingers:

Which command should I try after doing these two

sudo mv /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh.bak
sudo nano /usr/share/linux515-acpi_call/examples/turn_off_gpu.sh

of course, pasting the long script you provided
Sorry, I am kind of getting confused. lol
just give me the command you wanted me to try after your last comment