求大神解答,为何勾选Drop Oem就无法启动?以及drop table的问题请教
其实这是很早以前的问题,因为用着没问题就暂时搁置了,最近突然想起来这里问问大神。小弟ubuntu提取了DSDT和SSDT, ssdtPRGen提取的变频,都编译好没有错误,置入clover的patched里
看bootlog有insert success的字样,就是载入成功了,对吧?
若DSDT.aml有错误 drop oem _dsm 无法启动,这个很容易理解
问题1、为什么 我把全部的dsdt和ssdt都放在patched目录下,勾选Drop Oem就无法启动了呢?难道还缺少ssdt文件么?肯定是没有错误了,而且ubuntu提取的和clover提取的数量一样,各种疑惑ing
看了作者wiki的说明,也没有理解drop oem到底是什么作用,勾选代表不使用开机自动生成的ssdt,而是用patched目录下的,那么又问什么会显示insert ssdt-x.aml success的字样呢?
我一共15个ssdt(含cpupm变频的ssdt)
问题2、drop table是什么作用呢?我的理解是定向使用patched的ssdt文件,不在drop table中列出的ssdt不调用,依然使用系统自动生成的ssdt,是这个意思么?那么引申出的另一个问题是,drop table和drop oem的关系是什么?
貌似坛子里没有看到一个关于这两个问题的明确说明,请大神给予指教,谢谢了
本帖最后由 chenrui999 于 2017-3-29 08:57 编辑
感觉很多一直只是用,能用了就不管了,但是总觉得还是应该理解清楚,如果费半天劲其实并没有更好地运用电脑性能,那还不如买台白苹果呢。
所以我也把作者的说明搬过来,翻译一下,但是我总觉得他说的不清楚,供大家一起讨论:这应该是个很老的问题,但是我爬帖从09年到现在的贴子里都没有看到谁能够明确的说明,所以开了这个贴
DSDT / DropOEM_DSM
<key>DropOEM_DSM</key><true/>
Some OEM DSDT already contains Method(_DSM...) for some devices. It has another structure, another logic, and another results then we need. But we can't modify this method, and we can't create own method with the same name, so DropOEM_DSM was created to drop these OEM _DSM.
一些OEM厂商的DSDT已经包含了对部分设备的Method(_DSM)指令。但却与我们所需的有着不同的架构、逻辑或者目的。而我们又不能去修改这些方法,并且我们也不能用同样的名称来创建自己的方法。因此创设了DropOEM_DSM 来删除这些原生的(OEM厂提供的)_DSM方法。
Default value is false if using a custom DSDT and true if using BIOS.aml.
如果使用自制DSDT,则默认值是false(意为不勾选?对应命令行的false么?就是说即便我用我自己修改的DSDT,但是启动后依然时使用机器自带的_DSM方法来控制电脑?那我的DSDT只是用来明确设备而已么?进一步的问题,假设我改变了声卡的_DSM方法,那么我clover下至少需要勾选drop掉HDA相关的OEM,是这样么?)。如果使用bios自动生成的DSDT,则为True。
Alternatively if you only need to drop the _DSM for certain devices, you can select any of these individually:
亦或,如果你只需要删除掉特定设备的_DSM命令,你可以单独的选择其中选项(我的理解是,drop oem是全删除,单独勾选下面的选项,是单独删除,其他依旧使用自动生成的?)
SSDT的解释更为简单,也更模糊
SSDT / DropOem
<key>DropOem</key><true/>
Drops all internal SSDT tables to avoid conflicts when generating an SSDT for your processor, which contains P- and C-States. Clover can do this automatically or you can specify an external file, which will be loaded from EFI/OEM//ACPI/patched.
删除所有内部的SSDT表格,用以避免与为你处理器所生成的,包含P-states和C-states的SSDT产生冲突,(是我自己生成修改的SSDT还是机器自己生成的?而我把所有编译完的SSDT包含变频的放进目录,点Drop oem依然是启动后出现禁行呀。以及我其他非CPU相关的SSDT呢,如usb相关,是否读取了呢?)。Clover能够自动读取patched目录下的文件,或者你指定读取文件。(这里指的就是Drop Table吧?)
Drop table的说明简略到令人发指!
Drop TableDrop OEM ACPI tables by signature and/or table identifier.基于签名和/或表单识别(应该就是SSDT开头带引号的那些)删除OEM厂家的ACPI表Additionally, now you can drop tables by their length. Why? Because we found Acer laptop where all SSDT have the same TableID.另外,你也可以根据表单的长度(指定删除相应OEM的表单(这是我自己加上的))。为什么呢?因为我们发现Acer的笔记本所有的SSDT都有着同样的表单ID(TableID)
我的迷茫:1、若Drop Table为空,patched目录下的ssdt到底会不会被读取使用?检查bootlog,看到insert success的字样,如果调用了我的SSDT,那机器自己的SSDT表是否也被同时调用了呢?如果是,那么机器启动到底用的是哪个?如果否,那么Drop table的存在意义在哪里?drop oem的意义何在?2、若Drop Table有指定表单,以变频的cpupm和cpu0ist为例,那么clover应该是删除机器对应的SSDT表。那么patched目录下其他的表单呢?调不调用呢?如果调用则又回到1的问题,用谁的表单启动系统?而且drop table有什么存在的意义。如果不调用我修改的其余SSDT的话,那我希望使用自己的ssdt就需要把所有的ssdt表都填入到drop table中是否就等同于drop oem了?
小白码字不易,可能有和我差不多的小白,可能和我一样不理解,别让这个帖子沉了,等大神来帮忙解答,一起讨论,谢谢!
就我所知有 Drop 即是使用自己編譯的 ssdt ,沒有就候用系統的 ssdt. 跟你說的大致相同。 limurphy 发表于 2017-3-28 14:17 https://www.pcbeta.com/static/image/common/back.gif
就我所知有 Drop 即是使用自己編譯的 ssdt ,沒有就候用系統的 ssdt. 跟你說的大致相同。
嗯嗯 感谢回复
但是我在看了作者说明后就更糊涂了,写了一篇翻译在下面回复,目前还没有审核出来,里面也提出了我的问题,感觉逻辑有些乱这里 chenrui999 发表于 2017-3-28 14:19 https://www.pcbeta.com/static/image/common/back.gif
嗯嗯 感谢回复
但是我在看了作者说明后就更糊涂了,写了一篇翻译在下面回复,目前还没有审核出来,里面也 ...
有關變頻試試 plugin type 1 二层翻译已出,大家一起讨论 Default value is false if using a custom DSDT and true if using BIOS.aml.
这句话其实是最让人费解的,我用我自己的,那么默认就是false DropOEM _DSM咯?就是沿用OEM的这些_DSM方法咯?
如果使用bios的aml,则为true,就是要删除OEM的_DSM咯?可是这些OEM的_DSM不都是在bios.aml里么?删除了调用什么来启动电脑呢?
这个逻辑太奇怪了吧 chenrui999 发表于 2017-3-29 17:31 https://www.pcbeta.com/static/image/common/back.gif
二层翻译已出,大家一起讨论
http://www.yekki.me/clover-power-management/ 有关这个问题,RM的guide-patching-laptop-dsdt-ssdts这篇帖子里说的很清楚。
勾选了DropOEM的话,就不会加载你放在patched里的SSDT,而是加载系统默认的SSDT。
除非你在Drop Tables里自行添加TableId。
所以我推荐的做法是,SSDT和DSDT全都排错之后,全部用Drop Tables添加,不要勾选DropOEM。 cleveriax 发表于 2017-3-30 09:14 https://www.pcbeta.com/static/image/common/back.gif
有关这个问题,RM的guide-patching-laptop-dsdt-ssdts这篇帖子里说的很清楚。
勾选了DropOEM的话,就不会加 ...
你说反了吧。
一种是系统自动获取并加载的SSDT,叫OEM SSDT,OEM SSDT并不是一个,一般有十几个;另一种是用户自行编制、定义,并放在PATCH目录的SSDT,我个人喜欢叫用户 SSDT。
1、DROPOEM是不加载所有默认SSDT,只加载用户SSDT。
2、DROP TABLES是不加载指名称的OEM SSDT,其它名称的OEM SSDT仍然加载
具体验证其实很简单,用MACIASL打开看当前ACPI到底是加载了些什么在运行,是系统默认的SSDT,还是自定义的SSDT。 本帖最后由 minfox 于 2017-3-30 11:25 编辑
DROP丢弃=不加载
OEM指的是OS自动获取到的SSDT或DSDT;用户SSDT或DSDT指的是APCI/PATCH目录下的DSDT.AML、SSDT-2.AML这些自定义文件。
DSDT下,打开(勾选)DROPOEM选项=不加载所有OEM DSDT,同时加载指定的用户DSDT。SSDT下,打开(勾选)DROPOEM选项=不加载所有OEM DSDT。注意的是,SSDT是追加方式加载,所以“勾选”与“不勾选”DROPOEM,“APCI/PATCH/”目录下的用户SSDT都会自动加载。
DROP TABLE=不加载指定名称的 OEM SSDT,其它名称的仍然加载。
另外你图上所标示,DSDT名称是DSDT的,其下所标示的DROPOEM是SSDT的,不是一回事。
minfox 发表于 2017-3-30 11:15 https://www.pcbeta.com/static/image/common/back.gif
DROP丢弃=不加载
OEM指的是OS自动获取到的SSDT或DSDT;用户SSDT或DSDT指的是APCI/PATCH目录下的DSDT.AML、 ...
樓上正解。 minfox 发表于 2017-3-30 11:15 https://www.pcbeta.com/static/image/common/back.gif
DROP丢弃=不加载
OEM指的是OS自动获取到的SSDT或DSDT;用户SSDT或DSDT指的是APCI/PATCH目录下的DSDT.AML、 ...
请问大神,看的不是很明白,我dsdt放置到了APCI/PATCH下,那怎么样才能使用我的dsdt呢{:5_278:} DropOEM是个问题,爬的帖子也不少了,但i3 3240变频依然只有两档。看了上面的各位描述似乎又有些懂了,稍后去验证一下,看看变频是否能成功。 绝对旋风 发表于 2017-3-30 12:42 https://www.pcbeta.com/static/image/common/back.gif
请问大神,看的不是很明白,我dsdt放置到了APCI/PATCH下,那怎么样才能使用我的dsdt呢
DSDT放进去后,然后再1楼的图里,DSDT name框里填上DSDT文件的名字就可以使用了,正常情况你应该感觉不出什么,测试的话,你可以故意乱改一些地方(依然没错误的情况下),可能就启动不了了
我这么试过 绝对旋风 发表于 2017-3-30 12:42 https://clover-wiki.zetam.org/Configuration/ACPI#acpi_dsdt_dsdt-dropoem_dsm 像我这样就行了,注意:我是intel 5代cpu
chenrui999 发表于 2017-3-30 13:43 https://www.pcbeta.com/static/image/common/back.gif
DSDT放进去后,然后再1楼的图里,DSDT name框里填上DSDT文件的名字就可以使用了,正常情况你应该感觉不出 ...
那那个 DropOem 是否要勾选上额{:5_278:} 绝对旋风 发表于 2017-3-30 14:55 https://www.pcbeta.com/static/image/common/back.gif
那那个 DropOem 是否要勾选上额
dsdt有一个DROPOEM_DSM,如果是想加载用户DSDT的话,一般要勾上。
SSDT下有一个DROPOEM,如果是想加载用户SSDT的话,一般不勾。一般使用DROP TABLE选择性禁用SSDT。 绝对旋风 发表于 2017-3-30 14:55 https://www.pcbeta.com/static/image/common/back.gif
那那个 DropOem 是否要勾选上额
这个是分dsdt 和 ssdt 两种情况的
具体的你看 7楼提供的那个链接,里面讲得很清楚了
页:
[1]
2