diff --git a/minui/graphics_fbdev.cpp b/minui/graphics_fbdev.cpp
index 4da5613..93e4420 100644
--- a/minui/graphics_fbdev.cpp
+++ b/minui/graphics_fbdev.cpp
@@ -28,6 +28,8 @@
 
 #include <memory>
 
+#include <android-base/unique_fd.h>
+
 #include "minui/minui.h"
 
 std::unique_ptr<GRSurfaceFbdev> GRSurfaceFbdev::Create(int width, int height, int row_bytes,
@@ -54,7 +56,7 @@
 }
 
 GRSurface* MinuiBackendFbdev::Init() {
-  int fd = open("/dev/graphics/fb0", O_RDWR);
+  android::base::unique_fd fd(open("/dev/graphics/fb0", O_RDWR));
   if (fd == -1) {
     perror("cannot open fb0");
     return nullptr;
@@ -63,13 +65,11 @@
   fb_fix_screeninfo fi;
   if (ioctl(fd, FBIOGET_FSCREENINFO, &fi) < 0) {
     perror("failed to get fb0 info");
-    close(fd);
     return nullptr;
   }
 
   if (ioctl(fd, FBIOGET_VSCREENINFO, &vi) < 0) {
     perror("failed to get fb0 info");
-    close(fd);
     return nullptr;
   }
 
@@ -96,7 +96,6 @@
   void* bits = mmap(0, fi.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
   if (bits == MAP_FAILED) {
     perror("failed to mmap framebuffer");
-    close(fd);
     return nullptr;
   }
 
@@ -128,10 +127,10 @@
 
   gr_draw = gr_framebuffer[1].get();
   memset(gr_draw->buffer_, 0, gr_draw->height * gr_draw->row_bytes);
-  fb_fd = fd;
+  fb_fd = std::move(fd);
   SetDisplayedFramebuffer(0);
 
-  printf("framebuffer: %d (%d x %d)\n", fb_fd, gr_draw->width, gr_draw->height);
+  printf("framebuffer: %d (%d x %d)\n", fb_fd.get(), gr_draw->width, gr_draw->height);
 
   Blank(true);
   Blank(false);
@@ -151,9 +150,3 @@
   }
   return gr_draw;
 }
-
-MinuiBackendFbdev::~MinuiBackendFbdev() {
-  if (fb_fd != -1) {
-    close(fb_fd);
-  }
-}
diff --git a/minui/graphics_fbdev.h b/minui/graphics_fbdev.h
index 934e584..016ab88 100644
--- a/minui/graphics_fbdev.h
+++ b/minui/graphics_fbdev.h
@@ -22,6 +22,8 @@
 #include <memory>
 #include <vector>
 
+#include <android-base/unique_fd.h>
+
 #include "graphics.h"
 #include "minui/minui.h"
 
@@ -48,7 +50,7 @@
 class MinuiBackendFbdev : public MinuiBackend {
  public:
   MinuiBackendFbdev() = default;
-  ~MinuiBackendFbdev() override;
+  ~MinuiBackendFbdev() override = default;
 
   GRSurface* Init() override;
   GRSurface* Flip() override;
@@ -64,5 +66,5 @@
   std::vector<uint8_t> memory_buffer;
   size_t displayed_buffer{ 0 };
   fb_var_screeninfo vi;
-  int fb_fd{ -1 };
+  android::base::unique_fd fb_fd;
 };
