Instantly share code, notes, and snippets.

Embed
What would you like to do?
--- dsdt.dsl 2018-03-04 16:00:00.866484238 -0800
+++ dsdt.dsl 2018-03-04 16:28:07.933272752 -0800
@@ -18,9 +18,8 @@
* Compiler ID "INTL"
* Compiler Version 0x20160527 (538314023)
*/
-DefinitionBlock ("", "DSDT", 2, "LENOVO", "SKL ", 0x00000000)
+DefinitionBlock ("", "DSDT", 2, "LENOVO", "SKL ", 0x00000001)
{
- External (_GPE.TBNF, MethodObj) // 0 Arguments
External (_PR_.BGIA, UnknownObj)
External (_PR_.BGMA, UnknownObj)
External (_PR_.BGMS, UnknownObj)
@@ -40,19 +39,15 @@
External (_PR_.PDTS, UnknownObj)
External (_PR_.PKGA, UnknownObj)
External (_PR_.POWS, UnknownObj)
- External (_PR_.PR00, DeviceObj)
External (_PR_.PR00.LPSS, PkgObj)
External (_PR_.PR00.TPSS, PkgObj)
External (_PR_.TRPD, UnknownObj)
External (_PR_.TRPF, UnknownObj)
- External (_SB_.GGIV, MethodObj) // 1 Arguments
- External (_SB_.GGOV, MethodObj) // 1 Arguments
External (_SB_.IETM, DeviceObj)
External (_SB_.IETM.DPTE, UnknownObj)
External (_SB_.PCI0.B0D4.NPCC, PkgObj)
External (_SB_.PCI0.CTCD, MethodObj) // 0 Arguments
External (_SB_.PCI0.CTCN, MethodObj) // 0 Arguments
- External (_SB_.PCI0.GFX0, DeviceObj)
External (_SB_.PCI0.GFX0.AINT, MethodObj) // 2 Arguments
External (_SB_.PCI0.GFX0.ALSI, UnknownObj)
External (_SB_.PCI0.GFX0.CBLV, UnknownObj)
@@ -71,108 +66,81 @@
External (_SB_.PCI0.HDAS.PS3X, MethodObj) // 0 Arguments
External (_SB_.PCI0.HIDW, MethodObj) // 4 Arguments
External (_SB_.PCI0.HIWC, MethodObj) // 1 Arguments
- External (_SB_.PCI0.ISP0, DeviceObj)
External (_SB_.PCI0.LPCB.H_EC.XDAT, MethodObj) // 0 Arguments
External (_SB_.PCI0.PAUD.PUAM, MethodObj) // 0 Arguments
- External (_SB_.PCI0.PEG0, DeviceObj)
- External (_SB_.PCI0.PEG0.PEGP, DeviceObj)
External (_SB_.PCI0.PEG0.PG00.PEGP, DeviceObj)
- External (_SB_.PCI0.PEG1, DeviceObj)
External (_SB_.PCI0.PEG1.PG01.PEGP, DeviceObj)
- External (_SB_.PCI0.PEG2, DeviceObj)
External (_SB_.PCI0.PEG2.PG02.PEGP, DeviceObj)
External (_SB_.PCI0.PTDP, UnknownObj)
External (_SB_.PCI0.RP01.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP01.PXSX, DeviceObj)
- External (_SB_.PCI0.RP01.PXSX.WGST, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP01.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP02.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP02.PXSX, DeviceObj)
External (_SB_.PCI0.RP02.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP02.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP03.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP03.PXSX, DeviceObj)
External (_SB_.PCI0.RP03.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP03.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP04.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP04.PXSX, DeviceObj)
External (_SB_.PCI0.RP04.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP04.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP05.PON_, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP05.PWRG, UnknownObj)
- External (_SB_.PCI0.RP05.PXSX, DeviceObj)
External (_SB_.PCI0.RP05.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP05.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP05.RSTG, UnknownObj)
External (_SB_.PCI0.RP05.SCLK, UnknownObj)
External (_SB_.PCI0.RP06.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP06.PXSX, DeviceObj)
External (_SB_.PCI0.RP06.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP06.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP07.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP07.PXSX, DeviceObj)
External (_SB_.PCI0.RP07.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP07.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP08.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP08.PXSX, DeviceObj)
External (_SB_.PCI0.RP08.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP08.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP09.PEGP.NVST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP09.PON_, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP09.PWRG, UnknownObj)
- External (_SB_.PCI0.RP09.PXSX, DeviceObj)
External (_SB_.PCI0.RP09.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP09.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP09.RSTG, UnknownObj)
External (_SB_.PCI0.RP09.SCLK, UnknownObj)
External (_SB_.PCI0.RP10.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP10.PXSX, DeviceObj)
External (_SB_.PCI0.RP10.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP10.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP11.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP11.PXSX, DeviceObj)
External (_SB_.PCI0.RP11.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP11.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP12.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP12.PXSX, DeviceObj)
External (_SB_.PCI0.RP12.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP12.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP13.PON_, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP13.PWRG, UnknownObj)
- External (_SB_.PCI0.RP13.PXSX, DeviceObj)
External (_SB_.PCI0.RP13.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP13.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP13.RSTG, UnknownObj)
External (_SB_.PCI0.RP13.SCLK, UnknownObj)
External (_SB_.PCI0.RP14.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP14.PXSX, DeviceObj)
External (_SB_.PCI0.RP14.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP14.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP15.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP15.PXSX, DeviceObj)
External (_SB_.PCI0.RP15.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP15.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP16.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP16.PXSX, DeviceObj)
External (_SB_.PCI0.RP16.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP16.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP17.PON_, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP17.PWRG, UnknownObj)
- External (_SB_.PCI0.RP17.PXSX, DeviceObj)
External (_SB_.PCI0.RP17.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP17.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP17.RSTG, UnknownObj)
External (_SB_.PCI0.RP17.SCLK, UnknownObj)
External (_SB_.PCI0.RP18.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP18.PXSX, DeviceObj)
External (_SB_.PCI0.RP18.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP18.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP19.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP19.PXSX, DeviceObj)
External (_SB_.PCI0.RP19.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP19.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP20.PON_, MethodObj) // 0 Arguments
- External (_SB_.PCI0.RP20.PXSX, DeviceObj)
External (_SB_.PCI0.RP20.PXSX.WGST, MethodObj) // 0 Arguments
External (_SB_.PCI0.RP20.PXSX.WIST, MethodObj) // 0 Arguments
External (_SB_.PCI0.SAT0.NVM1.VLPM, UnknownObj)
@@ -191,16 +159,12 @@
External (_SB_.PCI0.XHC_.RHUB.PS0X, MethodObj) // 0 Arguments
External (_SB_.PCI0.XHC_.RHUB.PS2X, MethodObj) // 0 Arguments
External (_SB_.PCI0.XHC_.RHUB.PS3X, MethodObj) // 0 Arguments
- External (_SB_.SGOV, MethodObj) // 2 Arguments
- External (_SB_.TBFP, MethodObj) // 1 Arguments
External (_SB_.TPM_.PTS_, MethodObj) // 1 Arguments
External (_SB_.UBTC.NTFY, MethodObj) // 0 Arguments
External (_TZ_.ETMD, IntObj)
External (_TZ_.TZ00, DeviceObj)
External (_TZ_.TZ01, DeviceObj)
- External (ADBG, MethodObj) // 1 Arguments
External (ALSE, UnknownObj)
- External (BNUM, UnknownObj)
External (BRTL, UnknownObj)
External (CFGD, UnknownObj)
External (DIDX, UnknownObj)
@@ -213,28 +177,6 @@
External (M32L, UnknownObj)
External (M64B, UnknownObj)
External (M64L, UnknownObj)
- External (MMRP, MethodObj) // 1 Arguments
- External (MMTB, MethodObj) // 1 Arguments
- External (ODV0, IntObj)
- External (ODV1, IntObj)
- External (ODV2, IntObj)
- External (ODV3, IntObj)
- External (ODV4, IntObj)
- External (ODV5, IntObj)
- External (ODV6, IntObj)
- External (ODV7, IntObj)
- External (ODV8, IntObj)
- External (ODV9, IntObj)
- External (ODVA, IntObj)
- External (ODVB, IntObj)
- External (ODVC, IntObj)
- External (ODVD, IntObj)
- External (ODVE, IntObj)
- External (ODVF, IntObj)
- External (ODVG, IntObj)
- External (ODVH, IntObj)
- External (ODVI, IntObj)
- External (ODVJ, IntObj)
External (PC00, IntObj)
External (PC01, UnknownObj)
External (PC02, UnknownObj)
@@ -253,16 +195,11 @@
External (PC15, UnknownObj)
External (PTTB, UnknownObj)
External (SGMD, UnknownObj)
- External (STDV, IntObj)
- External (TBTD, MethodObj) // 1 Arguments
- External (TBTF, MethodObj) // 1 Arguments
Name (SS1, 0x00)
Name (SS2, 0x00)
Name (SS3, One)
- One
Name (SS4, One)
- One
OperationRegion (GNVS, SystemMemory, 0x4FF4E000, 0x0767)
Field (GNVS, AnyAcc, Lock, Preserve)
{
@@ -27548,6 +27485,13 @@
0x00,
0x00
})
+ Name (\_S3, Package (0x04) // _S3_: S3 System State
+ {
+ 0x05,
+ 0x05,
+ 0x00,
+ 0x00
+ })
Name (\_S4, Package (0x04) // _S4_: S4 System State
{
0x06,
@roblem

This comment has been minimized.

Show comment
Hide comment
@roblem

roblem Apr 22, 2018

How stable do you think this is across bios upgrades? I think this was patched for bios v. 1.10. Does it work with 1.11-1.06 (current as of right now)?

roblem commented Apr 22, 2018

How stable do you think this is across bios upgrades? I think this was patched for bios v. 1.10. Does it work with 1.11-1.06 (current as of right now)?

@d10r

This comment has been minimized.

Show comment
Hide comment
@d10r

d10r May 3, 2018

Thx for sharing this patch!

When following the guide, I get compilation errors (step 7):

$ iasl -ve -tc dsdt.dsl

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20180105
Copyright (c) 2000 - 2018 Intel Corporation

dsdt.dsl  19049:     Method (TBTD, 1, Serialized)
Error    6074 -                ^ Name already exists in scope (TBTD)

    Original name creation/declaration below: 
    dsdt.dsl    199:     External (TBTD, MethodObj)    // 1 Arguments

dsdt.dsl  19117:     Method (TBTF, 1, Serialized)
Error    6074 -                ^ Name already exists in scope (TBTF)

    Original name creation/declaration below: 
    dsdt.dsl    200:     External (TBTF, MethodObj)    // 1 Arguments

dsdt.dsl  27854:         STDV,   8, 
Error    6074 -            ^ Name already exists in scope (STDV)

    Original name creation/declaration below: 
    dsdt.dsl    198:     External (STDV, IntObj)

ASL Input:     dsdt.dsl - 35084 lines, 1098050 bytes, 15467 keywords
Hex Dump:      dsdt.hex - 1369008 bytes

Compilation complete. 3 Errors, 350 Warnings, 124 Remarks, 6354 Optimizations, 51 Constants Folded

However I get a compilation error even when running the compile command on the unpatched file. Running iasl 20180105 (Ubuntu 18.04).
If somebody runs into the same issue and finds a solution, please be so kind and report.

d10r commented May 3, 2018

Thx for sharing this patch!

When following the guide, I get compilation errors (step 7):

$ iasl -ve -tc dsdt.dsl

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20180105
Copyright (c) 2000 - 2018 Intel Corporation

dsdt.dsl  19049:     Method (TBTD, 1, Serialized)
Error    6074 -                ^ Name already exists in scope (TBTD)

    Original name creation/declaration below: 
    dsdt.dsl    199:     External (TBTD, MethodObj)    // 1 Arguments

dsdt.dsl  19117:     Method (TBTF, 1, Serialized)
Error    6074 -                ^ Name already exists in scope (TBTF)

    Original name creation/declaration below: 
    dsdt.dsl    200:     External (TBTF, MethodObj)    // 1 Arguments

dsdt.dsl  27854:         STDV,   8, 
Error    6074 -            ^ Name already exists in scope (STDV)

    Original name creation/declaration below: 
    dsdt.dsl    198:     External (STDV, IntObj)

ASL Input:     dsdt.dsl - 35084 lines, 1098050 bytes, 15467 keywords
Hex Dump:      dsdt.hex - 1369008 bytes

Compilation complete. 3 Errors, 350 Warnings, 124 Remarks, 6354 Optimizations, 51 Constants Folded

However I get a compilation error even when running the compile command on the unpatched file. Running iasl 20180105 (Ubuntu 18.04).
If somebody runs into the same issue and finds a solution, please be so kind and report.

@mmack

This comment has been minimized.

Show comment
Hide comment
@mmack

mmack Jun 9, 2018

exact same error here, i get this rejections:
The lines 14 and 16 are ok, we just need to remove them. What's the case with the others?

--- dsdt.dsl    2018-03-04 16:00:00.866484238 -0800
+++ dsdt.dsl    2018-03-04 16:28:07.933272752 -0800
@@ -195,16 +137,11 @@
     External (PC15, UnknownObj)
     External (PTTB, UnknownObj)
     External (SGMD, UnknownObj)
-    External (STDV, IntObj)
-    External (TBTD, MethodObj)    // 1 Arguments
-    External (TBTF, MethodObj)    // 1 Arguments

     Name (SS1, 0x00)
     Name (SS2, 0x00)
     Name (SS3, One)
-    One
     Name (SS4, One)
-    One
     OperationRegion (GNVS, SystemMemory, 0x4FF4E000, 0x0767)
     Field (GNVS, AnyAcc, Lock, Preserve)
     {

mmack commented Jun 9, 2018

exact same error here, i get this rejections:
The lines 14 and 16 are ok, we just need to remove them. What's the case with the others?

--- dsdt.dsl    2018-03-04 16:00:00.866484238 -0800
+++ dsdt.dsl    2018-03-04 16:28:07.933272752 -0800
@@ -195,16 +137,11 @@
     External (PC15, UnknownObj)
     External (PTTB, UnknownObj)
     External (SGMD, UnknownObj)
-    External (STDV, IntObj)
-    External (TBTD, MethodObj)    // 1 Arguments
-    External (TBTF, MethodObj)    // 1 Arguments

     Name (SS1, 0x00)
     Name (SS2, 0x00)
     Name (SS3, One)
-    One
     Name (SS4, One)
-    One
     OperationRegion (GNVS, SystemMemory, 0x4FF4E000, 0x0767)
     Field (GNVS, AnyAcc, Lock, Preserve)
     {

@mmack

This comment has been minimized.

Show comment
Hide comment
@mmack

mmack Jun 9, 2018

My system info:

+++ System Info
System         = LENOVO ThinkPad X1 Yoga 3rd 20LDCTO1WW
BIOS           = N25ET33W (1.19 )
Release        = Ubuntu 18.04 LTS
Kernel         = 4.15.0-22-generic #24-Ubuntu SMP Wed May 16 12:15:17 UTC 2018 x86_64
/proc/cmdline  = BOOT_IMAGE=/vmlinuz-4.15.0-22-generic root=/dev/mapper/ubuntu--vg-root ro quiet splash
Init system    = systemd v237
Boot mode      = UEFI

mmack commented Jun 9, 2018

My system info:

+++ System Info
System         = LENOVO ThinkPad X1 Yoga 3rd 20LDCTO1WW
BIOS           = N25ET33W (1.19 )
Release        = Ubuntu 18.04 LTS
Kernel         = 4.15.0-22-generic #24-Ubuntu SMP Wed May 16 12:15:17 UTC 2018 x86_64
/proc/cmdline  = BOOT_IMAGE=/vmlinuz-4.15.0-22-generic root=/dev/mapper/ubuntu--vg-root ro quiet splash
Init system    = systemd v237
Boot mode      = UEFI
@mmack

This comment has been minimized.

Show comment
Hide comment
@mmack

mmack Jun 9, 2018

ok i removed the lines from my dsl files and compilation runs through with no errors...

-    External (STDV, IntObj)
-    External (TBTD, MethodObj)    // 1 Arguments
-    External (TBTF, MethodObj)    // 1 Arguments

Maybe this helps some ppls :)

mmack commented Jun 9, 2018

ok i removed the lines from my dsl files and compilation runs through with no errors...

-    External (STDV, IntObj)
-    External (TBTD, MethodObj)    // 1 Arguments
-    External (TBTF, MethodObj)    // 1 Arguments

Maybe this helps some ppls :)

@tobstarr

This comment has been minimized.

Show comment
Hide comment
@tobstarr

tobstarr Jun 15, 2018

Following the instructions from https://delta-xi.net/#056 I run into the patch issues in Hunk 7 (that is those two One lines). When I compile with the broken patch I do get a compilation error:

Compiler aborting due to parser-detected syntax error(s)
dsdt.dsl    355:     Name (SS4, One)
Error    6126 -        ^ syntax error, unexpected PARSEOP_NAME

After removing both One lines I do end up getting a segmentation fault though:

iASL: Segmentation Fault
iASL: Terminating

Any ideas? Thanks!

tobstarr commented Jun 15, 2018

Following the instructions from https://delta-xi.net/#056 I run into the patch issues in Hunk 7 (that is those two One lines). When I compile with the broken patch I do get a compilation error:

Compiler aborting due to parser-detected syntax error(s)
dsdt.dsl    355:     Name (SS4, One)
Error    6126 -        ^ syntax error, unexpected PARSEOP_NAME

After removing both One lines I do end up getting a segmentation fault though:

iASL: Segmentation Fault
iASL: Terminating

Any ideas? Thanks!

@simonepigazzini

This comment has been minimized.

Show comment
Hide comment
@simonepigazzini

simonepigazzini Jun 18, 2018

@tobstarr, I get your same error (after the patch issue with Hunk 7), any luck in solving this?

Thank you

simonepigazzini commented Jun 18, 2018

@tobstarr, I get your same error (after the patch issue with Hunk 7), any luck in solving this?

Thank you

@isobit

This comment has been minimized.

Show comment
Hide comment
@isobit

isobit Jul 9, 2018

I'm also getting the compile error with Name (SS4, One)... did you guys have problems decompiling your DSDT? I was actually having problems with the patch because my iasl -d dsdl.aml produces the following in my dsdl.dsl:

     * iASL Warning: There were 95 external control methods found during
     * disassembly, but only 94 were resolved (1 unresolved). Additional

...etc, and then later:

External (HIWC, MethodObj)    // Warning: Unknown method, guessing 1 arguments

isobit commented Jul 9, 2018

I'm also getting the compile error with Name (SS4, One)... did you guys have problems decompiling your DSDT? I was actually having problems with the patch because my iasl -d dsdl.aml produces the following in my dsdl.dsl:

     * iASL Warning: There were 95 external control methods found during
     * disassembly, but only 94 were resolved (1 unresolved). Additional

...etc, and then later:

External (HIWC, MethodObj)    // Warning: Unknown method, guessing 1 arguments
@roblem

This comment has been minimized.

Show comment
Hide comment
@roblem

roblem Jul 11, 2018

@tobstarr: Segfault is due to Surprise #1 here. Just compiled with older version of acpica-tools (package containing iasl in Fedora) with no segfault.

roblem commented Jul 11, 2018

@tobstarr: Segfault is due to Surprise #1 here. Just compiled with older version of acpica-tools (package containing iasl in Fedora) with no segfault.

@jasminabasurita

This comment has been minimized.

Show comment
Hide comment
@jasminabasurita

jasminabasurita Sep 14, 2018

This patch has worked for me, however I've noticed that the touchscreen fails to wake from sleep with the rest of the computer. Curious if anyone else has run into this issue. 🤞 that Lenovo releases a bios update with a proper S3 state in it soon, but until then this has been a life saver

jasminabasurita commented Sep 14, 2018

This patch has worked for me, however I've noticed that the touchscreen fails to wake from sleep with the rest of the computer. Curious if anyone else has run into this issue. 🤞 that Lenovo releases a bios update with a proper S3 state in it soon, but until then this has been a life saver

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment