Index: uspace/srv/hid/input/input.c
===================================================================
--- uspace/srv/hid/input/input.c	(revision fd384d6ced77609e6ad611854814f0fac2b27b41)
+++ uspace/srv/hid/input/input.c	(revision a4170d56285232e8523f4e564f6a6ef7030f4359)
@@ -827,20 +827,22 @@
 	fibril_mutex_lock(&discovery_lock);
 	
-	rc = dev_check_new_kbdevs();
-	if (rc != EOK) {
-		fibril_mutex_unlock(&discovery_lock);
-		return rc;
-	}
-	
-	rc = dev_check_new_mousedevs();
-	if (rc != EOK) {
-		fibril_mutex_unlock(&discovery_lock);
-		return rc;
-	}
-
-	rc = dev_check_new_serialdevs();
-	if (rc != EOK) {
-		fibril_mutex_unlock(&discovery_lock);
-		return rc;
+	if (!serial_console) {
+		rc = dev_check_new_kbdevs();
+		if (rc != EOK) {
+			fibril_mutex_unlock(&discovery_lock);
+			return rc;
+		}
+	
+		rc = dev_check_new_mousedevs();
+		if (rc != EOK) {
+			fibril_mutex_unlock(&discovery_lock);
+			return rc;
+		}
+	} else {
+		rc = dev_check_new_serialdevs();
+		if (rc != EOK) {
+			fibril_mutex_unlock(&discovery_lock);
+			return rc;
+		}
 	}
 	
Index: uspace/srv/hid/output/output.c
===================================================================
--- uspace/srv/hid/output/output.c	(revision fd384d6ced77609e6ad611854814f0fac2b27b41)
+++ uspace/srv/hid/output/output.c	(revision a4170d56285232e8523f4e564f6a6ef7030f4359)
@@ -34,4 +34,5 @@
 #include <task.h>
 #include <ipc/output.h>
+#include <config.h>
 #include "port/ega.h"
 #include "port/kchar.h"
@@ -476,9 +477,12 @@
 	}
 	
-	ega_init();
-	kchar_init();
-	niagara_init();
-	ski_init();
-	chardev_init();
+	if (!config_key_exists("console")) {
+		ega_init();
+		kchar_init();
+		niagara_init();
+		ski_init();
+	} else {
+		chardev_init();
+	}
 	
 	printf("%s: Accepting connections\n", NAME);
