summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO19
-rw-r--r--PKGBUILD22
-rw-r--r--nvclock12
-rw-r--r--nvclock.service15
-rw-r--r--systemd-nvclock-unit.install20
5 files changed, 88 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..6845623cf575
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,19 @@
+pkgbase = systemd-nvclock-unit
+ pkgdesc = Apply nvclock fanspeed, GPU and memory clock settings with systemd
+ pkgver = 1.0
+ pkgrel = 1
+ url = http://www.freedesktop.org/wiki/Software/systemd
+ install = systemd-nvclock-unit.install
+ arch = any
+ license = GPL
+ depends = nvclock
+ depends = systemd
+ source = nvclock.service
+ source = nvclock
+ source = systemd-nvclock-unit.install
+ md5sums = b275050a8d6bed8f60ce9a9558abaef5
+ md5sums = 4f74d99af0b51abae018ffa6153d3ae1
+ md5sums = fbb9b2c438e21527aea857dc9744b214
+
+pkgname = systemd-nvclock-unit
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..66c6d68ba927
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,22 @@
+# Maintainer: edio edio@archlinux.us
+pkgname=systemd-nvclock-unit
+pkgver=1.0
+pkgrel=1
+pkgdesc="Apply nvclock fanspeed, GPU and memory clock settings with systemd"
+arch=('any')
+url="http://www.freedesktop.org/wiki/Software/systemd"
+license=('GPL')
+depends=('nvclock' 'systemd')
+install=$pkgname.install
+source=('nvclock.service'
+ 'nvclock'
+ 'systemd-nvclock-unit.install')
+
+md5sums=('b275050a8d6bed8f60ce9a9558abaef5'
+ '4f74d99af0b51abae018ffa6153d3ae1'
+ 'fbb9b2c438e21527aea857dc9744b214')
+
+package() {
+ install -Dm644 "${srcdir}/nvclock.service" "${pkgdir}/usr/lib/systemd/system/nvclock.service"
+ install -Dm644 "${srcdir}/nvclock" "${pkgdir}/etc/conf.d/nvclock"
+}
diff --git a/nvclock b/nvclock
new file mode 100644
index 000000000000..da3e9c2eef7f
--- /dev/null
+++ b/nvclock
@@ -0,0 +1,12 @@
+# This unit requires 'Coolbits' option adjusted in X configuration
+# Refer to wiki https://wiki.archlinux.org/index.php/NVIDIA
+
+# GPU clock in MHz
+nvclk=360
+# Memory clock in MHz
+memclk=640
+# Fanspeed. Value between 10 and 100 or 'auto' if supported by device
+fanspeed=20
+# Fanspeed to apply when stopping service
+fanspeed_default=70
+
diff --git a/nvclock.service b/nvclock.service
new file mode 100644
index 000000000000..b7b6a3eefe48
--- /dev/null
+++ b/nvclock.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=nvclock daemon
+After=systemd-user-sessions.service
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+EnvironmentFile=/etc/conf.d/nvclock
+ExecStart=/usr/bin/nvclock -n ${nvclk} -m ${memclk} -F ${fanspeed} -f
+ExecReload=/usr/bin/nvclock -n ${nvclk} -m ${memclk} -F ${fanspeed} -f
+ExecStop=/usr/bin/nvclock -r -F ${fanspeed_default} -f
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/systemd-nvclock-unit.install b/systemd-nvclock-unit.install
new file mode 100644
index 000000000000..ce63da492fbd
--- /dev/null
+++ b/systemd-nvclock-unit.install
@@ -0,0 +1,20 @@
+post_install() {
+cat << EOF
+
+==> Change nvclk, memclk and fanspeed in /etc/conf.d/nvclock
+
+==> To apply nvclock settings use this commands as root :
+ systemctl start nvclock.service
+
+==> To enable it on boot :
+ systemctl enable nvclock.service
+
+==> To reset settings to device defaults
+ systemctl stop nvclock.service
+
+EOF
+}
+post_upgrade() {
+ post_install
+}
+