diff --git a/ugfx b/ugfx
index e221a69061..314a066d11 160000
--- a/ugfx
+++ b/ugfx
@@ -1 +1 @@
-Subproject commit e221a690616e20f87e0b0088baffdbd5427be862
+Subproject commit 314a066d11f09d295d42054a0b53fa1a95c0ba0a
diff --git a/visualizer.mk b/visualizer.mk
index 5cc199cf48..c51f8ba5d4 100644
--- a/visualizer.mk
+++ b/visualizer.mk
@@ -21,7 +21,9 @@
 # SOFTWARE.
 
 GFXLIB = $(VISUALIZER_DIR)/ugfx
+ifndef EMULATOR
 SRC += $(VISUALIZER_DIR)/visualizer.c
+endif
 UINCDIR += $(GFXINC) $(VISUALIZER_DIR)
 
 ifdef LCD_ENABLE
@@ -45,9 +47,13 @@ endif
 ifdef USE_UGFX
 include $(GFXLIB)/gfx.mk
 SRC += $(GFXSRC)
+UDEFS += $(patsubst %,-D%,$(patsubst -D%,%,$(GFXDEFS)))
+ULIBS += $(patsubst %,-l%,$(patsubst -l%,%,$(GFXLIBS)))
 endif
 
 ifndef VISUALIZER_USER
+ifndef EMULATOR
 VISUALIZER_USER = visualizer_user.c
 endif
+endif
 SRC += $(VISUALIZER_USER)
\ No newline at end of file