Jump to content

About using discrete and integrated graphics at the same time:


  • Please log in to reply
76 replies to this topic

#1
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,973 posts
  • Gender:Male
Hi, folks!

I have an Intel i5 3570K running on a H77-DS3H (i know, this motherboard kills the overclock capabilities of my CPU, but now it's late to complain) and a nVidia GeForce 9800 GT. Based on this setup, two questions:


1) I'm using a 9800GT and the Intel HD 4000 at the same time (meaning the option Internal Graphics is always set to Enabled in my UEFI BIOS, as well as IGFX as primary monitor). My monitor is attached to the DVI out of the HD4000. I'll still be able to use the computational power of my 9800 GT (open cl etc) in that configuration?

2) Can OSX automatically switch before one and the other for computational work, in case the answer is yes?

Best regards!

#2
Lejenk

Lejenk

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,381 posts
  • Gender:Male
  • Location:Netherlands
For as far as i know, it's a no/no.
But i'm an notebook user, so following to learn.

#3
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,973 posts
  • Gender:Male
The problem is, i'm only getting the two cards to work together in safe mode. When i try to boot normally (with Clover, r. 9xx), the computer goes all the booting process, just to automatically reboot at the very point the desktop should appear. I'm hoping to make this setup work, because my 9800 GT doesn't have a working HDMI under OSX, which the HD4000 has.

I'll try later with Chameleon and will surely post here.

Best regards!

EDIT: a couple of pics to show the status of my setup now. Repair the opacity of the menu bar: in safe mode, there's no QE/CI.

Attached File  Screen Shot 2013-02-18 at 1.37.46 AM.png   120.24KB   139 downloads

Attached File  Screen Shot 2013-02-18 at 1.38.28 AM.png   101.21KB   126 downloads

#4
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 2,056 posts
  • Gender:Male
They will both work fine together. I testing I have been able to get 4 GTX 580's and Intel HD4000 all working at once in the same system.

What it comes down to is using a well edited DSDT and spending the time to edit one on your own or find/hire someone to help you do it.

Basically you extract the DSDT when both cards are installed. Then shutdown and remove the Dedicated card from the system and focus on getting all the MB components working and HD4000 working and the edits in the DSDT for it. Then add the Nvidia card and use DSDT injection for it as GraphicsEnabler=Yes does not play nice with 2 or more cards.

For as far as i know, it's a no/no.
But i'm an notebook user, so following to learn.


This has nothing to do with laptops my friend. Thats a entirely different issue... and you can enable both cards but you just can not switch to them. If you have a Nvidia card you can still use it for CUDA on a laptop.

#5
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,973 posts
  • Gender:Male

They will both work fine together. I testing I have been able to get 4 GTX 580's and Intel HD4000 all working at once in the same system.


Good to know, Rampage! So i'll work hard to get my setup also working.

What it comes down to is using a well edited DSDT and spending the time to edit one on your own or find/hire someone to help you do it.


DSDT... i was hoping not to need it. I'm comfortable patching kernels or tweaking AMD machines and tiny laptops, but when it comes to this subject, i'm as lost as the next guy. I've already dealt with some edits, but the patches were pre-made and my work was just find them and add them with DSDT Editor. I was happy when i first turn this machine to a hackintosh (it was a Win7 gaming rig) because i learned UEFI boards usually don't need edits. Well, since it will be great to get both cards working together, i think now it's time to really dig it.

Basically you extract the DSDT when both cards are installed. Then shutdown and remove the Dedicated card from the system and focus on getting all the MB components working and HD4000 working and the edits in the DSDT for it. Then add the Nvidia card and use DSDT injection for it as GraphicsEnabler=Yes does not play nice with 2 or more cards.


Well, that sure will help me: i probably would never come to that strategy. Thank you very much. :)

One question: will it work with Clover? Or Chameleon only? My system, by the way, is 10.8.3 (beta).

Best regards!

#6
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 2,056 posts
  • Gender:Male
The edit will work with both boot loaders. I am not a fan of Clover because I believe you should address issues at the source of the problem and not at the bootloader level.

#7
Lejenk

Lejenk

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,381 posts
  • Gender:Male
  • Location:Netherlands

They will both work fine together. I testing I have been able to get 4 GTX 580's and Intel HD4000 all working at once in the same system.

What it comes down to is using a well edited DSDT and spending the time to edit one on your own or find/hire someone to help you do it.

Basically you extract the DSDT when both cards are installed. Then shutdown and remove the Dedicated card from the system and focus on getting all the MB components working and HD4000 working and the edits in the DSDT for it. Then add the Nvidia card and use DSDT injection for it as GraphicsEnabler=Yes does not play nice with 2 or more cards.



This has nothing to do with laptops my friend. Thats a entirely different issue... and you can enable both cards but you just can not switch to them. If you have a Nvidia card you can still use it for CUDA on a laptop.


As i said, as far as i know ;)
Thanks for the explanation on this. Did not know it was possible until now.

#8
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,973 posts
  • Gender:Male
Thank you again for the answer! I'll start my research from now. Should i treat the board as a normal board, or is it to be treated differently, since it's UEFI?

Best regards!

#9
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 2,056 posts
  • Gender:Male
UEFI has nothing to do with needing or not needing a DSDT. This is what I call noob bait... To have a perfect system you will always needed a edited DSDT. Also DSDT's for the most part a upgrade proof so if you patch things in the DSDT instead of the OS with kext you can upgrade with ease.

My Nvidia injection guide:

http://rampagedev.wo...rd-into-a-dsdt/

#10
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,973 posts
  • Gender:Male

UEFI has nothing to do with needing or not needing a DSDT. This is what I call noob bait...


Well, i like that: "noob bait"! :)

I just bookmarked your guide, thank you very much!

P.S.: Oh, it's for Fermi only... will it go with a 9800 GT too? Anyway, in the worst scenario it will serve as a draft: thank you! I just noticed it's indeed meant as a draft, and the name of the card is to be changed to my own card in the end of the process. Thank you very much for the link, will make things a lot easy. Your work is awesome, Rampage.

As a side note and funny story: some days ago, i pointed to your site while helping someone at Voldemort's castle. I wasn't banished (not "banned", because it's Voldemort and, you know, he hates slang) but my post was "moderated" (censored). Crazy, huh?

#11
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 1,244 posts
  • Gender:Male

I have an Intel i5 3570K running on a H77-DS3H (i know, this motherboard kills the overclock capabilities of my CPU, but now it's late to complain) and a nVidia GeForce 9800 GT. Based on this setup, two questions:

1) I'm using a 9800GT and the Intel HD 4000 at the same time (meaning the option Internal Graphics is always set to Enabled in my UEFI BIOS, as well as IGFX as primary monitor). My monitor is attached to the DVI out of the HD4000. I'll still be able to use the computational power of my 9800 GT (open cl etc) in that configuration?

2) Can OSX automatically switch before one and the other for computational work, in case the answer is yes?

HD4000/GTX 570 HD working at the same time, Clover and Chameleon, GE=No, AirPlay Mirroring, 10.8.2. OSX does not switch workload automatically across graphics cards. However, you can launch the application on the graphics card you want the app to run on. The 570 is recognized without dsdt injection. To enable HD4000, add HD4000 dsdt injection to GFX0:
		 Device (GFX0)
		 {
		 Name (_ADR, 0x00020000)			
		 Method (_DSM, 4, NotSerialized)
		 {
			 Store (Package (0x04)
				 {
					 "device-id",
					 Buffer (0x04)
					 {
						 0x66, 0x01, 0x00, 0x00
					 },
					 "AAPL,ig-platform-id",
					 Buffer (0x04)
					 {
						 0x0A, 0x00, 0x66, 0x01
					 }
				 }, Local0)
			 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			 Return (Local0)
		 }
....

Attached Files



#12
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,973 posts
  • Gender:Male
Toleda, thank you so very much for this post: Rampage pointed me to nVidia injection, i was wondering how could i inject also the HD4000.

One question: i have a 9800 GT, so the method you used for the 570+HD4000 combo won't work for me as is, right? I mean, i'll ned also to inject the 9800 GT as Rampage explains at his site, so i can have both cards with GraphicsEnabler=No, is that correct?

Another two questions: GraphicsEnabler=No means GraphicsInjection=No with Clover, right? And which setup you use in your BIOS (i'm using IGFX as primary display and Integrated Graphics as "Enabled" instead of "Auto")? I assume you're using the monitor attached to the HD4000, the way i'm trying to do.

#13
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 1,244 posts
  • Gender:Male

One question: i have a 9800 GT, so the method you used for the 570+HD4000 combo won't work for me as is, right? I mean, i'll ned also to inject the 9800 GT as Rampage explains at his site, so i can have both cards with GraphicsEnabler=No, is that correct?

Another two questions: GraphicsEnabler=No means GraphicsInjection=No with Clover, right? And which setup you use in your BIOS (i'm using IGFX as primary display and Integrated Graphics as "Enabled" instead of "Auto")? I assume you're using the monitor attached to the HD4000, the way i'm trying to do.

In Lion with the 570, I had to use DSDT injection. In ML with the 570, dsdt injection is not needed. Regarding your 9800, test with no dsdt injection, HD4000 dsdt injection and GE=No. If the 9800 is not recognized, add the injection.

Yes, yes and yes to the other questions.

#14
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,973 posts
  • Gender:Male
Thank you very much again, Toleda!

Did you ever try to get this setup of yours to work with Clover UEFI boot (i assumed you tried with BIOS)? Since i just migrated to it, i wonder what would be the results...

Best regards!

UPDATE:

Patched my DSDT using the code you provided, Toleda: Attached File  DSDT.aml.zip   13.9KB   38 downloads

Apparently, it worked, since i managed to get to the desktop, and both cards are detected under Graphics/Displays: Attached File  Screen Shot 2013-02-19 at 2.53.02 AM.png   146.46KB   48 downloads

But under PCI Cards, the 9800 GT does not show up (it should, right?): Attached File  Screen Shot 2013-02-19 at 2.53.23 AM.png   106.7KB   38 downloads

How do i know if it's actually being detected without using a secondary monitor, which i don't have? That was a rather inept question: i just needed to plug my only monitor to the DVI out of my 9800 GT. It was immediately recognized: Attached File  Screen Shot 2013-02-19 at 3.08.34 AM.png   152.41KB   29 downloads

It seems to be really working, since NVDANV50Hal.kext is loaded: Attached File  Screen Shot 2013-02-19 at 3.12.04 AM.png   294.4KB   30 downloads
But is this info really enough to say it for sure?

Well, this made me a bit worried: Attached File  Screen Shot 2013-02-19 at 3.15.38 AM.png   386.96KB   29 downloads Attached File  Screen Shot 2013-02-19 at 3.15.48 AM.png   43.72KB   32 downloads

But then: Attached File  Screen Shot 2013-02-19 at 3.30.45 AM.png   215.86KB   43 downloads

If it's not really working as it seems, can't i just use NVEnabler (since it also requires GE=No)? That was fear of being happy: it is working indeed.

More questions: how i choose with which card a given app will run? How can i do a OpenCL/OpenGL bench test with each of the cards? Done.

Thank you very much indeed. To both of you guys! You are the best, seriously! :)

#15
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 1,244 posts
  • Gender:Male

Did you ever try to get this setup of yours to work with Clover UEFI boot?

But under PCI Cards, the 9800 GT does not show up (it should, right?)

More questions: how i choose with which card a given app will run?

Works great in Clover UEFI, 500 more GeekBench points, Chameleon vs. Clover.

To show in PCI Cards, make this dsdt edit (assumes native z77-ud3h dsdt)
		 Device (PEG0)
		 {
			 Name (_ADR, 0x00010000)
			 Device (PEGP)
			 {
				 Name (_ADR, Zero)
				 Name (_SUN, One)

Launch the app in the display connected to the graphics system you want to use.

#16
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,973 posts
  • Gender:Male
Thank you for this new patch, Toleda: worked like a charm (my board is a H77-DS3H)!

About using UEFI, i'm having no luck (it used to work fine with only the 9800 GT enabled): i was getting a blank screen just before where the Clover boot menu would show up, then i removed CRMVideoDriver.EFI. Now i get a cursor blinking forever and yet no Clover menu. EDIT: Now i boot to the desktop, after removing the Csm video driver and patch vbios string, but the system is unusable due to heavy artifacts. I'm already investigating the issue, though, and asked for help in the Clover discussion topic.

One last question: to get HDMI audio to work, i need also to patch AppleHDA, right? Because only applying the DSDT fix didn't enable it.

Best regards!

#17
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 1,244 posts
  • Gender:Male

One last question: to get HDMI audio to work, i need also to patch AppleHDA, right? Because only applying the DSDT fix didn't enable it.

For HD4000 HDMI audio, Google search [Easy Guide] ML: HDMI Audio/HD4000/7 Series MB.
No patch is required for native ML HD4000 HDMI audio.
For your 887 on board audio, the post above provides installation instructions for the ALC 887 edited AppleHDA.kext.

#18
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,973 posts
  • Gender:Male
Thank you once more, Toleda: i used a patched AppleHDA + HDAEnabler (from Voldemort's tools) to get my ALC887 running and it's doing just fine. Only HDMI audio is missing. Going to try the guide you pointed ASAP.

Best regards!

UPDATE: The guide was really a cakewalk, and now i have HDMI working. Thanks! I really think you should gather all tutorials you've been writing (you seem to do a lot of them) and make a book of them, "The Practical Book of OSX86" or something like that. Congrats!

#19
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,973 posts
  • Gender:Male
Just as a side note, using the HD4000 (booting from BIOS, i'll test later with UEFI) seems to improve drastically the performance of the system (except for graphics, of course), as you can see here (and compare with the previously posted result): Attached File  Screen Shot 2013-02-19 at 4.17.17 PM.png   311.75KB   47 downloads

Best regards!

UPDATE: Clover UEFI boot brings further improvements both in graphics and CPU performance (confirming what Toleda said, despite i'm yet to run Geekbench EDIT: ran it, and the results are consistent with what i was already seeing, even a hundred of points lower, so i have two discrepant results - the third screenshot bellow), as you can see. The results highlighted in orange were obtained after booting from UEFI (brown for BIOS boot):

Attached File  Screen Shot 2013-02-20 at 12.15.26 AM.png   312.74KB   55 downloads

Attached File  Screen Shot 2013-02-20 at 12.19.29 AM.png   325.89KB   45 downloads

Attached File  Screen Shot 2013-02-20 at 12.33.46 AM.png   279.71KB   35 downloads

My results with the 9800GT are also there (the higher is already with Clover BIOS boot, the other was with Chameleon and using only the 9800GT in the setup).

Notice that, despite graphics performance still not being in the same league as what i get with the monitor connected to the 9800GT, the accentuated performance gain i have with the HD4000, specially with UEFI (i'm yet to test the 9800GT with UEFI, but the results should be consistent with that) more that compensate for it (if you believe more in Cinebench than in Geekbench, like i do), so i think i'll let the nVidia 9800GT to applications that rely heavily in OpenGL/CL computing, doing all other work with the HD4000.

Best regards!

#20
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,973 posts
  • Gender:Male
Hi again, Toleda and Rampage!

What should i change in the above configuration to run both cards with the same setup and same machine on 64-bit Snow Leopard 10.6.8? I just did a partition for SL because i need some rosetta goodies, but i can get only resolution with the HD4000 (i even tried installing ML's HD4000 kexts on SL) and a black screen from any of the nVidia 9800 GT outputs (yet the verbose mode indicates that nVidia drivers load and start). I know that Snow Leopard was never meant to run on IB CPUs, and i needed a patched kernel for it, so i'm satisfied with only resolution with my HD4000, as long as the 9800 works for the second monitor.

Best regards.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy