diff --git a/src/libdraw/x11-itrans.c b/src/libdraw/x11-itrans.c
index f1c72ee..8b1c137 100644
--- a/src/libdraw/x11-itrans.c
+++ b/src/libdraw/x11-itrans.c
@@ -21,7 +21,8 @@
 
 	if(e->xany.type != KeyPress)
 		return -1;
-	needstack(20*1024);	/* X has some *huge* buffers in openobject */
+	needstack(64*1024);	/* X has some *huge* buffers in openobject */
+		/* and they're even bigger on SuSE */
 	XLookupString((XKeyEvent*)e,NULL,0,&k,NULL);
 	if(k == XK_Multi_key || k == NoSymbol)
 		return -1;
diff --git a/src/libdraw/x11-keyboard.c b/src/libdraw/x11-keyboard.c
index 1a4d0a3..77fa78b 100644
--- a/src/libdraw/x11-keyboard.c
+++ b/src/libdraw/x11-keyboard.c
@@ -72,7 +72,7 @@
 		return nil;
 	kc->c = chancreate(sizeof(Rune), 20);
 	chansetname(kc->c, "kbdc");
-	proccreate(_ioproc, kc, 32768);
+	proccreate(_ioproc, kc, 256*1024);
 	return kc;
 }
 
diff --git a/src/libdraw/x11-mouse.c b/src/libdraw/x11-mouse.c
index 936b562..1e77575 100644
--- a/src/libdraw/x11-mouse.c
+++ b/src/libdraw/x11-mouse.c
@@ -141,7 +141,7 @@
 	chansetname(mc->c, "mousec");
 	mc->resizec = chancreate(sizeof(int), 2);
 	chansetname(mc->resizec, "resizec");
-	proccreate(_ioproc, mc, 32768);
+	proccreate(_ioproc, mc, 256*1024);
 	return mc;
 }
 
diff --git a/src/libthread/thread.c b/src/libthread/thread.c
index ff22bba..646d265 100644
--- a/src/libthread/thread.c
+++ b/src/libthread/thread.c
@@ -578,7 +578,7 @@
 	p = procalloc();
 	_threadsetproc(p);
 	if(mainstacksize == 0)
-		mainstacksize = 65536;
+		mainstacksize = 256*1024;
 	_threadcreate(p, threadmainstart, nil, mainstacksize);
 	scheduler(p);
 	_threaddaemonize();
