lbschenkel / acer-sf314_43-acpi-fix Goto Github PK
View Code? Open in Web Editor NEWHow to enable S3 sleep state in Acer Swift 3 SF314-43
License: Apache License 2.0
How to enable S3 sleep state in Acer Swift 3 SF314-43
License: Apache License 2.0
hey there, I found myself in the same situation as yours, hoping that your repo could save the day: unfortunately, I cannot get it to work.
I have an Acer Swift 3 SF314-43 with BIOS v1.04, and I recently installed Linux Mint 20.3 (based on Ubuntu 20.04 LTS), which shipped with kernel 5.04 although I later installed kernel 5.15 through the PPA canonical-kernel-team/proposed
.
I did the following:
sudo apt install acpica-tools
git clone https://github.com/lbschenkel/acer-sf314_43-acpi-patch.git
cd acer-sf314_43-acpi-patch
then, make
:
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20190509
Copyright (c) 2000 - 2019 Intel Corporation
File appears to be binary: found 10509 non-ASCII characters, disassembling
Binary file appears to be a valid ACPI table, disassembling
Input file acpi/dsdt.dat, Length 0x7EB6 (32438) bytes
ACPI: DSDT 0x0000000000000000 007EB6 (v01 ACRSYS ACRPRDCT 00000002 1025 00040000)
External object resolution file acpi/wsmt.dat
Input file acpi/wsmt.dat, Length 0x28 (40) bytes
acpi/wsmt.dat: Table [WSMT] is not an AML table - ignoring
External object resolution file acpi/vfct.dat
Input file acpi/vfct.dat, Length 0xD884 (55428) bytes
acpi/vfct.dat: Table [VFCT] is not an AML table - ignoring
External object resolution file acpi/uefi.dat
Input file acpi/uefi.dat, Length 0x236 (566) bytes
acpi/uefi.dat: Table [UEFI] is not an AML table - ignoring
External object resolution file acpi/ssdt9.dat
Input file acpi/ssdt9.dat, Length 0xD53 (3411) bytes
ACPI: SSDT 0x0000000000000000 000D53 (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt8.dat
Input file acpi/ssdt8.dat, Length 0x28D (653) bytes
ACPI: SSDT 0x0000000000000000 00028D (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt7.dat
Input file acpi/ssdt7.dat, Length 0x139 (313) bytes
ACPI: SSDT 0x0000000000000000 000139 (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt6.dat
Input file acpi/ssdt6.dat, Length 0x3E88 (16008) bytes
ACPI: SSDT 0x0000000000000000 003E88 (v02 ACRSYS ACRPRDCT 00000001 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt5.dat
Input file acpi/ssdt5.dat, Length 0xF8 (248) bytes
ACPI: SSDT 0x0000000000000000 0000F8 (v01 ACRSYS ACRPRDCT 00001000 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt4.dat
Input file acpi/ssdt4.dat, Length 0x6BD7 (27607) bytes
ACPI: SSDT 0x0000000000000000 006BD7 (v01 ACRSYS ACRPRDCT 00001000 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt3.dat
Input file acpi/ssdt3.dat, Length 0x80 (128) bytes
ACPI: SSDT 0x0000000000000000 000080 (v01 ACRSYS ACRPRDCT 00000002 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt2.dat
Input file acpi/ssdt2.dat, Length 0x3A24 (14884) bytes
ACPI: SSDT 0x0000000000000000 003A24 (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt17.dat
Input file acpi/ssdt17.dat, Length 0x517 (1303) bytes
ACPI: SSDT 0x0000000000000000 000517 (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt16.dat
Input file acpi/ssdt16.dat, Length 0x7D (125) bytes
ACPI: SSDT 0x0000000000000000 00007D (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt15.dat
Input file acpi/ssdt15.dat, Length 0x2CD (717) bytes
ACPI: SSDT 0x0000000000000000 0002CD (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt14.dat
Input file acpi/ssdt14.dat, Length 0x57D (1405) bytes
ACPI: SSDT 0x0000000000000000 00057D (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt13.dat
Input file acpi/ssdt13.dat, Length 0x20A (522) bytes
ACPI: SSDT 0x0000000000000000 00020A (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt12.dat
Input file acpi/ssdt12.dat, Length 0x42 (66) bytes
ACPI: SSDT 0x0000000000000000 000042 (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt11.dat
Input file acpi/ssdt11.dat, Length 0x34A4 (13476) bytes
ACPI: SSDT 0x0000000000000000 0034A4 (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt10.dat
Input file acpi/ssdt10.dat, Length 0x10A5 (4261) bytes
ACPI: SSDT 0x0000000000000000 0010A5 (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/ssdt1.dat
Input file acpi/ssdt1.dat, Length 0x7229 (29225) bytes
ACPI: SSDT 0x0000000000000000 007229 (v02 ACRSYS ACRPRDCT 00000002 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file acpi/msdm.dat
Input file acpi/msdm.dat, Length 0x55 (85) bytes
acpi/msdm.dat: Table [MSDM] is not an AML table - ignoring
External object resolution file acpi/mcfg.dat
Input file acpi/mcfg.dat, Length 0x3C (60) bytes
acpi/mcfg.dat: Table [MCFG] is not an AML table - ignoring
External object resolution file acpi/ivrs.dat
Input file acpi/ivrs.dat, Length 0x1A4 (420) bytes
acpi/ivrs.dat: Table [IVRS] is not an AML table - ignoring
External object resolution file acpi/hpet.dat
Input file acpi/hpet.dat, Length 0x38 (56) bytes
acpi/hpet.dat: Table [HPET] is not an AML table - ignoring
External object resolution file acpi/fpdt.dat
Input file acpi/fpdt.dat, Length 0x44 (68) bytes
acpi/fpdt.dat: Table [FPDT] is not an AML table - ignoring
External object resolution file acpi/facs.dat
Input file acpi/facs.dat, Length 0x40 (64) bytes
ACPI Warning: Table header for [FACS] has invalid ASCII character(s) (20190509/acfileio-515)
acpi/facs.dat: Table [FACS] is not an AML table - ignoring
External object resolution file acpi/facp.dat
Input file acpi/facp.dat, Length 0x10C (268) bytes
acpi/facp.dat: Table [FACP] is not an AML table - ignoring
External object resolution file acpi/crat.dat
Input file acpi/crat.dat, Length 0xBA8 (2984) bytes
acpi/crat.dat: Table [CRAT] is not an AML table - ignoring
External object resolution file acpi/cdit.dat
Input file acpi/cdit.dat, Length 0x29 (41) bytes
acpi/cdit.dat: Table [CDIT] is not an AML table - ignoring
External object resolution file acpi/boot.dat
Input file acpi/boot.dat, Length 0x28 (40) bytes
acpi/boot.dat: Table [BOOT] is not an AML table - ignoring
External object resolution file acpi/bgrt.dat
Input file acpi/bgrt.dat, Length 0x38 (56) bytes
acpi/bgrt.dat: Table [BGRT] is not an AML table - ignoring
External object resolution file acpi/asf!.dat
Input file acpi/asf!.dat, Length 0xA5 (165) bytes
acpi/asf!.dat: Table [ASF!] is not an AML table - ignoring
External object resolution file acpi/apic.dat
Input file acpi/apic.dat, Length 0x138 (312) bytes
acpi/apic.dat: Table [APIC] is not an AML table - ignoring
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
Parsing completed
Found 23 external control methods, reparsing with new information
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
Parsing completed
Disassembly completed
ASL Output: acpi/dsdt.dsl - 275192 bytes
iASL Warning: There were 23 external control methods found during
disassembly, but only 22 were resolved (1 unresolved). Additional
ACPI tables may be required to properly disassemble the code. This
resulting disassembler output file may not compile because the
disassembler did not know how many arguments to assign to the
unresolved methods. Note: SSDTs can be dynamically loaded at
runtime and may or may not be available via the host OS.
In addition, the -fe option can be used to specify a file containing
control method external declarations with the associated method
argument counts. Each line of the file must be of the form:
External (<method pathname>, MethodObj, <argument count>)
Invocation:
iasl -fe refs.txt -d dsdt.aml
patching file acpi/dsdt-patched.dsl (read from acpi/dsdt.dsl)
Hunk #1 succeeded at 18 with fuzz 2.
Hunk #2 succeeded at 829 (offset 20 lines).
'acpi/dsdt.dsl' -> 'acpi/dsdt-patched.dsl'
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20190509
Copyright (c) 2000 - 2019 Intel Corporation
ACPI Warning: NsLookup: Type mismatch on ACMX (RegionField), searching for (Region) (20190509/nsaccess-732)
ACPI Warning: NsLookup: Type mismatch on PMRI (RegionField), searching for (Region) (20190509/nsaccess-732)
ACPI Warning: NsLookup: Type mismatch on PM2I (RegionField), searching for (Region) (20190509/nsaccess-732)
ACPI Warning: NsLookup: Type mismatch on PM0I (RegionField), searching for (Region) (20190509/nsaccess-732)
ACPI Warning: NsLookup: Type mismatch on PIDX (RegionField), searching for (Region) (20190509/nsaccess-732)
ACPI Warning: NsLookup: Type mismatch on ECMI (RegionField), searching for (Region) (20190509/nsaccess-732)
ACPI Warning: NsLookup: Type mismatch on FPII (RegionField), searching for (Region) (20190509/nsaccess-732)
ASL Input: acpi/dsdt-patched.dsl - 275192 bytes 3333 keywords 8734 source lines
AML Output: acpi/dsdt-patched.aml - 32972 bytes 2352 opcodes 981 named objects
Compilation successful. 0 Errors, 23 Warnings, 38 Remarks, 69 Optimizations
66 blocchi
SUCCESS!
Now you have to instruct your boot loader to:
1. load an (additional) initrd: /boot/acpi-override.img
2. add to the kernel command line: mem_sleep_default=deep
GRUB:
1. Add to /etc/default/grub:
GRUB_EARLY_INITRD_LINUX_CUSTOM="acpi-override.img"
GRUB_CMDLINE_LINUX_DEFAULT="... mem_sleep_default=deep"
2. Run update-grub
systemd-boot:
Add to /boot/loader/entries/*.conf:
initrd /acpi-override.img
options ... mem_sleep_default=deep
rEFInd:
1. Add to /boot/refind-linux.conf: "Boot with default options" "initrd=acpi-override.img ..."
2. Add to manual stanzas: options "initrd=acpi-override.img ... mem_sleep_default=deep"
and finally I modified my grub
configuration, with result:
user@host:~$ grep -e GRUB_EARLY_INITRD_LINUX_CUSTOM -e GRUB_CMDLINE_LINUX_DEFAULT /etc/default/grub
GRUB_EARLY_INITRD_LINUX_CUSTOM="acpi-override.img"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash mem_sleep_default=deep"
still, after rebooting and making sure that the grub configuration has been applied:
user@host:~ cat /sys/power/mem_sleep
[s2idle]
any suggestion? thanks!
I was hoping this could work on my acer since I have the same issue, and since the option in the bios for S3 state is hidden since v1.03, do you think you could add compatibility for this laptop ?
Thanks !
acpidump.log
The parent project notes this. When I used this tool to enable S3 sleep (Which btw worked perfectly on my Swift SF314-42 with UEFI version 1.08) I am unable to access the UEFI setup page(by pressing F2 when booting) and it was said to be the result of a bug that adds a whole bunch of UEFI-Misc-* enteries in the F12 Boot Menu. This tool can also be used to delete those. Please also mention this in your readme
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.