--- a/main/main.c	2016-06-15 09:08:56.637994584 +0200
+++ b/main/main.c	2016-06-15 09:45:29.735958824 +0200
@@ -39,6 +39,7 @@
 //static int resolution = NAVI_RESOLUTION_AGL_DEMO;
 static int region     = NAVI_REGION_JAPAN;
 //static int region     = NAVI_REGION_UK;
+static int redraw     = 0;
 
 #if 1
 char *navi_config_map_db_path		= NAVI_CONFIG_PATH_JAPAN "Map/JPN/";
@@ -529,10 +530,12 @@
 //   printf("  -debug                  display debug info\n");
 #else
    printf("Usage:\n");
-   printf("  --r    [ fhd | hd | agl ]       set the resolution\n");
-   printf("                      ~~~         default\n");
-   printf("  --map  [ uk | nevada ]          set the map region\n");
-   printf("           ~~                     default\n");
+   printf("  --r       [ fhd | hd | agl ]    set the resolution\n");
+   printf("                         ~~~      default\n");
+   printf("  --map     [ uk | nevada ]       set the map region\n");
+   printf("              ~~                  default\n");
+   printf("  --redraw  [ 0 | 1 ]             force redraw\n");
+   printf("              ~                   default\n");
 #endif
 }
 
@@ -583,6 +586,12 @@
          }
          i++;
       }
+      else if (strcmp(argv[i], "--redraw") == 0) {
+         if(strcmp(argv[i+1], "1") == 0) {
+                 redraw = 1;
+         }
+         i++;
+      }
       else if (strcmp(argv[i], "--help") == 0) {
     	  printf("%s\n",X_APP_NAME_TEXT);
           usage();
@@ -662,7 +671,7 @@
 
    createGuideThread();
 
-   _temp_event_loop(glv_dpy, win, glv_map_context,glv_hmi_context);
+   _temp_event_loop(glv_dpy, win, redraw, glv_map_context,glv_hmi_context);
 
    glvDestroyNativeWindow(glv_dpy,win);
    glvCloseDisplay(glv_dpy);
--- a/glview/glview.h	2016-06-15 09:38:51.359965320 +0200
+++ b/glview/glview.h	2016-06-15 09:39:06.087965080 +0200
@@ -111,7 +111,7 @@
 int glvStartTimer(GLVContext glv_c,int id);
 int glvStopTimer(GLVContext glv_c,int id);
 
-void _temp_event_loop(GLVDisplay glv_dpy, EGLNativeWindowType win,GLVContext glv_context,GLVContext glv_hmi_c);
+void _temp_event_loop(GLVDisplay glv_dpy, EGLNativeWindowType win, int redraw, GLVContext glv_context,GLVContext glv_hmi_c);
 
 #endif /* GLVIEW_H */
 
--- a/glview/glview_wayland.c	2016-06-15 09:32:09.205971877 +0200
+++ b/glview/glview_wayland.c	2016-06-15 09:31:15.176972758 +0200
@@ -721,7 +721,7 @@
 #endif
 }
 
-void _temp_event_loop(GLVDisplay glv_dpy, EGLNativeWindowType win,GLVContext glv_c,GLVContext glv_hmi_c)
+void _temp_event_loop(GLVDisplay glv_dpy, EGLNativeWindowType win, int redraw, GLVContext glv_c,GLVContext glv_hmi_c)
 {
    struct pollfd pollfd;
 	GLVCONTEXT_t *glv_context;
@@ -760,8 +760,6 @@
    pollfd.revents = 0;
 
    while (1) {
-	  int redraw = 0;
-
       wl_display_dispatch_pending(display);
 #if 0
       if (_eglut->idle_cb)