Jump to content

ML on E6430 with Intel HD4000 only


ktbos

Recommended Posts

  • Administrators

hd 4000 has issues with some displays.... have you tried to see if an external monitor has acceleration? also they just released a new chameleon version that you can specify the framebuffer id's starting from 0 to 11

IntelCapriFB= For Intel HD 4xxx, range 0-11

http://forge.voodooprojects.org/p/chameleon/source/commit/2261/

 

here is a list of AAPL,ig-platform-id's. chameleon simplified it and just uses the last digit 

http://blog.stuffedcow.net/2012/07/intel-hd4000-qeci-acceleration/

Link to comment
Share on other sites

  • Replies 50
  • Created
  • Last Reply

Top Posters In This Topic

Take a look at this http://iFail.me/forum/viewtopic.php?f=77&t=23300. The platformid differs depending on your video ram size. So far on all my Dell E series with the HD4000 graphics, I've been using AAPL,ig-platform-id: 01660003, Stolen RAM for FB: 64MB, Pipes: 2, Ports: 4, FBMem: 2 which gave me the best results.

 

If you have spare HDD, with the updated USB Installer (make sure to run myfix on the Installer too), can you build a fresh install? Just want to validate if it's not an USB issue. I don't have an USB big enough for a build, so can't test that for you.

 

hd 4000 has issues with some displays.... have you tried to see if an external monitor has acceleration? also they just released a new chameleon version that you can specify the framebuffer id's starting from 0 to 11

IntelCapriFB=<value> For Intel HD 4xxx, range 0-11

http://forge.voodooprojects.org/p/chameleon/source/commit/2261/

 

here is a list of AAPL,ig-platform-id's. chameleon simplified it and just uses the last digit 

http://blog.stuffedcow.net/2012/07/intel-hd4000-qeci-acceleration/

 

Again, Jake, you and I were reading similar things.  I was looking into the idea of different PlatformIDs when your post came in.  Then I was trying to figure out how to change the PlatformID when Bronxteck's post came in...

 

Bronxteck, that was great timing.  And great timing for the Chameleon team to be doing that too!  So I switched gears and I've been working on using Chameleon since you wrote your post.  But I still couldn't get it working.  Here's what I've done:

 

 - install new version of Chameleon 2262 on the USB test stick

 - reinstall the Extra folder from the Guide

 - added the Framebuffer kext from the Guide for 10.8.4 and rename it

 - modify the boot plist to boot with 1600x900x32

 - install Extra to the USB test stick using myHack

 - ran myFix, Full on the USB test stick

 

First I booted from the USB test stick to confirm it was still hanging as before.  It was.  Then, I booted from the USB test stick and hit tab to get to a boot prompt where I typed

-v GraphicsEnabler=Yes VBIOS=Yes IntelCapriFB=#

where # is every number from 0 to 11.  I started with 3, then tried 8 and 9, then getting more discouraged, I tried the remaining choices.  All twelve resulted in the same hang as I've gotten before.  That's especially surprising since one of the pages mentioned that if you use an option with the wrong VRAM, you'd be likely to get a kernel panic but the options didn't seem to have any effect at all - nothing blowing up, nothing working; just the same hang. 

 

After adding the VBIOS flag, I could see Chameleon printing something out about the video but it scrolled by so quickly I couldn't read it.  And I don't know of a way to pause or log the Chameleon boot. 

 

From looking at the Chameleon help, it looks like IntelCapriFB is only used when VBIOS is set to Yes (indented options).  And the boot plist file doesn't contain that or the GraphicsEnabler.  I added GraphicsEnabler=Yes and VBIOS=Yes to make sure I covered my bases. 

 

Did I miss any steps with the Chameleon change?  The fact that I couldn't see a difference, good or bad, was discouraging and made me wonder if it was working.  But the fact that the VBIOS addition did print something right after hitting enter makes me think it was acknowledging at least that input. 

 

Since Chameleon 2262 didn't seem to be doing the trick, I am back to Jake's idea about editing the Framebuffer kext.  I can do the hex edits, but I'm fuzzy on what exactly I'd be changing.  I see where the post shows using ID 03 and I can see the differences from the original ID 03.  But how would one know what changes to make there?  Jake, you mention that the ID 03 has been working or you, but I'm not clear on what change, if any, you made in your copy of Framebuffer or how you determined it gave you the best results.   

 

Were the Framebuffer kexts from the Guide modified per this method previously?  Was there any more than this change made to the Framebuffer kext?  If I make changes per this hex edit method, should I start with the 10.8.4 kext from the Guide or should I start with the Framebuffer kext from S/L/E? 

 

I also tried removing the Framebuffer kext from the E/E and rerunning myFix, then repeating the tests with the IntelCapriFB Chameleon option.  All of those tries resulted in the same black screen that I get without the Framebuffer kext and without any special Chameleon options.  In other words, IntelCapriFB had no impact this way either.  I'm not sure if the IntelCapriFB boot option should override the custom kext installed by myHack or if it needs to work with the stock one in S/L/E but at least this way I've tested both ways. 

 

Oh, and while I don't have a spare HDD, I can try reinstalling to the same HDD I plan to use in the long run.  I can't boot from it yet (because that would require making the Ubuntu and Win7 partitions unbootable which I'm not ready to do yet), but I can boot from the USB stick and select the HDD as the boot volume if you think that would be a useful test. 

Link to comment
Share on other sites

  • Moderators

Again, Jake, you and I were reading similar things.  I was looking into the idea of different PlatformIDs when your post came in.  Then I was trying to figure out how to change the PlatformID when Bronxteck's post came in...

 

Bronxteck, that was great timing.  And great timing for the Chameleon team to be doing that too!  So I switched gears and I've been working on using Chameleon since you wrote your post.  But I still couldn't get it working.  Here's what I've done:

 

 - install new version of Chameleon 2262 on the USB test stick

 - reinstall the Extra folder from the Guide

 - added the Framebuffer kext from the Guide for 10.8.4 and rename it

 - modify the boot plist to boot with 1600x900x32

 - install Extra to the USB test stick using myHack

 - ran myFix, Full on the USB test stick

 

First I booted from the USB test stick to confirm it was still hanging as before.  It was.  Then, I booted from the USB test stick and hit tab to get to a boot prompt where I typed

-v GraphicsEnabler=Yes VBIOS=Yes IntelCapriFB=#

I think you need to remove the patch for video in the DSDT to this to work if I read it correctly.

Anyway, I forgot to ask, since you're installing onto an USB stick, is this USB plug into either the left side ( USB 2.0) or the right side (esata/ USB 2.0)? 

The reason I asked is because USB 3.0 port may cause some weird boot issue sometimes.

Link to comment
Share on other sites

I think you need to remove the patch for video in the DSDT to this to work if I read it correctly.

Anyway, I forgot to ask, since you're installing onto an USB stick, is this USB plug into either the left side ( USB 2.0) or the right side (esata/ USB 2.0)? 

The reason I asked is because USB 3.0 port may cause some weird boot issue sometimes.

 

Yes, USB 2 port on the left side.  (That was one of my early challenges!; solved before posting here) 

 

Ah, okay, so how would I go about removing the video patch in DSDT? 

 

I compared the GFX section of the DSDT I made for my laptop with the one from the guide.  I found an additional method there:

            Method (_DSM, 4, NotSerialized)
            {
                Store (Package (0x08)
                    {
                        "AAPL,DualLink", 
                        Buffer (0x04)
                        {
                            0x01, 0x00, 0x00, 0x00
                        }, 

                        "AAPL,ig-platform-id", 
                        Buffer (0x04)
                        {
                            0x03, 0x00, 0x66, 0x01
                        }, 

                        "hda-gfx", 
                        Buffer (0x0A)
                        {
                            "onboard-1"
                        }, 

                        "model", 
                        Buffer (0x17)
                        {
                            "Intel HD Graphics 4000"
                        }
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }

Is this the method that should be removed? 

 

I tried removing it and putting it on my USB test stick.  I still had the special Framebuffer kext removed so it was using the S/L/E Framebuffer kext.  I've updated the boot plist now to include the flags I was putting on the boot line yesterday so now my boot plist looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>DSDT</key>
	<string>/Extra/DSDT.aml</string>
	<key>DropSSDT</key>
	<string>Yes</string>
	<key>EthernetBuiltIn</key>
	<string>Yes</string>
	<key>Graphics Mode</key>
	<string>1600x900x32</string>
	<key>Kernel</key>
	<string>mach_kernel</string>
	<key>Kernel Flags</key>
	<string>-f npci=0x2000 darkwake=0</string>
	<key>SMBIOS</key>
	<string>/Extra/smbios.plist</string>
	<key>SystemType</key>
	<string>2</string>
	<key>Timeout</key>
	<string>1</string>
	<key>USBBusFix</key>
	<string>Yes</string>
	<key>UseKernelCache</key>
	<string>Yes</string>
	<key>GraphicsEnabler</key>
	<string>Yes</string>
	<key>VBIOS</key>
	<string>Yes</string>
	<key>IntelCapriFB</key>
	<string>3</string>
</dict>
</plist>

I'm starting with "3" because that's what Jake had used in his version of the Framebuffer.  I figure if I can at least reproduce the same behavior I was seeing with the custom Framebuffer through the new Chameleon tool, then I know I've got something having an effect. 

 

Unfortunately, testing so far shows I get the same results that I would if I didn't have the Chameleon IntelCapriFB working - without the Guide's custom Framebuffer, I get the black screen when it should be going to the login.  And I'd expect to see it hang with the text like it did when using the custom Framebuffer. 

 

I was not able to produce the hanging effect but I completed my testing and found that ID=4 got video up.  I still need to do more investigation, but this is big progress.  I'll report back with a new post when I have more figured out. 

 

(Note that according to this post, this ID should not have worked for me since the VRAM is 64 in the BIOS but ID 4 is 96.  Also, lspci reports that I have rev 9 of 0166 which should translate directly to using ID=9 in the Chameleon bootloader.  That's why checking "4" was one of the last things I did.  So something isn't working there either.)

Link to comment
Share on other sites

According to Micky1979 at InsanelyMac, the version has nothing to do with the platform ID.  So there is no way to tell what platformID you have.  The only way to figure it out is trial and error.  And if you are like me, you'll test the numbers in some haphazard way and discover that the one you want is the last you try! 

 

As I posted above and as Jake mentioned, you do need to pull out the DSDT patch in Jake's bootpack's DSDT.  The method I included above is the one to remove.  You will also need to remove the AppleIntelFramebuffer kext that you may have added per the Jake's guide.  I added the following lines to my boot plist file (not sure if they are needed, but it works with them):

        <key>GraphicsEnabler</key>
        <string>Yes</string>
        <key>VBIOS</key>
        <string>Yes</string>

Then when you boot, tab to the text screen and enter

-v IntelCapriFB=#

where # is all of the numbers from 0 to 11, inclusive. For me, '4' worked.  And it was the only one that worked for me.  Other values either did nothing (and therefore switched to the black screen as though Framebuffer kext wasn't be used at all) or gave me the text hang that I started posting about in this thread.  Once I had that platformID figured out, I added the following to my boot plist:

        <key>IntelCapriFB</key>
        <string>4</string>

No more safe mode boots for me and graphics look very nice with a transparrent menubar and HD4000 reported in the System Report. 

 

Also, I should point out that earlier I was asking about when I could do a Quick myFix since the Full took so long.  (I'd still be interested in the answer to when to use Full vs. Quick.)  But I discovered that my USB drive is amazingly slow.  The Full myFix on my 16Gb USB drive takes more than 10 minutes.  The Full myFix on my 350 Gb HDD partition takes 1 minute.  SanDisk Cruzer Glide should not be used for booting disks.  (My USB install drive is a Patriot and is at least 10 times faster on these kinds of operations.) 

Link to comment
Share on other sites

Okay, with the safe mode boot problems behind me, I can finally get back to getting this thing fully operational. 

 

The Trackpad and stick work well with basic functions.  All 5 buttons seem to work.  (The middle button on the upper row above the trackpad appears to be a clone of a left button.)  But I don't have any advanced functionality.  The Guide states that it might be possible with the Trackpad code linked there but I'd be interested to know what the latest is for the E6430 - and @Jake Lo, specifically. 

 

Audio is completely not working for me.  There are no output devices in the Sound pref panel.  And after my first boot, I got a series of errors about kexts that couldn't be loaded:

The system extension "/System/Library/Extensions/myHack.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext" was installed improperly and cannot be used.  Please try reinstalling it, or contact the product's vendor for an update.

The system extension "/System/Library/Extensions/myHack.kext/Contents/PlugIns/IOBluetoothFamily.kext.kext" was installed improperly and cannot be used.  Please try reinstalling it, or contact the product's vendor for an update.

The system extension "/System/Library/Extensions/myHack.kext/Contents/PlugIns/IOHDAFamily.kext" was installed improperly and cannot be used.  Please try reinstalling it, or contact the product's vendor for an update.

The system extension "/System/Library/Extensions/myHack.kext/Contents/PlugIns/AppleHDAController.kext" was installed improperly and cannot be used.  Please try reinstalling it, or contact the product's vendor for an update.

The system extension "/System/Library/Extensions/myHack.kext/Contents/PlugIns/IOBluetoothSerialManager.kext" was installed improperly and cannot be used.  Please try reinstalling it, or contact the product's vendor for an update.

Yes, I ran myFix and most of the kexts worked, so I don't think this is a procedural issue on my part. 

 

Also not working is the Bluetooth, as you can see from the above messages too. 

 

Also, the card reader is not working. 

 

@Jake, it might be helpful if in your guide, you show the results of an lspci?  It would make it so those of us that want to follow the guide will have a better idea if our hardware is a match or if we are likely to need to do some tweaking. 

 

If not, can you reply with the lspci here?  Or at least include details on your audio device(s) and your bluetooth?  And your card reader? 

 

The other nit I have now is every time the computer boots or wakes from sleep, I get a note about the Win7 drive not being readable and should I initialize.  It would be great to make that go away so I don't have to answer it every time.  I remember reading somewhere that including the card reader kext would cause messages like this but I thought it was about the card reader, not about other hard drives.  And considering that the card reader isn't even working, I'm not sure it is related. 

 

Can someone fill me in on WiFi?  If I were to get the DW1510 that is widely discussed in this forum, WiFi would suddently come to life without any further hacking or kexts?  And the one I have now is not operational on Hacintoshes? 

Link to comment
Share on other sites

  • Administrators

Audio, BT, wifi... it really all depends on the HW your have...

  • Audio may work with a patched AppleHDA kext or with one of the recent VoodooHDA kexts (2.8.1 to 2.8.4 for e.g.). Have a look at Dinesh's dedicated threads in the forum Research section.
  • BT may not be supported at all, it really depends on the chip used. I did not see any BT device in your lspci output dump.
  • For wifi, you already know your Intel Centrino won't do. DW1510 works OOB but have a look at the (non-exhaustive) list of supported devices in our Research section. You'll find it has all the details you need for the listed models.
  • SD card reader can be a bit of a lottery: some work OOB (like internal-USB models), some with SDHC kext, some not at all.

Our compatibility chart in EDP pages should list all those HW features that are supported or not.

Link to comment
Share on other sites

  • Moderators

Okay, with the safe mode boot problems behind me, I can finally get back to getting this thing fully operational. 

 

The Trackpad and stick work well with basic functions.  All 5 buttons seem to work.  (The middle button on the upper row above the trackpad appears to be a clone of a left button.)  But I don't have any advanced functionality.  The Guide states that it might be possible with the Trackpad code linked there but I'd be interested to know what the latest is for the E6430 - and @Jake Lo, specifically. 

 

Audio is completely not working for me.  There are no output devices in the Sound pref panel.  And after my first boot, I got a series of errors about kexts that couldn't be loaded:

The system extension "/System/Library/Extensions/myHack.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext" was installed improperly and cannot be used.  Please try reinstalling it, or contact the product's vendor for an update.

The system extension "/System/Library/Extensions/myHack.kext/Contents/PlugIns/IOBluetoothFamily.kext.kext" was installed improperly and cannot be used.  Please try reinstalling it, or contact the product's vendor for an update.

The system extension "/System/Library/Extensions/myHack.kext/Contents/PlugIns/IOHDAFamily.kext" was installed improperly and cannot be used.  Please try reinstalling it, or contact the product's vendor for an update.

The system extension "/System/Library/Extensions/myHack.kext/Contents/PlugIns/AppleHDAController.kext" was installed improperly and cannot be used.  Please try reinstalling it, or contact the product's vendor for an update.

The system extension "/System/Library/Extensions/myHack.kext/Contents/PlugIns/IOBluetoothSerialManager.kext" was installed improperly and cannot be used.  Please try reinstalling it, or contact the product's vendor for an update.

Yes, I ran myFix and most of the kexts worked, so I don't think this is a procedural issue on my part. 

 

Also not working is the Bluetooth, as you can see from the above messages too. 

 

Also, the card reader is not working. 

 

@Jake, it might be helpful if in your guide, you show the results of an lspci?  It would make it so those of us that want to follow the guide will have a better idea if our hardware is a match or if we are likely to need to do some tweaking. 

 

If not, can you reply with the lspci here?  Or at least include details on your audio device(s) and your bluetooth?  And your card reader? 

 

The other nit I have now is every time the computer boots or wakes from sleep, I get a note about the Win7 drive not being readable and should I initialize.  It would be great to make that go away so I don't have to answer it every time.  I remember reading somewhere that including the card reader kext would cause messages like this but I thought it was about the card reader, not about other hard drives.  And considering that the card reader isn't even working, I'm not sure it is related. 

 

Can someone fill me in on WiFi?  If I were to get the DW1510 that is widely discussed in this forum, WiFi would suddently come to life without any further hacking or kexts?  And the one I have now is not operational on Hacintoshes? 

 

First off, congratulations on getting the video working, that was a bit of trial and error. Here's my lspci output:

MacUsers-MacBook-Pro:~ macuser$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Ivy Bridge DRAM Controller [8086:0154] (rev 09)
00:02.0 VGA compatible controller [0300]: Intel Corporation Ivy Bridge Graphics Controller [8086:0166] (rev 09)
00:14.0 USB controller [0c03]: Intel Corporation Panther Point USB xHCI Host Controller [8086:1e31] (rev 04)
00:16.0 Communication controller [0780]: Intel Corporation Panther Point MEI Controller #1 [8086:1e3a] (rev 04)
00:16.3 Serial controller [0700]: Intel Corporation Panther Point KT Controller [8086:1e3d] (rev 04)
00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection [8086:1502] (rev 04)
00:1a.0 USB controller [0c03]: Intel Corporation Panther Point USB Enhanced Host Controller #2 [8086:1e2d] (rev 04)
00:1b.0 Audio device [0403]: Intel Corporation Panther Point High Definition Audio Controller [8086:1e20] (rev 04)
00:1c.0 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 1 [8086:1e10] (rev c4)
00:1c.1 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 2 [8086:1e12] (rev c4)
00:1c.2 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 3 [8086:1e14] (rev c4)
00:1c.3 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 4 [8086:1e16] (rev c4)
00:1c.4 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 5 [8086:1e18] (rev c4)
00:1c.5 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 6 [8086:1e1a] (rev c4)
00:1d.0 USB controller [0c03]: Intel Corporation Panther Point USB Enhanced Host Controller #1 [8086:1e26] (rev 04)
00:1f.0 ISA bridge [0601]: Intel Corporation Panther Point LPC Controller [8086:1e55] (rev 04)
00:1f.2 SATA controller [0106]: Intel Corporation Panther Point 6 port SATA Controller [AHCI mode] [8086:1e03] (rev 04)
00:1f.3 SMBus [0c05]: Intel Corporation Panther Point SMBus Controller [8086:1e22] (rev 04)
02:00.0 Network controller [0280]: Intel Corporation Centrino Advanced-N 6205 [8086:0082] (rev 34)
0b:00.0 Network controller [0280]: Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller [14e4:432b] (rev 01)
0c:00.0 SD Host controller [0805]: O2 Micro, Inc. Unknown device [1217:8221] (rev 05)

As you can see it's basically the same hardware as yours. I don't have a built-in bluetooth, but from my bootpack, there's an option folder that contains the bluetooth kext, it's working for others from this forum. The card reader kext voodooSDHC has an issue when coming back from sleep and will cause an initialize error you noted above, I've tried changing the deviceID, but it only allow me to read the SD card but error won't go away. Since I don't use the reader much, I don't include it. Will have to test other kext when I have more time, but it's not a priority for me.

 

For the touchpad, the latest version 7 will work but you have to set the preference after each reboot. For some reason it doesn't save the settings, the developer have not come back with a solution yet. With that kext, you'll be able to scroll with the trackpad. 2 finger scrolling hadn't work for me, perhaps need more tweaking with preference pane. I don't use the trackpad for scrolling as much as I do with the trackstick. With that kext, trackstick scrolling is not possible and you lose the ability to drag as well. If you use the trackstick more like I do, I would recommend sticking with the current kext and install smartscroll.  You can scroll with the trackstick with the middle button like you would on Windows with this freeware.

 

Audio should work with the modded AppleHDA. It's not perfect, but HDMI Audio works as well with this kext. When you remove the display patch from the DSDT, did you remove anything else? Were you able to recompile it successfully after removing the patch?

 

Oh yes, the DW1510 wireless card will work OOB, it will detect as a third-party wireless device. If you want to rebrand it to an airport extreme card, follow this article. The one from Dell is most likely an Intel wireless and that will probably never be supported.

 

:excl: Note: if you decide to go with the trackpad kext for scrolling, you'll notice that you have to put more pressure on the trackpad in order to move after each reboot until your set the Z value. Just move it over a bit, if you move it too far right, you'll lose trackpad capability!

Link to comment
Share on other sites


×
×
  • Create New...