Jump to content

Why use EFI graphics string?


  • Please log in to reply
10 replies to this topic

#1
Gantlett

Gantlett

    InsanelyMac Protégé

  • Members
  • PipPip
  • 72 posts
I just successfully created an EFI graphics string for my nVidia 8400GS card, but I don't see any difference...

This is my system:
OS= Kalyway 10.5.1 (Vanilla chosen at installation) + 10.5.2 Update using Software Update
Features= EFI V8, GUID, ToH kernel (to enable Shut Down and Sleep).
CPU= E6550 2.33GHz @ 2.975GHz (425MHz x 7)
MB= GA-P35C-DS3R Rev. 2.0
RAM= 4x1GB Kingston 800MHz @ 850MHz (1:1 FSB->RAM ratio)
VGA= 8400GS PCI-E 256MB with EFI string

This is what Apple System Profiler shows:

nVidia GeForce 8400 GS:
   
	 Chipset Model:	nVidia GeForce 8400 GS
	 Type:	Display
	 Bus:	PCIe
	 PCIe Lane Width:	x16
	 VRAM (Total):	256 MB
	 Vendor:	NVIDIA (0x10de)
	 Device ID:	0x0422
	 Revision ID:	0x00a1
	 ROM Revision:	nVidia GeForce 8400 GS OpenGL Engine [EFI]
	 Displays:
   Display Connector:
	 Status:	No display connected
   SyncMaster:
	 Resolution:	1280 x 1024 @ 75 Hz
	 Depth:	32-bit Color
	 Core Image:	Hardware Accelerated
	 Main Display:	Yes
	 Mirror:	Off
	 Online:	Yes
	 Quartz Extreme:	Supported
	 Rotation:	Supported

I have also removed the NVinjext kext I had and rebuilt the kext caches.

But what is the advantage here over NVinject?

My graphics performance isn't as smooth as a real Mac's. I thought the EFI string would solve that, but it didn't. Any ideas why? For instance, when I open a folder and close it before the animation effect completes I get a messed up "folder opening" and "folder closing" at-the-same-time animation. On my Intel Mac Mini at work (running 10.5.2), when I do this the "folder opening" animation stops in the middle and changes to "folder closing" without any mess. Just try too - this is interesting:

Highligh a folder.

Hold down the Apple key and rest one finger on the "Down" arrow and another on the "W" key.

Keep the Apple key pressed at all times.

Now hit the "Down" arrow key, but before the animation effect completes (somewhere in the middle, doesn't matter where, as long as it's before the effect has completed and the folder's contents is displayed) hit the "W" key. This will make the folder close before it has completely opened.

On a real Mac the whole animation is completely smooth. I.E., the moment I press the "W" key after I opend the folder the animation transitions smoothly from "open" to "close". On my Hackintosh however I get a messed up animation of "folder open" and "folder close" at the same time.

Now my Mac Mini has a mere Intel GMA950 on board. The 8400GS on my Hackintosh is stronger, so it's not a "performance" problem or limitation.

Also, "Spaces" doesn't perform as smoothly on my Hack as it does on a real Mac.

Another thing - when I choose to close many folders in one go (Apple+Option+W) the graphics are not smooth at all. Not so on a real Mac too.

Does anyone know why this happens?

Also, does using an EFI string protect me from display problems which may occur from a system update?

Thanks very much!

#2
Superhai

Superhai

    InsanelyMac Legend

  • Retired Developers
  • 1,425 posts
the strings are for replacing nvinject etc. You need the correct one, which is hard to find on a card that the real macs dont have. And there might be some features that are not fullt programmed on those cards.

#3
Gantlett

Gantlett

    InsanelyMac Protégé

  • Members
  • PipPip
  • 72 posts
I understand.

So it'll never be perfect as long as I keep using the 8400GS. Fair enough.

Does using an EFI graphics string protect me from display problems after a MacOS system update (since I dumped the NVinject.kext)?

I updated my previous setup (NVinject) directly to 10.5.4 using the Combo Update and got a blue screen with no mouse after the restart. Will the EFI string protect me from this problem (in other words - how do I solve the display problem after the 10.5.4 update :( ?)

Thank you for your help!

#4
smileyface911

smileyface911

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 2 posts
Would you mind writing what EFI string you used. I have this same card and it would really help me out. Thanks

#5
elcapitan

elcapitan

    InsanelyMac Protégé

  • Members
  • Pip
  • 22 posts
  • Gender:Male
  • Location:Chicago
I'm not sure if you noticed but this is a really old thread (2+ years).

Check out this link for info on getting an EFI string and installing it as well.
http://www.insanelym...howtopic=132850

#6
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,112 posts
  • Gender:Male
  • Location:Brazil
Also, using somebody elses device-properties (EFI) string is hit and miss, even if they have the same video card.

#7
elcapitan

elcapitan

    InsanelyMac Protégé

  • Members
  • Pip
  • 22 posts
  • Gender:Male
  • Location:Chicago
Hey Gringo, I'm going to pick your brain here. If that's the case, (EFI) strings being a hit or miss, what is the preferred way of getting your video card recognized if your system doesn't automatically recognize it?

To my knowledge, the choices are:
EFI String
kexts
DSDT

#8
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,112 posts
  • Gender:Male
  • Location:Brazil
I believe that the best method is the one that works for you.

I didn't say that EFI strings were hit and miss, I said that using someone elses's EFI string is hit and miss.

You and I are lucky to have a video card (9800GTX+ dev. ID 0x0612) that can work with unmodified nvidia drivers.

The reason why I'm talking about luck, is that there never was a 9800GTX+ for Mac. But thanks to the way the nvidia drivers work - supporting a range of device IDs rather than specific IDs - it does. Thank you nvidia.

If the drivers themselves don't know the video card's device ID then they will not load, and therefore none of the available injection methods will work.
Those who have a video card like that will have to manually add its device ID to one or two nvidia driver files in /System/Library/Extensions, as detailed here: http://www.projectos...php?showtopic=4
Note that in Snow Leopard (not sure since what version) it is no longer necessary to add the device ID to NVDAResman.kext.

This is a bit of a pain because it means that every time the nvidia drivers get updated you'll lose accelerated graphics and you have to do it all over again.
Maybe it's possible to create legacy kexts for this, this is something I haven't investigated.
Anyway, follow the link to Krazubu's "guide for all nvidia boards" above for more information, and read the NVEnabler thead on the same forum, both threads are full of important information (most of what I'm writing here I learned from reading those threads and experimenting).

Someone else's device-properties string might not have the same PCI Root as your motherboard and then it will not work.
Well, tbh this is just a theory but a device-properties string does contain the motherboard PCI root, so I'm pretty sure that my theory holds water.

My personal opinion is that video cards do not belong in DSDT unless they are on-board, DSDT is for devices that are part of the motherboard.

But sometimes it is necessary to place "external" devices in the DSDT. As far as I know there are only two ways to have two video cards working at the same time, one is via DSDT injection and the other is with NVEnabler.kext with the RM_Multiboard_Capable setting activated.
This is a complicated subject and a good bit of extra tweaking is required.
Also some people have had success with setting a PCI ethernet card as built-in/internal via DSDT. I think it's gross, but OS X requires a built-in network device as EN0, and this method works, so...

Krazubu, Fassl and Turbo's NVEnabler.kext is the most complete injector available (can inject the most properties + patch video BIOS on the fly) and Chameleon's GraphicsEnabler is (as far as I know) based on NVEnabler.
http://www.projectos...p?showtopic=370 (<--- goldmine)

I use (you know :-) GraphicsEnabler with a BIOS ROM patched by NVEnabler, Krazubu told me how to extract it from IOReg (see the NVEnabler thread at ProjectOSX forums). This is the best of both worlds. GraphicsEnabler doesn't enable my analog TV-out and NVEnabler does not work from a Chameleon boot CD because it has to be in /System/Library/Extensions in order to work.

With GraphicsEnabler and the patched ROM I can have hardware accelerated video AND working analog TV-out even when I use my Boot CD.
And one less kernel extension to worry about.

*Note I'm talking about nvidia video cards here. I don't know anything about other video cards or on-board video.

#9
elcapitan

elcapitan

    InsanelyMac Protégé

  • Members
  • Pip
  • 22 posts
  • Gender:Male
  • Location:Chicago
Wow! Thanks for all the info! I had to re-read a few times to make sure I fully understood everything, not saying I do but it does add a few missing pieces to my puzzle.

#10
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,112 posts
  • Gender:Male
  • Location:Brazil
Feel free to ask for clarification or whatever and I'll try to answer the best I can. :)

#11
elcapitan

elcapitan

    InsanelyMac Protégé

  • Members
  • Pip
  • 22 posts
  • Gender:Male
  • Location:Chicago
For now I'm good. It's a great overview which gave me a better understanding and luckily since my system is running like a champ, I don't need to delve any further :-)





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