Fedora Test Days | |
---|---|
Power Management | |
Date | 2013-04-17 |
Time | all day |
Website | QA/Fedora_19_test_days |
IRC | #fedora-test-day (webirc) |
Mailing list | test |
What to test?
Today's instalment of Fedora Test Day will focus on Power Management
Who's available
The following cast of characters will be available for testing, workarounds, bug fixes, and general discussion ...
- Development - Jaroslav Škarvada (jskarvad) / PowerManagement SIG
- Quality Assurance - Jan Ščotka (jscotka), Martin Holec (Martix)
Note: jskarvad will be available at least during 10:00 - 22:00 (UTC+2) on #fedora-test-day, #fedora-power, #fedora-devel, otherwise he will be on e-mail with non guaranteed response time. He will be also available on site in Red Hat Brno office during 13:00 - 19:00, Mint room, ground floor, Brno 1 building (the older/bigger one), there will be installed navigation signs.
Prerequisite for Test Day
- An updated Fedora 19 pre-release (preferred) or the 32 bit live medium (SHA-1: TBD) or 64 bit live medium (SHA-1: TBD) or you may get nightly composed LiveCD.
- It is possible to convert the LiveCD into LiveUSB by following the How_to_create_and_use_Live_USB instructions. If you convert the LiveCD into LiveUSB it is recommended to create on the USB another primary partition that will serve as swap. This is useful for Hibernate and Suspend Hybrid test case.
- If you attend the event on-site in Red Hat Brno office, there will be prepared bootable USB flash disks/CD ROMs, thus you only need to bring your hardware there. (13.00-17.00 CEST)
- Bugzilla account on the http://bugzilla.redhat.com if you plan to report found defects (bugs) to developers (highly recommended). If you do not have one and you do not plan to get it, you can still attend the test day and report the found issues to the test day wiki or via the reporting web application, but this may slow down the resolution of bugs significantly.
Typing convetions
In the following text commands that needs to be run as root are prefixed by #, e.g.:
# id
means to run id command under the root account. Commands prefixed by $ do not need to be run under the root account.
How to test?
This test day is focused especially on suspend, hibernate, LCD brightness control, tuned application power management of video cards and overall power consumption. Some test cases are only for laptop users and it is noted in the test case description field. If you do not have laptop just skip them. You can also skip other test cases (e.g. if you do not have enough time). In this case just leave the columns for skipped test cases blank. Please note that your report will be still valuable even if you do not finish all test cases. The procedure:
- Run the test cases bellow.
Prepare your system
- Install the public key for the PM Test Day Overlay Repository (the key is also included in the pm-test-day support package, so if you don't mind to install the pm-test-day support package with the --nogpgcheck option you can go directly to step 2):
# rpm --import http://jskarvad.fedorapeople.org/RPM-GPG-KEY-pm-test-day
- Install the PM Test Day support package by (use the --nogpgcheck option if you didn't install the public key in the step 1):
# yum install http://jskarvad.fedorapeople.org/pm-test-day-repo/pm-test-day-5-1.fc19.noarch.rpm
Make sure you have all current updates (and temporal fixes) installed by:
# yum update
You can also clear your audit log to easily spot all new PM Test Day related Selinux AVCs (this is recommended in case you aren't running from the live medium):
# echo -n > /var/log/audit/audit.log
Known Bugs / Workarounds
- Tuned is waking-up the system too much RHBZ #917709, RHBZ #91758:
- This is undocumented behaviour of python threading implementation, we (tuned upstream) are working on fix for this problem. For now you can try the experimental workaround, make sure you have installed the following versions of packages from the PM test day overlay repo:
- tuned-2.2.2-1.1
- python-libs-2.7.4-2.1
- If you are on secondary architecture, you can compile the experimental packages from the SRPMs yourself. The SRPMs are also available from the PM test day overlay repo.
- This is undocumented behaviour of python threading implementation, we (tuned upstream) are working on fix for this problem. For now you can try the experimental workaround, make sure you have installed the following versions of packages from the PM test day overlay repo:
- Problem with screen locking:
- Screen locking is disabled on live medium, to enable:
- Set password for liveuser:
# passwd liveuser
- Enable the locking feature:
$ gsettings set org.gnome.desktop.lockdown disable-lock-screen 'false'
- Enable the lock in gnome-control-center:
$ gnome-control-center screen
- Screen locking is disabled on live medium, to enable:
- pm-utils hooks are not called during suspend/hibernate/resume:
- Suspend and hibernate is now handled by systemd which bypasses pm-utils. You need to port your old pm-utils hooks to systemd. Systemd runs hooks from /usr/lib/systemd/system-sleep in parallel and passes them two arguments. First argument can be "pre" or "post" (whether suspending or resuming) and the second argument can be "suspend", "hibernate" or "hybrid-sleep" (according to the type of action performed). You can also create your own systemd services and link them to the suspend.target or hibernate.target or hybrid-sleep.target. For details see systemd documentation (e.g. man systemd-sleep).
- Problem with hibernation from gnome-shell
- AFAIK currently it is not possible to hibernate from the gnome-shell UI without tweaking (please don't ask me why, I am not Gnome developer), you can invoke the full hibernation (including desktop locking if set, see above) by using systemd:
$ systemctl hibernate
- AFAIK currently it is not possible to hibernate from the gnome-shell UI without tweaking (please don't ask me why, I am not Gnome developer), you can invoke the full hibernation (including desktop locking if set, see above) by using systemd:
- Immediate wake from suspend on mouse move or other USB activity:
- It is probably bug, bugzilla number TBD.
- You can get current status of wake-up events:
# cat /proc/acpi/wakeup
- To e.g. disable wakeup events from USB0 (if was previously enabled), use (it toggles the state):
# echo USB0 > /proc/acpi/wakeup
- No resume from the freeze state:
- On ACPI platforms there are some GPEs (General Purpose Events) that are only enabled when the system is in sleep state, but aren't enabled otherwise. It means that some laptops may ignore some wake-up events when they enters the freeze state. If you cannot wake-up your laptop from the freeze, you can try to close / re-open the lid or try to issue another wake-up event. In any case please indicate this issue in the result table for us to have the overview of the current status of this feature on different hardware.
Test Cases
Testcase | Description | Target | Approx. time required |
---|---|---|---|
Suspend | Tests suspend / resume. | All | 2 minutes |
Hibernate | Tests hibernate / resume. | All | 5 minutes |
Suspend hybrid | Tests hybrid suspend (AKA suspend to both) / resume. | All | 5 minutes |
Freeze | Tests freeze. | All | 2 minutes |
Lid close | Tests system reaction to lid close. | Laptops | 2 minutes |
Backlight control | Tests LCD backlight control. | Laptops | 1 minute |
Tuned | Tests tuned-adm (tuned) basic functionality. | All | 10 minutes |
Tuned disabled idle | Measures power consumption of machine in active idle with tuned disabled. | Laptops or users with wattmeter | 15 minutes |
Tuned powersave idle | Measures power consumption of machine in active idle with tuned laptop-battery-powersave profile. | Laptops or users with wattmeter | 15 minutes |
Test Results
If you have problems with any of the tests, report a bug to Bugzilla usually for the component systemd, selinux-policy, kernel, or tuned. If you are reporting suspend/hibernate problem, please also attach output from dmesg and journalctl. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you. Once you have completed the tests, add your results to the Results table below following the example results from the first line. The first column should be your name with a link to your Fedora User Wiki page (if you have one), and the second should be a short description of the system you tested (i.e. machine identification and preferably BIOS version in case you know it and/or you are able to get it by e.g. dmidecode tool). For each test case, use the result template to enter your result, as shown in the example result line.
User | System description Profile |
Suspend | Hibernate | Suspend Hybrid | Freeze | Lid close | Backlight control | Tuned | Tuned disabled idle | Tuned powersave idle | References |
---|---|---|---|---|---|---|---|---|---|---|---|
Sample User | Lenovo T500 (BIOS version 3.22) | 4.800 Wh | 4.710 Wh | ||||||||
Jan Scotka | KVM guest (F18 host) (SMBIOS 2.4 present) [1] |
| |||||||||
User | System description Profile |
Suspend | Hibernate | Suspend Hybrid | Freeze | Lid close | Backlight control | Tuned | Tuned disabled idle | Tuned powersave idle | References |