本文後續可能會使用git推送更新到github/levinit-itnotesphp
[TOC]html
通常地,安裝linux-firmware
便可,許多發行版會默認安裝此包,若是安裝主流的桌面環境,也會自動安裝它。linux
還能夠嘗試linux-firmware-iwlwifi
(也可能名爲firmware-iwlwifi
) ,此軟件包爲intel相關網卡驅動。ios
一些網卡可能須要尋找相應的驅動,可到其官網尋找支持,或者以網卡名、具體型號加firmware做爲關鍵字搜索解決方案。可以使用`lspci | grep Network`查看具體顯卡狀況。git
其餘解決思路:換網卡;使用免驅動安裝的usb網卡。github
通常地,安裝bluez
便可,一些發行版會默認安裝此包,若是安裝主流的桌面環境,也會自動安裝它。shell
特別的驅動解決思路參考上文「wi-fi」。tcp
能夠參考這篇文章- archwifi-藍牙)工具
rfkill:某些狀況下,wifi或者藍牙被關閉(尤爲是硬關閉)可是又找不打開的方法,可使用rfkill
這個工具解決,經常使用命令:優化
rfkill list #查看全部無線設備的狀態 rfkill unblock all #啓用全部設備 rfkill --help #查看rfkill相關命令
通常安裝桌面環境(如gnome、plasma等等)會自動安裝上觸摸板相關驅動;若是使用的一些窗口管理器(如i3wm、awesom)則可能須要自行安裝。
安裝驅動 xf86-input-synaptics
若是從其餘桌面環境改用gnome做爲桌面環境,則要用libinput
替換掉 xf86-input-synaptics
(GNOME 目前再也不支持 synaptics),卸載掉 xf86-input-synaptics
。
桌面環境通常都有本身的電源管理工具,可設置對各類使用行爲響應的電源動做 ,如使用電池時的亮度、滅屏時間、掛起時間、睡眠時間、蓋上筆記本蓋子的響應動做、按下電源鍵的響應動做等等。
可參看下文電源相關行爲的響應動做進行一些更爲詳細或者電源管理工具爲提供的設置,推薦配合tlp或laptop-mode-tools使用。
多功能電源管理工具,其默認配置已經針對常見使用狀況進行優化,安裝後執行systemctl enable tlp
使其開啓自啓動便可。如需進行更多配置,可修改/etc/default/tlp 文件。另可再安裝tlp-rdw用以設置無線設備。
可參看tlp英文文檔 。
讓內核開啓適合的筆記本電腦的模式以達到相關電源控制的目的。功能較多,配置較tlp複雜,和tlp二選一便可。
可參看archwiki-Laptop Mode Tools (簡體中文)#.E5.9B.BA.E6.80.81.E7.A1.AC.E7.9B.98) 。
使用sudo powertop --auto-tune
可啓用全部選項,欲開機自啓動auto-tune
參看powertop(簡體中文)) 。
提示:若是使用了tlp和laptop-mode-tools,幾乎不必再啓用該工具,前兩者功能覆蓋了powertop的設置項。
一個用於防止平臺過熱的守護進程。此守護進程會監控平臺溫度,並採用可用的冷卻方式來下降溫度。該軟件安裝便可,無需額外設置。
提示:該工具可能過早啓用風扇或風扇轉速更快,從而帶來較原使用狀況下更大的噪音,宜根據設備具體狀況和我的使用體驗考慮是否使用。
這些行爲及響應動做多能在桌面環境的電源管理工具中進行設置,參看綜合型電源管理工具
針對按下電源相關按鈕(如掛起/休眠/電源等按鍵)和蓋上筆記本蓋子等行爲而響應的電源動做。
systemd 可以處理某些電源相關的事件,編輯/etc/systemd/logind.conf 可進行配置,其主要包含如下事件:
取值能夠是 ignore、poweroff、reboot、halt、suspend、hibernate、hybrid-sleep、lock 或 kexec。
其中:
注意,系統默認設置爲:
HandlePowerKey=poweroff #按下電源鍵關機 HandleSuspendKey=suspend #按下掛起鍵掛起(暫停) HandleHibernateKey=hibernate #按下休眠鍵休眠 HandleLidSwitch=suspend #蓋上筆記本蓋子掛起
例如要設置蓋上筆記本蓋子進行休眠,在該文件中配置:
HandleLidSwitch=hibernate
保存文件後,執行 systemctl restart systemd-logind
使其生效。
注意:一些Linux發行版可能須要自行對休眠進行配置,參考後文休眠配置,或者藉助pm-utils之類的工具實現。
桌面環境帶有的電源管理工具能管理上述(部分)動做的電源響應事件。
如但願在電池電量極低的時候自動關機,能夠經過修改/etc/UPower/UPower.conf相關配置,示例,在電量低至%5時自動休眠:
PercentageLow=15 #<=15%低電量 PercentageCritical=10 #<=10%警告電量 PercentageAction=5 #<=5%執行動做(即CriticalPowerAction)的電量 CriticalPowerAction=PowerOff #(在本示例中是電量<=5%)執行休眠
CriticalPowerAction的取值有Poweroff、Hibernate和Hybid-sleep。
更多配置項參考該文件中的說明。
使通常是下降頻率以減小發熱,同時下降風扇轉速以減小噪音,並提高筆記本的電池續航時間。
在/sys/devices/system/cpu
目錄下有着cpu相關信息。
如intel處理器的設備,其系統在/sys/devices/system/cpu/intel_pstate
目錄下(可能存在)的文件規定着cpu運行頻率相關參數,如:
cpupower屬於Linux內核工具系列 但有的發行版不必定會默認安裝。
執行cpupower frequency-info
可查看到相關信息,cpupower set
可進行頻率設置。
通常搜索cpupower、freq、cpu加freq等關鍵字能夠找到此類工具。
示例:使用cpupower控制頻率
編輯/etc/default/cpupower,找到min_freq
.max_freq
這兩行,去掉其註釋的#
, 填寫好頻率並保存
min_freq="0.25GHz" #最小頻率 max_freq="2.5GHz" #最大頻率
執行systemctl enable cpupower.service
使其生效。
可以使用命令 :cat /sys/devices/system/cpu/intel_pstate/no_turbo
查看睿頻開啓狀態,若是顯示0則表示開啓睿頻,顯示1則表是關閉睿頻。(intel)
一些關閉睿頻的方法:
echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo
(重啓後會恢復睿頻)使用tlp(推薦)或laptop-mode-tools等電源管理工具
如tlp,編輯/etc/default/tlp,找到其中的兩行CPU_BOOST,修改成:
CPU_BOOST_ON_AC=0 #0表示關閉 1表示開啓 CPU_BOOST_ON_BAT=0 #同上
只針對intel處理器中SandyBridge(含IvyBridge)及更新的構架的CPU。intel構架列表:List of Intel CPU microarchitectures。援引:
Linux內核對CPU的工做頻率管理,已經跟不上現代的CPU的需求,沒法在效能與省電取得平衡,因此intel本身寫了一段內核代 碼,Intel_pstate……內核3.13中,已經放入這段代碼,但沒有默認啓用。
啓用方法:
編輯/etc/default/grub,在GRUB_CMDLINE_LINUX_DEFAULT
一行添加intel_pstate=enable
,例如該行原有內容是:
GRUB_CMDLINE_LINUX_DEFAULT=」quiet」
添加添加intel_pstate=enable
後便是:
GRUB_CMDLINE_LINUX_DEFAULT=」quiet intel_pstate=enable」
而後執行sudo grub-mkconfig -o /boot/grub/grub.cfg
,重啓生效。
檢查:執行cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
,若是顯示intel_pstate
則表示啓用成功,不然是未啓用成功或不支持該功能。
若是桌面環境無休眠相關選項,可參考一下方法手動配置。
休眠(hibernate)須要將內存中的內容寫入磁盤的swap分區,若是swap分區大小比當前休眠所需空間小,則沒法保證可以正確地休眠。具體的swap的大小根據我的使用狀況(要休眠時的內存佔用)而定。
注意:brtfs沒法設置swap分區;這裏的swap是swap分區,而不是swap file。
在bootloader 中增長resume內核參數
須要添加resume=/dev/sdxY
(sdxY 是 swap分區的名字) ,讓系統在啓動時讀取swap分區中的內容。
例如,使用了grub2做爲bootloader,swap的分區是/dev/sda3,編輯/etc/default/grub 文件,在GRUB_CMDLINE_LINUX_DEFAULT
中添加resume=/dev/sda3
,假如該行的原有內容是:
GRUB_CMDLINE_LINUX_DEFAULT=」quiet intel_pstate=enable」
添加resume參數後就是:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=enable resume=/dev/sda3"
而後更新 grub 配置 grub-mkconfig -o /boot/grub/grub.cfg
配置 initramfs的resume鉤子
編輯/etc/mkinitcpio.conf,在HOOKS
行中添加resume
鉤子,例如該行原有內容是:
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
添加resume
後就是:
HOOKS="base udev resume autodetect modconf block filesystems keyboard fsck"
注意:若是使用lvm分區,須要將resume
放在lvm
後面,示例:
HOOKS="base udev autodetect modconf block lvm2 resume filesystems keyboard fsck"
從新生成 initramfs 鏡像: mkinitcpio -p linux
若是不須要運行大量耗費GPU資源的程序,能夠禁用獨立顯卡,只使用核心顯卡,一些禁用方法如:
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
如下命令關閉獨立顯卡(注意,若是使用了bbswtich那麼應該是沒有這個文件的!)使用bbswitch
#設置bbswitch模塊參數 echo 'options bbswitch load_state=0 unload_state=1'> /etc/modprobe.d/bbswitch.conf #開機自動加載bbswitch模塊 echo 'bbswitch ' > /etc/modules-load.d/bbswitch
使用如下命令控制bbswitch進行開關顯卡:
sudo tee /proc/acpi/bbswitch <<<OFF #關閉獨立顯卡 sudo tee /proc/acpi/bbswitch <<<ON #開啓獨立顯卡
屏蔽獨立顯卡
將獨立顯卡相關模塊進行屏蔽,示例屏蔽NVIDIA相關模塊
lsmod | grep nvidia | cut -d ' ' -f 1 > /tmp/nvidia #閉源的nvidia lsmod | grep nouveau | cut -d ' ' -f 1 > > /tmp/nvidia #開源的nouveau sort -n /tmp/nvidia | uniq > /tmp/nvidia.conf #去重 sed -i 's/^\w*$/blacklist &/g' /tmp/nvidia.conf #添加blacklist sudo cp /tmp/nvidia.conf /etc/modprobe.d/nvidia.conf #自動加載
重啓後檢查NVIDIA開啓狀況:lspci |grep NVIDIA
,若是輸出內容後面的括號中出現了 (rev ff)
字樣則表示該顯卡已關閉。
在Linux中可以使用如下方法來切換顯卡。參看相關資料:
NVIDIA optimus)(NVIDIA的方案,這裏主要推薦如下兩個)