我今年购买了一台 DELL Inspiron 5518 (16gb, 512gb + Nvidia MX450)。该笔记本电脑正式支持 Ubuntu。我同时启动了 Windows 和 Ubuntu20.04但使用上差别很大。
在 Windows 上,它可以持续使用 5-6 小时,键盘上方(风扇所在位置)的发热几乎可以忽略不计
但在 Ubuntu 上,它几乎无法承受 1.5 小时,并且键盘的右上方非常热,手指无法长时间放在那里。
我安装了lmsensors
并执行了sensors-detect
。它只提示coretemp
添加到/etc/modules
,我也做了同样的事
运行时没有风扇信息sensors
。
重要更新 我现在做了一些观察
sensors
即使在非常炎热的时候也显示非常正常的温度。所以,我想可能是电池太热了。但acpitool
显示温度不可用。在 ubuntu 上风扇运转噪音很大,而在 Windows 上却很安静。
tlp
等thermald
均未产生任何效果。nvidia-settings
不可用。安装后为空白,表示未检测到 nvidia。设置显示 GPU 为 Intel Iris。sudo prime-select query
显示on-demand
。当我将其更改为时没有效果,nvidia
因此我将其更改为intel
以确保安全。系统是最新的,并且也做到了
sudo ubuntu-drivers autoinstall
。
试图
我发现可以通过在 Grub 中模拟 Windows 系统来纠正电源设置
在/etc/default/grub
,我有
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
我尝试过
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=!Windows 2020"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=! acpi_osi='Windows 2020'"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=! \"acpi_osi=Windows 2020\" "
(P.S. this was the solution all along, see answer below)
但无济于事。
欢迎任何建议。
答案1
经过大量的研究和实验,我找到了解决这个问题的方法。
问题似乎是 Bios/Grub 电源管理与 Ubuntu 之间的兼容性。例如,ACPI DSDT 需要一些不同的操作系统,而我们正在运行一些不同的操作系统。
现在,正如我在实验问题中提到的那样/etc/default/grub
,我实际上缺少一个非常重要的步骤,那就是检查我的设备电源管理实际支持的 Windows OSI 版本。
(必须是 Windows,因为笔记本电脑在 Windows 上运行良好,因此我们的目标是将 Ubuntu 伪装成设备的 Windwos)
https://news.ycombinator.com/item?id=26747559
如上文所述,可以通过以下方式找到支持的 Windows OSI
sudo strings /sys/firmware/acpi/tables/DSDT | grep -i 'windows ' | sort
Microsoft Windows NT
Windows 2001
Windows 2001
Windows 2001.1
Windows 2001 SP1
Windows 2001 SP2
Windows 2006
Windows 2006
Windows 2009
Windows 2009
Windows 2012
Windows 2012
Windows 2013
Windows 2013
Windows 2015
Windows 2015
所以,这是我在文件中所做的最终编辑/etc/default/grub
。
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=! \"acpi_osi=Windows 2015\" "
这样,过热和电池问题就得到解决。