I'm trying to use an X-rite i1 Display 3 to calibrate my laptop screen in gnome 3 and running into some trouble. The color calibration settings screen opens up as soon as I plug in the calibrator, and the first error I see is after I've gone through all the options and clicked the start button to actually begin calibrating.
At that point the error message is: An internal error occurred that could not be recovered. You can remove the calibration device. This error occurs immediately after clicking the button. So I googled around and I found a few links to folks having similar issues: [1]: https://github.com/hughsie/colord/pull/29 [2]: https://bugzilla.redhat.com/show_bug.cgi?id=1297167 [3]: https://bugzilla.redhat.com/show_bug.cgi?id=1000910 Out of those, the third seems to be the closest to the issue I'm having. >From what I can see, the USB device is enumerated properly by the kernel: % dmesg # snipped the relevant stuff: [ 2406.995020] usb 1-1.2: new full-speed USB device number 8 using ehci-pci [ 2407.083266] usb 1-1.2: New USB device found, idVendor=0765, idProduct=5021 [ 2407.083275] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 2407.083279] usb 1-1.2: Product: i1Display3 Bootloader [ 2407.083283] usb 1-1.2: Manufacturer: X-Rite Inc. [ 2407.086060] hid-generic 0003:0765:5021.0004: hiddev0,hidraw0: USB HID v1.11 Device [X-Rite Inc. i1Display3 Bootloader] on usb-0000:00:1a.0-1.2/input0 [ 2407.842362] usb 1-1.2: USB disconnect, device number 8 [ 2408.019082] usb 1-1.2: new full-speed USB device number 9 using ehci-pci [ 2408.107524] usb 1-1.2: New USB device found, idVendor=0765, idProduct=5020 [ 2408.107531] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 2408.107535] usb 1-1.2: Product: i1Display3 [ 2408.107538] usb 1-1.2: Manufacturer: X-Rite, Inc. [ 2408.109804] hid-generic 0003:0765:5020.0005: hiddev0,hidraw0: USB HID v1.11 Device [X-Rite, Inc. i1Display3] on usb-0000:00:1a.0-1.2/input0 And udev seems to be happy about it: % udevadm monitor --environment --udev # plugging in the device: monitor will print the received events for: UDEV - the event which udev sends out after rule processing UDEV [3659.893310] add /class/usbmisc (class) ACTION=add DEVPATH=/class/usbmisc SEQNUM=3434 SUBSYSTEM=class USEC_INITIALIZED=3659893139 UDEV [3659.894709] add /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2 (usb) ACTION=add BUSNUM=001 DEVNAME=/dev/bus/usb/001/012 DEVNUM=012 DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2 DEVTYPE=usb_device DRIVER=usb ID_BUS=usb ID_MODEL=i1Display3_Bootloader ID_MODEL_ENC=i1Display3\x20Bootloader ID_MODEL_ID=5021 ID_REVISION=0001 ID_SERIAL=X-Rite_Inc._i1Display3_Bootloader ID_USB_INTERFACES=:030000: ID_VENDOR=X-Rite_Inc. ID_VENDOR_ENC=X-Rite\x20Inc. ID_VENDOR_FROM_DATABASE=X-Rite, Inc. ID_VENDOR_ID=0765 MAJOR=189 MINOR=11 PRODUCT=765/5021/1 SEQNUM=3431 SUBSYSTEM=usb TYPE=0/0/0 USEC_INITIALIZED=3659894455 ... But the calibration isn't working. Here's the bit of the journal showing gnome complaining when I hit the start button: % journalctl -xb # here's the relevant part: Aug 30 22:36:23 luigi colord[1036]: (colord:1036): Cd-WARNING **: the child exited with return code 1 Aug 30 22:36:23 luigi gnome-session[1374]: (gnome-control-center:1829): color-cc-panel-WARNING **: calibration failed with code 1: argyll-spotread exited unexpectedly Aug 30 22:36:24 luigi colord[1036]: (colord:1036): Cd-WARNING **: no child pid to kill! Aug 30 22:36:24 luigi gnome-session[1374]: (gnome-control-center:1829): color-cc-panel-WARNING **: failed to start calibrate: failed to calibrate So when I saw that I started running argyll-spotread on its own to see if that would still fail: % argyll-spotread -v -D4 usb_check_and_add: found instrument vid 0x0765, pid 0x5020 new_inst: called with path '/dev/bus/usb/001/013 (X-Rite i1 DisplayPro, ColorMunki Display)' Connecting to the instrument .. i1d3_init_coms: called i1d3_init_coms: About to init USB usb_open_port: open port '/dev/bus/usb/001/013' succeeded i1d3_command: Sending cmd 'GetStatus' args '00 01 00 00 00 00 00 00' coms_usb_transaction: Submitting urb to fd 3 failed with -1 i1d3_command: response read failed with ICOM err 0x20000 coms_usb_transaction: Submitting urb to fd 3 failed with -1 i1d3_init_coms: failed with rv = 0x70062 Failed to initialise communications with instrument or wrong instrument or bad configuration! ('Communications failure' + 'Communications failure') urb_reaper: cleared requests And when that happens I see this out in dmesg (the USB IDs may not line up since I plugged and unplugged this many times): % dmesg [ 232.711891] usb 1-1.2: usbfs: usb_submit_urb returned -28 [ 232.711910] usb 1-1.2: usbfs: usb_submit_urb returned -28 [ 232.784675] usb 1-1.2: reset full-speed USB device number 7 using ehci-pci My questions are: 1. Has anyone successfully used this model of calibrator to successfully calibrate their display with the gnome tools? 2. Am I missing some dependency or USE flag that isn't getting pulled in for me? Or maybe a kernel config option? Thanks everyone in advance for any help.