diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index 8b79bed2..43a108b0 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -17,8 +17,11 @@
 	"runArgs": [
 		"--cap-add=SYS_PTRACE",
 		"--security-opt",
-		"seccomp=unconfined"
+		"seccomp=unconfined",
 	],
+	"containerEnv": {
+		"DISPLAY": "host.docker.internal:0", // used in X11 for display from container
+	},
 	// Set *default* container specific settings.json values on container create.
 	"settings": {
 		"cmake.configureOnOpen": true,
@@ -42,6 +45,10 @@
 	//"postCreateCommand": "uname -a",
 	// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
 	//"remoteUser": "vscode",
+	"mounts": [
+		// x11
+		"source=/tmp/.X11-unix,target=/tmp/.X11-unix,type=bind,consistency=default"
+	],
 	"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/${localWorkspaceFolderBasename},type=bind,consistency=delegated",
 	"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
 	"features": {
diff --git a/README_docker.md b/README_docker.md
index b1f5bf52..bfebd572 100644
--- a/README_docker.md
+++ b/README_docker.md
@@ -69,3 +69,14 @@ run them separately.
 A script called `build_examples.sh` is provided to help you to build the example
 GUI projects in this container.
 
+## Using X11 Forwarding from .devcontainer
+
+The `.devcontainer` is also configured to use X11 Forwarding to allow GUI to the
+host machine, given that you have an X11 server already.
+
+[Here](https://en.wikipedia.org/wiki/List_of_display_servers) is a good list of
+X11 servers you could try.
+
+For Windows, [Xming](http://www.straightrunning.com/XmingNotes/) is free and 
+popular, compiled with MinGW. For MSVC, [vcXsrv](https://sourceforge.net/projects/vcxsrv/)
+is a good alternative.