#!/usr/bin/env bash # Taken and modified from # https://gdargaud.net/Hack/LinuxSpyder.html # Calibrate the display with a set of color patches # From --help # # -d n[,m] Choose the display n from the following list (default 1) # Optionally choose different display m for VideoLUT access # 1 = 'Monitor 1, Output eDP-1 at 1, 0, width 3840, height 2160' # 2 = 'Monitor 2, Output DP-2 at 0, 2160, width 3840, height 1100' # # -c listno Choose instrument from the following list (default 1) # 1 = '/dev/bus/usb/001/004 (ColorVision Spyder2)' # # -P ho,vo,ss[,vs] Position test window and scale it # ho,vi: 0.0 = left/top, 0.5 = center, 1.0 = right/bottom etc. # ss: 0.5 = half, 1.0 = normal, 2.0 = double etc. # # -m Skip adjustment of the monitor controls # # inoutfile Base name for created or updated .cal and .icc output files # # For the screenpad (lower screen) on the Asus UX581L # displays patches over most of the left side of the screen dispcal -d2 -c1 -P 0.0,0.5,2.5 -m screenpad # Generate a profiling test target values .til file # From --help # # -d col_comb choose colorant combination from the following: # 0: Print grey # 1: Video grey # 2: Print RGB # 3: Video RGB # ... # # Original site suggested -f250 to limit the number of patches but default is 836 targen -d3 screenpad # Display test patches on a monitor, read the colorimetric value and create the chart readings file with calibration applied # From --help # # -d, -c, and -P are same as dispcal # # -k file.cal Load calibration file into display while reading # dispread -d2 -c1 -P 0.0,0.5,2.5 -k screenpad.cal screenpad # Create an ICC profile from the ti3 test chart patch values # From --help # # -A manufacturer Manufacturer description string # # -M model Model description string # # -D description Profile Description string (Default "inoutfile") # # -a lxXgsmGS Algorithm type override # l = Lab cLUT (def.), x = XYZ cLUT, X = display XYZ cLUT + matrix # g = gamma+matrix, s = shaper+matrix, m = matrix only, # G = single gamma+matrix, S = single shaper+matrix # # Original site suggested -a S but -a l seems to be a better choice? # Screenpad manufacturer & model per # https://linux-hardware.org/?probe=d33dee579a colprof -A "BOE" -M "BOE085F" -D "Asus Zenbook Pro Duo Screenpad ($(date +%Y-%m-%d_%H-%M))" screenpad # Mainscreen Asus UX581L manufacturer & model from same scrape # colprof -A "Samsung" -M "SDCA029" -D "Asus Zenbook Pro Duo ($(date +%Y-%m-%d_%H-%M))" ux581l