codyschrank / gswitch Goto Github PK
View Code? Open in Web Editor NEWmacOS menu bar app that allows control over the gpu on dual gpu macbooks
License: MIT License
macOS menu bar app that allows control over the gpu on dual gpu macbooks
License: MIT License
Instead of silently failing when 1 or both gpus are not found instead notify the user that they could not be found.
This is helpful if gSwitch is installed on a computer without dual gpus or if apple eventually uses a different vendor for the dgpu and gswitch doesn't account for it yet.
gSwitch just updated itself from 1.9.5 to 1.9.6 and now it doesn't launch anymore. If I launch it from the Terminal we see what the problem is:
$ /Applications/gSwitch.app/Contents/MacOS/gSwitch
dyld: Symbol not found: __T0SbMa
Referenced from: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/libswiftDarwin.dylib
Expected in: /Applications/gSwitch.app/Contents/MacOS/../Frameworks/libswiftCore.dylib
in /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/libswiftDarwin.dylib
Abort trap: 6
I am running macOS High Sierra 10.13.6 with Xcode 9.4.1.
It seems like gSwitch should be self-contained and should not be referencing anything inside the Xcode app bundle.
Just installed the pushed update, and noted that gSwitch didn't launch after the update. Upon attempting to launch it manually, I received an error stating "You can't use this version of the application 'gSwitch' with this version of macOS. You have macOS 10.13.6. The application requires 10.14 or later."
Not sure, Cody, whether or not this was your intent. Figured I'd open an issue just in case you meant to support versions <10.14. And if you did intend to drop legacy support, may I suggest a warning before offering it via Sparkle?
Please add support for Mojave Dark Mode.
Thanks
I think it can actually go back to a zip but I need to test it more.
Hi Cody, i have an issue with my macbook pro 15 inch 2017. the integrated graphics card does not work properly, and my mac only works with the dedicated one. i tried gfx card status but on every reboot it changes back to integrated. does your program properly disable the integrated one even after reboot? right now im working on this with "automatic graphics switching" turned off, but still get some problems sometimes when watching videos that i get a green screen or crash totally.
thx in advance, Alesander
enhancement
If someone has a macbook older than 2011, can you let me know if this app fully works? I don't have any way to test it.
cannot run application. errors with:
"gSwitch" is damaged and can't be opened.
You should move it to the Trash.
macOS Mojave 10.14.4
If a specific mode is selected ("integrated only", for example), and then another user launches the gSwitch app, a "hungry" app will immediately cause the discrete GPU to become active. Obviously, "integrated only" mode can't be selected again until the dependency is resolved. Expectation is that launching another instance of the app (by another user) doesn't cause a change in the selected mode. (selected mode of dynamic, integrated only, or discrete only should be global across users)
The string labels in the Settings dialog are truncated when the app is displayed in German (both for the checkboxes and the buttons). I assume that the width of the buttons and labels is somehow hardcoded and the German strings are too long.
Will gSwitch 1.7.10 work in MacOS Mojave?
Hi!
My NVIDIA GeForce GT 750M and I use Gswitch for "integrated only".
What options can I use in "advanced panel" to avoid the system sometymes going into discrete gpu (getgpu set, gpuState, features)? I don't use external dislays but sometimes I see graphic artifacts.
Thank you!
I see below error when I run "carthage bootstrap"
Failed to read file or folder at /Users/avinashp/Cartfile: Error Domain=NSCocoaErrorDomain Code=260 "The file “Cartfile” couldn’t be opened because there is no such file." UserInfo={NSFilePath=/Users/pranavm/Cartfile, NSUnderlyingError=0x7ff08cf55220 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
Cannot autoupdate from 1.9.6 to 1.9.7 with the check for updates button.
If you want gSwitch localized to your language, I'll add it if you translate the following phrases for me:
About
Help
Preferences
Integrated Only
Discrete Only
Dynamic Switching
Dependencies
Quit
Created By
Report A Problem
Donate
Start At Login
Automatically Update
Remember Last GPU Mode
Show GPU Change Notifications
Do Not Show Warning When Forcing to iGPU
Check For Updates
Open Advanced Pane
On dynamic switching and there is a dpu dependency. Switch to discrete only and quit the hungry process and it will not enforce discrete only, instead it switches back to the igpu and still shows discrete only in the menu
First off: thank you for this great piece of software! Long time gfxCardStatus user here.
I'm inquiring about the possibilty of a standalone (and slightly expanded) command-line functionality. The reason is this bug in the IINA media player, more precisely in the underlying mpv player. It will probably not be fixed for some time, if at all, so it would be great to have a gswitch
CLI to (a) read the current state of the GPU (dynamic switching on/off, integrated or discrete), and (b) the ability to set a new GPU state (or lock the current state by disabling dynamic switching) without launching a new instance of the gSwitch GUI app.
Then we could create an IINA launcher app with AppleScript that would disable dynamic switching before launching IINA itself.
CLI possible?
EDIT: no, strike that. It's not important… just tested this with a "hungry" process, while set to integrated-only, and macOS switches to the dGPU for a brief amount of time, then switches back to the iGPU, and the mpv bug returns. So gSwitch won't be able to help in this matter.
An external monitor requires the dgpu and changes the program to dynamic switching. I need to figure out how to detect when an external monitor is unplugged in order to restore the last used state.
First of all, thanks for the great job to continue on this topic! ❤️
Maybe this is only an issue because I had "gfxStatus" still running while I was installing/starting "gStatus". Meanwhile I stopped "gfxStatus" and it's still switching to discrete even when "Integrated only" is setup.
Is is related to the fact that I didn't restarted my machine yet?
Starting a hungry process switches to discrete GPU when integrated is forced (macOS 10.14.2 Beta 18C48a):
Quitting the process leaves the GPU at discrete with no way to switch back to integrated.
Edit: Seems like something with the states gets messed up as gfxCardStatus switches between modes without actually doing anything after this occurring.
Edit2: Sleeping and waking the device allows for the GPU to be changed again.
The ''Start at login'' option does not work. I have to start it manually.
MBP 2012 gt650m non retina
osx 10.13.6 up to date
Repeatedly showing the box is annoying so if users change often they can use checkbox to not show the error again.
need to switch user over to dynamic when they plug in a display
When I'm on "Integrated Only" mode and connect to Airplay display, gSwitch changes to dynamic switching mode. This causes all the currently running "hungry" apps to become dependancies. I understand that connecting a physical external display requires high perf. GPU, but the Airplay display feature on MacOS doesn't require the high perf. GPU at all (it runs off the video decoders on the iGPU and doesn't turn on the high perf. GPU)
If possible, please could you implement a way for gSwitch to stay on integrated only mode when Airplay display is connected, instead of changing to dynamic switching? Thanks! :)
Currently the only way to change it is the first time the app is opened.
App sometimes fails to start at login for some users on macOS 10.14.
Probably need to remove the secondary launcher app and replace it with the proper way to do start at login now.
Duplicate of #31
Hi,
I was using this all fine for over 4 months however after 15.4 catalina update the system started to reboot on waking from sleep. Somwehere it was crashing after going in deep sleep state due to a kernel panic.
After testing and switching on and off all the kernels installed. I isolated the problem to Gswitch. After disbling it now all my issues with Sleep are gone. I think app needs to be updated.
I can submit kernel panic logs if req to diagnose.
I'm thinking about adding French and German localizations to gSwitch. Would it be possible for you to already add the necessary additional (untranslated) Interface ressources to the development branch, so that (pull request) contributors would only need to replace the strings? - Thank you.
Display callback gets called way to many times and sometimes causes a gpu restart. Redesign display callback to use RxSwift observables and throttle the amount of "requests". Also a couple unnecessary calls to getGPUState.
Night Shift doesn't kick in when using Discrete Only.
Plus, if Night Shift is active by any chance, it gets disabled by itself when screen is locked (and slept) and came back.
If integrated only was set but overridden by a connected display, and then the mac is closed and reopened again it attempts to go back to integrated only, which causes an unnecessary warning.
As per issue #150 of the gfxCardStatus project, it would be great to have gSwitch either remember the last setting (like @pajp mentions in the 2nd comment on that page, a "sticky" mode), or have a preference to implement a specific mode on launch.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.