Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/26/20 in all areas

  1. We have an entire thread dedicated to Azul framebuffer patching in our R&D->Graphics section; look it up. But if things work fine on the graphics front, you've got nothing to do really...
    1 point
  2. @trognaz, you're totally mistaken! If Apple have introduced warnings about legacy/deprecated kexts in 10.15.4, kext signature policy has not changed since El Capitan! Add-on kexts require SIP to be disabled and new policy about legacy kexts does not affect the vast majority (if not all) of the add-on kexts we use on Hackintosh platforms. I've updated all 4 x Hacks to 10.15.4 and all retain add-on kexts in /L/E as usual: Core2Duo Latitude D630 Core2Duo Vostro200 Ivy Bridge Latitude E6230 Kaby Lake R Latitude 7490 Your Hack obviously needed adjustments (disabling SIP, kext updates or cache rebuild, who knows?) but do not make general, erroneous and misleading statements out of it!
    1 point
  3. The framebuffer values from the bootpack works just fine. There might be some issue with your installation files due to using VM. Since you now have a semi working system, you can re-create your installer from there rather than VM. Keep the same EFI files. After creating the new installer, format and reinstall your system.
    1 point
  4. Not exactly accurate. I have my BT firmware kext in /L/E running on 10.15.4. BT kexts are loading just fine. You might just need to repair permissions and rebuild cache after the update.
    1 point
  5. Last updated: 28 Mar 2020 This guide is a follow-up to similar work previously posted by EmlyDinesh for HD3000 and HD4000. It is based on the excellent research work published by many other well-known Hackintosh gurus such as Pike R Alpha, Toleda, RampageDev, Rehabman and several others (whose name eludes me and for which I apologize) and for which they must be once again thanked. Their work is readily available through a Google search with keywords that include "Azul", "Framebuffer", "HD4x00", etc (brain usage is expected here). I did not do anything other than study this existing literature and experiment with the Intel HD4600 fitted to my Dell Latitude E6440 laptop (SMBIOS MBP11,1 Profile) in order to gain DVI output off an E-Port Plus/PRO2X docking station/port replicator, having previously obtained HDMI output through a binary patch handed over to me (a patch I wanted to understand). The E6440 comes fitted with a VGA port + a HDMI port. This being stated, the information below should be considered as that -experimentation results- and guidance for experimentations for those seeking to gain DVI, DP or HDMI video output on their Haswell GPU-based Hackintosh. Haswell integrated GPUs include Intel HD (4th gen)/HD 4200/HD 4400/HD 4600/HD P4600/HD P4700/HD 5000 as well as Iris 5100/5200. In OS X, display ports are managed by the framebuffer (FB) kext and for the Haswell family, we're talking about AppleIntelFramebufferAzul.kext (Azul FB). The Azul FB binary file contains various tables associated with each layout, each being identified by its own id (layout-id/ig-platform-id/ etc.) and, usually, about 7 x 16bytes long (I'm not 100% certain of the specific table length and end for each layout). These FB layout ids are the values that most of us have to inject in DSDT or bootloader setup to obtain full graphics acceleration, for instance 0x0600260a for laptops or 0x0300220d for desktops. 1) Azul framebuffer analysis / layout ids Let's look at a few tables of El Capitan 10.11.3 Azul FB kext (latest at time of writing), including those specific to the above 2 ids. Using a Hex editor, they're found at offsets 48xxx/49xxx. The 1st 4 x bytes identify the layout id and the rest includes data such as number of ports, VRAM allocation, framebuffer index, port index, connector types, activation delays, etc.. The layout details are available in the attached extract: EC_10.11.03_AzulFB_layouts.zip The 1st layout is found at Offset 48CD0: 0000 060C 0003 0303 0000 0004 0000 0001 layout id 0000 F000 0000 0040 9914 0000 9914 0000 VRAM allocation 0000 0000 0000 0000 0000 0800 0200 0000 framebuffer index / port number 3000 0000 0105 0900 0400 0000 0400 0000 pipe 0204 0900 0008 0000 8200 0000 FF00 0000 connector-type 0100 0000 4000 0000 0400 0000 0000 0700 activation delay 0400 0000 0000 0000 0000 0000 0000 0000 ... ... ... At Offset 49130, we have: 0600 260A 0103 0303 0000 0002 0000 3001 layout id (usual layout for mobile HD4600 Hackintosh) 0000 6000 0000 0060 D90A 0000 D90A 0000 VRAM allocation 0000 0000 0000 0000 0000 0800 0200 0000 framebuffer index / port number 3000 0000 0105 0900 0004 0000 8700 0000 pipe 0204 0900 0004 0000 8700 0000 FF00 0000 connector-type 0100 0000 4000 0000 0F00 0000 0101 0000 activation delay 0400 0000 0000 0000 0E00 0000 0000 0000 ... ... ... At Offset 492F0, we have: 0300 220D 0003 0303 0000 0002 0000 3001 layout id (usual layout for desktop HD4600 Hackintosh) 0000 0000 0000 0060 9914 0000 9914 0000 VRAM allocation 0000 0000 0000 0000 0105 0900 0004 0000 framebuffer index / port number 8700 0000 0204 0A00 0004 0000 8700 0000 pipe 0306 0800 0004 0000 1100 0000 FF00 0000 connector-type 0100 0000 4000 0000 0204 0000 0101 0000 activation delay 0400 0000 0000 0000 0E00 0000 0000 0000 ... ... ... What interests us here, in the matter of display output ports, are the above highlighted parameters. * In terms of framebuffer indexes, they appear to range from 0 to 3, depending on mobile or desktop GPU version, 0 looking reserved for built-in LCDs. We also notice that each layout caters for 3 x ports only, each framebuffer/port-related line beginning with a similar form made of a pair of bytes: 0000 ... for framebuffer #0 / port #0 0105 ... for framebuffer #1 / port #5 0204 ... for framebuffer #2 / port #6 0306 ... for framebuffer #4 / port #7 * In terms of pipe, I've read that the lower byte right after the FB index apparently operates in conjunction with the activation delay: when 2 ports have an identical pipe value, the port with the highest delay takes precedence, thereby disabling the other. If ports have their own unique pipe, they will be all enabled/available. I'll have to try to hook DVI + HDMI at the same time to confirm this behaviour. * In terms of connector-type, there are several known values: 0100 0000 for VGA 1000 0000 for VGA 0200 0000 for LVDS/eDP (built-in LCD of laptops) 0400 0000 for digital DVI 0002 0000 for analog DVI 0004 0000 for DP 0008 0000 for HDMI When using the vanilla Azul FB kext, my E6440 reports the following in IOReg: AppleIntelFramebuffer@0 (built-in LVDS display showing attached to this) port-number: 0x0 connector-type: 02 00 00 00 AppleIntelFramebuffer@1 port-number: 0x5 connector-type: 04 00 00 00 AppleIntelFramebuffer@2 port-number: 0x6 connector type: 04 00 00 00 One could easily imagine a direct translation of the FB index + its adjacent byte in the layout tables with the display port number as reported in IOReg; that'd be incorrect, as stated in the existing literature. If, indeed, the layout id tables show pairs "00 00" for port #0 and "01 05" for port #5, one would quickly notice that pair "02 04" translate to port #6 and pair "03 06" to port #7. 2) HDMI and DVI display output When experimenting with my mobile HD 4600-based Latitude E6440, no HDMI output was obtained OOB with the vanilla Azul FB kext. In fact, the laptop immediately crashed the moment a HDMI cable was hot-plugged. It would not even boot with a HDMI cable plugged in. However, HDMI works perfectly after applying the binary patch to the kext where the hex string 01050900 00040000 87000000 is replaced by 01051200 00080000 87000000. We can see that this patch modifies: a) the pipe lower byte right after port number 2) the connector type In IOReg, the HDMI display showed attached to FB index #1 with port-number 0x5 and connector-type 0008 0000. We can see that, in the vanilla kext, FB indexes #1 and #2 of layout id 0x0600260A use the same pipe value after the id, the same activation delay and the same connector-type. Building on the gathered technical information from the literature and the above observations, I tried to enable the DVI port off my docking station to use a 2nd DVI screen (lack of VGA support oblige). I first applied the following patch to layout id 0600260A located at offset 49130, keeping the above HDMI patch untouched. before: 02040900 00040000 87000000 FF000000 after: 02040900 00020000 87000000 FF000000 This failed to enable DVI output off my E-Port Plus. I then tried to adjust other parameter such as pipe byte after id and activation delay, to no avail. Keeping in mind the availability of framebuffer index #3, I then applied the following patch, again leaving the HDMI patch untouched: before: 02040900 00040000 87000000 FF000000 after: 03060900 00020000 87000000 FF000000 This proved successful and brought me DVI output off the E-Port Plus/PRO2X . However, HDMI appeared broken as system froze as soon as HDMI cable got plugged in. After several adjustments of the pipe byte, HDMI and DVI outputs are obtained when the pipe is set to 0x12 for both ports. This makes for the following Azul FB binary patch: At Offset 49130, patch vanilla table: 0600 260A 0103 0303 0000 0002 0000 3001 0000 6000 0000 0060 D90A 0000 D90A 0000 0000 0000 0000 0000 0000 0800 0200 0000 ; FB index #0/port #0, connector-type LVDS 3000 0000 0105 0900 0004 0000 8700 0000 ; FB index #1/port #5, connector-type DP 0204 0900 0004 0000 8700 0000 FF00 0000 ; FB index #2/port #6, connector-type DP 0100 0000 4000 0000 0F00 0000 0101 0000 0400 0000 0000 0000 0E00 0000 0000 0000 to: 0600 260A 0103 0303 0000 0002 0000 3001 0000 6000 0000 0060 D90A 0000 D90A 0000 0000 0000 0000 0000 0000 0800 0200 0000 ; FB index #0/port #0, connector-type LVDS 3000 0000 0105 1200 0008 0000 8700 0000 ; -> pipe 0x12 and connector-type HDMI 0306 1200 0002 0000 8700 0000 FF00 0000 ; -> index #3/port #7, pipe 0x12, connector-type DVI 0100 0000 4000 0000 0F00 0000 0101 0000 0400 0000 0000 0000 0E00 0000 0000 0000 These patches are applicable to all versions of OS X and macOS supporting Haswell graphics. 3) VGA display output VGA output is simply not supported on Haswell iGPUs to the exception of HD4400 with which such output is known to work OOB on some laptops. HD4400 is the only iGPU of the Haswell family to present such behaviour. There is no patch, no workaround, no solution for VGA output for the others. Edit: 28 Mar 2020 - - - - - - - - - - - - - Thread cleaned up to retain only the useful info.
    1 point
  6. Hello all, I've updated to Catalina 10.15.4, all work properly, but I've lost the audio headphones output cause now with latest Catalina build we can't install kexts in L/E cause Apple don't approve third part kexts without signature/certification. I've used the r5107 clover (added HFSPlus.efi) And new Lilu, Whatevergreen, AppleALC. I've removed all kext from L/E and rebuilded the kextcache. Any ideas for solve this problem? Before with ALC256 patch and AppleALC in L/E was work, but now no. (all kext only in E/C/K/O)
    0 points
This leaderboard is set to London/GMT+01:00
×
×
  • Create New...