diff --git a/common/end2end/Android.bp b/common/end2end/Android.bp
index c2fcddb..4ec4200 100644
--- a/common/end2end/Android.bp
+++ b/common/end2end/Android.bp
@@ -38,12 +38,12 @@
         "libGLESv2_emulation_with_host",
     ],
     shared_libs: [
-        "libandroidemu",
         "libOpenglSystemCommonWithHost",
         "liblog",
         "libvirtgpu_kumquat_ffi",
     ],
     static_libs: [
+        "libgfxstream_androidemu_static",
         "libgfxstream_common_image",
         "libgfxstream_common_utils",
         "libgfxstream_guest_android_with_host",
diff --git a/guest/GLESv1/Android.bp b/guest/GLESv1/Android.bp
index 166e5bd..ac884a5 100644
--- a/guest/GLESv1/Android.bp
+++ b/guest/GLESv1/Android.bp
@@ -26,6 +26,9 @@
     defaults: [
         "libgfxstream_guest_cc_defaults",
     ],
+    header_libs: [
+        "libgfxstream_egl_headers",
+    ],
     shared_libs: [
         "liblog",
         "lib_renderControl_enc",
diff --git a/guest/GLESv1_enc/Android.bp b/guest/GLESv1_enc/Android.bp
index 2489667..ec3925e 100644
--- a/guest/GLESv1_enc/Android.bp
+++ b/guest/GLESv1_enc/Android.bp
@@ -30,8 +30,10 @@
         "libgfxstream_guest_graphics_headers",
         "libgfxstream_guest_iostream",
     ],
+    static_libs: [
+        "libgfxstream_androidemu_static",
+    ],
     shared_libs: [
-        "libandroidemu",
         "liblog",
         "libOpenglCodecCommon",
     ],
diff --git a/guest/GLESv2/Android.bp b/guest/GLESv2/Android.bp
index f4728d5..cd921dd 100644
--- a/guest/GLESv2/Android.bp
+++ b/guest/GLESv2/Android.bp
@@ -26,6 +26,12 @@
     defaults: [
         "libgfxstream_guest_cc_defaults",
     ],
+    header_libs: [
+        "libgfxstream_egl_headers",
+    ],
+    static_libs: [
+        "libgfxstream_androidemu_static",
+    ],
     shared_libs: [
         "liblog",
         "lib_renderControl_enc",
diff --git a/guest/GLESv2_enc/Android.bp b/guest/GLESv2_enc/Android.bp
index 0ea4aeb..5ed3b0f 100644
--- a/guest/GLESv2_enc/Android.bp
+++ b/guest/GLESv2_enc/Android.bp
@@ -45,7 +45,6 @@
         "libgfxstream_guest_iostream",
     ],
     shared_libs: [
-        "libandroidemu",
         "liblog",
         "libOpenglCodecCommon",
     ],
@@ -53,6 +52,7 @@
         "libOpenglCodecCommon",
     ],
     static_libs: [
+        "libgfxstream_androidemu_static",
         "libgfxstream_gles2_encoder_program_binary_proto",
         "libprotobuf-cpp-lite",
     ],
diff --git a/guest/OpenglSystemCommon/Android.bp b/guest/OpenglSystemCommon/Android.bp
index a7d9dc1..1f867f2 100644
--- a/guest/OpenglSystemCommon/Android.bp
+++ b/guest/OpenglSystemCommon/Android.bp
@@ -116,10 +116,8 @@
     defaults: [
         "libOpenglSystemCommonDefaults",
     ],
-    shared_libs: [
-        "libandroidemu",
-    ],
     static_libs: [
+        "libgfxstream_androidemu_static",
         "libgfxstream_guest_android",
         "libmesa_util_gfxstream",
         "libmesa_util_c11_gfxstream",
@@ -146,10 +144,10 @@
         "libOpenglSystemCommonDefaults",
     ],
     shared_libs: [
-        "libandroidemu",
         "libvirtgpu_kumquat_ffi",
     ],
     static_libs: [
+        "libgfxstream_androidemu_static",
         "libgfxstream_guest_android_with_host",
         "libgfxstream_guest_vulkan_encoder_with_host",
         "libmesa_util_gfxstream",
diff --git a/guest/OpenglSystemCommon/HostConnection.cpp b/guest/OpenglSystemCommon/HostConnection.cpp
index be8a733..9ce74da 100644
--- a/guest/OpenglSystemCommon/HostConnection.cpp
+++ b/guest/OpenglSystemCommon/HostConnection.cpp
@@ -69,14 +69,9 @@
 #include "VirtioGpuPipeStream.h"
 
 #if defined(__linux__) || defined(__ANDROID__)
-#include "virtgpu_drm.h"
 #include <fstream>
 #include <string>
 #include <unistd.h>
-
-static const size_t kPageSize = getpagesize();
-#else
-constexpr size_t kPageSize = PAGE_SIZE;
 #endif
 
 #undef LOG_TAG
@@ -84,7 +79,6 @@
 #include <cutils/log.h>
 
 #define STREAM_BUFFER_SIZE  (4*1024*1024)
-#define STREAM_PORT_NUM     22468
 
 constexpr const auto kEglProp = "ro.hardware.egl";
 
@@ -323,7 +317,7 @@
 GLEncoder *HostConnection::glEncoder()
 {
     if (!m_glEnc) {
-        m_glEnc = std::make_unique<GLEncoder>(m_stream, checksumHelper());
+        m_glEnc = std::make_unique<GLEncoder>(m_stream, &m_checksumHelper);
         DBG("HostConnection::glEncoder new encoder %p, tid %lu", m_glEnc, getCurrentThreadId());
         m_glEnc->setContextAccessor(s_getGLContext);
     }
@@ -333,8 +327,7 @@
 GL2Encoder *HostConnection::gl2Encoder()
 {
     if (!m_gl2Enc) {
-        m_gl2Enc =
-            std::make_unique<GL2Encoder>(m_stream, checksumHelper());
+        m_gl2Enc = std::make_unique<GL2Encoder>(m_stream, &m_checksumHelper);
         DBG("HostConnection::gl2Encoder new encoder %p, tid %lu", m_gl2Enc, getCurrentThreadId());
         m_gl2Enc->setContextAccessor(s_getGL2Context);
         m_gl2Enc->setNoHostError(m_noHostError);
@@ -356,8 +349,7 @@
 ExtendedRCEncoderContext *HostConnection::rcEncoder()
 {
     if (!m_rcEnc) {
-        m_rcEnc = std::make_unique<ExtendedRCEncoderContext>(m_stream,
-                                                             checksumHelper());
+        m_rcEnc = std::make_unique<ExtendedRCEncoderContext>(m_stream, &m_checksumHelper);
 
         ExtendedRCEncoderContext* rcEnc = m_rcEnc.get();
         setChecksumHelper(rcEnc);
diff --git a/guest/OpenglSystemCommon/HostConnection.h b/guest/OpenglSystemCommon/HostConnection.h
index bb09e76..be01b18 100644
--- a/guest/OpenglSystemCommon/HostConnection.h
+++ b/guest/OpenglSystemCommon/HostConnection.h
@@ -136,10 +136,6 @@
     gfxstream::vk::VkEncoder *vkEncoder();
     ExtendedRCEncoderContext *rcEncoder();
 
-    int getRendernodeFd() { return m_rendernodeFd; }
-
-    gfxstream::guest::ChecksumCalculator *checksumHelper() { return &m_checksumHelper; }
-
 #if defined(ANDROID)
     gfxstream::ANativeWindowHelper* anwHelper() { return m_anwHelper.get(); }
     gfxstream::Gralloc* grallocHelper() { return m_grallocHelper.get(); }
diff --git a/guest/android-emu/aemu/base/Tracing.cpp b/guest/android-emu/aemu/base/Tracing.cpp
index c651759..c53d988 100644
--- a/guest/android-emu/aemu/base/Tracing.cpp
+++ b/guest/android-emu/aemu/base/Tracing.cpp
@@ -31,35 +31,18 @@
 namespace guest {
 
 bool isTracingEnabled() {
-#if defined(__ANDROID__)
-    return atrace_is_tag_enabled(TRACE_TAG);
-#else
     // TODO: Fuchsia + Linux
     return false;
-#endif
 }
 
 void ScopedTraceGuest::beginTraceImpl(const char* name) {
-#if defined(__ANDROID__)
-    atrace_begin(TRACE_TAG, name);
-#elif defined(__Fuchsia__) && !defined(FUCHSIA_NO_TRACE)
-    TRACE_DURATION_BEGIN(TRACE_TAG, name);
-#else
     // No-op
     (void)name;
-#endif
 }
 
 void ScopedTraceGuest::endTraceImpl(const char* name) {
-#if defined(__ANDROID__)
-    (void)name;
-    atrace_end(TRACE_TAG);
-#elif defined(__Fuchsia__) && !defined(FUCHSIA_NO_TRACE)
-    TRACE_DURATION_END(TRACE_TAG, name);
-#else
     // No-op
     (void)name;
-#endif
 }
 
 } // namespace base
diff --git a/guest/egl/Android.bp b/guest/egl/Android.bp
index 3b07122..1cd8c71 100644
--- a/guest/egl/Android.bp
+++ b/guest/egl/Android.bp
@@ -19,6 +19,15 @@
     default_applicable_licenses: ["hardware_google_gfxstream_license"],
 }
 
+cc_library_headers {
+    host_supported: true,
+    vendor: true,
+    name: "libgfxstream_egl_headers",
+    export_include_dirs: [
+        ".",
+    ],
+}
+
 cc_defaults {
     name: "libgfxstream_guest_egl_defaults",
     host_supported: true,
@@ -34,13 +43,13 @@
         "libgfxstream_guest_graphics_headers",
     ],
     shared_libs: [
-        "libandroidemu",
         "libcutils",
         "libdrm",
         "liblog",
         "libOpenglCodecCommon",
     ],
     static_libs: [
+        "libgfxstream_androidemu_static",
         "libarect",
         "libqemupipe.ranchu",
     ],
diff --git a/guest/OpenglSystemCommon/EGLClientIface.h b/guest/egl/EGLClientIface.h
similarity index 100%
rename from guest/OpenglSystemCommon/EGLClientIface.h
rename to guest/egl/EGLClientIface.h
diff --git a/guest/OpenglSystemCommon/EGLImage.h b/guest/egl/EGLImage.h
similarity index 100%
rename from guest/OpenglSystemCommon/EGLImage.h
rename to guest/egl/EGLImage.h
diff --git a/guest/qemupipe/Android.bp b/guest/qemupipe/Android.bp
index b199e34..4fbd9e5 100644
--- a/guest/qemupipe/Android.bp
+++ b/guest/qemupipe/Android.bp
@@ -32,21 +32,10 @@
     vendor_available: true,
     srcs: [
         "qemu_pipe_common.cpp",
+        "qemu_pipe_guest.cpp",
     ],
     header_libs: ["libqemupipe-types.ranchu"],
     export_header_lib_headers: ["libqemupipe-types.ranchu"],
     shared_libs: ["liblog"],
     export_include_dirs: ["include"],
-    target: {
-        android: {
-            srcs: [
-                "qemu_pipe_guest.cpp",
-            ],
-        },
-        host: {
-            srcs: [
-                "qemu_pipe_stub.cpp",
-            ],
-        },
-    },
 }
diff --git a/guest/qemupipe/qemu_pipe_stub.cpp b/guest/qemupipe/qemu_pipe_stub.cpp
deleted file mode 100644
index 0e1c14d..0000000
--- a/guest/qemupipe/qemu_pipe_stub.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (C) 2023 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-extern "C" {
-
-int qemu_pipe_open_ns(const char*, const char*, int) {
-    return -1;
-}
-
-int qemu_pipe_open(const char*) {
-    return -1;
-}
-
-void qemu_pipe_close(int) {
-}
-
-int qemu_pipe_read(int, void*, int) {
-    return -1;
-}
-
-int qemu_pipe_write(int, const void*, int) {
-    return -1;
-}
-
-int qemu_pipe_try_again(int) {
-    return -1;
-}
-
-void qemu_pipe_print_error(int) {
-}
-
-}  // extern "C"
\ No newline at end of file
diff --git a/guest/renderControl_enc/Android.bp b/guest/renderControl_enc/Android.bp
index 5f346a3..c58a292 100644
--- a/guest/renderControl_enc/Android.bp
+++ b/guest/renderControl_enc/Android.bp
@@ -46,8 +46,10 @@
         "libgfxstream_guest_graphics_headers",
         "libgfxstream_guest_iostream",
     ],
+    static_libs: [
+        "libgfxstream_androidemu_static",
+    ],
     shared_libs: [
-        "libandroidemu",
         "liblog",
         "libOpenglCodecCommon",
     ],
