Czy istnieje aplikacja do oszczędzania energii podobna do Jowisza?


177

Próbuję zainstalować aplikację ustawień mocy Jupiter, ale przeczytałem, że nie jest ona już zgodna z nowym jądrem. Czy istnieje podobny program lub sposób zarządzania ustawieniami zasilania w dniu 13.04?


Czy trudno byłoby pobrać kod źródłowy Jupitera i zaktualizować go do pracy z nowszymi jądrami? Jakieś wskazówki, od których powinienem zacząć? Znam Javę i trochę Pythona.
ThiagoPonte

1
Uruchamiam 13.04, a Jowisz nadal działa dobrze.
Dr_Bunsen

Odpowiedzi:


267

Popraw zużycie energii / żywotność baterii w systemie Linux za pomocą TLP

Przegląd

TLP zapewnia korzyści płynące z zaawansowanego zarządzania energią dla systemu Linux bez konieczności rozumienia wszystkich szczegółów technicznych. TLP ma domyślną konfigurację zoptymalizowaną pod kątem żywotności baterii, więc możesz ją po prostu zainstalować i zapomnieć. Niemniej jednak TLP można w dużym stopniu dostosować do własnych wymagań.

cechy

Kernel laptop mode and dirty buffer timeouts
Processor frequency scaling including "turbo boost" / "turbo core"
Power aware process scheduler for multi-core/hyper-threading
Hard disk advanced power magement level and spin down timeout (per disk)
SATA aggressive link power management (ALPM)
PCI Express active state power management (PCIe ASPM) – Linux 2.6.35 and above
Runtime power management for PCI(e) bus devices – Linux 2.6.35 and above
Radeon KMS power management – Linux 2.6.35 and above, not fglrx
Radeon dynamic power management – Kernel 3.11 and above, not fglrx
Wifi power saving mode – depending on kernel/driver
Power off optical drive in drive bay (on battery)
Audio power saving mode – hda_intel, ac97

Sprawdź także dodatkowe funkcje

Instalacja

Sprawdź także wymagania wstępne

sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update
sudo apt-get install tlp tlp-rdw smartmontools ethtool

ThinkPads

sudo apt-get install tp-smapi-dkms acpi-call-tools tlp tlp-rdw smartmontools ethtool
  • tlp-rdw - Kreator urządzeń radiowych - Konieczne włączanie / wyłączanie i oszczędzanie energii (Wi-Fi / Bluetooth)
  • smartmontools - potrzebne tlp-stat do wyświetlania danych SMART napędu
  • ethtool - potrzebny do wyłączenia funkcji budzenia w sieci LAN
  • tp-smapi-dkms Tylko ThinkPad, tp-smapi jest potrzebny do progów ładowania baterii i wyjścia statusu określonego dla ThinkPad tlp-stat
  • acpi-call-tools Tylko ThinkPad, acpi-call jest potrzebny do progów ładowania baterii w Sandy Bridge i nowszych modelach

Dodatkowy

Wskaźnik TLP dla jedności Wskaźnik jedności stworzony, aby wygodnie przełączać tryby AC i BAT. Używaj go na własne ryzyko. Pobierz tutaj: wskaźnik-TLP.py

Wskaźnik TLP dla jedności


Konfiguracja

Usuwanie domyślnej konfiguracji częstotliwości procesora Ubuntu

sudo update-rc.d -f ondemand remove 

Deweloper TLP

(Nie jest to ogólny warunek wstępny dla TLP, ale jest potrzebny tylko wtedy, gdy użytkownik zdecyduje się zmienić domyślnego gubernatora. Jeśli użytkownik wyda polecenie bez zmiany ustawienia TLP , kończy się na „wydajności”, co jest dość złe dla baterii życia.), Zastosuj do sekcji 3.) Skalowanie procesora i częstotliwości

Główny plik konfiguracyjny TLP znajduje się w / etc / default / tlp

sudo -i gedit /etc/default/tlp

Parametry

Ogólne wskazówki

  1. Parametry kończące się na _AC obowiązują przy podłączonym zasilaniu
  2. Parametry kończące się na _BAT działają przy zasilaniu bateryjnym
  3. Parametry zawierające spacje muszą być ujęte w podwójne cudzysłowy: „”
  4. Niektóre parametry są domyślnie nieaktywne; usuń wiodące „#”, aby aktywować

0.) Ogólne

TLP_ENABLE=1

Ustaw na 0, aby wyłączyć TLP (konieczne ponowne uruchomienie). Powinno być włączone, więc pozostaw wartość domyślną

1.) System plików

   DISK_IDLE_SECS_ON_AC=0
   DISK_IDLE_SECS_ON_BAT=2 

DISK_IDLE_SECS_ON_BAT = 2 = Możesz pozostawić wartość domyślną (2) lub edytować ją jako 5 , domyślnie Ubuntu używa 5 , to zależy od ciebie, przeczytaj poniższe wskazówki

cat /usr/lib/pm-utils/power.d/laptop-mode

Kontroluje to, jak agresywnie system próbuje uniknąć zapisu na dysk. Im dłużej dysk jest bezczynny, tym więcej energii można zaoszczędzić.

Jest to aktywne tylko przy zasilaniu bateryjnym i przywraca te wartości do wartości domyślnych jądra po włączeniu zasilania sieciowego.

Domyślnie 5 , która włącza tryb laptopa i zmusza system do czekania 5 sekund za każdym razem, gdy coś prosi o zapisanie na dysku, aby wypłukać jak najwięcej danych.

2.) Wartości brudnej strony

MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60 

Pozostaw wartość domyślną

Domyślnie 60, co oznacza, że ​​jądro nie zacznie wymuszać procesu zapisywania informacji o plikach, które zostały zmienione, ale nie zapisane, dopóki 60% dostępnej pamięci systemowej nie zostanie wypełnione brudnymi informacjami.

3.) Skalowanie procesora i częstotliwości

CPU_SCALING_GOVERNOR_ON_AC=ondemand
CPU_SCALING_GOVERNOR_ON_BAT=powersave

Usuń skrót i edytuj go jako konserwatywny.

Od Ciebie zależy, czego chcesz, możesz także użyć ON_BAT = powersave

Wybierz regulator skalowania częstotliwości procesora: ondemand / powersave / performance / konserwative

Gubernator?

Gubernator decyduje, jakiej częstotliwości należy użyć.

Opis modułu:

ondemand        Dynamically switch between CPU(s) available if at 95% cpu load

performance     Run the cpu at max frequency

conservative    Dynamically switch between CPU(s) available if at 75% load

powersave       Run the cpu at the minimum frequency

Deweloper TLP

Używanie „konserwatywnego” w porównaniu do oszczędzania energii - szczególnie w przypadku prądu przemiennego - nie powinno być ogólną rekomendacją, ale tylko opcją dla sprzętu, który wytwarza nadmierne ciepło lub hałas wentylatora.

4.) Minimalna / maksymalna częstotliwość

#CPU_SCALING_MIN_FREQ_ON_AC=0
#CPU_SCALING_MAX_FREQ_ON_AC=0
#CPU_SCALING_MIN_FREQ_ON_BAT=0
#CPU_SCALING_MAX_FREQ_ON_BAT=0

Ustaw minimalną / maksymalną częstotliwość dostępną dla regulatora skalowania. Możliwe wartości silnie zależą od twojego procesora. Aby zapoznać się z dostępnymi częstotliwościami, patrz wyjście tlp-stat, Rozdział „Procesor +++”.

Wskazówka : parametry są domyślnie wyłączone, usuń wiodący #, aby je włączyć, w przeciwnym razie używane są wartości domyślne jądra.

5.) Turbo Boost

CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0

Ustaw funkcję „turbo boost” procesora: 0 = wyłącz / 1 = zezwól, wymaga procesora Intel Core i i jądra 3.7 lub nowszego.

Ważne: może to kolidować z ustawieniami gubernatora dystrybucji. Wartość 1 nie aktywuje wzmocnienia, po prostu na to pozwala

6.) Rdzenie procesora / hiperwątki

SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1

Zminimalizuj liczbę używanych rdzeni procesorów / hiperwątków w warunkach niewielkiego obciążenia

7.) Jądro

NMI_WATCHDOG=0

Aktywuj zegar kontrolny NMI jądra (0 = wyłączone / oszczędzanie energii, 1 = włączone). Wartość 1 dotyczy tylko debugowania jądra.

8.) Poziom zaawansowanego zarządzania energią dysku twardego

DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"

Ustaw „Poziom zaawansowanego zarządzania energią”. Możliwe wartości mieszczą się w zakresie od 1 do 255:

1 – max power saving / minimum performance 

Ważne: to ustawienie może prowadzić do zwiększonego zużycia napędu dysku z powodu nadmiernego rozładowania głowicy odczytu / zapisu (rozpoznawalnego na podstawie odgłosów kliknięcia)

128 – compromise between power saving and wear (TLP standard setting on battery)

192 – prevents excessive head unloading of some HDDs

254 – minimum power saving / max performance (TLP standard setting on ac)

255 – disable APM (not supported by some disk models)

Różne wartości dla wielu dysków są oddzielone spacjami.

9.) Harmonogram dysku we / wy

#DISK_IOSCHED="cfq cfq"

Wybierz harmonogram dla urządzeń dyskowych: noop / deadline / cfq (Domyślnie: cfq) Oddzielne wartości dla wielu urządzeń ze spacjami.

noop jest często najlepszym wyborem dla urządzeń blokowych opartych na pamięci (np. ramdysków) i innych nierotacyjnych nośników (flash), gdzie próba zmiany harmonogramu operacji we / wy jest marnotrawstwem zasobów

deadline jest lekkim harmonogramem, który próbuje nałożyć twardy limit na opóźnienia

cfq stara się zachować ogólnosystemową uczciwość przepustowości we / wy

10.) SATA zarządzanie energią łącza agresywnego (ALPM):

min_power / medium_power / max_performance

SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power

ALPM Aggressive Link Power Management (ALPM) to mechanizm, w którym kontroler SATA AHCI może ustawić łącze SATA, które łączy się z dyskiem, w tryb bardzo niskiego zużycia energii w okresach zerowej aktywności we / wy oraz w stan mocy czynnej, gdy praca wymaga będzie zrobione. Testy pokazują, że może to zaoszczędzić około 0,5-1,5 wata mocy w typowym systemie. (Aby uzyskać więcej informacji, zobacz „Źródła i dodatkowa pomoc” )

11.) Zarządzanie energią stanu aktywnego PCI Express (PCIe ASPM):

(domyślne / performance / powersave)

Wskazówka: wymaga opcji rozruchu jądra pcie_aspm = wymuś na niektórych komputerach

PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave

12.) Szybkość zegara grafiki Radeon

(metoda profilu): niski / średni / wysoki / automatyczny / domyślny

auto = średni na BAT, wysoki na AC; default = użyj domyślnych ustawień sprzętowych (tylko jądro> = 2.6.35, nie ze sterownikiem fglrx!)

#RADEON_POWER_PROFILE_ON_AC=high
#RADEON_POWER_PROFILE_ON_BAT=low

13.) Tryb oszczędzania energii WiFi

1 = wyłącz / 5 = włącz

(Linux 2.6.32 i nowsze wersje, tylko niektóre adaptery!)

WIFI_PWR_ON_AC=1
WIFI_PWR_ON_BAT=5

14.) Wyłącz budzenie w sieci LAN

Y = Tak, N = Nie

WOL_DISABLE=Y

15.) Oszczędzanie energii audio dla Intel HDA

Włącz oszczędzanie energii audio dla urządzeń Intel HDA, AC97 (limit czasu w sekundach). Wartość 0 wyłącza /> = 1 włącza oszczędzanie energii.

SOUND_POWER_SAVE=1

Wyłącz także kontroler (tylko HDA): T / N

SOUND_POWER_SAVE_CONTROLLER=Y

16.) Wyłącz napęd optyczny w UltraBay >> (tylko ThinkPads)

Ustaw na 1, aby wyłączyć napęd optyczny w UltraBay (tylko ThinkPady), gdy działa na baterii. Wartość 0 wyłącza tę funkcję (domyślnie). Napęd można ponownie włączyć, zwalniając (i ponownie wkładając) dźwignię wysuwania lub naciskając przycisk wysuwania dysku w nowszych modelach. Uwaga : dysk twardy UltraBay nigdy nie jest wyłączony.

BAY_POWEROFF_ON_BAT=1

Urządzenie napędu optycznego do wyłączenia zasilania (domyślnie sr0)

BAY_DEVICE="sr0"

17.) Runtime Power Management dla urządzeń magistrali pci (e)

RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto

Środowisko wykonawcze PM dla wszystkich urządzeń magistrali pci (e)

RUNTIME_PM_ALL=1

Środowisko wykonawcze PM dla wszystkich urządzeń magistrali pci (e): 0 = wyłącz / 1 = włącz, Ostrzeżenie: opcja eksperymentalna, może powodować niestabilność systemu

Czasami mój klucz myszy USB nie działał, gdy podłączam go do portu USB 3, działa dobrze, kiedy podłączam go do portu USB 2, a wszystkie urządzenia USB 3 działają poprawnie, nie ma problemu.

18.) Automatyczne zawieszanie USB

Ustaw na 0, aby wyłączyć / 1, aby włączyć funkcję automatycznego zawieszania USB

USB_AUTOSUSPEND=1

19.) Uruchomienie i wyłączenie systemu

RESTORE_DEVICE_STATE_ON_STARTUP=0

Przywraca stan urządzenia radiowego (wbudowane bluetooth, wifi, wwan) z poprzedniego wyłączenia przy uruchamianiu systemu:

0 - wyłącz, 1 - włącz

DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan" 

Wyłącza wbudowane urządzenia radiowe po uruchomieniu systemu:

bluetooth
wifi – Wireless LAN
wwan – Wireless Wide Area Network (UMTS)

Wiele urządzeń jest oddzielonych spacjami.

Mam błąd, że moje urządzenie Blue tooth nie jest wyłączone podczas uruchamiania, więc jeśli napotkasz ten problem, wykonaj następującą konfigurację

sudo nano /etc/rc.local 

I dodaj następujący wiersz przed wyjściem 0

rfkill block bluetooth

Zapisz i wyjdź i uruchom ponownie


Praca z TLP

Po instalacji TLP zostanie automatycznie aktywowane po uruchomieniu systemu.

Aby uruchomić go natychmiast bez ponownego uruchomienia lub zastosować zmienione ustawienia, użyj:

sudo tlp start

Użyj komendy tlp-stat terminal, aby sprawdzić, czy TLP działa poprawnie

sudo tlp-stat

Sprawdź temperaturę systemu

sudo tlp-stat -t

Pokaż tylko informacje o baterii:

sudo tlp-stat -b
sudo tlp-stat --battery 

Pokaż tylko konfigurację:

tlp-stat -c
tlp-stat --config

Pokaż tylko stan przełączenia urządzeń radiowych:

tlp-stat -r
tlp-stat --rfkill

Pokaż tylko temperatury i prędkość wentylatora:

tlp-stat -t 

Zastosuj ustawienia baterii (ignorując rzeczywiste źródło zasilania):

sudo tlp bat

Zastosuj ustawienia prądu przemiennego (ignorując rzeczywiste źródło zasilania):

sudo tlp ac

Możesz sprawdzić, którego I / O używasz.

sudo tlp-stat  # Check the section +++ Storage Devices

Tryb śledzenia

Aby dokładniej zbadać podejrzane problemy w TLP, aktywuj tryb śledzenia w / etc / default / tlp:

TLP_DEBUG="lock nm path pm rf run sysfs udev usb" 

Dodaj wyżej wymieniony wiersz na końcu / etc / default / tlp, Skumulowane dane śledzenia można odczytać w dowolnym momencie za pomocą

tlp-stat -T 

Lub

grep "tlp" /var/log/debug 

W przypadku braku danych wyjściowych śledzenia należy zmodyfikować konfigurację rsyslogd. Utwórz plik /etc/rsyslog.d/90-debug.confzawierający

*.=debug;\
auth,authpriv.none;\
news.none;mail.none -/var/log/debug

I uruchom ponownie demona

sudo /etc/init.d/rsyslog restart 

Źródła i dodatkowa pomoc

Istnieje bardzo dobre wsparcie na stronie TLP

Przydatne łącze konfiguracyjne 1

Ustawienia TLP

ALPM


Opcjonalne poprawki

Zmodyfikuj częstotliwość procesora indicator-cpufreq

Instalacja

indicator-cpufreq pomoże Ci zmienić częstotliwość procesora w podróży:

sudo apt-get install indicator-cpufreq 

Przejdź do Dash > wyszukaj Startup > edytuj indicator-cpufreqdodaj -flub skopiuj wklej następujące polecenie:

indicator-cpufreq -f 

wprowadź opis zdjęcia tutaj

Zrzut ekranu

zrzut ekranu

Za pomocą tego wskaźnika będziesz mógł monitorować aktualną częstotliwość procesora i zmieniać częstotliwość procesora

Zmiana częstotliwości procesora

Kliknij wskaźnik

zrzut ekranu

  • Dodatkowe porady

  • VA-API (przyspieszenie sprzętowe dla procesorów graficznych Intel / AMD)

Przegląd

Główną motywacją dla VA-API (Video Acceleration API) jest umożliwienie sprzętowego przyspieszania dekodowania / kodowania wideo w różnych punktach wejścia (VLD, IDCT, Motion Compensation itp.) Dla obecnie obowiązujących standardów kodowania (MPEG-2, MPEG-4 ASP / H.263, MPEG-4 AVC / H.264 i VC-1 / VMW3). Rozważano rozszerzenie XvMC, ale ze względu na jego oryginalną konstrukcję tylko dla MPEG-2 MotionComp, bardziej sensowne było zaprojektowanie interfejsu od zera, który może w pełni ujawnić możliwości dekodowania wideo we współczesnych procesorach graficznych.

Oficjalne sterowniki Intel używają interfejsu VA-API

Obsługa kodeków wideo

Zainstaluj sterowniki Intel / AMD VA-API w Ubuntu

dla procesorów graficznych Intel (dla grafiki Intel HD oraz G45 i nowszych):

sudo apt-get install i965-va-driver libva-intel-vaapi-driver vainfo

dla procesorów graficznych AMD Radeon (potrzebujesz również własnych sterowników!):

sudo apt-get install xvba-va-driver vainfo

Zainstaluj MPlayera z obsługą VA-API w Ubuntu

Domyślnie wersja MPlayera dostępna w oficjalnych repozytoriach Ubuntu nie obsługuje VA-API, ale możesz użyć PPA, który zapewnia niestandardowe kompilacje MPlayera z obsługą VA-API.

sudo add-apt-repository ppa:sander-vangrieken/vaapi
sudo apt-get update
sudo apt-get install mplayer-vaapi

Teraz musisz zainstalować smplayer lub vlc

sudo add-apt-repository ppa:rvm/smplayer
sudo apt-get update
sudo apt-get install smplayer

LUB

sudo apt-get install vlc

Konfiguracja

SMPLAYER

Jest w zakładce Opcja > Preferencje, na zakładce Wideo> Ogólne wideo> Sterownik wyjściowy ustaw sterownik wyjściowy wideo na „vaapi”:

zrzut ekranu

VLC

Jest w Narzędzia> Preferencje> Wejścia i kodeki> Włącz używanie dekodowania z przyspieszeniem GPU

wprowadź opis zdjęcia tutaj

Przydatne linki


PowerSavingTweaks dla grafiki Intel

sudo nano /etc/default/grub

zmiana:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 

do:

GRUB_CMDLINE_LINUX_DEFAULT=""quiet splash intel_pstate=disable i915.lvds_downclock=1 drm.vblankoffdelay=1 i915.semaphores=1 i915_enable_rc6=1 i915_enable_fbc=1"

i biegnij:

sudo update-grub

Przydatne linki


18
+1, bardzo wyczerpująca odpowiedź! TLP będzie również moim wyborem. Być może możesz dodać, że TLP można uruchamiać i zatrzymywać za pomocą sudo tlp start/ sudo tlp stoporaz że możesz także ręcznie przełączać różne tryby zasilania za pomocą sudo tlp bat/ sudo tlp ac.
Glutanimate

1
askubuntu.com/questions/112705/… sprawdź moją odpowiedź, proszę
Qasim

4
Całkowite rozładowanie baterii w nowoczesnych laptopach może uszkodzić baterię: batterycare.net/en/guide.html#descBat Istnieje wiele innych źródeł tego zjawiska , proszę google „mit rozładowania baterii”
MarkovCh1

4
+1, bardzo szczegółowa odpowiedź. Bardzo pomógł mi w konfiguracji mojego systemu w celu oszczędzania energii na zużyciu baterii.
Harry

3
Wydaje się, że istnieje dodatkowy niepotrzebny cytat wGRUB_CMDLINE_LINUX_DEFAULT=""quiet splash pcie_aspm=force i915
Andrei Botalov

10

Oto, co przeczytałem w 7 rzeczach do zrobienia po instalacji Ubuntu 13.04 (Raring Ringtail) :

Jupiter był jedną z pierwszych rzeczy do zainstalowania po nowej instalacji Ubuntu, ale niestety aplikacja została przerwana, a stara wersja nie działa poprawnie w Ubuntu 13.04.

Ale jeśli interesuje Cię żywotność baterii, możesz użyć TLP, narzędzia, które instalujesz, a potem o nim zapominasz, ponieważ automatycznie poprawia system w celu lepszego zużycia energii / żywotności baterii.

Aby zainstalować TLP w Ubuntu 13.04, użyj następujących poleceń:

sudo add-apt-repository ppa:linrunner/tlp  
sudo apt-get update  
sudo apt-get install tlp tlp-rdw   
sudo tlp start

Nie mam osobistego doświadczenia z TLP.



Korzystam z TPL od kilku dni, a mój laptop ma 4 do 6 stopni chłodu, a następnie Windows
Qasim


2
  1. PowerTOP to narzędzie systemu Linux do diagnozowania problemów z zużyciem energii i zarządzaniem energią.

    Oprócz tego, że jest narzędziem diagnostycznym, PowerTOP ma również tryb interaktywny, w którym użytkownik może eksperymentować z różnymi ustawieniami zarządzania energią w przypadkach, gdy dystrybucja Linuksa nie włączyła tych ustawień.

  2. To narzędzie udev automatycznie włącza najbardziej agresywne ustawienia oszczędzania energii:

/etc/udev/rules.d/10-local-powersave.rules

# PCI runtime power management
ACTION=="add", SUBSYSTEM=="pci", ATTR{power/control}="auto"

# USB autosuspend
ACTION=="add", SUBSYSTEM=="usb", ATTR{power/control}="auto"
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/autosuspend" ATTR{power/autosuspend}="60"

# SATA active link power management
SUBSYSTEM=="scsi_host", KERNEL=="host*", ATTR{link_power_management_policy}="min_power"

# Wlan power save
ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan*" RUN+="/usr/sbin/iw dev %k set power_save on"

# Disable bluetooth
SUBSYSTEM=="rfkill", ATTR{type}=="bluetooth", ATTR{state}="0"

# Disable wake-on-LAN
ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth*" RUN+="/usr/sbin/ethtool -s %k wol d"

powertop to fajne narzędzie, ale plik /etc/udev/rules.d/10-local-powersave.rulesjuż nie istnieje w 14.04, co z tymi ustawieniami, które tutaj opublikowałeś? Używam powertop --auto-tunedo strojenia wszystkiego
rubo77 10.10.14

Możesz sam stworzyć ten plik.
Ari Malinen,

Potrzebujesz więc Powertop? A może sugerujesz dwie różne rzeczy?
rubo77

Nie, nie potrzebujesz powertop, aby korzystać z tej konfiguracji.
Ari Malinen,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.