ProjectOSX

Welcome Guest!

Returning User? Login here.

Want membership privileges? Register here.

 
Start a new topic Add Reply
> Making Nvidia Optimus Switcher Application
IDDPioneer
post Dec 1 2011, 01:24 PM
Post #1
Hello guys / girls, I have learned how the nvidia optimus works and how is the implementation

And I am thinking to make an app that makes the switchings between the cards (intel/nvidia) easier but I need more programming power / another guys who knows programming in Xcode:

The things to make are this:

Optimus works by taking advantage of a feature of Intel's IGP that has been the source of much enthusiast griping over the years: the fact that Intel IGPs store the frame buffer in system memory, instead of in a dedicated pool of fast memory like NVIDIA's and ATI's IGPs. Intel used system memory to keep platform costs down (the extra memory chips that competitors' IGPs used boosted the price), but at the cost of some system performance—not having dedicated memory slows down 3D rendering, and it also reduces the amount of system memory available to other applications.
The software side of the Optimus platform inserts itself between the OS/app stack and the graphics hardware, and it accesses system memory to fill the frame buffer itself. Intel's IGP still reads from the frame buffer to do display output, but it's just reading and displaying frames that were generated by NVIDIA's GPU and sent to main memory.

References: http://arstechnica.com/apple/news/2010/02/...le-macbooks.ars
and Nvidia's Optimus Whitepaper

I am thinking to make the same thing as the bumblebee / ironhide linux guys, here is one of the sources that makes optimus working in ubuntu: https://github.com/MrMEEE/bumblebee/blob/ma...e.script.ubuntu
IDDPioneer - HackBookPro 10,1
Mido
post Dec 1 2011, 11:21 PM
Post #2
i have nvidia optimus also
intel hd graphics 3000 + Nvidia GT 525M

i was thinking on making nvidia card work as secondary card as it directly connected to hdmi
but as idont have hdmi monitor stopped thinking on it

the hope to make it work like under windows is to develop switcher but i am not programmer to make it dry.gif
PC : AMD Phenom ii x4 955 / ASUS M5A97 / Sapphire HD 6850 / 2x2 1333 KingSton Ram / 2*500GB + 640GB HDD / Thermaltake 500 W
NB : DELL INSPIRON N5110 : CORE I5 2410M / 4GB 1333 Nanya Ram / Intel HD Graphics 3000 + Nvidia GeForce 525M / 640 HDD / DELL Wireless 1702
IDDPioneer
post Dec 5 2011, 02:10 PM
Post #3
I found a program that makes the switching in the mac that have two cards and were not nvidia optimus,
the program is gxfCardStatus and it is open source !

Is a program exactly like that, I am trying to make but I need to do some changes in the source to make the dsdt /ssdt calls I already have the code here but I need a programmer that knows how to do it in Xcode.

I need collaborators!

Somebody want to help ?

If want then post here.

Thanks

@Mido: your answer you will find here: http://olarila.com/forum/viewtopic.php?f=3...d24d9cfa7d7acd4
IDDPioneer - HackBookPro 10,1
Mido
post Dec 7 2011, 01:43 PM
Post #4
i have already get lvds & vga by intel card

to switch between two card you must get first two cards registered and driver works as it must
then you can switch
but on our case nearly nvidia card is switched of from starting so registration of this card is incorrect
so you will see on ioregistery that card isn't applied as on macbookpro 6.1

on my notebook hdmi can activate card from first but sadly idont have hdmi display now
so can't do tests on it sad.gif
PC : AMD Phenom ii x4 955 / ASUS M5A97 / Sapphire HD 6850 / 2x2 1333 KingSton Ram / 2*500GB + 640GB HDD / Thermaltake 500 W
NB : DELL INSPIRON N5110 : CORE I5 2410M / 4GB 1333 Nanya Ram / Intel HD Graphics 3000 + Nvidia GeForce 525M / 640 HDD / DELL Wireless 1702
manmal
post Dec 30 2011, 05:57 AM
Post #5
Hi, any news on such project?
I have a laptop (Asus n53sv-sz404 ) with nvidia optimus technology (gt540m 1gb)+Intel hd3000 dual graphics and with its 15.6" lcd display running in fullhd resolution at 1920x1080 i cannot view anything at all! I hope that it will change with full support. I cannot believe that i cannot use 1920x1080 on internal lcd with Intel hd3000 under osx...With Windows or Linux it works well!!
Any solution to it, for using 1920x1080 res on internal lcd display, until optimus technology will be full supported under osx?
Thanks!
Mal

QUOTE (Mido @ Dec 7 2011, 02:43 PM) *
i have already get lvds & vga by intel card

to switch between two card you must get first two cards registered and driver works as it must
then you can switch
but on our case nearly nvidia card is switched of from starting so registration of this card is incorrect
so you will see on ioregistery that card isn't applied as on macbookpro 6.1

on my notebook hdmi can activate card from first but sadly idont have hdmi display now
so can't do tests on it sad.gif

Mido
post Dec 31 2011, 01:15 PM
Post #6
QUOTE (manmal @ Dec 30 2011, 07:57 AM) *
Hi, any news on such project?
I have a laptop (Asus n53sv-sz404 ) with nvidia optimus technology (gt540m 1gb)+Intel hd3000 dual graphics and with its 15.6" lcd display running in fullhd resolution at 1920x1080 i cannot view anything at all! I hope that it will change with full support. I cannot believe that i cannot use 1920x1080 on internal lcd with Intel hd3000 under osx...With Windows or Linux it works well!!
Any solution to it, for using 1920x1080 res on internal lcd display, until optimus technology will be full supported under osx?
Thanks!
Mal

more info about your mac setup
PC : AMD Phenom ii x4 955 / ASUS M5A97 / Sapphire HD 6850 / 2x2 1333 KingSton Ram / 2*500GB + 640GB HDD / Thermaltake 500 W
NB : DELL INSPIRON N5110 : CORE I5 2410M / 4GB 1333 Nanya Ram / Intel HD Graphics 3000 + Nvidia GeForce 525M / 640 HDD / DELL Wireless 1702
IDDPioneer
post Feb 17 2012, 01:50 PM
Post #7
Hello guys I am trying to make the switcher here, the system already recognized the Intel and the Geforce 540M here, and loaded the kexts.

I am making the switcher with the help of the linux guys.

Any progress I will be posting here...

Wish me luck ...

This post has been edited by IDDPioneer: Apr 24 2012, 05:33 PM
IDDPioneer - HackBookPro 10,1
triosx
post Jan 26 2014, 04:33 PM
Post #8
QUOTE (IDDPioneer @ Feb 17 2012, 01:50 PM) *
Hello guys I am trying to make the switcher here, the system already recognized the Intel and the Geforce 540M here, and loaded the kexts.

I am making the switcher with the help of the linux guys.

Any progress I will be posting here...

Wish me luck ...


Hi there!

Long time since someone has responded to this thread...

I ve gotten Mavericks to load kexts for both cards on an MSI GT60 (HD4000 & GTX680m) but only HD4000 detects a Display.
Probably this is because on Optimus machines the Nvidia has to use the intel framebuffer to reach the LVDS signal...

I think a workaround would be to manipulate the Intel Framebuffer kext and either
1) ADD a second Renderer (Nvidia Renderer) (see your Ioregistry explorer, each GFX card has the Renderer and then lists all Displays)
2) or subsitute the intel renderer with the Nvidia Renderer.

We need someone with deep knowledge in KEXT .plists to be able to help and have ideas.

Another mod would be to incorporate the Optimus SSDTs within our fixed DSDT...

I have tried both unsuccesfully. Maybe someone out there can help...

Lets re-ignite this thread. Users with Optimus deserve to harness their gPUs in OSX86!


Add Reply Start a new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members: