diff --git a/drmhwctwo.cpp b/drmhwctwo.cpp
index 138f5fa..e57d842 100644
--- a/drmhwctwo.cpp
+++ b/drmhwctwo.cpp
@@ -319,8 +319,13 @@
 HWC2::Error DrmHwcTwo::HwcDisplay::GetColorModes(uint32_t *num_modes,
                                                  int32_t *modes) {
   supported(__func__);
-  // TODO: android_color_mode_t isn't defined yet!
-  return unsupported(__func__, num_modes, modes);
+  if (!modes)
+    *num_modes = 1;
+
+  if (modes)
+    *modes = HAL_COLOR_MODE_NATIVE;
+
+  return HWC2::Error::None;
 }
 
 HWC2::Error DrmHwcTwo::HwcDisplay::GetDisplayAttribute(hwc2_config_t config,
@@ -630,8 +635,12 @@
 
 HWC2::Error DrmHwcTwo::HwcDisplay::SetColorMode(int32_t mode) {
   supported(__func__);
-  // TODO: android_color_mode_t isn't defined yet!
-  return unsupported(__func__, mode);
+
+  if (mode != HAL_COLOR_MODE_NATIVE)
+    return HWC2::Error::Unsupported;
+
+  color_mode_ = mode;
+  return HWC2::Error::None;
 }
 
 HWC2::Error DrmHwcTwo::HwcDisplay::SetColorTransform(const float *matrix,
@@ -706,8 +715,9 @@
 
 HWC2::Error DrmHwcTwo::HwcLayer::SetCursorPosition(int32_t x, int32_t y) {
   supported(__func__);
-  // TODO: Implement proper cursor support
-  return unsupported(__func__, x, y);
+  cursor_x_ = x;
+  cursor_y_ = y;
+  return HWC2::Error::None;
 }
 
 HWC2::Error DrmHwcTwo::HwcLayer::SetLayerBlendMode(int32_t mode) {
diff --git a/drmhwctwo.h b/drmhwctwo.h
index 038412d..0490e2a 100644
--- a/drmhwctwo.h
+++ b/drmhwctwo.h
@@ -118,6 +118,8 @@
     hwc_rect_t display_frame_;
     float alpha_ = 1.0f;
     hwc_frect_t source_crop_;
+    int32_t cursor_x_;
+    int32_t cursor_y_;
     HWC2::Transform transform_ = HWC2::Transform::None;
     uint32_t z_order_ = 0;
     android_dataspace_t dataspace_ = HAL_DATASPACE_UNKNOWN;
@@ -205,6 +207,7 @@
     HwcLayer client_layer_;
     UniqueFd retire_fence_;
     UniqueFd next_retire_fence_;
+    int32_t color_mode_;
 
     uint32_t frame_no_ = 0;
   };
