summarylogtreecommitdiffstats
path: root/system76-driver-git.install
blob: a837edbc1cae27744153c09450abdef01f217f9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
_services="system76.service"

_stop_services() {
	/usr/bin/systemctl stop $_services
}

_disable_services() {
	/usr/bin/systemctl disable $_services
	/usr/bin/systemctl reset-failed $_services
}

_restore_services() {
	for service in $_services; do
		if /usr/bin/systemctl -q is-enabled $service; then
			/usr/bin/systemctl restart $service
		fi
	done
}

_remove_symlink() {
	if [ -L $1 ] && [ "$(readlink -f $1)" = "$2" ]; then
		rm $1
	fi
}

post_install() {
	/usr/bin/system76-driver-cli

	printf "%b\n" "$postmessage"
}

pre_upgrade() {
	_stop_services
}

post_upgrade() {
	/usr/bin/systemctl daemon-reload

	_restore_services
	post_install
}

pre_remove() {
	_stop_services
	_disable_services

	# Remove symlinks if target points to package files
	_remove_symlink /etc/xdg/autostart/system76-driver-backlight.desktop /usr/share/applications/system76-driver-backlight.desktop
	_remove_symlink /lib/systemd/system-sleep/system76-nm-restart /usr/lib/system76-driver/system76-nm-restart
}

post_remove() {
	/usr/bin/systemctl daemon-reload

    echo "Be sure to stop and disable all running System76 user services."
}

read -d '' postmessage <<-EOT
--------------------------------------------------------------------------------
The System76 Driver package provides the following system services:
	system76.service             System76 airplane-mode hotkey and LED support

And the following user services:
	system76-backlight.service   Backlight Daemon for NVIDIA 9 Series on GNOME

The backlight service can (optionally) be started automatically:
	ln -s /usr/share/applications/system76-driver-backlight.desktop /etc/xdg/autostart/system76-driver-backlight.desktop

GUI applications are provided to install drivers, patches, and firmware updates.

(!) To use system76.service, you must add "ec_sys.write_support=1" to your kernel command line

(!) If you do not use the Grub bootloader, please check output for possible manual actions required for
	your model related to bootloader modifications.

(!) For Clevo W740SU BIOS/Firmware users on Galago UltraPro: your will need to create /etc/system76-daemon.json file with following content:
	{ "vendor": "System76, Inc", "model": "galu1" }

(!) If you experience Wifi issues after resuming from suspend, consider using the included network restart script:
	ln -s /usr/lib/system76-driver/system76-nm-restart /lib/systemd/system-sleep/system76-nm-restart
--------------------------------------------------------------------------------
EOT