syscl 发表于 2015-8-26 01:12

M3800/XPS15完善实记(流畅,多级变频,瞬间唤醒,多指滑动,小太阳,蓝牙,Hand-off)

『在这里,你主宰你的命运』

上面这句话作为起点,OS X安装在PC上面的诀窍,就是敢于尝试,具体问题具体分析,还有永不放弃尝试的耐心和毅力。

在笔记本上完善黑苹果,相对台式机来说,更麻烦一些,接近rMBP则是一种折磨。甚至同型号不同时期生产的笔记本,都可能有重大的区别,因此,需要更多的耐心。来说下Dell Precision M3800,这次的黑苹果过程和以往稍有不同,一是借鉴了darkvoid以及AustinSMU的思路,另一方面,结合自己在安装中遇到的问题,以及自己在黑苹果中的经验,写了安装脚本,的简化了安装过程。新手不需要再对着DSDT/SSDT这些概念头晕眼花了,结合RehabMan的工具,新的安装工具几乎完成95%的操作步骤,包括安装驱动,DSDT/SSDT的优化和打补丁等等,并且不会随着BIOS中设置的细微差别导致脚本失效。

只要按照本文的步骤操作,便会轻松完成整个M3800的安装驱动过程。

希望能够把XPS系列的安装脚本也一并整合进来,若有XPS (XPS13,XPS14)的景友能够提供支持,会让更多XPS朋友完美体验到OS X!


硬件DELL PRECISION M3800 (Late 2013)


[*]主板:       H87M
[*]处理器:      Intel(R) i7-4712HQ @ 2.30GHz
[*]音频:       Realtek ALC668 (VenderID 10ec0668)
[*]以太网卡:DW1560 (ngff接口BCM94352Z)
[*]显卡:       HD4600(VenderID 80860416)
[*]显示器:      Sharp 15.6” QHD+ @3200x1800
Bios解锁
**风险操作**下面的操作可能永久损坏计算机主板,请确认自己有能力善后操作。在Windows下:


[*]下载AMI Flash Utility
[*]AFUWINGUI.exe备份当前BIOS




[*]等待操作完成




[*]UEFITool打开备份的BIOS,找到Text列有的Setup项,右键DXE Dependency Section下方的Compressed Section,选择Extra body,保存为setup.bin




[*]用UltraEdit打开setup.bin,并将01 01 00 01 01 01 01 00 00 00 最后的三个00替换成01,也就是01 01 00 01 01 01 01 01 01 01,保存为setup_patched.bin




[*]回到UEFITool中右键选中刚才解压的Compressed Section—>Replace body—>setup_patched.bin




[*]选择File—>Save image file




[*]命名为bios_patched.bin




[*]在命令行中输入:先拖动AFUWINx64.exe到命令窗口,空格,再拖动修改后的bios进入窗口,空格,输入/GAN回车完成BIOS的刷写。




[*]重启后进入BIOS进行设置

BIOS设置


[*]Settings—>Advanced
USB Emulation                                                       设置成『Enabled』
SATA Operation                                                   设置成『Enabled』
[*]Settings—>Advanced(解锁后出现的)—>CPU Configuration
CFG Lock                                                                设置成『Enabled』
LakeTiny Feature                                                    设置成『Enabled』
[*] Settings—>USB Configuration
USB3.0 Support                                                       设置成『Enabled』
XHCIHand-off                                                      设置成『Enabled』
EHCIHand-off                                                      设置成『Enabled』
[*]Chipset—>PCH-IO Configuration—>USB Configuration
XHCI Mode                                                               设置成『Enabled』
BTCG                                                                         设置成『Enabled』
USB Ports Per-Port Disable Control                         设置成『Disabled』
[*]Chipset
PCH LAN Controller                                                设置成『Disabled』
[*]System Agent (SA) Configuration—>Graphics Configuration
DVMT Pre-Allocated                                                设置成『96MB』

安装


[*]创建系统安装盘(参见帖子)
[*]安装Clover到安装盘EFI分区中
[*]将安装时用的config.plist放置到Clover目录下,FakeSMC.kext, VoodooPS2.kext放置到CLOVER/kexts/10.10以及CLOVER/kexts/10.11目录下
[*]所需UEFI驱动


后期调整


[*]安装“Command Line Tools”
[*]安装Clover到本地磁盘,并将刚才的config.plist和FakeSMC.kext还有VoodooPS2.kext拷贝到/Volumes/EFI/EFI/CLOVER/kexts/10.10以及/Volumes/EFI/EFI/CLOVER/kexts/10.11下面
[*]重启,在Clover引导界面按下F4或者Fn+F4保存ACPI(DSDT以及SSDT)表到本地
[*]解压安装脚本
[*]在终端中打开安装脚本的执行权限 chmod 755 ~/M3800/*.sh
[*]将Installation.sh拖入到终端中,回车。
[*]利用M3800/tools中的Kext Utility.app重建缓存
[*]重启
[*]将Finalstep.sh拖入到终端中运行。
[*]重启

完成后


[*]效果图



[*]分屏功能




[*]在『系统信息』中『音频』选项查看音频是否驱动。或者在『设置』中『声音』查看是否存在线路输出




[*]音量调节F2(减小)以及F3(增加)




[*]亮度调节F10(键盘亮度)、F11(减小)、F12(增加)




[*]『XCPM』模式开启后的『电池』选项卡




[*]『XCPM』模式开启后的『电源适配器』选项卡




[*]AirDrop功能




[*]Hand-off功能




心得



syscl 发表于 2015-8-26 01:13

本帖最后由 syscl 于 2015-8-30 12:21 编辑

所需要的安装附件


////

syscl 发表于 2015-8-26 01:14

本帖最后由 syscl 于 2015-8-30 12:38 编辑

第一个脚本修复实现的片段[节选]
# Search specification tables

# DptfTa
for num in $(seq 1 20)
do
    grep "DptfTa" "${REPO}"/DSDT/raw/SSDT-${num}.dsl &> /dev/null && result=0 || result=1
    if [ "${result}" == 0 ];then
    DptfTa=SSDT-$num
    fi
done

# SaSSDT
for num in $(seq 1 20)
do
    grep "SaSsdt" "${REPO}"/DSDT/raw/SSDT-${num}.dsl &> /dev/null && result=0 || result=1
    if [ "${result}" == 0 ];then
    SaSsdt=SSDT-$num
    fi
done

# SgRef
for num in $(seq 1 20)
do
    grep "SgRef" "${REPO}"/DSDT/raw/SSDT-${num}.dsl &> /dev/null && result=0 || result=1
    if [ "${result}" == 0 ];then
    SgRef=SSDT-$num
    fi
done

# OptRef
for num in $(seq 1 20)
do
    grep "OptRef" "${REPO}"/DSDT/raw/SSDT-${num}.dsl &> /dev/null && result=0 || result=1
    if [ "${result}" == 0 ];then
    OptRef=SSDT-$num
    fi
done


不需要root权限mount EFI分区部分
#
# Check if Clover is in place
#
if [ ! -d /Volumes/EFI/EFI/CLOVER ];then
#
# Not installed
#
    echo "Clover 没有安装到EFI分区,请重新安装EFI分区后再执行本脚本"
    exit 0
fi

if [ ! -d /Volumes/EFI/EFI/CLOVER/ACPI/patched ];then
mkdir /Volumes/EFI/EFI/CLOVER/ACPI/patched
fi

#
# Copy AML to Destination Place
#

cp "${compile}"*.aml /Volumes/EFI/EFI/CLOVER/ACPI/patched

#
# Check OS generation
#
gProductVersion="$(sw_vers -productVersion)"
#
# Gain generation of OS X
#
gOSVersion=$(echo ${gProductVersion:3:2} | tr -d '.')

#
# Copy KEXTs to Destiantion Place
#
echo "\n"
echo "Copying kexts to ${esp}/EFI/CLOVER/kexts/10.${gOSVersion}"
cp -R "${REPO}/Kexts/"*.kext "/Volumes/EFI/EFI/CLOVER/kexts/10.${gOSVersion}"/期望有更好的建议简化代码

syscl 发表于 2015-8-26 01:14

本帖最后由 syscl 于 2015-8-30 12:31 编辑

解决M3800开盖黑屏的代码[节选]
# Repository location
REPO=$( cd "$( dirname "${BASH_SOURCE}" )" && pwd )

# Define place
decompile=${REPO}/DSDT/raw/
precompile=${REPO}/DSDT/precompile/
compile=${REPO}/DSDT/compile/
tools=${REPO}/tools/
raw=${REPO}/DSDT/raw
prepare=${REPO}/DSDT/prepare

kextstat |grep -y Azul &> /dev/null && result=0 || result=1
kextstat |grep -y HD5000 &> /dev/null && HD=0 || HD=1

if [[ $result -eq 0 && $HD -eq 0 ]];
    then
      echo "过程似乎很顺利,即将完成最后的操作......"
      echo "脚本完成操作后,重启计算机尽情享受OS X带来的震撼效果! --syscl PCBeta"
      esp=$(grep "dev" "${REPO}"/efi)
      diskutil mount ${esp}
      plist=/Volumes/EFI/EFI/CLOVER/config.plist
      /usr/libexec/plistbuddy -c "Set ':Graphics:ig-platform-id' 0x0a260006" "${plist}" &> /dev/null
      /usr/libexec/plistbuddy -c "Print""${plist}" | grep "ig-platform-id = 0x0a260006" &> /dev/null && changestat=0 || changestat=1
      if [ $changestat == 0 ];then
            echo "操作成功结束, 重启计算机!"
      else
            echo "操作失败,请确定${esp}/EFI/CLOVER/config.plist是否配置正确"
            echo "重新执行第一个脚本"
      fi
    else
      exit 0
fi




syscl 发表于 2015-8-26 01:15

本帖最后由 syscl 于 2015-9-20 01:16 编辑

# Search specification tables

# DptfTa简化后的搜索代码[ update 2015-9-20 01:17 ]
////

syscl 发表于 2015-8-26 01:15

XPS13 待反馈楼层

syscl 发表于 2015-8-26 01:16

XPS 14 / XPS 12 待反馈楼层。

syscl 发表于 2015-8-26 01:16

占楼结束。

lisai9093 发表于 2015-8-26 01:23

灵越路过

syscl 发表于 2015-8-26 01:26

lisai9093 发表于 2015-8-26 01:23 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
灵越路过

么么哒,我本来也想买灵越7000的,和这台很像:)

这个显卡的驱动比较奇怪,要先注入0a2e0008然后再注入0a260006 TT

同为XPS15的9530就完全没有这个问题。

////

极度心死 发表于 2015-8-26 03:39

N5110路过。这么晚还在写帖子,楼主精神可嘉

本拉登他爹 发表于 2015-8-26 08:43

我擦终于跑这里来发帖了,技术贴必定。

口袋妖怪heart 发表于 2015-8-26 08:58

没Laptop的学生党路过。。。不过一直用暗色的Dock习惯了的说

pln2008 发表于 2015-8-26 09:25

本帖最后由 pln2008 于 2015-8-26 21:16 编辑

OS X当主系统稳定用了3年的XPS12路过支持楼主~
目前只有1个问题待解决,clover引导开机偶尔出现禁止符或者一片黑,出现禁止符进入啰嗦模式显示的错误是不识别CPU,只加了DSDT,没用SSDT,因为一旦用了就要么锁低频要么锁睿频,不用反而变频正常,CAD重启1-3次即可进系统,原因找不到;
还有1个问题是Cypress触摸板这辈子只能识别为鼠标(国外大神开发的Cypress驱动XPS13和15都能用,唯独一堆XPS12的都不行)。
教程什么的一开始折腾的时候写过,但因为后来又花了一年才完美的,还需修补,已经忘了很多细节了……
PS:为什么要破解BIOS?我看国外论坛XPS15也破解BIOS

JAMESM5 发表于 2015-8-26 09:29

好久不见撸主了

mikeki 发表于 2015-8-26 09:43

q946666800 发表于 2015-8-26 11:58

楼主电脑多少钱入的

口袋妖怪heart 发表于 2015-8-26 12:12

这脚本是从github上面下载必备的东西么= =

syscl 发表于 2015-8-26 12:14

口袋妖怪heart 发表于 2015-8-26 12:12 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
这脚本是从github上面下载必备的东西么= =

不用,我传论坛上,刚才编辑帖子内容全丢了!等会弄。

口袋妖怪heart 发表于 2015-8-26 12:15

syscl 发表于 2015-8-26 12:14 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
不用,我传论坛上,刚才编辑帖子内容全丢了!等会弄。

嗯 是啊。。。论坛这编辑器。。。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: M3800/XPS15完善实记(流畅,多级变频,瞬间唤醒,多指滑动,小太阳,蓝牙,Hand-off)