Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Jottle

macrumors 6502
Original poster
Oct 17, 2003
402
5
I like to keep my laptop cool, so I usually run on the integrated 9400 graphics chip. But lately I've been finding myself playing a lot of games on my unibody mbp. However, it gets kind of tedious to have to continually switch over to the "better performance" 9600M option in energy saver. Instead of opening energy saver, clicking "better performance" and then restarting, is there a simple applescript or shortcut I can just double click that will do all this for me? I'd like to just place that script on the desktop and call it "play games" or something." I know it's a small inconvenience, but does anyone have a solution? Or can anyone make a simple automater or applescript to handle this?
 

jamesraward

macrumors regular
May 18, 2009
123
7
I like to keep my laptop cool, so I usually run on the integrated 9400 graphics chip. But lately I've been finding myself playing a lot of games on my unibody mbp. However, it gets kind of tedious to have to continually switch over to the "better performance" 9600M option in energy saver. Instead of opening energy saver, clicking "better performance" and then restarting, is there a simple applescript or shortcut I can just double click that will do all this for me? I'd like to just place that script on the desktop and call it "play games" or something." I know it's a small inconvenience, but does anyone have a solution? Or can anyone make a simple automater or applescript to handle this?

Any reason I don't have this option? (mid 2009 mbp 13")
 

DerekS

macrumors 6502
Jun 25, 2007
341
14
Yes - the reason you don't have that option is your laptop only has one GPU.

The higher-end models have two.
 

Jottle

macrumors 6502
Original poster
Oct 17, 2003
402
5
For anyone who is curious, I ended up making an automator workflow that goes through all these mouse clicks to switch to the 9600. It save a bit of time if you want to game ASAP. kudos to apple for letting me make something like an applescript without knowing how to write applescript! I just recorded my mouse actions with automater. PM me if you're interested. I just double click the automator workflow, and my mbp restarts using the "better performance" option.
 

Jottle

macrumors 6502
Original poster
Oct 17, 2003
402
5
Hi there, can i have a copy of the automator u made?

I'm attaching instructions and a link to download the script in this post.

For this script to work, you need to make sure you add a keyboard shortcut for system preferences...click this
and make sure you set your keyboard shortcut to the option key and the period key. So if you set it up right following the directions in the link above, when you press "option ." system preferences should appear. Once that's set up on your computer, you can just double click the script (download script below), and your mac will open energy saver, click the "better performance" button, and logout. Remember, the script only works if you're using the 9400 card. What I mean is that it won't reverse the settings and log you back into the lower performance card when you're done gaming.

Download the script here
 

Chaos123x

macrumors 68000
Jul 8, 2008
1,698
34
Just download DVISwitchBoxx

So you don't have to log out to switch graphics cards.

Although some people complain it can mess up your monitor.

It's hack after all.
 

cwintermeyer

macrumors newbie
May 13, 2010
4
0
Salt Lake City
Easing (some of) the pain of GPU switching on my mid-2009 Macbook Pro using Automator

I like to keep my laptop cool, so I usually run on the integrated 9400 graphics chip. But lately I've been finding myself playing a lot of games on my unibody mbp. However, it gets kind of tedious to have to continually switch over to the "better performance" 9600M option in energy saver. Instead of opening energy saver, clicking "better performance" and then restarting, is there a simple applescript or shortcut I can just double click that will do all this for me? I'd like to just place that script on the desktop and call it "play games" or something." I know it's a small inconvenience, but does anyone have a solution? Or can anyone make a simple automater or applescript to handle this?

I regularly switch between the NVIDIA GeForce 9400M ("Better battery life") and the NVIDIA GeForce 9600M GT ("Better graphics performance") on my mid-2009 MBP running OS X 10.6.3. I grew tired of clicking on the Energy Saver Preferences, and occasionally I would forget which GPU I was running until I opened the Preferences panel. After an unsuccessful search for a solution similar to the gfxCardStatus solution (http://codykrieger.com/gfxCardStatus/) for the new 2010 dual-GPU MBP line, I came up with my own GPU-for-dummies approach using Automator.

My solution uses two Automator apps to switch to the desired GPU. The apps (named "GPU-9400" and "GPU-9600") are in my Applications folder so I can access them easily. In addition to choosing the appropriate GPU with a simple click, the app also renames itself on the fly. This way, when I log back in after a GPU switch, I have a visual indication which GPU is currently in use. For example, when I click on the "GPU-9600" app, Automator will rename it to "GPU-9600 *ACTIVE*". If I then later click on "GPU-9400", Automator will rename it "GPU-9400 *ACTIVE*" and will also strip the "*ACTIVE*" from the GPU-9600 app name. There's a partial screenshot of my Applications menu at http://i249.photobucket.com/albums/gg231/funnee1/GPU Switcher/GPUSwitcher.jpg that explains it better than I can. :)

If you'd like to give it a try, here's what you need to do:
1. Download the attached ZIP file, and unzip the two apps into your Applications folder.
2. Assign the shortcut COMMAND-OPTION-S to System Preferences. (See http://www.macworld.com/article/135010/2008/08/sysprefs_shortcut.html if you need help doing this.)
IMPORTANT NOTE: You must use COMMAND-OPTION-S as the shortcut for these apps to function correctly.
3. Close all open applications (since switching your GPU is going to require a logout).
4. If you're currently running the NVIDIA GeForce 9400M (i.e. "Better battery life"), click on the "GPU-9600" app. Conversely, if you're currently running the NVIDIA GeForce 9600M GT (i.e. "Better graphics performance"), click on the "GPU-9400" app.
IMPORTANT NOTE: If you click on the app that corresponds to the GPU you're already running, the app will successfully rename itself to indicate the GPU is active, but the app will then error out since it's expecting a logout prompt which obviously won't appear.

I built this for my personal use, so I have only used this on my mid-2009 MBP running OS X 10.6.3. Depending on your hardware and OS version, your mileage may vary. As with all applications, I *STRONGLY* recommend you backup your system before running these apps. The Automator scripts in the apps are simple and won't cause any damage to your system or files if they fail, but safe is always better than sorry. There is no warranty on these apps and they are provided "as-is". :)

Also, because these are simple Automator apps, you can edit them in Automator if you'd like to tweak the behavior to your needs.

I hope you find this solution useful.

Chris Wintermeyer
 

Attachments

  • GPUswitcher.zip
    670 KB · Views: 237

Jottle

macrumors 6502
Original poster
Oct 17, 2003
402
5
MAJOR UPDATE: My Automator apps are obsolete, now that gfxCardStatus v1.7 allows GPU switching on pre-2010 MBP's WITHOUT logout! Woo hoo! It works perfectly on my mid-2009 17" MBP running OS X 10.6.3. Check out gfxCardStatus at http://codykrieger.com/gfxCardStatus/

Thanks for your detailed reply. The funny thing is that after I started this thread, I also ended up making an automator script to switch graphics cars>

See here: click

I must admit that yours are much more elegant! So thank you. Of course, this news about gfxcardstatus is even better. Looking forward to not having to constantly run these scripts.
 

Jottle

macrumors 6502
Original poster
Oct 17, 2003
402
5
Sigh. It doesn't work on my mid-2009 mbp 15'' when I have an external monitor connected. It won't go from the 9600 to the 9400. Looks like the program doesn't support external monitors.
 

piwi

macrumors regular
Dec 24, 2006
110
0
Awesome I just tried it and it works super duper with my 15" mid 2009 uMBP :)
Thanks for the link!
 

piwi

macrumors regular
Dec 24, 2006
110
0
aww shucks I cant get it to work either with my june 2009 15 inch

Thats weird... I have the same one and it works.
What is your config?

Code:
Model Identifier:	MacBookPro5,3
  Processor Name:	Intel Core 2 Duo
  Processor Speed:	2.66 GHz
  Memory:	4 GB
  System Version:	Mac OS X 10.6.3 (10D573)
  Kernel Version:	Darwin 10.3.0

  Chipset Model:	NVIDIA GeForce 9400M
  Type:	GPU
  Bus:	PCI
  VRAM (Total):	256 MB
  Vendor:	NVIDIA (0x10de)
  Device ID:	0x0863
  Revision ID:	0x00b1
  ROM Revision:	3448
  gMux Version:	1.8.8
  Displays:
Color LCD:
  Resolution:	1440 x 900
  Pixel Depth:	32-Bit Color (ARGB8888)
  Main Display:	Yes
  Mirror:	Off
  Online:	Yes
  Built-In:	Yes
Acer P205H:
  Resolution:	1600 x 900 @ 60 Hz
  Pixel Depth:	32-Bit Color (ARGB8888)
  Mirror:	Off
  Online:	Yes
  Rotation:	Supported

  Chipset Model:	NVIDIA GeForce 9600M GT
  Type:	GPU
  Bus:	PCIe
  PCIe Lane Width:	x16
  VRAM (Total):	256 MB
  Vendor:	NVIDIA (0x10de)
  Device ID:	0x0647
  Revision ID:	0x00a1
  ROM Revision:	3448
  gMux Version:	1.8.8
 

earthdan

macrumors member
Jun 14, 2009
57
0
wierd, just tried it again and it works. Seems to happily switch between the 2 cards now.

I know this is experimental software, but what are the chances of damage to the gpus?

cheers,
Dan
 

piwi

macrumors regular
Dec 24, 2006
110
0
wierd, just tried it again and it works. Seems to happily switch between the 2 cards now.

I know this is experimental software, but what are the chances of damage to the gpus?

cheers,
Dan

My guess woud be none. I don't think switching using gfxCardStatus or the Prefs pan makes any difference to the SMB. If a component starts to heat up, the fan will kick in, no matter what.
 

Jottle

macrumors 6502
Original poster
Oct 17, 2003
402
5
confirmed in the developer's weblog. It looks like this program won't work for you if you're running with an external monitor in clamshell mode. Too bad. It's nice otherwise!
 

piwi

macrumors regular
Dec 24, 2006
110
0
confirmed in the developer's weblog. It looks like this program won't work for you if you're running with an external monitor in clamshell mode. Too bad. It's nice otherwise!

I use it with both screens, an LCD via the MD DVI port and the built in LCD. My main screen is the built in one. And the soft works :)
 

Jottle

macrumors 6502
Original poster
Oct 17, 2003
402
5
I use it with both screens, an LCD via the MD DVI port and the built in LCD. My main screen is the built in one. And the soft works :)

Clamshell mode with only an external lcd will not work with this program. Using display mirroring (as you stated) does work. Thanks for clarifying.
 

piwi

macrumors regular
Dec 24, 2006
110
0
Clamshell mode with only an external lcd will not work with this program. Using display mirroring (as you stated) does work. Thanks for clarifying.

I understand. I can't vouch for mirroring as the desktop runs across both displays ;)
 

McGiord

macrumors 601
Oct 5, 2003
4,558
290
Dark Castle
Resurrecting this thread. I am just about to install gfxCardStatus, I have a 15" late 2008 MBP running OS X 10.6.7.
My question is: after all this time have you had any problems with it?
Thanks!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.