diff --git a/rutabaga_gfx/Android.bp b/rutabaga_gfx/Android.bp
index ab64209dd..1795150d6 100644
--- a/rutabaga_gfx/Android.bp
+++ b/rutabaga_gfx/Android.bp
@@ -23,7 +23,6 @@ rust_library {
     edition: "2021",
     features: [
         "gfxstream",
-        "gfxstream_stub",
         "virgl_renderer",
     ],
     rustlibs: [
@@ -37,16 +36,82 @@ rust_library {
         "libzerocopy",
     ],
     proc_macros: ["libremain"],
-    static_libs: [
-        "libgbm",
-        "libvirglrenderer",
+    cfgs: [
+        "gfxstream_unstable",
     ],
     shared_libs: [
-        "libdrm",
+        "libc++",
+        "libbase",
+    ],
+    target: {
+        android: {
+            shared_libs: [
+                "libnativewindow",
+                "libcutils",
+                "liblog",
+            ],
+        },
+        host: {
+            features: ["vulkano"],
+            rustlibs: [
+                "libvulkano",
+            ],
+        },
+    },
+    static_libs: [
         "libepoxy",
+        "libgfxstream_backend",
+        "libvirglrenderer",
     ],
 }
 
+rust_library {
+    name: "librutabaga_gfx_gfxstream",
+    host_supported: true,
+    vendor_available: true,
+    crate_name: "rutabaga_gfx",
+    cargo_env_compat: true,
+    cargo_pkg_version: "0.1.2",
+    srcs: ["src/lib.rs"],
+    edition: "2021",
+    rustlibs: [
+        "libcfg_if",
+        "liblibc",
+        "liblog_rust",
+        "libnix",
+        "libserde",
+        "libserde_json",
+        "libthiserror",
+        "libzerocopy",
+    ],
+    proc_macros: ["libremain"],
+    target: {
+        host: {
+            cfgs: [
+                "fence_passing_option1",
+                "gfxstream_unstable",
+            ],
+            features: [
+                "gfxstream",
+                "vulkano",
+            ],
+            shared_libs: [
+                "libgfxstream_backend",
+            ],
+            compile_multilib: "64",
+            rustlibs: [
+                "libvulkano",
+            ],
+        },
+        android: {
+            cfgs: [
+                "fence_passing_option1",
+                "gfxstream_unstable",
+            ],
+        },
+    },
+}
+
 rust_test {
     name: "rutabaga_gfx_test_src_lib",
     defaults: ["crosvm_inner_defaults"],
@@ -63,7 +126,6 @@ rust_test {
     edition: "2021",
     features: [
         "gfxstream",
-        "gfxstream_stub",
         "virgl_renderer",
     ],
     rustlibs: [
@@ -77,12 +139,9 @@ rust_test {
         "libzerocopy",
     ],
     proc_macros: ["libremain"],
-    static_libs: [
-        "libgbm",
-        "libvirglrenderer",
-    ],
     shared_libs: [
-        "libdrm",
         "libepoxy",
+        "libgfxstream_backend",
+        "libvirglrenderer",
     ],
 }
