passmaster16 Posted July 10, 2014 Share Posted July 10, 2014 clover has an option to inject EDID. use the one generated with Displaymerge. see if that helps. Thanks that is what I ended up doing. The reason why it didn't work initially from Clover is I had a bad checksum. Once I updated the checksum, injected worked correctly via Clover. Link to comment Share on other sites More sharing options...
yves31 Posted July 19, 2014 Share Posted July 19, 2014 Hi, My laptop lcd display has a resolution of 1920x1080 and can do 960x540 hidpi mode. Any higher resolution setting in Overrider display folder shows Invalid. I am trying to get the system to accept 1280x720 HIDPI mode (2560x1440 scaled resolution). Using FixEDID I was able to change VendorID and ProductID, but scaled resolution is still the same as before, no 1280x720 hi dpi mode. How can I fix this? Thanks for your help. Edit: Problem solved! This is due to graphics driver. My graphics card is HD3000 and original driver from Apple does not permit higher scaled resolutions. Download modified kext from hackintosh site, install to the laptop and now all high resolutions are available including hidpi. Anyone having problem of "System Only - Invalid?" with SwitchResX may use modified graphics drivers to get HiDPI working. 1 Link to comment Share on other sites More sharing options...
truemac Posted July 21, 2014 Share Posted July 21, 2014 hi Andy Vandijck can you make that kext can load with Clover please? thx in advance best regards Link to comment Share on other sites More sharing options...
AeonWorld Posted July 22, 2014 Share Posted July 22, 2014 Sorry if this is offtopic , is there a way to edit the brightness levels of each step of the applebacklightdisplay kext ? , am using your displaymergenub method to make native kext to work Link to comment Share on other sites More sharing options...
jamiethemorris Posted July 28, 2014 Share Posted July 28, 2014 Andy, for some reason I can't get the EDID I generate to work properly. I flashed my HD6670 to have a proper screen resolution, but although the resolution is now correct, I still have underscanning at the Clover screen and boot screen on my TV. When it boots my display is offset to one side, but it still detects it as my TV, it doesn't detect it as an Apple Display or anything. I even tried using my MacBook Pro's EDID and modifying that... From my understanding as long as the display is detected as a regular display rather than a TV it should eliminate the underscan issue, is that correct? I was also hoping maybe it would be possible to change the TV's EDID and tell it that it's not a TV... I'm using HDMI btw. Link to comment Share on other sites More sharing options...
Andy Vandijck Posted August 5, 2014 Author Share Posted August 5, 2014 I ported a number of tools to Mac OS X for getting some hardware info on some machines. - ectool: Tool to get info from the Embedded Controller - flashrom: You know this one - ethtool: Tool to get info from the ethernet adapters / WiFI cards (mostly done) - ich_descriptors_tool: Tool to get south bridge info - ifdtool: Tool to get info from UEFI BIOS - inteltool: Tool for Intel CPU info - lspci: PCI Info - mptable: Tool to get multiprocessor description table - msrtool: Tool for MSR info - nvramtool: Tool for NVRAM info - osxpmem: Tool for getting OS X memory data - probe, video: Tool for checking Intel GPUs - setpci: Tool for setting PCI data - superiotool: Tool for probing SuperIO chip - testvideobios: Tool for forcing load of a custom (video) BIOS ROM 2 kexts: - DirectHW.kext: Direct HW communication driver - pmem.kext: Direct memory access driver, this creates /dev/pmem Enjoy I also collected some info on a real MacBook Pro. Also my laptop dump from some of the apps is attached hw_tools.zip LaptopDump.zip MBP81INFO.zip 15 Link to comment Share on other sites More sharing options...
blackosx Posted August 5, 2014 Share Posted August 5, 2014 Thank you for this treasure trove of tools Andy Link to comment Share on other sites More sharing options...
blackosx Posted August 6, 2014 Share Posted August 6, 2014 Thanks to Andy posting pmem.kext because I have now been able to do something I wanted to do for a while and that’s put a script together to dump the ACPI tables directly from memory. I only put it together in the last 24 hours or so, so it’s not perfect and it may not work for everyone. The script doesn’t deal with ACPI_recl (reclaimable) regions so it may fail to find the RSDP pointer. It fails on my iMac so for now I uncomment line #282 and force a larger block size of memory to read and then it works. There may well be other error checks which haven’t be dealt with properly too, but for now it works as an example of reading memory directly from within OS X. I’ve tested it on 10.9 and 10.10 DP5. The script requires a memory map to work from. I have been using the FirmwareMemoryMap.txt file from DarwinDumper’s Firmware Memory Map option. Usage is: ./dumpACPIfromMem.sh or ./dumpACPIfromMem.sh /path/to/FirmwareMemoryMap.txt ps. @Andy - I hope you don’t mind me posting this here but I thought this would show a good example for the kext. EDIT: I forgot to mention that this dumps the native tables from BIOS and not the tables injected by the boot loader. EDIT2: I will work to improve the script to make it dump more as I see it currently does not get all the SSDT tables as you'd see from using Linux or Clover (F4) from GUI. Done. EDIT: Attachment removed. The script has now matured sufficiently to the point where I wish to see results from other hardware. I have moved this request to the DarwinDumper thread as that is where I eventually wish this script to a part of. 3 Link to comment Share on other sites More sharing options...
bs0d Posted August 7, 2014 Share Posted August 7, 2014 EDIT: I forgot to mention that this dumps the native tables from BIOS and not the tables injected by the boot loader. some 'bootloaders' also update the legacy regions for ACPI and DMI so the correct tables will be dumped. 1 Link to comment Share on other sites More sharing options...
blackosx Posted August 7, 2014 Share Posted August 7, 2014 Thanks for the note bs0d. I currently have the option of booting using Chameleon, Clover or Ozmosis so I'll check this evening using the updated version of the script that I've just added to the above post. I do quite like the option of being able to dump native tables though.. Link to comment Share on other sites More sharing options...
MARKBOARD NETSET Posted August 7, 2014 Share Posted August 7, 2014 Thanks for the note bs0d. I currently have the option of booting using Chameleon, Clover or Ozmosis so I'll check this evening using the updated version of the script that I've just added to the above post. I do quite like the option of being able to dump native tables though.. @blackosx good luck bro i will try your next update Link to comment Share on other sites More sharing options...
blackosx Posted August 8, 2014 Share Posted August 8, 2014 I’ve managed to grab some time to test v0.35 of my script on OS X 10.9.4 booted using three different loaders. I’ve run the script twice, first time taking the first RSDP pointer found in memory, and then second time taking the last RSDP pointer found in memory. EDIT: Revised to include tables from all RSDP pointers found (not just first and last) Ozmosis Only valid pointers found in whole scan were: --------------------------------------------------------------- RSD PTR #1 : Revision=02 | RSDT Address=cab84028 | XSDT Address=00000000cab84070 | XSDT Length=36 RSD PTR #1 : Revision=02 | RSDT Address=cabb1028 | XSDT Address=00000000cabb1060 | XSDT Length=36 RSD PTR #1 : Revision=02 | RSDT Address=cabbf028 | XSDT Address=00000000cabbf070 | XSDT Length=36 RSD PTR #2 : Revision=02 | RSDT Address=cabc0028 | XSDT Address=00000000cabc0070 | XSDT Length=36 --------------------------------------------------------------- Get first RSDP pointer ===================== Found Table: XSDT at 00000000cab84070 | Length: 100 | Table ID: A M I Number of tables in XSDT = 8 Found Table: FACP at 00000000cab8fc68 | Length: 244 | Table ID: A M I Found Table: APIC at 00000000cab8fd60 | Length: 146 | Table ID: A M I Found Table: MCFG at 00000000cab8fdf8 | Length: 60 | Table ID: A M I Found Table: HPET at 00000000cab8fe38 | Length: 56 | Table ID: A M I Found Table: SSDT at 00000000cab8fe70 | Length: 877 | Table ID: SataTabl Found Table: SSDT at 00000000cab901e0 | Length: 2474 | Table ID: Cpu0Ist Found Table: SSDT at 00000000cab90b90 | Length: 2706 | Table ID: CpuPm Found Table: DMAR at 00000000cab91628 | Length: 176 | Table ID: SNB Found Table: DSDT at 00000000cab84168 | Length: 47866 | Table ID: A M I Found extra SSDT tables 01e95018 points to zero data Found Table: SSDT at ca8eda98 | Length: 771 | Table ID: ApIst Found Table: SSDT at ca8ec018 | Length: 2107 | Table ID: Cpu0Cst Found Table: SSDT at ca8eec18 | Length: 281 | Table ID: ApCst Get second RSDP pointer ===================== Found Table: XSDT at 00000000cabb1060 | Length: 60 | Table ID: A M I Number of tables in XSDT = 3 Found Table: FACP at 00000000cabbcc28 | Length: 244 | Table ID: A M I Found Table: APIC at 00000000cabbcd20 | Length: 146 | Table ID: A M I Found Table: MCFG at 00000000cabbcdb8 | Length: 60 | Table ID: A M I Found Table: DSDT at 00000000cabb1128 | Length: 47866 | Table ID: A M I Get third RSDP pointer ===================== Found Table: XSDT at 00000000cabbf070 | Length: 92 | Table ID: A M I Number of tables in XSDT = 7 Limiting length to 1MB Found Table: -ext at 00000000cabc10c8 | Length: 1048576 | Table ID: PL,curre 00000000cabc11c0 points to zero data Limiting length to 1MB Found Table: (?? at 00000000cabc1258 | Length: 1048576 | Table ID: ???? Limiting length to 1MB Found Table: ? at 00000000cabc1298 | Length: 1048576 | Table ID: ? Limiting length to 1MB Found Table: at 00000000cabc12d0 | Length: 1048576 | Table ID: ??rT_0 00000000cabc1640 points to zero data Found Table: FACP at 00000000cabc20d8 | Length: 244 | Table ID: Notebook Found Table: DSDT at 00000000cabc0168 | Length: 8041 | Table ID: Notebook Get last RSDP pointer ===================== Found Table: XSDT at 00000000cabc0070 | Length: 100 | Table ID: Notebook Number of tables in XSDT = 8 Found Table: FACP at 00000000cabc20d8 | Length: 244 | Table ID: Notebook Found Table: APIC at 00000000cabc21d0 | Length: 146 | Table ID: Notebook Found Table: MCFG at 00000000cabc2268 | Length: 60 | Table ID: Notebook Found Table: HPET at 00000000cabc22a8 | Length: 56 | Table ID: Notebook Found Table: SSDT at 00000000cabc22e0 | Length: 877 | Table ID: SataTabl skipping table with address 0000000000000000 Found Table: SSDT at 00000000cabc2700 | Length: 908 | Table ID: CpuPm Found Table: SLIC at 00000000cabc2a90 | Length: 374 | Table ID: Notebook Found Table: DSDT at 00000000cabc0168 | Length: 8041 | Table ID: Notebook Chameleon (DropSSDT = Yes) Only valid pointers found in whole scan were: --------------------------------------------------------------- RSD PTR #1 : Revision=02 | RSDT Address=cab84028 | XSDT Address=00000000cab84070 | XSDT Length=36 RSD PTR #2 : Revision=02 | RSDT Address=cabb1028 | XSDT Address=00000000cabb1060 | XSDT Length=36 --------------------------------------------------------------- Get first RSDP pointer ===================== Found Table: XSDT at 00000000cab84070 | Length: 100 | Table ID: A M I Number of tables in XSDT = 8 Found Table: FACP at 00000000cab8fc68 | Length: 244 | Table ID: A M I Found Table: APIC at 00000000cab8fd60 | Length: 146 | Table ID: A M I Found Table: MCFG at 00000000cab8fdf8 | Length: 60 | Table ID: A M I Found Table: HPET at 00000000cab8fe38 | Length: 56 | Table ID: A M I Found Table: SSDT at 00000000cab8fe70 | Length: 877 | Table ID: SataTabl Found Table: SSDT at 00000000cab901e0 | Length: 2474 | Table ID: Cpu0Ist Found Table: SSDT at 00000000cab90b90 | Length: 2706 | Table ID: CpuPm Found Table: DMAR at 00000000cab91628 | Length: 176 | Table ID: SNB Found Table: DSDT at 00000000cab84168 | Length: 47866 | Table ID: A M I Found extra SSDT tables Limiting length to 1MB Found Table: p{N at 01e95018 | Length: 1048576 | Table ID: Found Table: SSDT at ca8eda98 | Length: 771 | Table ID: ApIst Found Table: SSDT at ca8ec018 | Length: 2107 | Table ID: Cpu0Cst Found Table: SSDT at ca8eec18 | Length: 281 | Table ID: ApCst Get last RSDP pointer ===================== Found Table: XSDT at 00000000cabb1060 | Length: 60 | Table ID: A M I Number of tables in XSDT = 3 Found Table: FACP at 00000000cabbcc28 | Length: 244 | Table ID: A M I Found Table: APIC at 00000000cabbcd20 | Length: 146 | Table ID: A M I Found Table: MCFG at 00000000cabbcdb8 | Length: 60 | Table ID: A M I Found Table: DSDT at 00000000cabb1128 | Length: 47866 | Table ID: A M I Clover EFI Only valid pointers found in whole scan were: --------------------------------------------------------------- RSD PTR #1 : Revision=02 | RSDT Address=00000000 | XSDT Address=000000001ff69000 | XSDT Length=36 RSD PTR #2 : Revision=02 | RSDT Address=cabb1028 | XSDT Address=00000000cabb1060 | XSDT Length=36 --------------------------------------------------------------- Get first RSD pointer ===================== Found Table: XSDT at 000000001ff69000 | Length: 108 | Table ID: A M I Number of tables in XSDT = 9 Found Table: FACP at 000000001ff68000 | Length: 244 | Table ID: A M I Found Table: APIC at 00000000cab8fd60 | Length: 146 | Table ID: A M I Found Table: MCFG at 00000000cab8fdf8 | Length: 60 | Table ID: A M I Found Table: HPET at 00000000cab8fe38 | Length: 56 | Table ID: A M I Found Table: SSDT at 000000001ff63000 | Length: 877 | Table ID: SataTabl Found Table: SSDT at 000000001ff61000 | Length: 2474 | Table ID: Cpu0Ist Found Table: SSDT at 000000001ff5f000 | Length: 2706 | Table ID: CpuPm Found Table: DMAR at 00000000cab91628 | Length: 176 | Table ID: SNB Found Table: SSDT at 000000001ff5e000 | Length: 1549 | Table ID: CpuPm Found Table: FACS at 00000000cabbdf80 | Length: 64 Found Table: DSDT at 000000001ff65000 | Length: 8041 | Table ID: A M I Get last RSD pointer ===================== Found Table: XSDT at 00000000cabb1060 | Length: 60 | Table ID: A M I Number of tables in XSDT = 3 Found Table: FACP at 00000000cabbcc28 | Length: 244 | Table ID: A M I Found Table: APIC at 00000000cabbcd20 | Length: 146 | Table ID: A M I Found Table: MCFG at 00000000cabbcdb8 | Length: 60 | Table ID: A M I Found Table: DSDT at 00000000cabb1128 | Length: 47866 | Table ID: A M I EDIT: So with all three loaders it's possible to retrieve both original BIOS tables and injected tables. As far as I know, Ozmosis does not give me the option of dropping SSDT tables, instead I guess intelligently deciding which tables to drop? 2 Link to comment Share on other sites More sharing options...
blackosx Posted August 8, 2014 Share Posted August 8, 2014 Post above edited to include scans of all RSDP pointers found and not just first and last. Link to comment Share on other sites More sharing options...
Ramalama Posted August 11, 2014 Share Posted August 11, 2014 Hey Andy :-) Sry my Laptop was in RMA, and i had no time in the meantime... But they bricked my Keyboard Backlight and i need to send it again to RMA :-( After i get a working Laptop back, i will look forward here! But thank you very very much Andy, for all your time and work you investigated for me! Cheers :-) 1 Link to comment Share on other sites More sharing options...
Popular Post Andy Vandijck Posted August 12, 2014 Author Popular Post Share Posted August 12, 2014 I've decided to port the efifs drivers to EDK2 fully (instead of good old GNU EFI) because I wanted a lot more filesystems supported under UEFI. I've now ported them all (all drivers from GRUB). This means there is a total of 36 FS drivers (newly) available. I've upgraded the routines so they support also BlockIo2 and DIskIo2 protocol from UEFI 2.3.1 if they are available. I also extended the SimpleFIleSystem interface to support the extended (OpenEx, ReadEx, WriteEx, FlushEx) functions. Enjoy You'll like these, they are really good drivers... Sources are included also and can be integrated into for example Clover 35 are prebuilt of these, just not the FAT driver.. Download binaries (.efi drivers) in .tar.bz2 archive: https://www.dropbox.com/s/h14ru4mc6peo41z/EFI_FS_DRV_BIN_V1.tar.bz2 Download binaries (.efi drivers) in .tar.xz archive: https://www.dropbox.com/s/dnsby29peqnp0si/EFI_FS_DRV_BIN_V1.tar.xz efifs.zip 24 Link to comment Share on other sites More sharing options...
spakk Posted August 12, 2014 Share Posted August 12, 2014 dear Andy, I have a stupid question .... how do I add the files in clover? Please create a short description for stupid user Thanks in advance spakk Link to comment Share on other sites More sharing options...
Andy Vandijck Posted August 12, 2014 Author Share Posted August 12, 2014 dear Andy, I have a stupid question .... how do I add the files in clover? Please create a short description for stupid user Thanks in advance spakk Put them either under /EFI/CLOVER/drivers64 in case of legacy boot or /EFI/CLOVER/drivers64UEFI in case of UEFI boot. You can also do them both Same goes for the 32 bit drivers, drivers32 and drivers32UEFI... 3 Link to comment Share on other sites More sharing options...
kyndder Posted August 12, 2014 Share Posted August 12, 2014 Hi AnV, I was unable to compile the drivers in 32bit and you came up with the solution! No matter what I tried, I could not generate the config.h for IA32... Thank you! 1 Link to comment Share on other sites More sharing options...
RehabMan Posted August 12, 2014 Share Posted August 12, 2014 Very cool... nice work. I swapped HFSPLUS-64.efi for the Apple extract HFSPlus.efi in latest build of Clover. It worked, but is noticeably slower than the Apple code. My boot (Clover->OS X login) goes from 6.7 seconds to 9.1. Compiled with optimizer on? Link to comment Share on other sites More sharing options...
dmazar Posted August 13, 2014 Share Posted August 13, 2014 Great!!! I was thinking of doing it some time ago but never started. It's great to see you did it! 1 Link to comment Share on other sites More sharing options...
Andy Vandijck Posted August 14, 2014 Author Share Posted August 14, 2014 Andy, awesome, are these HFS+ drivers read and write? Because if so what license are these sources under? I would definitely want to put an open source hfs+ read/write driver into clover sources..... Unfortunately no. These are not read+write. They are licensed under the GPL as they use the filesystems that are part of GRUB. Plenty of other filesystem though (including exfat, ntfs, ...) Link to comment Share on other sites More sharing options...
magnifico Posted August 14, 2014 Share Posted August 14, 2014 Put them either under /EFI/CLOVER/drivers64 in case of legacy boot or /EFI/CLOVER/drivers64UEFI in case of UEFI boot. You can also do them both Same goes for the 32 bit drivers, drivers32 and drivers32UEFI... Hey Andy but only add to the existing folders? or you have to remove the drivers that are already there? ie they can be together? Link to comment Share on other sites More sharing options...
magnifico Posted August 14, 2014 Share Posted August 14, 2014 Now try ..thz Api Link to comment Share on other sites More sharing options...
Extreme™ Posted August 14, 2014 Share Posted August 14, 2014 Thank you Andy Vandijck...great effort!... One question for you. In my "drivers64UEFI" folder i have these files: But in your archive there are so many .efi files. Then, my question is: which of your files have to put in my folder? Regards. Link to comment Share on other sites More sharing options...
kyndder Posted August 15, 2014 Share Posted August 15, 2014 The only driver that can be replaced at your folder for his correspondent (if you want to try it) is HFSPlus-64.efi... This collection provided by AnV are only FileSystem drivers that (also) can be used with Clover... They wasn't built specifically for Clover... 2 Link to comment Share on other sites More sharing options...
Recommended Posts