alex.daoud Posted November 16, 2014 Share Posted November 16, 2014 Disclaimer: This guide is still a work in progress, not everything works on the device and this topic is mainly to document my progress, once we get more hardware working, I will rewrite this guide to flesh out the details. This guide is for the Core iX versions and does not apply to the Atom ones. Prerequisites A bootable Yosemite USB installer. (I will be assuming Chameleon is used as a bootloader) Clover installer (Download latest revision here) Clover configurator (Download here) The following files: GenericUSBXHCI.kext (Download here) OSXaptiodrv (Download here) config.plist (Download here) USB hub (at least 3 ports), keyboard and mouse Preparing the boot drive First you'll need to add the GenericUSBXHCI.kext in your USB installer's bootloader's kext injection directory. For Chameleon, this is /Extra/Extensions. You will also need to add the Clover installer, Clover Configurator and the OSXaptiodrv file to the installer drive. You will then need to patch the kernel to boot on the Haswell CPU. A very good guide for this can be found here. Keep a copy of this patched kernel in an easy to access folder on the USB HD for later. Preparing the BIOS Boot into the device's BIOS (hold down the volume-down button while starting up). Under General > Boot sequence, change the boot option to Legacy and make sure the boot sequence is set to the USB first. Under System Configuration > USB Configuration, disable "Enable USB 3.0 Controller" Under Performance, disable the following (some of this will probably work but I haven't gotten around to seeing which ones do, it's best to just leave them disabled for now) : Intel SpeedStep C-states control Intel Turboboost Hyperthread control Installation Restart the device and boot from the USB installer. Select the installer, press spacebar and issue the following bootflags: "-v -no-zf" then press enter. After a while you should boot into the installer. Open up Disk Utility and format the disk as HFS+ with GPT like usual (if you want to dual boot windows, format two partitions as HFS+ then in the Windows installer, format the second partition and proceed with Windows installation as usual). Proceed with the install. Installing Clover Once installed, boot the system on the USB installer again this time selecting the newly installed Yosemite again issuing the bootflags "-v -no-zf". Go through the post-installation procedure. Once presented with the desktop, launch the Clover installer that you placed on the USB installer and select the following configuration: Once Clover is installed, open Clover Configurator. It will ask you to mount the EFI partition. Accept and in the bottom right corner of the presented screen, press "Mount EFI partition". Open up the config.plist file in Clover Configurator and save it to /EFI/CLOVER. Next you will need to copy the OSXaptiodrv file to /EFI/CLOVER/drivers and overwrite the existing one. Next, copy the kernel you patched earlier to /System/Library/Kernels, overwriting the existing one. (or alternatively, set the KernelPM flag in Clover). You will also need to copy FakeSMC.kext from the USB Installer to your install. Either put it in /System/Library/Extensions or in Clover's extensions directory, up to you. Once that is all done, reboot the system without the USB drive and you should now be presented with Clover and you should be able to boot into your Yosemite partition. Power Management Download the probook installer from here and install only the "SSDT Generator", that should get power management working (verify in the IOReg to see if X86PlatformPlugin is listed under the CPU) Where we currently stand The following things work: Graphics card with full QE/CI (some artefacts may occur) Power management Volume keys (with VoodooPS2Controller) Audio (with VoodooHDA) Microphone Both cameras Battery level with ACPIBatteryManager.kext (no DSDT edits required it seems) Keyboard on the external battery keyboard unit. BCM94352Z wifi works out of the box but better to install FakePCIID_BCM94352Z_as_BCM94360CS2.kext bluetooth requires BTFirmwareUploader.kext SD card readerfollow the instructions found here: http://www.tonymacx86.com/yosemite-laptop-support/160107-dell-precision-m4800-help-i7-4800mq-11.html What doesn't work/what hasn't been tested Sleep Default wifi card (will never work) Touchscreen (touchscreen and i2c drivers currently being ported from linux) Brightness changing touchpad on the external battery keyboard unit Many other things that don't come to mind right now Technical details Graphics card To get the graphics card to work, install FakePCIID.kext and FakePCIID_HD4600_HD4400.kext. Inject a FakeID of 0x0a168086 in Clover. This gives us working QE/CI on the internal display and garbled HDMI output. To get only HDMI output, inject an ig-platform-id of 0x0a260006 and disable injection of EDID. We are still trying to figure out how to get both HDMI and the internal display working at the same time (probably will require a framebuffer patch). 4 Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/ Share on other sites More sharing options...
mightydeku Posted November 24, 2014 Share Posted November 24, 2014 The Broadcom BCM94352Z is not available on Amazon. This guy has 1 left. (I bought the other one) http://www.ebay.com/itm/221538130843?_trksid=p2060778.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT good luck! Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2088961 Share on other sites More sharing options...
mightydeku Posted November 24, 2014 Share Posted November 24, 2014 One more thing. The touch screen is samsung (according to Dell's driver info) maybe this will help? http://www.samsung.com/uk/consumer/pc-peripherals/monitors/design/LS24C770TS/EN I haven't started testing yet. waiting for my WiFi card and SSD to start. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2088977 Share on other sites More sharing options...
alex.daoud Posted November 25, 2014 Author Share Posted November 25, 2014 One more thing. The touch screen is samsung (according to Dell's driver info) maybe this will help? http://www.samsung.com/uk/consumer/pc-peripherals/monitors/design/LS24C770TS/EN I haven't started testing yet. waiting for my WiFi card and SSD to start. The monitor is indeed Samsung made but the touchscreen digitiser is a Synaptics Clearpad 7500. The issue is that this device is sitting on the I2C bus (and not USB like other digitisers) and I'm not sure what the status of I2C drivers are for osx86. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2089051 Share on other sites More sharing options...
wen1 Posted November 28, 2014 Share Posted November 28, 2014 Thanks for the guide. Will be giving this a shot later tonight Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2090214 Share on other sites More sharing options...
wen1 Posted November 30, 2014 Share Posted November 30, 2014 alex, Thanks for the guide and i did get my Venue 11 pro installed. I did take a slightly different path. I had a yosemite USB available that used for a surface pro, i tweaked it to make it work for Venue 11 pro. I did not want to disable USB 3.0, Speedstep stuff in the bios since i will be using them for Windows 8 boot. So, i took the graphics injection parameters from your config and merged into mine. Also used the KernelPm flag in clover instead of kernel patch. All in all this boots with one flag (Kext-dev-mode=1) and the two kext you mentioned in the first post. Attaching my config file. I really need HDMI to work, but seems like that will take some more effort. I have created a binary patch before for HD4000. I need to read up on FrameBufferAzul config.plist.zip Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2090608 Share on other sites More sharing options...
alex.daoud Posted November 30, 2014 Author Share Posted November 30, 2014 Good to hear its working for you. Nice idea with the kernel flag in clover, completely forgot you could do that. HDMI is possible but you need to enable a port for it on the framebuffer. Its very fiddly though and I've only managed to get it to work (without QE) a handful of times. The internal display refuses to come back on when you remove the HDMI cable on top of that so a lot of work still needs to be done. Update on the touchscreen: I've learned up on the RMI4 spec for the synaptics sensor. I've also figured out how we can communicate with the I2C bus on OS X (we can use xf86i2c and the fakesmc GPU sensors code as a base). I just need to get around to actually writing it out so we can start reading the registers now. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2090629 Share on other sites More sharing options...
wen1 Posted November 30, 2014 Share Posted November 30, 2014 Alex, That is awesome. Even touch keyboard functionality like on Surface Pro would be great. I will mess around with the framebuffer more to see how we can get LVDS and the HDMI working properly. Assuming LVDS is what the Venue is using to drive the LCD. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2090688 Share on other sites More sharing options...
alex.daoud Posted November 30, 2014 Author Share Posted November 30, 2014 Alex, That is awesome. Even touch keyboard functionality like on Surface Pro would be great. I will mess around with the framebuffer more to see how we can get LVDS and the HDMI working properly. Assuming LVDS is what the Venue is using to drive the LCD. The internal display is driven by an eDP according to the EDID info extracted from Windows. I don't think LVDS will work. (displayport/eDP both should work). Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2090696 Share on other sites More sharing options...
wen1 Posted December 1, 2014 Share Posted December 1, 2014 Made some progress on the HDMI stuff Internal display works with 0x0D220003 Only HDMI works with 0x0a160000 So we need a patch that combines the ports from these two layouts. Will see if i can patch it today/tomorrow. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2090811 Share on other sites More sharing options...
alex.daoud Posted December 1, 2014 Author Share Posted December 1, 2014 Nice work. Do you mind providing me with a copy of the DSDT from your Venue if it's the i3 model. Most applications are crashing for some reason on mine so I'm unable to extract it fresh from maciasl. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2090872 Share on other sites More sharing options...
wen1 Posted December 1, 2014 Share Posted December 1, 2014 I have an i5 model. But I will post it anyways soon. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2090960 Share on other sites More sharing options...
wen1 Posted December 2, 2014 Share Posted December 2, 2014 Here is an uncompiled dsl file extracted from mine There are errors that need fixed. VenueDSDT.dsl.zip Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2091114 Share on other sites More sharing options...
alex.daoud Posted December 2, 2014 Author Share Posted December 2, 2014 Thanks for posting. Since its i5 I wont be able to use it on mine but it was useful. Looking at the DSDT I extracted from before the system went haywire and yours it looks like a lot of OS checks are being done. The majority of them check if Windows Vista/7 or higher is being used and if not, the system disables multiple features. These are what I've discovered so far. Both buses of the I2C, SPI, UART devicesBy extension, this means the touchscreen (and any other devices sitting on these buses) are disabled. Something to do with the SATA bus, not entirely sure what but it looks like some functionality is disabled Intel sound device - also not sure what this means but it might explain why we're not getting audio (although the soundcard is definitely a realtek device and i recall reading somewhere that it is necessary to modify the AppleHDA.kext to get this device to work) Wake from sleep seems to be disabled (or at least, something to do with wake and the graphics card) capacitive buttons - probably the windows button. memory card reader hardware buttons (volume keys) -these have worked for me in Chameleon though so not sure why exactly is being 'disabled' The Linux guys get around all this because the Linux kernel is masked as Windows 7. To fix all this, we'll need to do a check for Darwin and mask the system as Windows 7/8. Then we should get access to many more devices (we'll still need drivers for most of them but it will be interesting to see how OS X reacts to all the unlocked buses). Unfortunately I have been unable to produce a working DSDT (before my applications started crashing). I fix all the errors but the system always reboots. I'll try again once I've reinstalled Yosemite. I've also noticed that AppleIntelHD5000.kext doesnt seem to be loading which might be affecting the QE. I'll have a look to see if the Clover patch for that kext is correct. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2091190 Share on other sites More sharing options...
wen1 Posted December 3, 2014 Share Posted December 3, 2014 Alex, Great info. Found why Appleintelhd5000 kext was not loading. The ID in the config does not match our device id.Once I changed the patch to apply id 0A1E it started loading. Not sure if QE is working though even with it loading. I need to confirm. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2091650 Share on other sites More sharing options...
alex.daoud Posted December 3, 2014 Author Share Posted December 3, 2014 Alex, Great info. Found why Appleintelhd5000 kext was not loading. The ID in the config does not match our device id.Once I changed the patch to apply id 0A1E it started loading. Not sure if QE is working though even with it loading. I need to confirm. Oh right, I had typed a mistake in the patches and I forgot to upload the newer version of the config.plist. Thanks for reminding me. Got the DSDT properly patched now and have gotten all disabled devices enumerated. The touchscreen even appears in IOREG which is a good start for writing the drivers. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2091811 Share on other sites More sharing options...
wen1 Posted December 5, 2014 Share Posted December 5, 2014 Can you post your DSDT if possible? I know it is an i3 DSDT. But I will try to fix the errors in mine copying what you have done. I tied various things including a patched Framebuffer but no QE/CI Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2092176 Share on other sites More sharing options...
alex.daoud Posted December 5, 2014 Author Share Posted December 5, 2014 Can you post your DSDT if possible? I know it is an i3 DSDT. But I will try to fix the errors in mine copying what you have done. I tied various things including a patched Framebuffer but no QE/CI I've attached the DSDT to this post. Most of the errors should be pretty trivial to fix (ask me if you have any issues) but you'll need the following patch to fix the { } brackets syntax error (fixing it manually corrupted the whole DSDT for me): into_all method code_regex If\s\(CondRefOf\s\(\\_SB\.PCI0\..*.PS\dX\)\)[^\}]*\} remove_matched; into method label ADBG replace_content begin // nothing end; I'll probably start a repo later on to host all the patches needed for the DSDT once we've figured out what else needs fixing. Also, the DSDT I've attached contains the fix to enable all devices if you want to include that too. Edit: Not much help yet since sound doesn't work but you can install VoodooPS2Controller.kext to get the volume keys working. Edit2: Sound works OOTB with VoodooHDA.kext. Install that then select the speakers as the default output device in Preferences>Audio DSDT.zip Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2092346 Share on other sites More sharing options...
alex.daoud Posted December 6, 2014 Author Share Posted December 6, 2014 Alex, Great info. Found why Appleintelhd5000 kext was not loading. The ID in the config does not match our device id.Once I changed the patch to apply id 0A1E it started loading. Not sure if QE is working though even with it loading. I need to confirm. Just looking back at this, which ID are you referring to? Everything in the config.plist I originally posted seems correct. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2092663 Share on other sites More sharing options...
wen1 Posted December 6, 2014 Share Posted December 6, 2014 It's in the kext patching section. The config was putting I'd 0412 I think instead of 0a1e Config has base64 encoded value. You will have to use clover configurator or unencode the value manually. Just looking back at this, which ID are you referring to? Everything in the config.plist I originally posted seems correct. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2092670 Share on other sites More sharing options...
alex.daoud Posted December 9, 2014 Author Share Posted December 9, 2014 Took a lot of research and turned out in the end the BIOS wasn't powering the I2C device on and I had to do it manually. I now have a preliminary kext that just reads a single register value from the I2C device and outputs it. Can you follow these instructions so I can make sure it's working for you too: First you need to modify the DSDT to allow OS X to enumerate devices disabled by the OEM on OS's that don't match Windows 7/8. Follow the post I wrote in the Surface Pro 3 thread here. Download the attached zip and unzip it to the desktop or somewhere convenient. Open up the Console app and have it ready to copy-paste some readings. Then run the following commands in Terminal: sudo chown -R root:wheel /path/to/kext/VoodooI2C.kext sudo kextutil -v /path/to/kext/VoodooI2C.kext Switch to console and look for some output that looks like the following: VoodooI2C::Found I2C device XXXXXXX ACPI Configuration: xxx: xxx ACPI Configuration: xxx: xxx ACPI Configuration: xxx: xxx DW_IC_COMP_TYPE: xxxxxxxx You should get that output twice for two different I2C devices (the values should all be the same though). Please post the results you get here. Also just to confirm something, go onto IOReg explorer and find the two I2C devices in the IOService list. VoodooI2C should be listed under both devices. To unload the kext, you just have to type the following: sudo kextunload /path/to/kext/VoodooI2C.kext VoodooI2C.kext.zip Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2093577 Share on other sites More sharing options...
wen1 Posted December 9, 2014 Share Posted December 9, 2014 alex, I will give it a shot in the next hour or so. I have not create a DSDT for my system yet. But will try to do that first and then give this a shot. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2093732 Share on other sites More sharing options...
wen1 Posted December 10, 2014 Share Posted December 10, 2014 Sorry for the long wait. Here is what i captured from the console log 12/9/14 1:50:55.000 PM kernel[0]: VoodooI2C::Found I2C device INT33C2 12/9/14 1:50:55.000 PM kernel[0]: VoodooI2C::Found I2C device INT33C3 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: SSCN: 0x1b0 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: SSCN: 0x1fb 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: SSCN: 0x09 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: SSCN: 0x1b0 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: SSCN: 0x1fb 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: SSCN: 0x09 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: FMCN: 0x48 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: FMCN: 0xa0 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: FMCN: 0x09 12/9/14 1:50:55.000 PM kernel[0]: DW_IC_COMP_TYPE: 0x44570140 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: FMCN: 0x48 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: FMCN: 0xa0 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: FMCN: 0x09 12/9/14 1:50:55.000 PM kernel[0]: DW_IC_COMP_TYPE: 0x44570140 Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2093797 Share on other sites More sharing options...
alex.daoud Posted December 10, 2014 Author Share Posted December 10, 2014 Sorry for the long wait. Here is what i captured from the console log 12/9/14 1:50:55.000 PM kernel[0]: VoodooI2C::Found I2C device INT33C2 12/9/14 1:50:55.000 PM kernel[0]: VoodooI2C::Found I2C device INT33C3 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: SSCN: 0x1b0 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: SSCN: 0x1fb 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: SSCN: 0x09 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: SSCN: 0x1b0 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: SSCN: 0x1fb 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: SSCN: 0x09 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: FMCN: 0x48 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: FMCN: 0xa0 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: FMCN: 0x09 12/9/14 1:50:55.000 PM kernel[0]: DW_IC_COMP_TYPE: 0x44570140 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: FMCN: 0x48 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: FMCN: 0xa0 12/9/14 1:50:55.000 PM kernel[0]: ACPI Configuration: FMCN: 0x09 12/9/14 1:50:55.000 PM kernel[0]: DW_IC_COMP_TYPE: 0x44570140 Cheers, that's exactly what I needed. It's working for you as I expected so I'll have basic touch screen support working soon hopefully. Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2093802 Share on other sites More sharing options...
wen1 Posted December 10, 2014 Share Posted December 10, 2014 That is awesome. Thanks Link to comment https://www.insanelymac.com/forum/topic/302665-guide-1010-yosemite-on-the-dell-venue-11-pro-core-ix/#findComment-2093803 Share on other sites More sharing options...
Recommended Posts