* Output of `node_modules/.bin/electron --version`: `v3.0.0`
* Operating System (Platform and Version): `Debian GNU/Linux 9.5 x86_64`
* Output of `node_modules/.bin/electron --version` on last known working Electron version (if applicable): `v2.0.10`

**Expected Behavior**
My previously working application, not concerned by any of the [breaking changes](https://github.com/electron/electron/blob/master/docs/api/breaking-changes.md#breaking-api-changes-30), still works fine after upgrading Electron to v3.

**Actual behavior**
The renderer window shows a frozen view of what was underneath it when it opened. Hitting the usual keyboard shortcut to open the devtools doesn't work. Rolling back to the latest v2.x and everything works fine again.

**To Reproduce**
Simply launch electron v3.0 without any arguments (or `-d`), even the default bundled app doesn't work.

**Screenshots**
![electron_bug](https://user-images.githubusercontent.com/24496417/45767911-c2acd880-bc3b-11e8-8f71-911c7edcc319.png)
On the left is the working default app on v2. On the right is v3. I blurred the window for privacy reasons, the point is it's showing a frozen view of my desktop.

---
**Additional Information**
Debian 9.5 x86_64.
Kernel is `4.9.0-8-amd64`.

Integrated GPU is `Intel HD Graphics 4600` on an `i5-4200H` Haswell chip.
2nd GPU is `Nvidia GeForce 850M`.

Intel driver: [`xserver-xorg-video-intel`](https://packages.debian.org/stretch/xserver-xorg-video-intel) `2:2.99.917+git20161206-1 amd64` (latest in stretch) aka default xorg handler for integrated GPUs
Nvidia driver: [`nvidia-driver`](https://packages.debian.org/stretch/nvidia-driver) `384.130-1 amd64` (also latest in stretch) aka latest closed source driver from nvidia

*Side note: I'm using [`bumblebee`](https://packages.debian.org/stretch/bumblebee) to handle the Optimus logic and switching between GPUs.*
atom/app/atom_main.cc
#include "content/public/app/sandbox_helper_win.h"
#include "sandbox/win/src/sandbox_types.h"
#elif defined(OS_LINUX)                   
#include "atom/app/atom_main_delegate.h"  
#include "content/public/app/content_main.h"
#else  
#include "atom/app/atom_library_main.h"
#endif  
#include "atom/app/node_main.h"
#include "atom/common/atom_command_line.h"
#include "base/at_exit.h"
#include "base/i18n/icu_util.h"
#include "electron/buildflags/buildflags.h"
namespace {
#if BUILDFLAG(ENABLE_RUN_AS_NODE)
const char kRunAsNode[] = "ELECTRON_RUN_AS_NODE";
#endif
bool IsEnvSet(const char* name) {
#if defined(OS_WIN)
  size_t required_size;
  getenv_s(&required_size, nullptr, 0, name);
  return required_size != 0;
#else
  char* indicator = getenv(name);
  return indicator && indicator[0] != '\0';
#endif
}
}  
#if defined(OS_WIN)
int APIENTRY wWinMain(HINSTANCE instance, HINSTANCE, wchar_t* cmd, int) {