summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO17
-rw-r--r--PKGBUILD22
-rw-r--r--disable-c6-systemd-with-modern-standby.install20
-rw-r--r--disable-c6.service12
-rw-r--r--enable-c6.service12
5 files changed, 83 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..03690c3785f3
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,17 @@
+pkgbase = disable-c6-systemd-with-modern-standby
+ pkgdesc = A systemd service to disable the C6 state for Ryzen CPUs, with modern standby support.
+ pkgver = 1.0.1
+ pkgrel = 1
+ url = https://github.com/jfredrickson/disable-c6
+ install = disable-c6-systemd-with-modern-standby.install
+ arch = any
+ license = MIT
+ depends = zenstates-git
+ provides = disable-c6-systemd
+ conflicts = disable-c6-systemd
+ source = disable-c6.service
+ source = enable-c6.service
+ md5sums = d75b5b334bf8acb0e710874f918b5df6
+ md5sums = 846e708cc70093a9fa5e307e6c65e1fd
+
+pkgname = disable-c6-systemd-with-modern-standby
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..6ccd06df6543
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,22 @@
+# Maintainer: Jeff Fredrickson <jeff.fredrickson@gmail.com>
+# Maintainer: Misaka 19465 <misaka19465@olddoctor.net>
+pkgname='disable-c6-systemd-with-modern-standby'
+pkgdesc='A systemd service to disable the C6 state for Ryzen CPUs, with modern standby support.'
+pkgver=1.0.1
+pkgrel=1
+provides=('disable-c6-systemd')
+conflicts=('disable-c6-systemd')
+arch=('any')
+license=('MIT')
+url='https://github.com/jfredrickson/disable-c6'
+depends=('zenstates-git')
+source=('disable-c6.service'
+ 'enable-c6.service')
+md5sums=('d75b5b334bf8acb0e710874f918b5df6'
+ '846e708cc70093a9fa5e307e6c65e1fd')
+install=${pkgname}.install
+
+package() {
+ install -Dm644 "${srcdir}/disable-c6.service" "${pkgdir}/usr/lib/systemd/system/disable-c6.service"
+ install -Dm644 "${srcdir}/enable-c6.service" "${pkgdir}/usr/lib/systemd/system/enable-c6.service"
+}
diff --git a/disable-c6-systemd-with-modern-standby.install b/disable-c6-systemd-with-modern-standby.install
new file mode 100644
index 000000000000..cd3cb2314a4b
--- /dev/null
+++ b/disable-c6-systemd-with-modern-standby.install
@@ -0,0 +1,20 @@
+post_install() {
+ echo "Don't forget to enable and start the service:"
+ echo " systemctl enable disable-c6.service"
+ echo " systemctl start disable-c6.service"
+ echo "In order to recover modern standby:"
+ echo " systemctl enable enable-c6.service"
+ echo " systemctl start enable-c6.service"
+ systemctl daemon-reload
+}
+
+post_upgrade() {
+ systemctl daemon-reload
+}
+
+pre_remove() {
+ systemctl stop disable-c6.service
+ systemctl disable disable-c6.service
+ systemctl stop enable-c6.service
+ systemctl disable enable-c6.service
+}
diff --git a/disable-c6.service b/disable-c6.service
new file mode 100644
index 000000000000..ca864549b2f5
--- /dev/null
+++ b/disable-c6.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Ryzen Disable C6
+DefaultDependencies=no
+After=sysinit.target local-fs.target suspend.target hibernate.target
+Before=basic.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/zenstates --c6-disable
+
+[Install]
+WantedBy=basic.target suspend.target hibernate.target
diff --git a/enable-c6.service b/enable-c6.service
new file mode 100644
index 000000000000..5eef6d7c305e
--- /dev/null
+++ b/enable-c6.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Ryzen Enable C6 to support modern standby.
+DefaultDependencies=no
+Before=suspend.target hibernate.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/zenstates --c6-enable
+
+[Install]
+WantedBy=suspend.target hibernate.target
+