搜索
简帛阁>技术文章>【黑苹果显卡驱动】通过Device/properties 给Framebuffer打补丁一点经验

【黑苹果显卡驱动】通过Device/properties 给Framebuffer打补丁一点经验

class="heading">本文参考Coffee Lake帧缓冲区补丁及UHD630 Coffee Lake ig-platform-id数据整理,算是对文章的一种补充吧!注意,本篇文章不适合小白阅读!

一,打这个补丁有什么用处?

打这个补丁就能成功驱动你的核显,让它正常工作。如果已经成功驱动了核显的就没必要看了。

二,准备工作

  • 添加启动参数 -cdfon,删除启动参数 -disablegfxfirmware

  • 删除FakePCIID,IntelGraphicsFixup,NvidiaGraphicsFixup,Shiki和CoreDisplayFixup

  • 关闭Clover里面关于Graphics注入的参数,这些参数包括:

    • config.plist/Graphics/Inject/ATI=NO
    • config.plist/Graphics/Inject/Intel=NO
    • config.plist/Graphics/Inject/NVidia=NO
    • config.plist/Graphics/ig-platform-id=
    • config.plist/Devices/FakeID/IntelGFX=
  • 关闭Clover里面关于DSDT的修复:

    • AddHDMI
    • FixDisplay
    • FixIntelGfx
    • AddIMEI
  • 禁用UseIntelHDMI

  • 移除boot argument参数:-disablegfxfirmware

  • 移除IGPU和HDMI部分的全部内容,包括:

    • config.plist/Devices/Arbitrary
    • config.plist/Devices/Properties
    • config.plist/Devices/AddProperties
  • 从CLOVER/ACPI/patched删除任何与IGPU和HDMI相关的SSDT和DSDT

  • 下载WhateverGreen和Lilu最新版本 Lilu下载地址 WhateverGreen下载地址

三,确定获取iGPU显卡设备的路径

下载并使用gfxutil工具,如下所示:

$ gfxutil -f IGPU
DevicePath = PciRoot(0x0)/Pci(0x2,0x0)
复制代码

这样我们确定了显卡路径之后,把=号之后的路径复制下来,填入如下图的所示的位置:

四,一些参数介绍(除了第6个值必须设置,其他可选)

  1. framebuffer-patch-enable(是否启用framebuffer补丁,当然启用啊,不启用的话这篇文章还有什么用处):
  • DATA数据:01000000 -> 1(启用) 00000000 -> 0(不启用)
  • NUMBER数据:0(不启用) 1(启用)
  1. framebuffer-stolenmem(给BIOS中DVMT添加一点内存大小,会影响高分屏,这个值必须大于32M,也不应该过高):
  • 一般1080P屏幕的话,设置为48M就够用了:00003001
  • 当你的笔记本电脑屏幕是2k,你可以设置为64M:00000004
  • 4K屏的话,要设置为128M:00000008 如果你的BIOS中可以设置DVMT的话并且你设置成为128M之后,可以不需要设置这个属性,或者这个属性设置小一点:00003001 保险起见,高分屏直接设置成128M比较稳,并且保证在BIOS能设置DVMT的情况下设置在64M或以下 (PS:这一部分可能有误,但是最后一句保险起见,高分屏直接设置成128M比较稳是试验过的)
  1. framebuffer-unifiedmem(核显显存大小,调大一点可能能解决花屏):
  • 2048M:00000080
  • 3072M:000000C0
  1. framebuffer-cursormem(翻译成中文就是光标内存,会影响高分屏,比如高分屏花屏可能就是这个值不够大):
  • 一般屏幕设置成9M大小就好:00009000
  • 高分屏的话最好直接设置成48M:00000003
  1. framebuffer-fbmem(framebuffer内存大小,会影响高分屏):
  • 一般屏幕设置成9M大小就好:00009000
  • 高分屏的话最好直接设置成48M:00000003
  1. AAPL,ig-platform-id(设备平台id,直接影响显卡是否能成功驱动): 举例一些常用笔记本的核显id(PS:如果没有列举您的,还望自己爬帖查找,一般别人制作的原版镜像也会提供多个核显配置文件供你们使用,在里面Graphics/ig-platform-id也可以看到。或者您还可以参考我文章开头提供的文章链接查找):
  • HD4600,HD4200,HD4000,HD5000,HD5100,HD5200:0a260006(如果不行设置后者),0a2e0008
  • HD5300,HD5500,HD6000:16260006
  • HD630:3e9b0000
  1. device-id(设备id,可能是能让黑苹果正确显示设备信息,上面设备平台id一样的统一设置一个值):
  • 0a260006,0a2e0008:12040000
  • 16260006:16160000
  • 3e9b0000:9b3e0000 PS:本文没有收录的可以使用Intel FB Patcher这个软件查询,或者直接使用这个软件打补丁。具体用法:按照这篇文章成功输出config.plist之后,把你正在使用的config文件中Devices/Properties中全部的参数和值删除,然后把输出的配置文件对应的参数与值复制过去。视频演示
  1. framebuffer-conN-enable(N为数字,显卡第N个输出接口是否启用,1为启用,0为不启用):
  • DATA数据:01000000 -> 1(启用) 00000000 -> 0(不启用)
  • NUMBER数据:0(不启用) 1(启用)
  1. framebuffer-conN-type(N为数字,显卡第N个输出接口的类型):
  • 00080000 :HDMI输出
  • 0004000:DP输出(好像是的吧,记不清)
  1. framebuffer-conN-index(个人理解,显卡第N个输出接口的优先级,或者说是设置第N个输出口的位置): 这个按个人需要设置,如果需要屏蔽这个输出口,可以设置成FFFFFFFF,也就是最大的数字,让它足够靠后,这样就达到了屏蔽效果!
  • 最后,请注意,所有DATA数据类型需要将数据两两一组倒过来填入,例如:16260006转换之后就是这样06002616,如下图:
    所以你也可以发现,用framebuffer-fbmem参数举例,当需要设置为48M之后它应填入的值是:00000003,这个也是转换后的值,所以原来的值应当是03000000,这是一个16进制的数字,转换成10进制是50331648。我们知道1M=1024KB,1KB = 1024B,所以,我们把转换成十进制之后的数字50331648除以1024然后再除以1024,得出的结果就是48了,所以这串数字代表的就是48M。点击这里前往进制转换网页 当然为了方便,你也可以直接像下图中切换成NUMBER数据类型,这样你就不用转换成16进制,不用倒过来输入(ig-platform必须为DATA):

后文

本篇文章并不全面,还有一些参数没研究懂,毕竟黑苹果文化博大精深,所以当作者学习到新知识之后会不定期更新。喜欢的朋友可以点一波爱心,再顺手关注一下作者!

转载于:https://juejin.im/post/5ce4ecb26fb9a07ea33bec2f

本文参考CoffeeLake帧缓冲区补丁及UHD630CoffeeLakeigplatformid数据整理,算是对文章的一种补充吧!注意,本篇文章不适合小白阅读!一,打这个补丁有什么用处?打这个补丁就
、LinuxFramebuffer概述Framebuffer驱动在Linux内核中用于子系统最重要的显示输出,以该驱动为基础,Linux设备才能向用户展现一个色彩斑斓的世界,对于PC而言,就是显卡
分析imx6framebuffer设备和驱动的注册过程。TonyLiu,2016831,Shenzhen相关文件:arch/arm/machmx6/boardmx6q_sabresdckernel/v
http://wwwvellemaneu/images/tmp/usbfindcifdef__cplusplusexternC{endifinclude<windowsh>include&
优点:便于修改连接属性。只需在配置文件中修改,不需要在代码中修改了。更易于维护代码安全性。方法:在src文件嘉下创建databaseproperties文本文件;添加内容:drivercommysql
第一步:首先需要是驱动下载镜像源flowrush2018050915:32:4054143收藏8分类专栏:caffe版权我是配置digits时候,按照github步骤导致cuda出了问题。错误如下:解
简单来讲,设备指纹是指可以用于标识出该设备的设备特征或者独特的设备标识。设备指纹因子通常包括计算机的操作系统类型,安装的各种插件,浏览器的语言设置及其时区、设备的硬件ID,手机的IMEI,电脑的网卡M
在linux系统中你使用一些命令时(例如nmon、iostat如下截图所示),有可能会看到一些名字为dmxx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷其实d
背景Android提供了很多不错的工具供开发者使用,如此篇文章标题所说的Monitor,当接收新的项目的时候,我往往习惯于先从UI入手,通过各个控件布局的加载点击等逻辑梳理代码,但是当代码里比较大,或
参考https://blogcsdnnet/weixin_42205310/article/details/81905293尝试多次只有这篇配置成功。①先解决依赖sudopacmanSvirtualg