diff --git a/guest/BUILD.gn b/guest/BUILD.gn
index e04d060..520a365 100644
--- a/guest/BUILD.gn
+++ b/guest/BUILD.gn
@@ -19,7 +19,6 @@
     "VK_GFXSTREAM_STRUCTURE_TYPE_EXT",
     "VK_USE_PLATFORM_FUCHSIA",
     "PAGE_SIZE=4096",
-    "VIRTIO_GPU=1",
   ]
 
   include_dirs = [
diff --git a/guest/GLESv1/Android.bp b/guest/GLESv1/Android.bp
index ca8bdc2..166e5bd 100644
--- a/guest/GLESv1/Android.bp
+++ b/guest/GLESv1/Android.bp
@@ -34,7 +34,6 @@
     cflags: [
         "-DGL_GLEXT_PROTOTYPES",
         "-DLOG_TAG=\"GLES_emulation\"",
-        "-DVIRTIO_GPU",
     ],
     srcs: [
         "gl.cpp",
@@ -72,4 +71,4 @@
             compile_multilib: "64",
         },
     },
-}
\ No newline at end of file
+}
diff --git a/guest/GLESv1_enc/Android.bp b/guest/GLESv1_enc/Android.bp
index 0a50adc..2489667 100644
--- a/guest/GLESv1_enc/Android.bp
+++ b/guest/GLESv1_enc/Android.bp
@@ -41,7 +41,6 @@
     cflags: [
         "-DGL_GLEXT_PROTOTYPES",
         "-DLOG_TAG=\"emuglGLESv1_enc\"",
-        "-DVIRTIO_GPU",
     ],
     srcs: [
         "GLEncoder.cpp",
diff --git a/guest/GLESv2/Android.bp b/guest/GLESv2/Android.bp
index c80c148..f4728d5 100644
--- a/guest/GLESv2/Android.bp
+++ b/guest/GLESv2/Android.bp
@@ -34,7 +34,6 @@
     cflags: [
         "-DGL_GLEXT_PROTOTYPES",
         "-DLOG_TAG=\"GLESv2_emulation\"",
-        "-DVIRTIO_GPU",
     ],
     srcs: [
         "gl2.cpp",
diff --git a/guest/GLESv2_enc/Android.bp b/guest/GLESv2_enc/Android.bp
index d719d3b..f72c41f 100644
--- a/guest/GLESv2_enc/Android.bp
+++ b/guest/GLESv2_enc/Android.bp
@@ -41,7 +41,6 @@
     cflags: [
         "-DGL_GLEXT_PROTOTYPES",
         "-DLOG_TAG=\"emuglGLESv2_enc\"",
-        "-DVIRTIO_GPU",
         "-Wno-unused-private-field",
     ],
     srcs: [
@@ -56,4 +55,4 @@
     export_include_dirs: [
         ".",
     ],
-}
\ No newline at end of file
+}
diff --git a/guest/GoldfishAddressSpace/Android.bp b/guest/GoldfishAddressSpace/Android.bp
index 8ea4aa7..018ff9a 100644
--- a/guest/GoldfishAddressSpace/Android.bp
+++ b/guest/GoldfishAddressSpace/Android.bp
@@ -27,7 +27,6 @@
     ],
     cflags: [
         "-DLOG_TAG=\"goldfish-address-space\"",
-        "-DVIRTIO_GPU",
     ],
     include_dirs: [
         "hardware/google/gfxstream/guest/include",
diff --git a/guest/OpenglSystemCommon/Android.bp b/guest/OpenglSystemCommon/Android.bp
index 81b6240..0cf3aaa 100644
--- a/guest/OpenglSystemCommon/Android.bp
+++ b/guest/OpenglSystemCommon/Android.bp
@@ -44,9 +44,6 @@
     export_shared_lib_headers: [
         "lib_renderControl_enc",
     ],
-    cflags: [
-        "-DVIRTIO_GPU",
-    ],
     export_include_dirs: [
         ".",
     ],
@@ -121,7 +118,6 @@
         "libgfxstream_guest_gralloc",
     ],
     cflags: [
-        "-DVIRTIO_GPU",
         "-Wno-unused-variable",
         "-Wno-unused-parameter",
     ],
diff --git a/guest/OpenglSystemCommon/GrallocMinigbm.cpp b/guest/OpenglSystemCommon/GrallocMinigbm.cpp
index 04a9caa..a4057c8 100644
--- a/guest/OpenglSystemCommon/GrallocMinigbm.cpp
+++ b/guest/OpenglSystemCommon/GrallocMinigbm.cpp
@@ -27,7 +27,7 @@
 
 #include "virtgpu_drm.h"
 
-#if defined(PAGE_SIZE) && defined(VIRTIO_GPU)
+#if defined(PAGE_SIZE)
 constexpr size_t kPageSize = PAGE_SIZE;
 #else
 #include <unistd.h>
diff --git a/guest/OpenglSystemCommon/HostConnection.cpp b/guest/OpenglSystemCommon/HostConnection.cpp
index de656b7..0415e05 100644
--- a/guest/OpenglSystemCommon/HostConnection.cpp
+++ b/guest/OpenglSystemCommon/HostConnection.cpp
@@ -90,14 +90,10 @@
 
 using gfxstream::guest::getCurrentThreadId;
 
-#ifdef VIRTIO_GPU
-
 #include "VirtGpu.h"
 #include "VirtioGpuPipeStream.h"
 #include "virtgpu_drm.h"
 
-#endif
-
 #if defined(__linux__) || defined(__ANDROID__)
 #include <fstream>
 #include <string>
@@ -288,7 +284,6 @@
             break;
         }
 #endif
-#if defined(VIRTIO_GPU) && !defined(HOST_BUILD)
         case HOST_CONNECTION_VIRTIO_GPU_PIPE: {
             auto stream = new VirtioGpuPipeStream(STREAM_BUFFER_SIZE);
             if (!stream) {
@@ -353,7 +348,6 @@
 #endif
             break;
         }
-#endif // !VIRTIO_GPU && !HOST_BUILD_
         default:
             break;
     }
diff --git a/guest/egl/Android.bp b/guest/egl/Android.bp
index 4c1d603..7a1819b 100644
--- a/guest/egl/Android.bp
+++ b/guest/egl/Android.bp
@@ -48,7 +48,6 @@
         "-DGL_GLEXT_PROTOTYPES",
         "-DEGL_EGLEXT_PROTOTYPES",
         "-DLOG_TAG=\"EGL_emulation\"",
-        "-DVIRTIO_GPU",
         "-DWITH_GLES2",
         "-Wno-gnu-designator",
     ],
diff --git a/guest/egl/egl.cpp b/guest/egl/egl.cpp
index fcdcc45..95b82f9 100644
--- a/guest/egl/egl.cpp
+++ b/guest/egl/egl.cpp
@@ -42,14 +42,11 @@
 
 #include <GLES3/gl31.h>
 
-#ifdef VIRTIO_GPU
 #include <xf86drm.h>
 #include <poll.h>
 #include "VirtGpu.h"
 #include "virtgpu_drm.h"
 
-#endif // VIRTIO_GPU
-
 #include "aemu/base/Tracing.h"
 #include <cutils/trace.h>
 
@@ -627,10 +624,6 @@
     bool destroy_when_signaled,
     int fd_in,
     int* fd_out) {
-#ifndef VIRTIO_GPU
-    ALOGE("%s: Error: called with no virtio-gpu support built in\n", __func__);
-    return 0;
-#else
     DEFINE_HOST_CONNECTION;
 
     uint64_t sync_handle;
@@ -685,7 +678,6 @@
     }
 
     return sync_handle;
-#endif
 }
 
 // createGoldfishOpenGLNativeSync() is for creating host-only sync objects
diff --git a/guest/meson.build b/guest/meson.build
index 3aa5f58..6bc5bd5 100644
--- a/guest/meson.build
+++ b/guest/meson.build
@@ -17,8 +17,6 @@
 #===============#
 gfxstream_guest_args = []
 
-# Paravirtualization moving towards virtio
-gfxstream_guest_args += '-DVIRTIO_GPU'
 # Our internal guest build
 gfxstream_guest_args += '-DLINUX_GUEST_BUILD'
 # Don't want to goldfish OpenGL
diff --git a/guest/platform/linux/LinuxVirtGpuDevice.cpp b/guest/platform/linux/LinuxVirtGpuDevice.cpp
index a54abfc..569e02e 100644
--- a/guest/platform/linux/LinuxVirtGpuDevice.cpp
+++ b/guest/platform/linux/LinuxVirtGpuDevice.cpp
@@ -34,13 +34,6 @@
 #define PARAM(x) \
     (struct VirtGpuParam) { x, #x, 0 }
 
-#if defined(PAGE_SIZE) && defined(VIRTIO_GPU)
-constexpr size_t kPageSize = PAGE_SIZE;
-#else
-#include <unistd.h>
-static const size_t kPageSize = getpagesize();
-#endif
-
 static inline uint32_t align_up(uint32_t n, uint32_t a) { return ((n + a - 1) / a) * a; }
 
 LinuxVirtGpuDevice::LinuxVirtGpuDevice(enum VirtGpuCapset capset, int fd) : VirtGpuDevice(capset) {
diff --git a/guest/renderControl_enc/Android.bp b/guest/renderControl_enc/Android.bp
index 5a296ce..2ffb2b4 100644
--- a/guest/renderControl_enc/Android.bp
+++ b/guest/renderControl_enc/Android.bp
@@ -42,7 +42,6 @@
         "libOpenglCodecCommon",
     ],
     cflags: [
-        "-DVIRTIO_GPU",
         "-Wno-unused-function",
     ],
     srcs: [
diff --git a/guest/vulkan_enc/Android.bp b/guest/vulkan_enc/Android.bp
index 031ebad..f129878 100644
--- a/guest/vulkan_enc/Android.bp
+++ b/guest/vulkan_enc/Android.bp
@@ -143,7 +143,6 @@
     ],
     cflags: [
         "-DLOG_TAG=\"goldfish_vulkan\"",
-        "-DVIRTIO_GPU",
         "-DVK_ANDROID_native_buffer",
         "-DVK_EXT_device_memory_report",
         "-DVK_GOOGLE_gfxstream",
