# \[Question\] Is it possible to set SDL2 to use integrated graphics only?

**URL:** <https://discourse.libsdl.org/t/question-is-it-possible-to-set-sdl2-to-use-integrated-graphics-only/23929>\
**Category:** SDL Development\
**Created:** [February 26, 2018, 1:28am UTC](https://discourse.libsdl.org/t/question-is-it-possible-to-set-sdl2-to-use-integrated-graphics-only/23929 "2018-02-26T01:28:37Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![icculus](https://discourse.libsdl.org/user_avatar/discourse.libsdl.org/icculus/32/81_2.png) [@icculus](https://discourse.libsdl.org/u/icculus)\
**Post date:** [September 11, 2018, 3:34am UTC](https://discourse.libsdl.org/t/question-is-it-possible-to-set-sdl2-to-use-integrated-graphics-only/23929/4 "2018-09-11T03:34:56Z")

</div>

In general, you can set NSSupportsAutomaticGraphicsSwitching in your Info.plist and stay on the integrated GPU.

This explains the various complications:

[http://supermegaultragroovy.com/2016/12/10/auto-graphics-switching/](http://supermegaultragroovy.com/2016/12/10/auto-graphics-switching/)

SDL already specifies NSOpenGLPFAAllowOfflineRenderers when creating GL contexts on the Mac, which means it just needs you to add the Info.plist setting to get the Mac to select the integrated GPU

Don’t switch to the software renderer (on the Mac, we will still use OpenGL to get the software-rendered pixels to the screen, which not only means you used the CPU to render and the discrete GPU to display it, but it’ll likely be _slower_ than just using the integrated GPU for this due to bus transfers.

Metal is a whole different story, but that’s only for a (at the moment) non-default 2D render API backend.

---

_[View the full topic](https://discourse.libsdl.org/t/question-is-it-possible-to-set-sdl2-to-use-integrated-graphics-only/23929)._
