关于 DSDT,linux 笔记本适配的难题
Tofloor
poster avatar
russrao
deepin
2019-07-01 19:33
Author
在deepin下面(其实其他发行版也差不多),在笔记本上经常出现屏幕亮度调节键失灵,飞行模式键失灵,电源插拔无更新状态等问题。反映了多次也没有什么解决办法。自己深入研究了一下,其实发生的原因比较底层,比如 acpi_listen 命令根本收不到上述事件,更不用说 udev 之类的上层机制了。进一步研究发现是 DSDT 表导致的。上网google了很久,发现这个问题只是在玩黑苹果的那几个社区有人弄,好像 linux 社区没什么人弄过。DSDT 修改需要比较深的 ACPI 方面的知识,而且不同的笔记本解决起来还不一样。
不知道 deepin 的工程师有没有什么计划做做这方面的适配?可以发动社区来做做,觉得这个问题是建立生态很关键的东西,目前网上的 DSDT 都是面向 WINDOWS 的,这是真的没办法的事情。装 Linux 总是出现笔记本部分功能没法用,而且发生频率还非常高。这个 bug 一般用户根本没办法解决,只有系统开发的人才能搞定了。

也许这个是不可能的任务,因为在其他linux发行版上,好像那么多社区都没有找到解决这类问题的,看来解决起来真的很难。
Reply Favorite View the author
All Replies
avatar
走钢丝
deepin
2019-07-01 19:46
#1
支持一下,等待大佬出现
Reply View the author
avatar
aida
deepin
2019-07-01 22:29
#2
升级bios可能会解决dsdt的问题,注意bios操作有较高风险

或者采用下面的方法,让内核报告一个Windows版本


在开机的时候,启动菜单(grub)按E键,按下面修改的话重启会失效
在quiet splash 前加入 acpi_osi=! acpi_osi="Windows 2009"                        
或者 acpi_osi="!Windows 2015"
还有其他的选项可以看一下这篇文章2009 对应Windows 7 and Server 2008 R2
2015 对应Widnows 10        

http://alexhungdmz.blogspot.com/2012/02/why-does-linux-say-it-is-not-linux-in.html

保存配置的方法
编辑/etc/default/grub
找到GRUB_CMDLINE_LINUX_DEFAULT行
GRUB_CMDLINE_LINUX_DEFAULT="acpi_osi=! acpi_osi=\"Windows 2009\"  quiet splash "

然后更新grub配置文件
sudo update-grub
Reply View the author
avatar
russrao
deepin
2019-07-04 06:48
#3
https://bbs.deepin.org/post/180083
升级bios可能会解决dsdt的问题,注意bios操作有较高风险

或者采用下面的方法,让内核报告一个Windows版本

报告WINDOWS版本的做法是过了,貌似无效。有点论坛上讲使用 acpi_osi_name, 有的讲是 acpi_osi ,都试过了,各种 WINDOWS 版本用了一遍,都无效
Reply View the author
avatar
135******12
deepin
2019-07-04 22:21
#4
你的是什么笔记本
Reply View the author
avatar
russrao
deepin
2019-07-12 19:19
#5
hata8301 发表于 2019-7-4 14:21
你的是什么笔记本

HP Spectre 13
Reply View the author