            # Whether we're a traditional desktop unix.
            ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris") and chromeos==0', {
              'desktop_linux%': 1,
+diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegate.cc
+index 08b9e43..c178799 100644
+--- a/chrome/app/chrome_main_delegate.cc
++++ b/chrome/app/chrome_main_delegate.cc
+@@ -100,6 +100,9 @@
+ #include "chrome/app/breakpad_linux.h"
+ #endif
+
++#include "ozone/impl/ozone_display.h"
++#include "ozone/impl/desktop_factory_wayland.h"
++
+ #if !defined(CHROME_MULTIPLE_DLL_CHILD)
+ base::LazyInstance<chrome::ChromeContentBrowserClient>
+     g_chrome_content_browser_client = LAZY_INSTANCE_INITIALIZER;
+@@ -589,6 +592,12 @@ void ChromeMainDelegate::PreSandboxStartup() {
+   std::string process_type =
+       command_line.GetSwitchValueASCII(switches::kProcessType);
+
++  /* TODO: Implementation specific. Has to go away */
++  ui::SurfaceFactoryOzone *o_factory = new ozonewayland::OzoneDisplay();
++  ui::SurfaceFactoryOzone::SetInstance(o_factory);
++  views::DesktopFactoryOzone *d_factory = new ozonewayland::DesktopFactoryWayland();
++  views::DesktopFactoryOzone::SetInstance(d_factory);
++
+ #if defined(OS_POSIX)
+   breakpad::SetBreakpadClient(g_chrome_breakpad_client.Pointer());
+ #endif
 diff --git a/content/shell/app/shell_main_delegate.cc b/content/shell/app/shell_main_delegate.cc
 index b5fbb8e..3da824f 100644
 --- a/content/shell/app/shell_main_delegate.cc


This is patch is a hack and in principle shouldn't be extended much.
---
 build/common.gypi                        |    6 ++++++
 content/shell/app/shell_main_delegate.cc |   15 +++++++++++++++
 ui/aura/aura.gyp                         |    5 +++++
 ui/aura/demo/demo_main.cc                |    9 +++++++++
 4 files changed, 35 insertions(+)

diff --git a/build/common.gypi b/build/common.gypi
index 768f3c3..d894bba 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -143,6 +143,12 @@

 
 int ShellMainDelegate::RunProcess(
diff --git a/ui/aura/aura.gyp b/ui/aura/aura.gyp
index c2983e9..92eb27e 100644
--- a/ui/aura/aura.gyp
+++ b/ui/aura/aura.gyp
@@ -116,6 +116,11 @@
             '../../ipc/ipc.gyp:ipc',
           ],
         }],
