Okay let's try another approach...
Please remove SSDT-3-PegSsdt.aml and SSDT-11-Opt1Tabl.aml from /EFI/OC/ACPI and from you config.plist as well and add SSDT-DDGPU.aml to /EFI/OC/APCI and config.plist instead. This way is used on many ASUS-TUF-GAMING Laptop models to disable the dGPU and may work for you as well.
Not working bro i did use SSDT before but not works here the boot log
Do you think poor battery backup cause due to Battery patch on DSDT as i have many 16 bit entries i have this under the OperationRegion - ERAM: MBCT, RCAP, MBVT, DBAT, FRMS, FRS2, MDCP, MBCP and MBDV
I have made some patch but if i apply it i got many errors which i am unable to resolve it.
# Battery Patch
# ASUS TUF Gaming - for Dec_Bra1n
# Convert 16 bit to 8 bit registers
into device label EC0 code_regex MBCT,\s+16, replace_matched begin BCT0,8,BCT1,8, end;
into device label EC0 code_regex RCAP,\s+16, replace_matched begin CAP0,8,CAP1,8, end;
into device label EC0 code_regex MBVT,\s+16, replace_matched begin BVT0,8,BVT1,8, end;
into device label EC0 code_regex DBAT,\s+16, replace_matched begin DBA0,8,DBA1,8, end;
into device label EC0 code_regex FRMS,\s+16, replace_matched begin RMS0,8,RMS1,8, end;
into device label EC0 code_regex FRS2,\s+16, replace_matched begin RS20,8,RS21,8, end;
into device label EC0 code_regex MDCP,\s+16, replace_matched begin DCP0,8,DCP1,8, end;
into device label EC0 code_regex MBCP,\s+16, replace_matched begin BCP0,8,BCP1,8, end;
into device label EC0 code_regex MBDV,\s+16, replace_matched begin BDV0,8,BDV1,8, end;
# Create B1B2 Method
into method label B1B2 remove_entry;
into definitionblock code_regex . insert
begin
Method (B1B2, 2, NotSerialized) { Return(Or(Arg0, ShiftLeft(Arg1, 8))) }\n
end;
# Fix 16 bit registers
into method label UPBS code_regex \(MBCT, replaceall_matched begin (B1B2(BCT0,BCT1), end;
into method label UPBS code_regex \(RCAP, replaceall_matched begin (B1B2(CAP0,CAP1), end;
into method label UPBS code_regex \(MBVT, replaceall_matched begin (B1B2(BVT0,BVT1), end;
into method label SELE code_regex \(DBAT, replaceall_matched begin (B1B2(DBA0,DBA1), end;
into method label SFSS code_regex \(FRMS, replaceall_matched begin (B1B2(RMS0,RMS1), end;
into method label WMNB code_regex \(FRMS, replaceall_matched begin (B1B2(RMS0,RMS1), end;
into method label WMNB code_regex \(FRS2, replaceall_matched begin (B1B2(RS20,RS21), end;
into method label UPBI code_regex \(MDCP, replaceall_matched begin (B1B2(DCP0,DCP1), end;
into method label UPBI code_regex \(MBCP, replaceall_matched begin (B1B2(DCP0,DCP1), end;
into method label UPBS code_regex \(MBCP, replaceall_matched begin (B1B2(BCP0,BCP1), end;
into method label UPBI code_regex \(MBDV, replaceall_matched begin (B1B2(BDV0,BDV1), end;
begin
Store(%1, T2B0) Store(ShiftRight(%1,8), T2B1)
end;
into method label UPBS code_regex \(\^\^PCI0\.LPCB\.EC0\.MBCT, replaceall_matched begin (B1B2(^^PCI0.LPCB.EC0.BCT0,^^PCI0.LPCB.EC0.BCT1)), end;
into method label UPBS code_regex \(\^\^PCI0\.LPCB\.EC0\.RCAP, replaceall_matched begin (B1B2(^^PCI0.LPCB.EC0.CAP0,^^PCI0.LPCB.EC0.CAP1)), end;
into method label UPBS code_regex \^\^PCI0\.LPCB\.EC0\.MBVT\), replaceall_matched begin (B1B2(^^PCI0.LPCB.EC0.BVT0,^^PCI0.LPCB.EC0.BVT1)), end;
into method label SELE code_regex \(\^\^PCI0\.LPCB\.EC0\.DBAT, replaceall_matched begin (B1B2(^^PCI0.LPCB.EC0.DBA0,^^PCI0.LPCB.EC0.DBA1)), end;
into method label SFSS code_regex \(\^\^PCI0\.LPCB\.EC0\.FRMS, replaceall_matched begin (B1B2(^^PCI0.LPCB.EC0.RMS0,^^PCI0.LPCB.EC0.RMS1)), end;
into method label WMNB code_regex \^\^PCI0\.LPCB\.EC0\.FRMS\), replaceall_matched begin (B1B2(^^PCI0.LPCB.EC0.RMS0,^^PCI0.LPCB.EC0.RMS1)), end;
into method label WMNB code_regex \(\^\^PCI0\.LPCB\.EC0\.FRS2, replaceall_matched begin (B1B2(^^PCI0.LPCB.EC0.RS20,^^PCI0.LPCB.EC0.RS21)), end;
into method label UPBI code_regex \(\^\^PCI0\.LPCB\.EC0\.MDCP, replaceall_matched begin (B1B2(^^PCI0.LPCB.EC0.DCP0,^^PCI0.LPCB.EC0.DCP1)), end;
into method label UPBI code_regex \^\^PCI0\.LPCB\.EC0\.MBCP\), replaceall_matched begin (B1B2(^^PCI0.LPCB.EC0.DCP0,^^PCI0.LPCB.EC0.DCP1)), end;
into method label UPBS code_regex \(\^\^PCI0\.LPCB\.EC0\.MBCP, replaceall_matched begin (B1B2(^^PCI0.LPCB.EC0.BCP0,^^PCI0.LPCB.EC0.BCP1)), end;
into method label UPBI code_regex \^\^PCI0\.LPCB\.EC0\.MBDV\), replaceall_matched begin (B1B2(^^PCI0.LPCB.EC0.BDV0,^^PCI0.LPCB.EC0.DBV1)), end;
# utility methods to read/write buffers from/to EC
into method label RE1B parent_label EC0 remove_entry;
into method label RECB parent_label EC0 remove_entry;
into device label EC0 insert
begin
Method (RE1B, 1, NotSerialized)\n
{\n
OperationRegion(ERAM, EmbeddedControl, Arg0, 1)\n
Field(ERAM, ByteAcc, NoLock, Preserve) { BYTE, 8 }\n
Return(BYTE)\n
}\n
Method (RECB, 2, Serialized)\n
{\n
ShiftRight(Arg1, 3, Arg1)\n
Name(TEMP, Buffer(Arg1) { })\n
Add(Arg0, Arg1, Arg1)\n
Store(0, Local0)\n
While (LLess(Arg0, Arg1))\n
{\n
Store(RE1B(Arg0), Index(TEMP, Local0))\n
Increment(Arg0)\n
Increment(Local0)\n
}\n
Return(TEMP)\n
}\n
end;
#utility method to write to EC buffers
into method label WE1B parent_label EC0 remove_entry;
into method label WECB parent_label EC0 remove_entry;
into device label EC0 insert
begin
Method (WE1B, 2, NotSerialized)\n
{\n
OperationRegion(ERAM, EmbeddedControl, Arg0, 1)\n
Field(ERAM, ByteAcc, NoLock, Preserve) { BYTE, 8 }\n
Store(Arg1, BYTE)\n
}\n
Method (WECB, 3, Serialized)\n
{\n
ShiftRight(Arg1, 3, Arg1)\n
Name(TEMP, Buffer(Arg1) { })\n
Store(Arg2, TEMP)\n
Add(Arg0, Arg1, Arg1)\n
Store(0, Local0)\n
While (LLess(Arg0, Arg1))\n
{\n
WE1B(Arg0, DerefOf(Index(TEMP, Local0)))\n
Increment(Arg0)\n
Increment(Local0)\n
}\n
}\n
end;