Portál AbcLinuxu, 3. května 2025 08:48
Konečně! Po několika neúspěšných pokusech se mi konečně podařilo zprovoznit swsusp v gentoo. V tomto zápisku se s vámi pokusím podělit o své poznatky...
Dnes jsem si četl pár článků o spotřebě PC, šetření elektřiny apod. To mě trochu inspirovalo a jelikož se mi zrovna nechtělo hrát Enemy Territory, rozhodl jsem se asi po stopáté vytáhnout proti zlobivému Software Suspendu. Tuším, že dnešní počítače jsou na tom o poznání lépe, ale mně se stále nedařilo. Můj křemíkový kamarád se sestává z desky Epox EP-8RDA3i(nForce2 chipset), 1GB RAM, AMD Bartona XP 2600+ a grafiky Nvidia Geforce 6600(ovladače 100.14.19), data to ukládá na dva disky s paralelním rozhraním, nesmím zapomenout na zvukovku -> SB Live 24bit(CA0106, ALSA).
PC1 linux # lspci 00:00.0 Host bridge: nVidia Corporation nForce2 AGP (different version?) (rev c1) 00:00.1 RAM memory: nVidia Corporation nForce2 Memory Controller 1 (rev c1) 00:00.2 RAM memory: nVidia Corporation nForce2 Memory Controller 4 (rev c1) 00:00.3 RAM memory: nVidia Corporation nForce2 Memory Controller 3 (rev c1) 00:00.4 RAM memory: nVidia Corporation nForce2 Memory Controller 2 (rev c1) 00:00.5 RAM memory: nVidia Corporation nForce2 Memory Controller 5 (rev c1) 00:01.0 ISA bridge: nVidia Corporation nForce2 ISA Bridge (rev a4) 00:01.1 SMBus: nVidia Corporation nForce2 SMBus (MCP) (rev a2) 00:02.0 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4) 00:02.1 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4) 00:02.2 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4) 00:04.0 Ethernet controller: nVidia Corporation nForce2 Ethernet Controller (rev a1) 00:08.0 PCI bridge: nVidia Corporation nForce2 External PCI Bridge (rev a3) 00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2) 00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev c1) 01:08.0 Multimedia audio controller: Creative Labs SB Audigy LS 01:09.0 Communication controller: Conexant HSF 56k HSFi Modem (rev 01) 01:0a.0 Multimedia audio controller: Fortemedia, Inc Xwave QS3000A [FM801] (rev b2) 01:0a.1 Input device controller: Fortemedia, Inc Xwave QS3000A [FM801 game port] (rev b2) 02:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600] (rev a2)
A teď k věci: zapnul jsem podporu v jádře (2.6.23):
[*] Power Management support [*] Legacy Power Management API (DEPRECATED) [ ] Power Management Debug Support [*] Suspend to RAM and standby [*] Hibernation (aka 'suspend to disk') (/dev/sdb1) Default resume partition [*] ACPI Support (Advanced Configuration and Power Interface) Sup < > APM (Advanced Power Management) BIOS support ---> CPU Frequency scaling --->
zkompiloval a zavedl, potom jsem si v Gentoo nainstaloval sys-power/suspend a sys-power/pm-utils z overlaye Gentopia
emerge layman layman -a gentopia
a přidal řádek s overlay do /etc/make.conf:
PORTDIR_OVERLAY="/usr/local/portage/overlay /usr/portage/local/layman/gentopia"
a potom nainstaloval:
emerge -av sys-power/suspend sys-power/pm-utils
Ještě bylo potřeba sem tam něco změnit:
V /etc/xorg.conf jsem do sekce Device přidal:
Option "NvAGP" "1"
prý to s AGP ovladačem z jádra blbne.
a teď to začne: s2ram bych musel spouštět s parametrem f a ještě ručně restartovat alsasound, což se mi nelíbilo, proto jsem vytvořil tyto soubory:
/etc/pm/config.d/00-my.conf:
S2RAM_OPTS="-f"
podle této stránky jsem vytvořil /etc/pm/sleep.d/70myhook:
#!/bin/bash case $1 in hibernate) #před uspáním na disk /etc/init.d/alsasound stop //zastaví alsasound ;; suspend) #před uspáním do RAM /etc/init.d/alsasound stop ;; thaw) #probuzení z disku /etc/init.d/alsasound start //spustí alsasound sudo -H -u david kicker ;; resume) #z paměti /etc/init.d/alsasound start sudo -H -u david kicker //po restartu alsasound mi spadne kicker, vizte níže ;; esac
a ten pasoval na spustitelný:
chmod +x /etc/pm/sleep.d/70myhook
kvůli zlobivému kickeru a mé lenosti hledat chybu jsem exportoval toto:
export XAUTHORITY=/home/david/.Xauthority
v rootovi, a přihodil to do /root/.bashrc, aby našel Xserver při spouštění kickeru
no a nakonec ještě upavil /etc/sudoers:
%wheel ALL=NOPASSWD:/usr/sbin/pm-* ,/usr/sbin/s2*
A je to, teď už mi nic nebrání to uspat i jako uživatel: sudo pm-suspend nebo pm-hibernate.
Netroufám si to nazvat howto, je to vlastně jakýsi neúplný okomentovaný log nastiňující, jak že se to vlastně povedlo. Určitě to mnohým z vás funguje a máte promyšlenější řešení než já, ale třeba to někoho inspiruje.. Máte-li připomínku, určitě se rád poučím v diskusi pod zápiskem...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.