First I tried argyll 1.1.1-1 from ubuntu repos. Now I have installed argyll 1.3.0-3pmjdebruijn1~maverick from ppa:pmjdebruijn/argyll-release I also tried the binaries from the web site: Argyll_V1.3.2_linux_x86_64_bin.tgz dispcal hangs the same way with all 3 versions. Here is part of strace: strace dispcal -D5 -? ... ... ... write(2, "Display 0 name = ':0.0'\n", 24Display 0 name = ':0.0' ) = 24 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"\20\0\5\0\f\0\0\0_ICC_PROFILE", 20}, {NULL, 0}, {"", 0}], 3) = 20 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) read(3, "\1\0\21\0\0\0\0\0007\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096) = 32 read(3, 0x153c424, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"\20\1\t\0\31\0\0\0XFree86_DDC_EDID1_RAWDAT"..., 36}, {NULL, 0}, {"", 0}], 3) = 36 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) read(3, "\1\0\22\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096) = 32 read(3, 0x153c424, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"\20\1\t\0\31\0\0\0XFree86_DDC_EDID2_RAWDAT"..., 36}, {NULL, 0}, {"", 0}], 3) = 36 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) read(3, "\1\0\23\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096) = 32 read(3, 0x153c424, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"b\1\10\0\30\0\0\0", 8}, {"XFree86-VidModeExtension", 24}, {"", 0}], 3) = 32 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) read(3, "\1\0\24\0\0\0\0\0\1\202\0\216\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096) = 32 read(3, 0x153c424, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"\202\4\2\0\0\0\0\0", 8}, {NULL, 0}, {"", 0}], 3) = 8 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) read(3, "\1\344\25\0\0\0\0\0\0\0\0\0\0\0\0\0`\30\0\0\0\0\0\0\250lK\0\0\0\0\0", 4096) = 32 read(3, 0x153c424, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"<\4\2\0\0\0\340\4+F\1\0", 12}, {NULL, 0}, {"", 0}], 3) = 12 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) read(3, "\1\2\27\0\0\0\0\0&\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096) = 32 read(3, 0x153c424, 4096) = -1 EAGAIN (Resource temporarily unavailable) close(3) = 0 write(2, " 1 = 'Screen 1 at 0, 0, width"..., 52 1 = 'Screen 1 at 0, 0, width 1920, height 1080' ) = 52 write(2, " -c listno Set commun"..., 81 -c listno Set communication port from the following list (default 1) ) = 81 open("/dev/bus/usb", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3 fcntl(3, F_GETFD) = 0x1 (flags FD_CLOEXEC) getdents(3, /* 4 entries */, 32768) = 96 close(3) = 0 uname({sys="Linux", node="giga-64", ...}) = 0 stat("/sys/bus/usb/devices", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0 pipe([3, 4]) = 0 open("/sys/bus/usb/devices", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5 getdents(5, /* 11 entries */, 32768) = 304 stat("/sys/bus/usb/devices/usb1/descriptors", {st_mode=S_IFREG|0444, st_size=65553, ...}) = 0 open("/sys/bus/usb/devices/usb1/busnum", O_RDONLY) = 6 fstat(6, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f11e2ce8000 read(6, "1\n", 4096) = 2 close(6) = 0 munmap(0x7f11e2ce8000, 4096) = 0 open("/sys/bus/usb/devices/usb1/devnum", O_RDONLY) = 6 fstat(6, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f11e2ce8000 read(6, "1\n", 4096) = 2 close(6) = 0 munmap(0x7f11e2ce8000, 4096) = 0 open("/sys/bus/usb/devices/usb1/descriptors", O_RDONLY) = 6 read(6, "\22\1\0\2\t\0\0@k\35\2\0\6\2\3\2\1\1", 18) = 18 close(6) = 0 open("/sys/bus/usb/devices/usb2/busnum", O_RDONLY) = 6 fstat(6, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f11e2ce8000 read(6, "2\n", 4096) = 2 close(6) = 0 munmap(0x7f11e2ce8000, 4096) = 0 open("/sys/bus/usb/devices/usb2/devnum", O_RDONLY) = 6 fstat(6, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f11e2ce8000 read(6, "1\n", 4096) = 2 close(6) = 0 munmap(0x7f11e2ce8000, 4096) = 0 open("/sys/bus/usb/devices/usb2/descriptors", O_RDONLY) = 6 read(6, "\22\1\20\1\t\0\0@k\35\1\0\6\2\3\2\1\1", 18) = 18 close(6) = 0 open("/sys/bus/usb/devices/2-9/busnum", O_RDONLY) = 6 fstat(6, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f11e2ce8000 read(6, "2\n", 4096) = 2 close(6) = 0 munmap(0x7f11e2ce8000, 4096) = 0 open("/sys/bus/usb/devices/2-9/devnum", O_RDONLY) = 6 fstat(6, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f11e2ce8000 read(6, "2\n", 4096) = 2 close(6) = 0 munmap(0x7f11e2ce8000, 4096) = 0 open("/sys/bus/usb/devices/2-9/descriptors", O_RDONLY) = 6 read(6, "\22\1\0\2\0\0\0\10^\4\335\0s\1\1\2\0\1", 18) = 18 close(6) = 0 open("/sys/bus/usb/devices/2-10/busnum", O_RDONLY) = 6 fstat(6, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f11e2ce8000 read(6, "2\n", 4096) = 2 close(6) = 0 munmap(0x7f11e2ce8000, 4096) = 0 open("/sys/bus/usb/devices/2-10/devnum", O_RDONLY) = 6 fstat(6, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f11e2ce8000 read(6, "3\n", 4096) = 2 close(6) = 0 munmap(0x7f11e2ce8000, 4096) = 0 open("/sys/bus/usb/devices/2-10/descriptors", O_RDONLY) = 6 read(6, "\22\1\20\1\0\0\0\10m\4\16\305\0%\1\2\0\1", 18) = 18 close(6) = 0 getdents(5, /* 0 entries */, 32768) = 0 close(5) = 0 open("/sys/bus/usb/devices/usb1/descriptors", O_RDONLY) = 5 read(5, "\22\1\0\2\t\0\0@k\35\2\0\6\2\3\2\1\1", 18) = 18 close(5) = 0 open("/sys/bus/usb/devices/usb2/descriptors", O_RDONLY) = 5 read(5, "\22\1\20\1\t\0\0@k\35\1\0\6\2\3\2\1\1", 18) = 18 close(5) = 0 open("/sys/bus/usb/devices/2-9/descriptors", O_RDONLY) = 5 read(5, "\22\1\0\2\0\0\0\10^\4\335\0s\1\1\2\0\1", 18) = 18 close(5) = 0 open("/sys/bus/usb/devices/2-10/descriptors", O_RDONLY) = 5 read(5, "\22\1\20\1\0\0\0\10m\4\16\305\0%\1\2\0\1", 18) = 18 close(5) = 0 open("/dev/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5 getdents(5, /* 202 entries */, 32768) = 5928 open("/dev/ttyS2", O_RDWR|O_NOCTTY) = ? ERESTARTSYS (To be restarted) --- SIGWINCH (Window changed) @ 0 (0) --- open("/dev/ttyS2", O_RDWR|O_NOCTTY >> hangs here