Contribute
Register

[trouble] Intel HD 3000 and 2x GeForce 8400 GS

Status
Not open for further replies.
Joined
Sep 29, 2011
Messages
30
Motherboard
GA-Z170N-WIFI 2.0
CPU
Intel core i7 6700k
Graphics
EVGA GEForce GTX 1050TI 4Gb
Mac
  1. MacBook
  2. Mac mini
Mobile Phone
  1. Android
Build my first hackintosh with on-cpu Intel HD 3000 work fine with this method:

viewtopic.php?f=15&t=26767

Trying to add a Gainward GeForce 8400 GS ends in tear because:

I have not gotten the Gainward GeForce 8400 GS (512 MB) working as a second monitor because of a Bug in chameleon (?) which I think messes with the way the card is put in the IO space (This is a guess not a fact):

http://forge.voodooprojects.org/p/chame ... 48/#ic1466

I get during boot:

ERROR: dcbtable_version is 0x3
ERROR: nVidia ROM Patching Failed!

And after that the card refuses to play ball.
geforce8400gs.jpg

After that no matter what the card is visible in System Information but it appears the driver will not attach. I have tried MANY different ways.

This video card Gainward GeForce 8400 GS work like a charm if it is selected in the BIOS as the PCIx16 as first Video card.

geforce8400-working.jpg

So the Gainward GeForce 8400 GS can work, just not as dual screen at the moment.

Adding the 2 .texts that got my HD 3000 graphics working as the first screen makes Lion 10.7.2 (I get the power off screen, but no panic message) unbootable.

Now my question is, How to get the dual screen Intel HD 3000 and Gainward GeForce 8400 GS working nicely together? Hints, tips, suggestions are welcome.
 

Attachments

  • geforce8400gs.jpg
    geforce8400gs.jpg
    81.5 KB · Views: 463
  • geforce8400-working.jpg
    geforce8400-working.jpg
    71.4 KB · Views: 439
Re: [trouble] Intel HD 3000 and Gainward GeForce 8400 GS

how do you do thing it ?

you can guide me?

thaks you
 
Re: [trouble] Intel HD 3000 and Gainward GeForce 8400 GS

After countless hours of trying to get dual screens working I finally succeeded. I couldn't get Intel HD 3000 onchip graphics working with a Gainward GeForce 8400 GS in a PCIe x16 slot.
Since its one of the recommended card here http://tonymacx86.blogspot.com/2010/11/fully-compatible-nvidia-graphics-cards.html. I decided to purchase another GeForce 8400 GS which I found cheap on a local website, 15 euro's. I did purchase fanless videocards because I don't like the noise those fans make.

Dual video card setup that works now


  • In PCEe 16x slot: Gainward GeForce 8400 GS 512 Mb DDR3
    In PCIe 8x slot: Asus GeForce 8400 GS 512 Mb DDR3
    Intel HD 3000 graphics disabled in BIOS
    Install via xmoved 10.7.2 Lion.

The following was needed to get this work:

- If I booted with to video card in the system I needed to type
Code:
GraphicsEnabler=no
otherwise the boot would, hang/panic/crash

- in /Extra/org.chameleon.Boot.plist

Code:
<key>GraphicsEnabler</key>
<string>No</string>

- Hopefully at this point on video card work in 1024x768 basic functionality so you can work your way throught the rest.

- use
Code:
gfxutil -f display
to figure out what the PCI device path to your video card is. Do this with only one video card installed, and repeat with only the other card installed. Now you have the path to both cards. (I have some lingering doubt that PCIRootUID= (0 or 1) may influence this but I am not sure :confused: )

- Removed all injectors or enablers, like NVinject or NVEnbler from /Library/Preferences/SystemConfiguration/ (I have plenty of these from my other tries to get dual card working..... :banghead: )

- I did not have to add any product strings in /Library/Preferences/SystemConfiguration/NV* kext files.

- Create an EFI string for your dual video card setup

3 Step process

1. Create a XML file that is specific to your setup
2. From the XML file generate an EFI string
3. Insert that EFI string in /Extra/org.chameleon.Boot.plist

I have used the following resource to understand what EFI strings are and to generate the proper one for my system setup.

- Learn about gfxutil http://forum.netkas.org/index.php?topic=64.0 and download it from somewhere
- gfxutil can be used to create an EFI string from a XML source file
- Learn about IORegistryexplorer
- Learn about OSX86Tools http://code.google.com/p/osx86tools/ This helps you generate a
- The generic EFI idea: http://forum.netkas.org/index.php/topic,66.0.html
- More generic info: http://forum.netkas.org/index.php/topic,104.0.html
- There are other options too: http://tonymacx86.blogspot.com/2009/12/enable-full-graphics-card-acceleration.html
- With this doc the first quarter started to fall for me http://forum.netkas.org/index.php?topic=222.0 But its only for 1 video card....

- This is my source XML file (Note the Parent and Child entries for the 2 video cards)

3(+1) key factors to get right are:

- PCI bus locations

a la: PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0) (Do not copy this like because it may be different for your system. Use tools like IORegistryexplorer to figure out were in the PCI mapping your video cards are located)

- VRAM size
Code:
32 Mb - 0x02000000
64 Mb - 0x04000000
128 Mb - 0x08000000
256 Mb - 0x10000000
320 Mb - 0x14000000
512 Mb - 0x20000000
640 Mb - 0x28000000
768 Mb - 0x30000000
1024 Mb - 0x40000000

- Parent / Child setting

<key>device_type</key>
<string>NVDA,Parent</string>

and the other card

<key>device_type</key>
<string>NVDA,Child</string>

- NVCAP setting for correct DVI-VGA-HDMI output mapping
Code:
DVI-I / DVI-I - BAAAAAAAAwAMAAAAAAAABwAAAAA=
VGA / DVI-I  - BAAAAAAAAQAGAAAAAAAAAAAAAAA=
DVI-I / VGA - BAAAAAAAAwAEAAAAAAAABwAAAAA=

Code:
<?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>PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
        <dict>
                <key>@0,compatible</key>
                <string>NVDA,NVMac</string>
                <key>@0,device_type</key>
                <string>display</string>
                <key>@0,display-type</key>
                <string>LCD</string>
                <key>@0,name</key>
                <string>NVDA,Display-A</string>
                <key>@1,compatible</key>
                <string>NVDA,NVMac</string>
                <key>@1,device_type</key>
                <string>display</string>
                <key>@1,name</key>
                <string>NVDA,Display-B</string>
                <key>AAPL,aux-power-connected</key>
                <string>0x00000001</string>
                <key>AAPL,backlight-control</key>
                <string>0x00000001</string>
                <key>AAPL,gray-page</key>
                <string>0x00000001</string>
                <key>AAPL00,blackscreen-preferences</key>
                <string>0x08000000</string>
                <key>IOName</key>
                <string>display</string>
                <key>NVCAP</key>
                <data>
                BAAAAAAAAQACAAAAAAAAAAAAAAA=
                </data>
                <key>NVPM</key>
                <data>
                AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
                </data>
                <key>VRAM,totalsize</key>
                <string>0x20000000</string>
                <key>device_type</key>
                <string>NVDA,GeForce</string>
                <key>device_type</key>
                <string>NVDA,Parent</string>
                <key>model</key>
                <string>nVidia GeForce 8400 GS</string>
                <key>rom-revision</key>
                <string>nVidia GeForce 8400 GS OpenGL Engine [EFI]</string>
        </dict>
	<key>PciRoot(0x1)/Pci(0x1,0x1)/Pci(0x0,0x0)</key>
	<dict>
		<key>@0,compatible</key>
		<string>NVDA,NVMac</string>
		<key>@0,device_type</key>
		<string>display</string>
		<key>@0,display-type</key>
		<string>LCD</string>
		<key>@0,name</key>
		<string>NVDA,Display-A</string>
		<key>@1,compatible</key>
		<string>NVDA,NVMac</string>
		<key>@1,device_type</key>
		<string>display</string>
		<key>@1,name</key>
		<string>NVDA,Display-B</string>
		<key>AAPL,aux-power-connected</key>
		<string>0x00000001</string>
		<key>AAPL,backlight-control</key>
		<string>0x00000001</string>
		<key>AAPL,gray-page</key>
		<string>0x00000001</string>
		<key>AAPL00,blackscreen-preferences</key>
		<string>0x08000000</string>
		<key>IOName</key>
		<string>display</string>
		<key>NVCAP</key>
		<data>
		BAAAAAAAAQACAAAAAAAAAAAAAAA=
		</data>
		<key>NVPM</key>
		<data>
		AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
		</data>
		<key>VRAM,totalsize</key>
		<string>0x20000000</string>
                <key>device_type</key>
                <string>NVDA,GeForce</string>
		<key>device_type</key>
		<string>NVDA,Child</string>
		<key>model</key>
		<string>nVidia GeForce 8400 GS</string>
		<key>rom-revision</key>
		<string>nVidia GeForce 8400 GS OpenGL Engine [EFI]</string>
	</dict>
</dict>
</plist>

- Save the XML file above into a file, lets say dualcard.plist

- Run the following command

Code:
gfxutil -i xml -o hex dualcard.plist dualcard.hex

Now the file dualcard.hex contains a long hex string....see next step for what to do with that.

- This is the result for /Extra/org.chameleon.Boot.plist

This code will only work if you have the same type of cards (GeForce 8400 GS) and you have the same PCI bus layout. Its better to create your own from the source XML file in the step above.

Code:
<key>device-properties</key>   <string>0107000001000000020000007b0300001200000002010c00d041030a010000000101060000010101060000007fff04001e00000072006f006d002d007200650076006900730069006f006e0000002e0000006e5669646961204765466f7263652038343030204753204f70656e474c20456e67696e65205b4546495d22000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000004e0056004300410050000000180000000400000000000100020000000000000000000000320000004100410050004c002c006200610063006b006c0069006700680074002d0063006f006e00740072006f006c000000080000000100000014000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d41100000006d006f00640065006c0000001a0000006e5669646961204765466f7263652038343030204753360000004100410050004c002c006100750078002d0070006f007700650072002d0063006f006e006e0065006300740065006400000008000000010000000e0000004e00560050004d000000200000000100000000000000000000000000000000000000000000000000000014000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d42220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000002020000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616320000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616322000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c617924000000400030002c0064006900730070006c00610079002d0074007900700065000000070000004c4344220000004100410050004c002c0067007200610079002d007000610067006500000008000000010000001c0000006400650076006900630065005f00740079007000650000000f0000004e5644412c506172656e741200000049004f004e0061006d00650000000b000000646973706c6179420000004100410050004c00300030002c0062006c00610063006b00730063007200650065006e002d0070007200650066006500720065006e00630065007300000008000000000000087a0300001200000002010c00d041030a010000000101060001010101060000007fff04001e00000072006f006d002d007200650076006900730069006f006e0000002e0000006e5669646961204765466f7263652038343030204753204f70656e474c20456e67696e65205b4546495d22000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000004e0056004300410050000000180000000400000000000100020000000000000000000000320000004100410050004c002c006200610063006b006c0069006700680074002d0063006f006e00740072006f006c000000080000000100000014000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d41100000006d006f00640065006c0000001a0000006e5669646961204765466f7263652038343030204753360000004100410050004c002c006100750078002d0070006f007700650072002d0063006f006e006e0065006300740065006400000008000000010000000e0000004e00560050004d000000200000000100000000000000000000000000000000000000000000000000000014000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d42220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000002020000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616320000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616322000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c617924000000400030002c0064006900730070006c00610079002d0074007900700065000000070000004c4344220000004100410050004c002c0067007200610079002d007000610067006500000008000000010000001c0000006400650076006900630065005f00740079007000650000000e0000004e5644412c4368696c641200000049004f004e0061006d00650000000b000000646973706c6179420000004100410050004c00300030002c0062006c00610063006b00730063007200650065006e002d0070007200650066006500720065006e0063006500730000000800000000000008</string>

- If you want to change to orientation of the displays go into the "System Preferences" app and "Display" and "Arrangement". You can move the displays around even move the top display menu bar (or whatever that thing is called ;) )

Voila.....much to my relief it now works. I hope you'll have similar success.

Things I have learned along the way (Just my experience, do not take these as facts)


  • - For Dual video card GraphicsEnabler needed to be "No". (For my setup, with the current state of affairs) For single video card setups GraphicsEnabler is great and does a lot of configuring for you.
    - adding the EFI string to /Library/Preferences/SystemConfiguration/com.apple.Boot.plist did not work for me. it needed to go in /Extra/org.chameleon.Boot.plist
 
Status
Not open for further replies.
Back
Top