diff --git a/lib/x11/xcore.js b/lib/x11/xcore.js
index <HASH>..<HASH> 100644
--- a/lib/x11/xcore.js
+++ b/lib/x11/xcore.js
@@ -342,8 +342,11 @@ XClient.prototype.require = function(extName, callback)
    ext.requireExt(this.display, callback);
 }
 
-module.exports.createClient = function(initCb, display)
+module.exports.createClient = function(initCb, display, options)
 {
+    if (!options)
+        options = false;
+
     if (!display)
        display = process.env.DISPLAY;
     if (!display)
@@ -390,7 +393,17 @@ module.exports.createClient = function(initCb, display)
     if (initCb)
     {
         client.on('connect', function(display) {
-            initCb(display);
+            // opt-in BigReq
+            if (!options.disableBigRequests) {
+                client.require('big-requests', function(BigReq) {
+                    BigReq.Enable(function(err, maxLen) {
+                        display.max_request_length = maxLen;
+                        initCb(display);
+                    });
+                });
+            } else {
+                initCb(display);
+            }
         });
     } 
     return client;
load BigReq extansion by default