rockowitz / ddcutil

Control monitor settings using DDC/CI and USB
http://www.ddcutil.com
GNU General Public License v2.0
997 stars 43 forks source link

Unable to detect Cintiq CCH (DTH-A1300) despite get-edid returning information about it (that parse-edid can parse) #104

Open InconsolableCellist opened 4 years ago

InconsolableCellist commented 4 years ago

Bug description

I have a Cintiq A1300 device connected over HDMI, and it appears to be detected on the i2c bus by get-edid:

$ sudo get-edid -b 2 | parse-edid
2
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Only trying 2 as per your request.
256-byte EDID successfully retrieved from i2c bus 2
Looks like i2c was successful. Have a good day.
Checksum Correct

Section "Monitor"
        Identifier "Cintiq A1300"
        ModelName "Cintiq A1300"
        VendorName "WAC"
        # Monitor Manufactured week 37 of 2013
        # EDID version 1.3
        # Digital Display
        DisplaySize 290 170
        Gamma 2.20
        Option "DPMS" "true"
        Horizsync 31-70
        VertRefresh 59-61
        # Maximum pixel clock is 150MHz
        #Not giving standard mode: 1280x1024, 60Hz
        #Not giving standard mode: 1280x960, 60Hz
        #Not giving standard mode: 1440x900, 60Hz
        #Not giving standard mode: 1680x1050, 60Hz

        #Extension block found. Parsing...
        Modeline        "Mode 1" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
        Modeline        "Mode 0" +hsync +vsync 
        Modeline        "Mode 2" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
        Modeline        "Mode 3" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
        Modeline        "Mode 4" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
        Modeline        "Mode 5" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
        Modeline        "Mode 6" +hsync +vsync 
        Modeline        "Mode 7" +hsync +vsync 
        Modeline        "Mode 8" +hsync +vsync 
        Modeline        "Mode 9" -hsync +vsync 
        Option "PreferredMode" "Mode 1"
EndSection

However, ddcutil won't detect it:

$ sudo ddcutil detect
Failure getting EDID for /dev/i2c-1: status code=DDCRC_INVALID_EDID(-3010): unable to parse EDID
Failure getting EDID for /dev/i2c-2: status code=DDCRC_INVALID_EDID(-3010): unable to parse EDID
Display 1
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

I pulled the latest code from git and compiled with all the options enabled (http://www.ddcutil.com/building/) and see similar behavior:

$ cd ~/Programs/ddcutil/src
$ sudo ./ddcutil --version
ddcutil 0.9.8
Built without support for AMD Display Library (AMD proprietary driver).
Built with support for USB connected displays.
Built without function failure simulation.
Built without libdrm services.

Copyright (C) 2015-2018 Sanford Rockowitz
License GPLv2: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

$ sudo ./ddcutil detect -v
Output level:               Verbose
Reporting DDC data errors:  false
Trace groups active:        none
Traced functions:           none
Traced files:               none
Force I2C slave address:    false
User defined features:      disabled

Display 1
   I2C bus:             /dev/i2c-3
      I2C address 0x50 (EDID) present: true 
      Is eDP device:                   false
      /sys/bus/i2c/devices/i2c-3/name: NVIDIA i2c adapter 7 at 1:00.0
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
      Product code:     3149
      Extra descriptor: 
      Video input definition: 0xb5 - Digital Input (DisplayPort)
      Supported features:
         DPMS active-off
         Digital display type: RGB 4:4:4 + YCrCb 4:2:2
         Standard sRGB color space: True
      White x,y:        0.312, 0.329
      Red   x,y:        0.634, 0.341
      Green x,y:        0.312, 0.636
      Blue  x,y:        0.158, 0.062
      Extension blocks: 1
   EDID source: 
   EDID hex dump:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 4c 2d 4d 0c 4a 53 4d 30   ........L-M.JSM0
      +0010   11 1c 01 04 b5 3d 23 78 3a 5f b1 a2 57 4f a2 28   .....=#x:_..WO.(
      +0020   0f 50 54 bf ef 80 71 4f 81 00 81 c0 81 80 a9 c0   .PT...qO........
      +0030   b3 00 95 00 01 01 4d d0 00 a0 f0 70 3e 80 30 20   ......M....p>.0 
      +0040   35 00 5f 59 21 00 00 1a 00 00 00 fd 00 38 4b 1e   5._Y!........8K.
      +0050   87 3c 00 0a 20 20 20 20 20 20 00 00 00 fc 00 55   .<..      .....U
      +0060   32 38 45 35 39 30 0a 20 20 20 20 20 00 00 00 ff   28E590.     ....
      +0070   00 48 54 50 4b 34 31 36 38 35 32 0a 20 20 01 67   .HTPK416852.  .g
   VCP version:         2.0
   Controller mfg:      Mstar
   Firmware version:    0.1
   Monitor returns DDC Null Response for unsupported features: false

But still nothing from the other busses

If I try to force the issue by attempting to set the brightness (presumably), it also says no monitor is detected:

$ sudo ./ddcutil -b 2 setvcp 10 75 --noverify --nodetect
No monitor detected on I2C bus /dev/i2c-2

System information

$ uname -r 
4.19.0-6-amd64
$ cat /etc/os-release 
PRETTY_NAME="Devuan GNU/Linux 3 (beowulf)"
NAME="Devuan GNU/Linux"
VERSION_ID="3"
VERSION="3 (beowulf)"
VERSION_CODENAME=beowulf
ID=debian
ID_LIKE=debian
HOME_URL="https://www.devuan.org/"
SUPPORT_URL="https://devuan.org/os/community"
BUG_REPORT_URL="https://bugs.devuan.org/"
$ sudo modinfo i2c-dev 
filename:       /lib/modules/4.19.0-6-amd64/kernel/drivers/i2c/i2c-dev.ko
license:        GPL
description:    I2C /dev entries driver
author:         Frodo Looijaard <frodol@dds.nl> and Simon G. Vogl <simon@tk.uni-linz.ac.at>
depends:        
retpoline:      Y
intree:         Y
name:           i2c_dev
vermagic:       4.19.0-6-amd64 SMP mod_unload modversions 
sig_id:         PKCS#7
signer:         Debian Secure Boot CA
sig_key:        A7:46:8D:EF
sig_hashalgo:   sha256
signature:      C9:E2:E7:86:A6:8C:9B:8C:C4:18:55:A9:14:13:31:CE:1A:1C:4D:B1:
                88:66:F2:31:71:68:40:DA:5F:3A:D1:45:A6:B5:A7:34:48:05:B8:8D:
                58:EC:B5:32:4B:12:4E:1A:35:D5:95:1E:40:44:F6:16:3E:03:6F:2B:
                61:D9:B6:CE:92:5B:73:7E:CA:30:48:CE:FE:24:93:DF:0F:29:0C:52:
                15:CC:72:72:3F:C9:13:79:58:03:25:DA:8A:F1:F0:5E:88:88:4F:EE:
                76:A3:4F:4B:AA:F5:21:D3:D0:D5:9B:39:2A:FE:33:AC:F0:D8:38:81:
                98:4E:A5:93:60:F2:CE:C1:AB:D4:72:D5:8D:0B:FF:FE:CB:03:02:41:
                93:0C:C0:0F:10:E7:07:4F:18:2A:77:18:EC:40:EE:9F:FF:7D:B7:40:
                74:4C:95:A1:9F:8F:6A:DE:FA:8E:EF:3F:CB:BA:9A:69:61:E6:1C:79:
                2B:D8:91:BB:E0:91:61:0C:5B:4C:6A:BC:92:F3:31:7A:7A:4E:EF:43:
                A4:20:2D:88:6F:75:0E:93:EE:B3:39:E9:4D:58:36:C8:1F:33:51:90:
                84:37:56:BB:C6:6C:0C:11:9C:09:B9:2F:FA:76:AF:DD:15:A0:F6:A7:
                D7:43:28:25:0F:03:0D:93:54:8C:A4:DF:7A:D3:94:C5
$ nvidia-xconfig --version

nvidia-xconfig:  version 440.31
  The NVIDIA X Configuration Tool.

  This program is used to manipulate X configuration files, specifically to enable NVIDIA X driver functionality.

Do you know what's going wrong? Thanks

InconsolableCellist commented 4 years ago

Some more info, tracing the I2C-related group:

$ sudo ./ddcutil -b 2 setvcp 10 75 --trace=I2C
(detect_single_bus             ) Starting.  busno = 2
(i2c_check_bus                 ) Starting. busno=2, buf_info=0x560666a6a630
(is_edp_device                 ) busno=2, returning: false
(i2c_open_bus                  ) Starting. busno=2, callopts=0x80
(i2c_open_bus                  ) Returning file descriptor: 3
(i2c_get_parsed_edid_by_fd     ) Starting. fd=3
(i2c_get_raw_edid_by_fd        ) Getting EDID for file 3
(i2c_set_addr                  ) fd=3, addr=0x50, i2c_force_slave_addr_flag=false, callopts=CALLOPT_ERR_MSG
(i2c_set_addr                  ) addr = 0x50. Returning OK(0): success
(invoke_i2c_writer             ) writer=read_writer, bytes_to_write=00
(invoke_i2c_writer             ) Returning rc=OK(0): success
(invoke_i2c_reader             ) reader=read_reader, bytect=128
(invoke_i2c_reader             ) Bytes read: 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff
(invoke_i2c_reader             ) Returning rc=OK(0): success
(i2c_get_raw_edid_by_fd        ) Returning OK(0): success.  edidbuf contents:
Buffer at 0x560666a6a710,  bytes addr=0x560666a6b1c0, len=128, max_size=128
        +0          +4          +8          +c            0   4   8   c   
+0000   00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff   ................
+0010   00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff   ................
+0020   00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff   ................
+0030   00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff   ................
+0040   00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff   ................
+0050   00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff   ................
+0060   00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff   ................
+0070   00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff   ................
(i2c_get_parsed_edid_by_fd     ) Returning (nil)
(i2c_close_bus                 ) Starting. fd=3, busno=2, callopts=CALLOPT_ERR_MSG
(i2c_close_bus                 ) Returning: 0
(i2c_check_bus                 ) Done. flags=0x0cc1, bus info:
      Bus /dev/i2c-2 found:   true
      Bus /dev/i2c-2 probed:  true
      Bus accessible:          true
      Bus is eDP:              false
      Valid bus name checked:  true
      I2C bus has valid name:  true
      Address 0x50 present:    false
(detect_single_bus             ) Done.  busno=2, returning: 0x560666a6a630
No monitor detected on I2C bus /dev/i2c-2
$ sudo get-edid -b 2 | hexdump -C
2
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Only trying 2 as per your request.
256-byte EDID successfully retrieved from i2c bus 2
Looks like i2c was successful. Have a good day.
00000000  00 ff ff ff ff ff ff 00  5c 23 41 10 22 00 00 00  |........\#A."...|
00000010  25 17 01 03 80 1d 11 78  aa a7 07 a6 56 54 9b 26  |%......x....VT.&|
00000020  0c 50 56 21 08 00 81 80  81 40 95 00 b3 00 01 01  |.PV!.....@......|
00000030  01 01 01 01 01 01 02 3a  80 18 71 38 2d 40 58 2c  |.......:..q8-@X,|
00000040  45 00 25 a5 10 00 00 1e  00 00 00 fc 00 43 69 6e  |E.%..........Cin|
00000050  74 69 71 20 41 31 33 30  30 0a 00 00 00 ff 00 33  |tiq A1300......3|
00000060  49 41 48 30 30 30 30 33  34 0a 20 20 00 00 00 fd  |IAH000034.  ....|
00000070  00 3b 3d 1f 46 0f 00 0a  20 20 20 20 20 20 01 f1  |.;=.F...      ..|
00000080  02 03 18 f0 45 10 04 03  02 01 23 09 07 07 83 01  |....E.....#.....|
00000090  00 00 65 03 0c 00 10 00  02 3a 80 18 71 38 2d 40  |..e......:..q8-@|
000000a0  58 2c 45 00 25 a5 10 00  00 1e 01 1d 00 72 51 d0  |X,E.%........rQ.|
000000b0  1e 20 6e 28 55 00 25 a5  10 00 00 1e 66 21 50 b0  |. n(U.%.....f!P.|
000000c0  51 00 1b 30 40 70 36 00  25 a5 10 00 00 1e 0e 1f  |Q..0@p6.%.......|
000000d0  00 80 51 00 1e 30 40 80  37 00 25 a5 10 00 00 1c  |..Q..0@.7.%.....|
000000e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 9b  |................|
00000100
InconsolableCellist commented 4 years ago

For some comparison with get-edid's code:

read-edid-3.0.2/get-edid/i2c.c accesses the data off the bus with i2c_smbus_read_byte_data, and it's definitely getting back the EDID signature of 00,ff,ff,ff,ff,ff,ff,00, as verified on line 122 (the if statement):

        if (i2cfile >=0) {//no matter how many times, >=0 still looks really angry.
            for (j=0;j<256;j++)
                block[j] = i2c_smbus_read_byte_data(i2cfile, j);
        }
        close(i2cfile);
        if (block[0]==0x00&&block[7]==0x00&&block[1]==0xff&&block[2]==0xff&&block[3]==0xff&&block[4]==0xff&&block[5]==0xff&&block[6]==0xff) {
            ret = 0;
            break;
        }

ddcutil is also definitely not seeing that EDID signature, as it gets just a bunch of 00,ff,ff,ff,00 data.

You can see the j parameter passed into that read command; that's being passed in an i2c_smbus_ioctl_data args struct to ioctl. So it would seem that to fetch the signature it's passing 0-256, presuambly saying "give me memory location j" or possibly just "hit the I2C bus 256 times, and this parameter will be ignored."

If the difference isn't in how the I2C bus is being accessed, what could be causing the device to return bad data in ddcutil but not get-edid?

InconsolableCellist commented 4 years ago

More system info

$ sudo ./ddcutil environment
The following tests probe the runtime environment using multiple overlapping methods.

*** Basic System Information ***

ddcutil version: 0.9.8

/proc/version:
   Linux version 4.19.0-6-amd64 (debian-kernel@lists.debian.org) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11)

Architecture:     x86_64
Distributor id:   Debian
Release:          3
Found a known architecture

/proc/cmdline:
   BOOT_IMAGE=/vmlinuz-4.19.0-6-amd64 root=UUID=a549d036-d666-440c-af27-55427a23e65f ro quiet

*** Primary Check 1: Identify video card and driver ***

Obtaining card and driver information from /sys...
Primary video controller at PCI address 0000:01:00.0 (boot_vga flag is set)
   Device class:        x030000    VGA compatible controller
   Vendor:              x10de      NVIDIA Corporation
   Device:              x1c82      GP107 [GeForce GTX 1050 Ti]
   Subvendor/Subdevice: 1462/8c96  Micro-Star International Co., Ltd. [MSI]
   Driver name:         nvidia
   Driver version:      440.31
   I2C device:          i2c-3      name: NVIDIA i2c adapter 7 at 1:00.0
   I2C device:          i2c-1      name: NVIDIA i2c adapter 4 at 1:00.0
   I2C device:          i2c-2      name: NVIDIA i2c adapter 6 at 1:00.0

*** Primary Check 2: Check that /dev/i2c-* exist and writable ***

Current user: root (0)

Checking /dev/i2c-* devices...

Unless the system is using the AMD proprietary driver fglrx, devices /dev/i2c-*
must exist and the logged on user must have read/write permission for those
devices (or at least those devices associated with monitors).

Typically, this access is enabled by:
  - setting the group for /dev/i2c-* to i2c
  - setting group RW permissions for /dev/i2c-*
  - making the current user a member of group i2c

Alternatively, this can be enabled by just giving everyone RW permission
The following tests probe for these conditions.

Checking for /dev/i2c-* devices...
   crw-rw---- 1 root i2c 89, 0 Feb  1 13:24 /dev/i2c-0
   crw-rw---- 1 root i2c 89, 1 Feb  1 13:24 /dev/i2c-1
   crw-rw---- 1 root i2c 89, 2 Feb  1 13:24 /dev/i2c-2
   crw-rw---- 1 root i2c 89, 3 Feb  1 13:24 /dev/i2c-3

Current user (root) has RW access to all /dev/i2c-* devices.

*** Primary Check 3: Check that module i2c_dev is loaded ***

Checking for module i2c_dev...
   Module i2c-dev is NOT built into kernel
   Loadable i2c-dev module found
   Module i2c_dev is loaded

*** Primary Check 4: Driver specific checks ***

Performing driver specific checks...

Checking for special settings for proprietary Nvidia driver 
(Needed for some newer Nvidia cards).
   grep: /etc/X11/xorg.conf: No such file or directory

*** Additional probes ***

Scanning /proc/modules for driver environment...
   Found other loaded module:      i2c_dev
   Found other loaded module:      videobuf2_vmalloc
   Found other loaded module:      videobuf2_memops
   Found other loaded module:      videobuf2_v4l2
   Found other loaded module:      videobuf2_common
   Found other loaded module:      videodev
   Found video driver module:      nvidia
   Found other loaded module:      drm_kms_helper
   Loaded drm module depends on:   nvidia_drm,drm_kms_helper,
   Found other loaded module:      i2c_i801
   Loaded video module depends on: -

Testing if modules are loaded using /sys...
   Module amdgpu           is NOT loaded
   Module fbdev            is NOT loaded
   Module fglrx            is NOT loaded
   Module fturbo           is NOT loaded
   Module i915             is NOT loaded
   Module mgag200          is NOT loaded
   Module nvidia           is loaded
   Module nouveau          is NOT loaded
   Module radeon           is NOT loaded
   Module vboxvideo        is NOT loaded
   Module vc4              is NOT loaded
   Module drm              is loaded
   Module i2c_algo_bit     is NOT loaded
   Module i2c_dev          is loaded
   Module i2c_piix4        is NOT loaded
   Module ddcci            is NOT loaded

Examining /sys/bus/i2c/devices...
   /sys/bus/i2c/devices/i2c-3/name:   NVIDIA i2c adapter 7 at 1:00.0
   /sys/bus/i2c/devices/i2c-1/name:   NVIDIA i2c adapter 4 at 1:00.0
   /sys/bus/i2c/devices/i2c-2/name:   NVIDIA i2c adapter 6 at 1:00.0
   /sys/bus/i2c/devices/i2c-0/name:   SMBus I801 adapter at f000

Env_Accumulator:
   architecture:                  x86_64
   distributor_id                 Debian
   Drivers detected:              nvidia
   /dev/i2c device numbers:       0 1 2 3
   sysfs_i2c_devices_exist:       true
   /sys/bus/i2c device numbers:   0 1 2 3
   dev_i2c_devices_required:      true
   module_i2c_dev_needed:         true
   module_i2c_dev_builtin:        false
   loadable_i2c_dev_exists:       true
   i2c_dev_loaded_or_builtin:     true
   group_i2c_checked:             true
   group_i2c_exists:              true
   dev_i2c_common_group_name:     i2c
   all_dev_i2c_has_group_i2c:     true
   any_dev_i2c_has_group_i2c:     true
   all_dev_i2c_is_group_rw:       true
   any_dev_i2c_is_group_rw:       true
   cur_uname:                     root
   cur_uid:                       0
   cur_user_in_group_i2c:         false
   cur_user_any_devi2c_rw:        true
   cur_user_all_devi2c_rw:        true

Configuration suggestions:
   Current user has RW access to all /dev/i2c-N devices.
   Skipping further group and permission checks.
InconsolableCellist commented 4 years ago

So I saw in that latest command I found, the ddcutil environment one, that it mentioned some parameters being required for the Nvidia driver:

$ cat /etc/X11/xorg.conf.d/90-nvidia_i2c.conf 
Section "Device"
   Driver "nvidia"
   Identifier "Dev0"
   Option     "RegistryDwords"  "RMUseSwI2c=0x01; RMI2cSpeed=100"
   # solves problem of i2c errors with nvidia driver
   # per https://devtalk.nvidia.com/default/topic/572292/-solved-does-gddccontrol-work-for-anyone-here-nvidia-i2c-monitor-display-ddc/#4309293
EndSection

I put these in, rebooted, and now ddcutil works for my monitors!

Hopefully my steps above are useful for someone. Still not sure why get-edid was able to access the device.

rockowitz commented 4 years ago

First, thank you for the thorough bug report and comparison and analysis.  It gives me something to work with.

Here's what I believe is going on.  The original I2C bus speed is 100 kbit/sec (standard mode).  There's also full speed (400 kbit/sec), fast mode (1 mbit/sec) and high speed (3.2 mbit/sec).

Apparently, the proprietary Nvidia driver defaults to full speed (400 kbit/sec).  Some (most?) monitors work properly at full speed.  It appears that your Cintiq monitor does not.  Using the RMI2cSpeed=100 option slows the I2C bus to standard mode, allowing the Cintiq monitor to work properly.

Whereas ddcutil reads the entire first 128 byte block of the EDID in one call, read-edid uses 256 calls to read single bytes.  This apparently slows things down enough for your monitor to work. (Why 128 vs 256 bytes?  The original EDID was a single 128 byte block.  This was revised to specify a second 128 block, and further revised to allow for multiple second blocks, selected by writing to slave address x30.  ddcutil is interested only in the original 128 bytes.)

There is another way to slow things down, by increasing the duration of host sleeps mandated by the DDC/CI protocol.  This can be adjusted using the recently added ddcutil option --sleep-multiplier.

I'd appreciate it if you'd do the following:

Disable the special nvidia driver options.

Try "ddcutil detect --sleep-multiplier 4".  Does this solve the problem? (Probably not, but it's worth checking.)

I've uploaded a version of ddcutil to branch 0.9.9-dev that reads the EDID 1 byte at a time. Try running "ddcutil detect --trcfunc i2c_get_raw_edid_by_fd".  (--trcfunc will produce more targeted diagnostics than --trace.)  Does the EDID get read?  (N. the full detect command will likely fail during the feature reads that are part of detection.)  If the EDID read succeeds, I'll look into using single byte reads more generally.

Regards, Sanford

On 2/1/20 6:32 PM, InconsolableCellist wrote:

So I saw in that latest command I found, the |ddcutil environment| one, that it mentioned some parameters being required for the Nvidia driver:

|$ cat /etc/X11/xorg.conf.d/90-nvidia_i2c.conf Section "Device" Driver "nvidia" Identifier "Dev0" Option "RegistryDwords" "RMUseSwI2c=0x01; RMI2cSpeed=100" # solves problem of i2c errors with nvidia driver # per https://devtalk.nvidia.com/default/topic/572292/-solved-does-gddccontrol-work-for-anyone-here-nvidia-i2c-monitor-display-ddc/#4309293 EndSection |

I put these in, rebooted, and now ddcutil works for my monitors!

Hopefully my steps above are useful for someone. Still not sure why |get-edid| was able to access the device.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/rockowitz/ddcutil/issues/104?email_source=notifications&email_token=ADMGY3Q4RQQEW7C6JFHSSCDRAYBCPA5CNFSM4KOVPI6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKRJNMY#issuecomment-581080755, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADMGY3S3UVMLU7ZK4EKOE2DRAYBCPANCNFSM4KOVPI6A.

InconsolableCellist commented 4 years ago

That sounds like a good theory with the timing issue! I've disabled the Xorg conf file and I'm first trying with the master branch (a9b4a20)

$ sudo ./ddcutil detect
Display 1
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

$ sudo ./ddcutil detect --sleep-multiplier 4
Display 1
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

I recompiled and tested with 0.9.9-dev and check this out:

$ sudo ./ddcutil detect --trcfunc i2c_get_raw_edid_by_fd |
(i2c_get_raw_edid_by_fd        ) Getting EDID for file 3
(i2c_get_raw_edid_by_fd        ) Sleeping for 50 milliseconds. Before write
(i2c_get_raw_edid_by_fd        ) Final single byte read returned 0, ndx=128
(i2c_get_raw_edid_by_fd        ) call_read returned:
   Buffer at 0x55dcf02b2440,  bytes addr=0x55dcf02c26e0, len=128, max_size=128
           +0          +4          +8          +c            0   4   8   c   
   +0000   00 ff ff ff ff ff ff 00 10 ac 98 a0 42 33 4e 30   ............B3N0
   +0010   03 19 01 03 80 30 1b 78 ea eb f5 a6 56 51 9c 26   .....0.x....VQ.&
   +0020   10 50 54 a5 4b 00 71 4f 81 80 a9 c0 d1 c0 01 01   .PT.K.qO........
   +0030   01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c   .......:..q8-@X,
   +0040   45 00 dd 0c 11 00 00 1e 00 00 00 ff 00 4b 57 31   E............KW1
   +0050   34 56 35 31 48 30 4e 33 42 0a 00 00 00 fc 00 44   4V51H0N3B......D
   +0060   45 4c 4c 20 50 32 32 31 34 48 0a 20 00 00 00 fd   ELL P2214H. ....
   +0070   00 38 4c 1e 53 11 00 0a 20 20 20 20 20 20 00 15   .8L.S...      ..
(i2c_get_raw_edid_by_fd        ) edid checksum = 0
(i2c_get_raw_edid_by_fd        ) Returning OK(0): success.  edidbuf contents:
Buffer at 0x55dcf02b2440,  bytes addr=0x55dcf02c26e0, len=128, max_size=128
        +0          +4          +8          +c            0   4   8   c   
+0000   00 ff ff ff ff ff ff 00 10 ac 98 a0 42 33 4e 30   ............B3N0
+0010   03 19 01 03 80 30 1b 78 ea eb f5 a6 56 51 9c 26   .....0.x....VQ.&
+0020   10 50 54 a5 4b 00 71 4f 81 80 a9 c0 d1 c0 01 01   .PT.K.qO........
+0030   01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c   .......:..q8-@X,
+0040   45 00 dd 0c 11 00 00 1e 00 00 00 ff 00 4b 57 31   E............KW1
+0050   34 56 35 31 48 30 4e 33 42 0a 00 00 00 fc 00 44   4V51H0N3B......D
+0060   45 4c 4c 20 50 32 32 31 34 48 0a 20 00 00 00 fd   ELL P2214H. ....
+0070   00 38 4c 1e 53 11 00 0a 20 20 20 20 20 20 00 15   .8L.S...      ..
(i2c_get_raw_edid_by_fd        ) Getting EDID for file 3
(i2c_get_raw_edid_by_fd        ) Sleeping for 50 milliseconds. Before write
(i2c_get_raw_edid_by_fd        ) Final single byte read returned 0, ndx=128
(i2c_get_raw_edid_by_fd        ) call_read returned:
   Buffer at 0x55dcf02b2440,  bytes addr=0x55dcf02c3980, len=128, max_size=128
           +0          +4          +8          +c            0   4   8   c   
   +0000   00 ff ff ff ff ff ff 00 5c 23 41 10 22 00 00 00   ........\#A."...
   +0010   25 17 01 03 80 1d 11 78 aa a7 07 a6 56 54 9b 26   %......x....VT.&
   +0020   0c 50 56 21 08 00 81 80 81 40 95 00 b3 00 01 01   .PV!.....@......
   +0030   01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c   .......:..q8-@X,
   +0040   45 00 25 a5 10 00 00 1e 00 00 00 fc 00 43 69 6e   E.%..........Cin
   +0050   74 69 71 20 41 31 33 30 30 0a 00 00 00 ff 00 33   tiq A1300......3
   +0060   49 41 48 30 30 30 30 33 34 0a 20 20 00 00 00 fd   IAH000034.  ....
   +0070   00 3b 3d 1f 46 0f 00 0a 20 20 20 20 20 20 01 f1   .;=.F...      ..
(i2c_get_raw_edid_by_fd        ) edid checksum = 0
(i2c_get_raw_edid_by_fd        ) Returning OK(0): success.  edidbuf contents:
Buffer at 0x55dcf02b2440,  bytes addr=0x55dcf02c3980, len=128, max_size=128
        +0          +4          +8          +c            0   4   8   c   
+0000   00 ff ff ff ff ff ff 00 5c 23 41 10 22 00 00 00   ........\#A."...
+0010   25 17 01 03 80 1d 11 78 aa a7 07 a6 56 54 9b 26   %......x....VT.&
+0020   0c 50 56 21 08 00 81 80 81 40 95 00 b3 00 01 01   .PV!.....@......
+0030   01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c   .......:..q8-@X,
+0040   45 00 25 a5 10 00 00 1e 00 00 00 fc 00 43 69 6e   E.%..........Cin
+0050   74 69 71 20 41 31 33 30 30 0a 00 00 00 ff 00 33   tiq A1300......3
+0060   49 41 48 30 30 30 30 33 34 0a 20 20 00 00 00 fd   IAH000034.  ....
+0070   00 3b 3d 1f 46 0f 00 0a 20 20 20 20 20 20 01 f1   .;=.F...      ..
(i2c_get_raw_edid_by_fd        ) Getting EDID for file 3
(i2c_get_raw_edid_by_fd        ) Sleeping for 50 milliseconds. Before write
(i2c_get_raw_edid_by_fd        ) Final single byte read returned 0, ndx=128
(i2c_get_raw_edid_by_fd        ) call_read returned:
   Buffer at 0x55dcf02b2440,  bytes addr=0x55dcf02c3d40, len=128, max_size=128
           +0          +4          +8          +c            0   4   8   c   
   +0000   00 ff ff ff ff ff ff 00 4c 2d 4d 0c 4a 53 4d 30   ........L-M.JSM0
   +0010   11 1c 01 04 b5 3d 23 78 3a 5f b1 a2 57 4f a2 28   .....=#x:_..WO.(
   +0020   0f 50 54 bf ef 80 71 4f 81 00 81 c0 81 80 a9 c0   .PT...qO........
   +0030   b3 00 95 00 01 01 4d d0 00 a0 f0 70 3e 80 30 20   ......M....p>.0 
   +0040   35 00 5f 59 21 00 00 1a 00 00 00 fd 00 38 4b 1e   5._Y!........8K.
   +0050   87 3c 00 0a 20 20 20 20 20 20 00 00 00 fc 00 55   .<..      .....U
   +0060   32 38 45 35 39 30 0a 20 20 20 20 20 00 00 00 ff   28E590.     ....
   +0070   00 48 54 50 4b 34 31 36 38 35 32 0a 20 20 01 67   .HTPK416852.  .g
(i2c_get_raw_edid_by_fd        ) edid checksum = 0
(i2c_get_raw_edid_by_fd        ) Returning OK(0): success.  edidbuf contents:
Buffer at 0x55dcf02b2440,  bytes addr=0x55dcf02c3d40, len=128, max_size=128
        +0          +4          +8          +c            0   4   8   c   
+0000   00 ff ff ff ff ff ff 00 4c 2d 4d 0c 4a 53 4d 30   ........L-M.JSM0
+0010   11 1c 01 04 b5 3d 23 78 3a 5f b1 a2 57 4f a2 28   .....=#x:_..WO.(
+0020   0f 50 54 bf ef 80 71 4f 81 00 81 c0 81 80 a9 c0   .PT...qO........
+0030   b3 00 95 00 01 01 4d d0 00 a0 f0 70 3e 80 30 20   ......M....p>.0 
+0040   35 00 5f 59 21 00 00 1a 00 00 00 fd 00 38 4b 1e   5._Y!........8K.
+0050   87 3c 00 0a 20 20 20 20 20 20 00 00 00 fc 00 55   .<..      .....U
+0060   32 38 45 35 39 30 0a 20 20 20 20 20 00 00 00 ff   28E590.     ....
+0070   00 48 54 50 4b 34 31 36 38 35 32 0a 20 20 01 67   .HTPK416852.  .g
Invalid display
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   DDC communication failed

Invalid display
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   DDC communication failed

Display 1
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0
InconsolableCellist commented 4 years ago

I should note too that the same situation was occurring with that third monitor, the DELL P2214H, which is an old 1080p monitor, from 2015 (the Cintiq 2013). I suppose the single-byte read is more compatible. I'm glad I was able to help diagnose this! I guess you have to put more of those #ifdef SINGLE_BYTE_READ blocks around, to enable all the functionality? Or maybe it can be a runtime arg, something like --compatibility. Or maybe just on by default?

rockowitz commented 4 years ago

On 2/2/20 6:40 PM, InconsolableCellist wrote:

I should note too that the same situation was occurring with that third monitor, the DELL P2214H, which is an old 1080p monitor, from 2015 (the Cintiq 2013). I suppose the single-byte read is more compatible. I'm glad I was able to help diagnose this! I guess you have to put more of those |#ifdef SINGLE_BYTE_READ| blocks around, to enable all the functionality? Or maybe it can be a runtime arg, something like |--compatibility|. Or maybe just on by default?

Once the displays are detected, do getvcp and setvcp work? How about capabilities, which requires multiple write/read cycles?

I have a Dell P2411h which often fails communication with DDC data errors.  The --sleep-multiplier option resolves the problem, but it will be interesting to see if single byte reads do as well.  Can you send me the "ddcutil probe" output for this and the Cintiq monitor? It will be interesting to see if they are using the same controller chip as my P2411h.

The iftested code in i2c_get_raw_edid_by_fd() is there for quick and dirty testing.  Now I have to figure out whether to always use single byte reads, fall back to single byte reads if a multi-byte read fails, or as you suggest use a command line option.  I'd prefer to avoid the latter, as it requires people to dig into the documentation.   Given that 90% of ddcutil's time is spend in DDC/CI protocol mandated sleeps (unless shortened by a --sleep multiplier value less than 1 - I actually have been able to get it down to as low as .2 for some monitors), single byte reads shouldn't have a perceptible affect on elapsed execution time.  This needs to be measured.  Harder to check for will the question of whether there are situations where multi-byte reads work but multiple single byte reads do not.

Thank you for bringing this case to my attention and helping to diagnose it.  I'm hoping the changes will significantly reduce the number of problematic monitors.

Changing topics, your github userid suggests that you're a cellist. Is that the case?  If so, you may be amused to know that I manufacture Rockstops.  It's a small old family business that I maintain on the side.

Regards, Sanford

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rockowitz/ddcutil/issues/104?email_source=notifications&email_token=ADMGY3RDDVG3IV4DJM2BDMLRA5KVFA5CNFSM4KOVPI6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKSEIWQ#issuecomment-581190746, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADMGY3VRFFI4HIGEPSIRE7LRA5KVFANCNFSM4KOVPI6A.

InconsolableCellist commented 4 years ago

Once the displays are detected, do getvcp and setvcp work? How about capabilities, which requires multiple write/read cycles?

It appears that it doesn't:

$ sudo ./ddcutil -b 2 getvcp 12
DDC communication failed for monitor on I2C bus /dev/i2c-2

$ sudo ./ddcutil -b 2 setvcp 12 50
DDC communication failed for monitor on I2C bus /dev/i2c-2

That's on both the Cintiq and Dell monitors. Probe also fails:

$ sudo ./ddcutil -b 2 probe
DDC communication failed for monitor on I2C bus /dev/i2c-2

-detect still lists the monitors though, same as above, but note that it says "DDC communication failed," both before and now:

$ sudo ./ddcutil detect 
Invalid display
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   DDC communication failed

Invalid display
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   DDC communication failed

Display 1
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

Changing topics, your github userid suggests that you're a cellist. Is that the case? If so, you may be amused to know that I manufacture Rockstops. It's a small old family business that I maintain on the side.

That's funny! Though I'm not actually a cellist, I just made a random name. That's cool though

rockowitz commented 4 years ago

Your results are consistent with the fact that the single byte read change was made only to the EDID reading on the I2C bus, not to DDC communication. So the change needs to be more generally applied. Thanks.

On 2/2/20 10:51 PM, InconsolableCellist wrote:

Once the displays are detected, do getvcp and setvcp work? How about
capabilities, which requires multiple write/read cycles?

It appears that it doesn't:

|$ sudo ./ddcutil -b 2 getvcp 12 DDC communication failed for monitor on I2C bus /dev/i2c-2 $ sudo ./ddcutil -b 2 setvcp 12 50 DDC communication failed for monitor on I2C bus /dev/i2c-2 |

That's on both the Cintiq and Dell monitors. Probe also fails:

|$ sudo ./ddcutil -b 2 probe DDC communication failed for monitor on I2C bus /dev/i2c-2 |

|-detect| still lists the monitors though, same as above, but note that it says "DDC communication failed," both before and now:

|$ sudo ./ddcutil detect Invalid display I2C bus: /dev/i2c-1 EDID synopsis: Mfg id: DEL Model: DELL P2214H Serial number: KW14V51H0N3B Manufacture year: 2015 EDID version: 1.3 DDC communication failed Invalid display I2C bus: /dev/i2c-2 EDID synopsis: Mfg id: WAC Model: Cintiq A1300 Serial number: 3IAH000034 Manufacture year: 2013 EDID version: 1.3 DDC communication failed Display 1 I2C bus: /dev/i2c-3 EDID synopsis: Mfg id: SAM Model: U28E590 Serial number: HTPK416852 Manufacture year: 2018 EDID version: 1.4 VCP version: 2.0 |

Changing topics, your github userid suggests that you're a
cellist. Is that the case? If so, you may be amused to know that I
manufacture Rockstops. It's a small old family business that I
maintain on the side.

That's funny! Though I'm not actually a cellist, I just made a random name. That's cool though

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rockowitz/ddcutil/issues/104?email_source=notifications&email_token=ADMGY3UWSQIXEAJIWAJUI73RA6IFXA5CNFSM4KOVPI6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKSMYSI#issuecomment-581225545, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADMGY3QHHBLTVAW5QHPAAW3RA6IFXANCNFSM4KOVPI6A.

rockowitz commented 4 years ago

I've added code to further parameterize how I2C writes and reads are performed. The latest version of ddcutil on github contains some special code that exercises these variations (16 permutations) if the command "ddcutil detect --i1 1" is issued. I'd appreciate it if you could run this command both with and without the 90-nvidia_i2c.conf settings and send me the output.

Running this command for several monitors here, what I observe is that all monitors return the EDID successfully no matter which variation is chosen. Some monitors work with single byte DDC reads but others do not. All monitors work with multi-byte DDC reads. It will be interesting to see how your system behaves.

If anyone else besides InconsolableCellist runs the "ddcutil detect --i1 1" command I'd appreciate seeing the output. Also, let me know your video card and driver (or better yet send the output of "ddcutil environment --verbose". Please send the output as attachments if possible.

--Sanford

InconsolableCellist commented 4 years ago

Sure. Here's the run without the 90-nvidia_i2c.conf:

===========> IO STRATEGY 1:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        false
   EDID read uses I2C layer: false
   EDID read bytewise:       false

Display 1
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 2:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        false
   EDID read uses I2C layer: false
   EDID read bytewise:       true

Invalid display
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   DDC communication failed

Invalid display
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   DDC communication failed

Display 2
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 3:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        false
   EDID read uses I2C layer: true
   EDID read bytewise:       false

Display 3
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 4:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        false
   EDID read uses I2C layer: true
   EDID read bytewise:       true

Invalid display
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   DDC communication failed

Invalid display
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   DDC communication failed

Display 4
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 5:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        true
   EDID read uses I2C layer: false
   EDID read bytewise:       false

Display 5
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 6:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        true
   EDID read uses I2C layer: false
   EDID read bytewise:       true

Display 6
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 7
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 8
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 7:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        true
   EDID read uses I2C layer: true
   EDID read bytewise:       false

Display 9
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 8:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        true
   EDID read uses I2C layer: true
   EDID read bytewise:       true

Display 10
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 11
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 12
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 9:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        false
   EDID read uses I2C layer: false
   EDID read bytewise:       false

Display 13
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 10:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        false
   EDID read uses I2C layer: false
   EDID read bytewise:       true

Invalid display
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   DDC communication failed

Invalid display
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   DDC communication failed

Display 14
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 11:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        false
   EDID read uses I2C layer: true
   EDID read bytewise:       false

Display 15
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 12:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        false
   EDID read uses I2C layer: true
   EDID read bytewise:       true

Invalid display
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   DDC communication failed

Invalid display
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   DDC communication failed

Display 16
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 13:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        true
   EDID read uses I2C layer: false
   EDID read bytewise:       false

Display 17
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 14:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        true
   EDID read uses I2C layer: false
   EDID read bytewise:       true

Display 18
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 19
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 20
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 15:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        true
   EDID read uses I2C layer: true
   EDID read bytewise:       false

Display 21
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 16:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        true
   EDID read uses I2C layer: true
   EDID read bytewise:       true

Display 22
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 23
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 24
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0
InconsolableCellist commented 4 years ago

Here it is after restoring the nvidia conf and rebooting:


===========> IO STRATEGY 1:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        false
   EDID read uses I2C layer: false
   EDID read bytewise:       false

Display 1
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 2
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 3
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 2:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        false
   EDID read uses I2C layer: false
   EDID read bytewise:       true

Display 4
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 5
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 6
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 3:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        false
   EDID read uses I2C layer: true
   EDID read bytewise:       false

Display 7
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 8
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 9
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 4:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        false
   EDID read uses I2C layer: true
   EDID read bytewise:       true

Display 10
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 11
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 12
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 5:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        true
   EDID read uses I2C layer: false
   EDID read bytewise:       false

Display 13
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 14
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 15
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 6:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        true
   EDID read uses I2C layer: false
   EDID read bytewise:       true

Display 16
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 17
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 18
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 7:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        true
   EDID read uses I2C layer: true
   EDID read bytewise:       false

Display 19
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 20
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 21
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 8:
   i2c_io_strategy:          FILEIO
   i2c_read_bytewise:        true
   EDID read uses I2C layer: true
   EDID read bytewise:       true

Display 22
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 23
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 24
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 9:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        false
   EDID read uses I2C layer: false
   EDID read bytewise:       false

Display 25
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 26
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 27
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 10:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        false
   EDID read uses I2C layer: false
   EDID read bytewise:       true

Display 28
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 29
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 30
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 11:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        false
   EDID read uses I2C layer: true
   EDID read bytewise:       false

Display 31
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 32
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 33
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 12:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        false
   EDID read uses I2C layer: true
   EDID read bytewise:       true

Display 34
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 35
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 36
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 13:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        true
   EDID read uses I2C layer: false
   EDID read bytewise:       false

Display 37
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 38
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 39
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 14:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        true
   EDID read uses I2C layer: false
   EDID read bytewise:       true

Display 40
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 41
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 42
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 15:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        true
   EDID read uses I2C layer: true
   EDID read bytewise:       false

Display 43
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 44
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 45
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0

===========> IO STRATEGY 16:
   i2c_io_strategy:          IOCTL
   i2c_read_bytewise:        true
   EDID read uses I2C layer: true
   EDID read bytewise:       true

Display 46
   I2C bus:             /dev/i2c-1
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
   VCP version:         2.1

Display 47
   I2C bus:             /dev/i2c-2
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
   VCP version:         2.1

Display 48
   I2C bus:             /dev/i2c-3
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
   VCP version:         2.0
InconsolableCellist commented 4 years ago

and environment --verbose:

Output level:               Verbose
Reporting DDC data errors:  false
Trace groups active:        none
Traced functions:           none
Traced files:               none
Force I2C slave address:    false

The following tests probe the runtime environment using multiple overlapping methods.

*** Basic System Information ***

ddcutil version: 0.9.2

/proc/version:
   Linux version 4.19.0-6-amd64 (debian-kernel@lists.debian.org) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11)

Architecture:     x86_64
Distributor id:   Debian
Release:          3
Found a known architecture

/proc/cmdline:
   BOOT_IMAGE=/vmlinuz-4.19.0-6-amd64 root=UUID=a549d036-d666-440c-af27-55427a23e65f ro quiet

Processor information as reported by lscpu:
   Architecture:        x86_64
   CPU op-mode(s):      32-bit, 64-bit
   Byte Order:          Little Endian
   Address sizes:       36 bits physical, 48 bits virtual
   CPU(s):              4
   On-line CPU(s) list: 0-3
   Thread(s) per core:  1
   Core(s) per socket:  4
   Socket(s):           1
   NUMA node(s):        1
   Vendor ID:           GenuineIntel
   CPU family:          6
   Model:               58
   Model name:          Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz
   Stepping:            9
   CPU MHz:             2346.581
   CPU max MHz:         3800.0000
   CPU min MHz:         1600.0000
   BogoMIPS:            6784.38
   Virtualization:      VT-x
   L1d cache:           32K
   L1i cache:           32K
   L2 cache:            256K
   L3 cache:            6144K
   NUMA node0 CPU(s):   0-3
   Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear flush_l1d

DMI Information from /sys/class/dmi/id:
   Motherboard vendor:       Dell Inc.
   Motherboard product name: 0GXM1W
   System vendor:            Dell Inc.
   System product name:      OptiPlex 7010
   Chassis vendor:           Dell Inc.
   Chassis type:             15 - Space-saving

Byte order checks:
   Is big endian (local test):       false
   WORDS_BIGENDIAN macro (autoconf): not defined
   __BYTE_ORDER__ macro (gcc):       __ORDER_LITTLE_ENDIAN__

*** Primary Check 1: Identify video card and driver ***

Obtaining card and driver information from /sys...
Primary video controller at PCI address 0000:01:00.0 (boot_vga flag is set)
   Device class:        x030000    VGA compatible controller
   Vendor:              x10de      NVIDIA Corporation
   Device:              x1c82      GP107 [GeForce GTX 1050 Ti]
   Subvendor/Subdevice: 1462/8c96  Micro-Star International Co., Ltd. [MSI]
   Driver name:         nvidia
   Driver version:      440.31
   I2C device:          i2c-3      name: NVIDIA i2c adapter 7 at 1:00.0
   I2C device:          i2c-1      name: NVIDIA i2c adapter 4 at 1:00.0
   I2C device:          i2c-2      name: NVIDIA i2c adapter 6 at 1:00.0

*** Primary Check 2: Check that /dev/i2c-* exist and writable ***

Current user: root (0)

Checking /dev/i2c-* devices...

Unless the system is using the AMD proprietary driver fglrx, devices /dev/i2c-*
must exist and the logged on user must have read/write permission for those
devices (or at least those devices associated with monitors).

Typically, this access is enabled by:
  - setting the group for /dev/i2c-* to i2c
  - setting group RW permissions for /dev/i2c-*
  - making the current user a member of group i2c

Alternatively, this can be enabled by just giving everyone RW permission
The following tests probe for these conditions.

Checking for /dev/i2c-* devices...
   crw-rw---- 1 root i2c 89, 0 Feb  9 14:26 /dev/i2c-0
   crw-rw---- 1 root i2c 89, 1 Feb  9 14:26 /dev/i2c-1
   crw-rw---- 1 root i2c 89, 2 Feb  9 14:26 /dev/i2c-2
   crw-rw---- 1 root i2c 89, 3 Feb  9 14:26 /dev/i2c-3

Current user (root) has RW access to all /dev/i2c-* devices.

Checking for group i2c...
   Group i2c exists
   Current user is root, membership in group i2c not needed

Looking for udev rules files that reference i2c:
   Checking rules directory /lib/udev/rules.d:
      /lib/udev/rules.d/60-i2c-tools.rules:SUBSYSTEM=="i2c-dev",KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660"
      /lib/udev/rules.d/60-sensor.rules:SUBSYSTEM=="iio", KERNEL=="iio*", SUBSYSTEMS=="usb|i2c", \
   Checking rules directory /run/udev/rules.d:
      grep: /run/udev/rules.d/*rules: No such file or directory
   Checking rules directory /etc/udev/rules.d:
      grep: /etc/udev/rules.d/*rules: No such file or directory

*** Primary Check 3: Check that module i2c_dev is loaded ***

Checking for module i2c_dev...
   Module i2c-dev is NOT built into kernel
   Loadable i2c-dev module found
   Module i2c_dev is loaded

Using only proprietary nvidia or fglrx driver. Module i2c_dev not required.

*** Primary Check 4: Driver specific checks ***

Performing driver specific checks...

Checking for special settings for proprietary Nvidia driver 
(Needed for some newer Nvidia cards).
   grep: /etc/X11/xorg.conf: No such file or directory
   /etc/X11/xorg.conf.d/90-nvidia_i2c.conf:   Option     "RegistryDwords"  "RMUseSwI2c=0x01; RMI2cSpeed=100"
   /etc/X11/xorg.conf.d/90-nvidia_i2c.conf:   # solves problem of i2c errors with nvidia driver
   /etc/X11/xorg.conf.d/90-nvidia_i2c.conf:   # per https://devtalk.nvidia.com/default/topic/572292/-solved-does-gddccontrol-work-for-anyone-here-nvidia-i2c-monitor-display-ddc/#4309293

*** Additional probes ***

Scanning /proc/modules for driver environment...
   Found other loaded module:      i2c_dev
   Found other loaded module:      videobuf2_vmalloc
   Found other loaded module:      videobuf2_memops
   Found other loaded module:      videobuf2_v4l2
   Found other loaded module:      videobuf2_common
   Found other loaded module:      videodev
   Found video driver module:      nvidia
   Found other loaded module:      drm_kms_helper
   Loaded drm module depends on:   nvidia_drm,drm_kms_helper,
   Found other loaded module:      i2c_i801
   Loaded video module depends on: -

Testing if modules are loaded using /sys...
   Module amdgpu           is NOT loaded
   Module fbdev            is NOT loaded
   Module fglrx            is NOT loaded
   Module fturbo           is NOT loaded
   Module i915             is NOT loaded
   Module mgag200          is NOT loaded
   Module nvidia           is loaded
   Module nouveau          is NOT loaded
   Module radeon           is NOT loaded
   Module vboxvideo        is NOT loaded
   Module vc4              is NOT loaded
   Module drm              is loaded
   Module i2c_algo_bit     is NOT loaded
   Module i2c_dev          is loaded
   Module i2c_piix4        is NOT loaded
   Module ddcci            is NOT loaded

Examining /sys/bus/i2c/devices...
   /sys/bus/i2c/devices/i2c-3/name:   NVIDIA i2c adapter 7 at 1:00.0
   /sys/bus/i2c/devices/i2c-1/name:   NVIDIA i2c adapter 4 at 1:00.0
   /sys/bus/i2c/devices/i2c-2/name:   NVIDIA i2c adapter 6 at 1:00.0
   /sys/bus/i2c/devices/i2c-0/name:   SMBus I801 adapter at f000

Examining /proc/driver/nvidia:
   /proc/driver/nvidia/version:
      NVRM version: NVIDIA UNIX x86_64 Kernel Module  440.31  Sun Oct 27 02:19:35 UTC 2019
      GCC version:  gcc version 8.3.0 (Debian 8.3.0-6)
   /proc/driver/nvidia/registry:
      Binary: ""
   /proc/driver/nvidia/params:
      Mobile: 4294967295
      ResmanDebugLevel: 4294967295
      RmLogonRC: 1
      ModifyDeviceFiles: 1
      DeviceFileUID: 0
      DeviceFileGID: 0
      DeviceFileMode: 438
      InitializeSystemMemoryAllocations: 1
      UsePageAttributeTable: 4294967295
      EnableMSI: 1
      MapRegistersEarly: 0
      RegisterForACPIEvents: 1
      EnablePCIeGen3: 0
      MemoryPoolSize: 0
      KMallocHeapMaxSize: 0
      VMallocHeapMaxSize: 0
      IgnoreMMIOCheck: 0
      TCEBypassMode: 0
      EnableStreamMemOPs: 0
      EnableBacklightHandler: 1
      EnableUserNUMAManagement: 1
      NvLinkDisable: 0
      RmProfilingAdminOnly: 1
      PreserveVideoMemoryAllocations: 0
      DynamicPowerManagement: 0
      RegisterPCIDriver: 1
      RegistryDwords: ""
      RegistryDwordsPerDevice: ""
      RmMsg: ""
      AssignGpus: ""
      GpuBlacklist: ""
      TemporaryFilePath: ""
   PCI bus id: 0000:01:00.0
   /proc/driver/nvidia/gpus/0000:01:00.0/information:
      Model:         GeForce GTX 1050 Ti
      IRQ:           29
      GPU UUID:      GPU-94a2ff69-b863-5ad6-e882-47e81e5dd681
      Video BIOS:    86.07.39.40.22
      Bus Type:      PCIe
      DMA Size:      47 bits
      DMA Mask:      0x7fffffffffff
      Bus Location:      0000:01:00.0
      Device Minor:      0
      Blacklisted:   No
   /proc/driver/nvidia/gpus/0000:01:00.0/registry:
      Binary: ""

Examining I2C buses, as detected by I2C layer...

   Detected 3 I2C buses:

   Bus /dev/i2c-1 found:    true
   Bus /dev/i2c-1 probed:   true
   Address 0x30 present:    false
   Address 0x37 present:    true
   Address 0x50 present:    true
   Functionality: I2C_FUNC_I2C, I2C_FUNC_SMBUS_QUICK, I2C_FUNC_SMBUS_READ_BYTE, 
                  I2C_FUNC_SMBUS_WRITE_BYTE, I2C_FUNC_SMBUS_READ_BYTE_DATA, 
                  I2C_FUNC_SMBUS_WRITE_BYTE_DATA, I2C_FUNC_SMBUS_READ_WORD_DATA, 
                  I2C_FUNC_SMBUS_WRITE_WORD_DATA, I2C_FUNC_SMBUS_READ_BLOCK_DATA, 
                  I2C_FUNC_SMBUS_WRITE_BLOCK_DATA
   EDID synopsis:
      Mfg id:           DEL
      Model:            DELL P2214H
      Serial number:    KW14V51H0N3B
      Manufacture year: 2015
      EDID version:     1.3
      Product code:     41112
      Extra descriptor: Unspecified
      Video input definition: 0x80 - Digital Input
      Supported features:
         DPMS standby
         DPMS suspend
         DPMS active-off
         Digital display type: RGB 4:4:4
         Standard sRGB color space: False
      White x,y:        0.313, 0.329
      Red   x,y:        0.651, 0.338
      Green x,y:        0.318, 0.612
      Blue  x,y:        0.151, 0.065
      Extension blocks: 0
   EDID source: 
   EDID hex dump:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 10 ac 98 a0 42 33 4e 30   ............B3N0
      +0010   03 19 01 03 80 30 1b 78 ea eb f5 a6 56 51 9c 26   .....0.x....VQ.&
      +0020   10 50 54 a5 4b 00 71 4f 81 80 a9 c0 d1 c0 01 01   .PT.K.qO........
      +0030   01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c   .......:..q8-@X,
      +0040   45 00 dd 0c 11 00 00 1e 00 00 00 ff 00 4b 57 31   E............KW1
      +0050   34 56 35 31 48 30 4e 33 42 0a 00 00 00 fc 00 44   4V51H0N3B......D
      +0060   45 4c 4c 20 50 32 32 31 34 48 0a 20 00 00 00 fd   ELL P2214H. ....
      +0070   00 38 4c 1e 53 11 00 0a 20 20 20 20 20 20 00 15   .8L.S...      ..

   Bus /dev/i2c-2 found:    true
   Bus /dev/i2c-2 probed:   true
   Address 0x30 present:    true
   Address 0x37 present:    true
   Address 0x50 present:    true
   Functionality: I2C_FUNC_I2C, I2C_FUNC_SMBUS_QUICK, I2C_FUNC_SMBUS_READ_BYTE, 
                  I2C_FUNC_SMBUS_WRITE_BYTE, I2C_FUNC_SMBUS_READ_BYTE_DATA, 
                  I2C_FUNC_SMBUS_WRITE_BYTE_DATA, I2C_FUNC_SMBUS_READ_WORD_DATA, 
                  I2C_FUNC_SMBUS_WRITE_WORD_DATA, I2C_FUNC_SMBUS_READ_BLOCK_DATA, 
                  I2C_FUNC_SMBUS_WRITE_BLOCK_DATA
   EDID synopsis:
      Mfg id:           WAC
      Model:            Cintiq A1300
      Serial number:    3IAH000034
      Manufacture year: 2013
      EDID version:     1.3
      Product code:     4161
      Extra descriptor: Unspecified
      Video input definition: 0x80 - Digital Input
      Supported features:
         DPMS standby
         DPMS active-off
         Digital display type: RGB 4:4:4
         Standard sRGB color space: False
      White x,y:        0.313, 0.339
      Red   x,y:        0.650, 0.338
      Green x,y:        0.329, 0.608
      Blue  x,y:        0.148, 0.047
      Extension blocks: 1
   EDID source: 
   EDID hex dump:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 5c 23 41 10 22 00 00 00   ........\#A."...
      +0010   25 17 01 03 80 1d 11 78 aa a7 07 a6 56 54 9b 26   %......x....VT.&
      +0020   0c 50 56 21 08 00 81 80 81 40 95 00 b3 00 01 01   .PV!.....@......
      +0030   01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c   .......:..q8-@X,
      +0040   45 00 25 a5 10 00 00 1e 00 00 00 fc 00 43 69 6e   E.%..........Cin
      +0050   74 69 71 20 41 31 33 30 30 0a 00 00 00 ff 00 33   tiq A1300......3
      +0060   49 41 48 30 30 30 30 33 34 0a 20 20 00 00 00 fd   IAH000034.  ....
      +0070   00 3b 3d 1f 46 0f 00 0a 20 20 20 20 20 20 01 f1   .;=.F...      ..

   Bus /dev/i2c-3 found:    true
   Bus /dev/i2c-3 probed:   true
   Address 0x30 present:    true
   Address 0x37 present:    true
   Address 0x50 present:    true
   Functionality: I2C_FUNC_I2C, I2C_FUNC_SMBUS_QUICK, I2C_FUNC_SMBUS_READ_BYTE, 
                  I2C_FUNC_SMBUS_WRITE_BYTE, I2C_FUNC_SMBUS_READ_BYTE_DATA, 
                  I2C_FUNC_SMBUS_WRITE_BYTE_DATA, I2C_FUNC_SMBUS_READ_WORD_DATA, 
                  I2C_FUNC_SMBUS_WRITE_WORD_DATA, I2C_FUNC_SMBUS_READ_BLOCK_DATA, 
                  I2C_FUNC_SMBUS_WRITE_BLOCK_DATA
   EDID synopsis:
      Mfg id:           SAM
      Model:            U28E590
      Serial number:    HTPK416852
      Manufacture year: 2018
      EDID version:     1.4
      Product code:     3149
      Extra descriptor: Unspecified
      Video input definition: 0xb5 - Digital Input (DisplayPort)
      Supported features:
         DPMS active-off
         Digital display type: RGB 4:4:4 + YCrCb 4:2:2
         Standard sRGB color space: True
      White x,y:        0.312, 0.329
      Red   x,y:        0.634, 0.341
      Green x,y:        0.312, 0.636
      Blue  x,y:        0.158, 0.062
      Extension blocks: 1
   EDID source: 
   EDID hex dump:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 4c 2d 4d 0c 4a 53 4d 30   ........L-M.JSM0
      +0010   11 1c 01 04 b5 3d 23 78 3a 5f b1 a2 57 4f a2 28   .....=#x:_..WO.(
      +0020   0f 50 54 bf ef 80 71 4f 81 00 81 c0 81 80 a9 c0   .PT...qO........
      +0030   b3 00 95 00 01 01 4d d0 00 a0 f0 70 3e 80 30 20   ......M....p>.0 
      +0040   35 00 5f 59 21 00 00 1a 00 00 00 fd 00 38 4b 1e   5._Y!........8K.
      +0050   87 3c 00 0a 20 20 20 20 20 20 00 00 00 fc 00 55   .<..      .....U
      +0060   32 38 45 35 39 30 0a 20 20 20 20 20 00 00 00 ff   28E590.     ....
      +0070   00 48 54 50 4b 34 31 36 38 35 32 0a 20 20 01 67   .HTPK416852.  .g

xrandr connection report:
   DVI-D-0 connected 2880x1620+6720+0 (normal left inverted right x axis y axis) 477mm x 268mm
   HDMI-0 connected 2880x1620+0+0 inverted (normal left inverted right x axis y axis) 293mm x 165mm
   DP-0 connected primary 3840x2160+2880+0 (normal left inverted right x axis y axis) 607mm x 345mm
   DP-1 disconnected (normal left inverted right x axis y axis)

Checking for possibly conflicting programs...

Examining I2C buses using i2cdetect... 

   Device /dev/i2c-0 is a SMBus or other ignorable device.  Skipping i2cdetect.

   Probing bus /dev/i2c-1 using command "i2cdetect -y 1"
           0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
      00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
      10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      30: -- -- -- -- -- -- -- 37 -- -- 3a -- -- -- -- -- 
      40: -- -- -- -- -- -- -- -- -- -- 4a 4b -- -- -- -- 
      50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      70: -- -- -- -- -- -- -- --                         

   Probing bus /dev/i2c-2 using command "i2cdetect -y 2"
           0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
      00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
      10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      30: 30 -- -- -- -- -- -- 37 -- -- 3a -- -- -- -- -- 
      40: -- -- -- -- -- -- -- -- -- -- 4a 4b -- -- -- -- 
      50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      70: -- -- -- -- -- -- -- --                         

   Probing bus /dev/i2c-3 using command "i2cdetect -y 3"
           0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
      00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
      10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      30: 30 31 32 33 34 35 36 37 -- -- -- -- -- -- -- -- 
      40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 
      60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
      70: -- -- -- -- -- -- -- --                         

Performing basic scan of I2C devices using local sysenv functions...

   Examining device /dev/i2c-0...
                           Device /dev/i2c-0 is a SMBus or other ignorable device.  Skipping.

   Examining device /dev/i2c-1...
      Functionality: I2C_FUNC_I2C, I2C_FUNC_SMBUS_QUICK, I2C_FUNC_SMBUS_READ_BYTE, 
                     I2C_FUNC_SMBUS_WRITE_BYTE, I2C_FUNC_SMBUS_READ_BYTE_DATA, 
                     I2C_FUNC_SMBUS_WRITE_BYTE_DATA, I2C_FUNC_SMBUS_READ_WORD_DATA, 
                     I2C_FUNC_SMBUS_WRITE_WORD_DATA, I2C_FUNC_SMBUS_READ_BLOCK_DATA, 
                     I2C_FUNC_SMBUS_WRITE_BLOCK_DATA
      Raw EDID:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 10 ac 98 a0 42 33 4e 30   ............B3N0
      +0010   03 19 01 03 80 30 1b 78 ea eb f5 a6 56 51 9c 26   .....0.x....VQ.&
      +0020   10 50 54 a5 4b 00 71 4f 81 80 a9 c0 d1 c0 01 01   .PT.K.qO........
      +0030   01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c   .......:..q8-@X,
      +0040   45 00 dd 0c 11 00 00 1e 00 00 00 ff 00 4b 57 31   E............KW1
      +0050   34 56 35 31 48 30 4e 33 42 0a 00 00 00 fc 00 44   4V51H0N3B......D
      +0060   45 4c 4c 20 50 32 32 31 34 48 0a 20 00 00 00 fd   ELL P2214H. ....
      +0070   00 38 4c 1e 53 11 00 0a 20 20 20 20 20 20 00 15   .8L.S...      ..
      EDID synopsis:
         Mfg id:           DEL
         Model:            DELL P2214H
         Serial number:    KW14V51H0N3B
         Manufacture year: 2015
         EDID version:     1.3
         Product code:     41112
         Extra descriptor: Unspecified
         Video input definition: 0x80 - Digital Input
         Supported features:
            DPMS standby
            DPMS suspend
            DPMS active-off
            Digital display type: RGB 4:4:4
            Standard sRGB color space: False
         White x,y:        0.313, 0.329
         Red   x,y:        0.651, 0.338
         Green x,y:        0.318, 0.612
         Blue  x,y:        0.151, 0.065
         Extension blocks: 0
      EDID source: 

      Trying simple VCP read of feature 0x10...
      read() returned 6e 88 02 00 10 00 00 64 00 64 a4
      Attempt 1 to read feature succeeded.
      DDC communication succeeded

   Examining device /dev/i2c-2...
      Functionality: I2C_FUNC_I2C, I2C_FUNC_SMBUS_QUICK, I2C_FUNC_SMBUS_READ_BYTE, 
                     I2C_FUNC_SMBUS_WRITE_BYTE, I2C_FUNC_SMBUS_READ_BYTE_DATA, 
                     I2C_FUNC_SMBUS_WRITE_BYTE_DATA, I2C_FUNC_SMBUS_READ_WORD_DATA, 
                     I2C_FUNC_SMBUS_WRITE_WORD_DATA, I2C_FUNC_SMBUS_READ_BLOCK_DATA, 
                     I2C_FUNC_SMBUS_WRITE_BLOCK_DATA
      Raw EDID:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 5c 23 41 10 22 00 00 00   ........\#A."...
      +0010   25 17 01 03 80 1d 11 78 aa a7 07 a6 56 54 9b 26   %......x....VT.&
      +0020   0c 50 56 21 08 00 81 80 81 40 95 00 b3 00 01 01   .PV!.....@......
      +0030   01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c   .......:..q8-@X,
      +0040   45 00 25 a5 10 00 00 1e 00 00 00 fc 00 43 69 6e   E.%..........Cin
      +0050   74 69 71 20 41 31 33 30 30 0a 00 00 00 ff 00 33   tiq A1300......3
      +0060   49 41 48 30 30 30 30 33 34 0a 20 20 00 00 00 fd   IAH000034.  ....
      +0070   00 3b 3d 1f 46 0f 00 0a 20 20 20 20 20 20 01 f1   .;=.F...      ..
      EDID synopsis:
         Mfg id:           WAC
         Model:            Cintiq A1300
         Serial number:    3IAH000034
         Manufacture year: 2013
         EDID version:     1.3
         Product code:     4161
         Extra descriptor: Unspecified
         Video input definition: 0x80 - Digital Input
         Supported features:
            DPMS standby
            DPMS active-off
            Digital display type: RGB 4:4:4
            Standard sRGB color space: False
         White x,y:        0.313, 0.339
         Red   x,y:        0.650, 0.338
         Green x,y:        0.329, 0.608
         Blue  x,y:        0.148, 0.047
         Extension blocks: 1
      EDID source: 

      Trying simple VCP read of feature 0x10...
      read() returned 6e 88 02 00 10 00 00 64 00 64 a4
      Attempt 1 to read feature succeeded.
      DDC communication succeeded

   Examining device /dev/i2c-3...
      Functionality: I2C_FUNC_I2C, I2C_FUNC_SMBUS_QUICK, I2C_FUNC_SMBUS_READ_BYTE, 
                     I2C_FUNC_SMBUS_WRITE_BYTE, I2C_FUNC_SMBUS_READ_BYTE_DATA, 
                     I2C_FUNC_SMBUS_WRITE_BYTE_DATA, I2C_FUNC_SMBUS_READ_WORD_DATA, 
                     I2C_FUNC_SMBUS_WRITE_WORD_DATA, I2C_FUNC_SMBUS_READ_BLOCK_DATA, 
                     I2C_FUNC_SMBUS_WRITE_BLOCK_DATA
      Raw EDID:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 4c 2d 4d 0c 4a 53 4d 30   ........L-M.JSM0
      +0010   11 1c 01 04 b5 3d 23 78 3a 5f b1 a2 57 4f a2 28   .....=#x:_..WO.(
      +0020   0f 50 54 bf ef 80 71 4f 81 00 81 c0 81 80 a9 c0   .PT...qO........
      +0030   b3 00 95 00 01 01 4d d0 00 a0 f0 70 3e 80 30 20   ......M....p>.0 
      +0040   35 00 5f 59 21 00 00 1a 00 00 00 fd 00 38 4b 1e   5._Y!........8K.
      +0050   87 3c 00 0a 20 20 20 20 20 20 00 00 00 fc 00 55   .<..      .....U
      +0060   32 38 45 35 39 30 0a 20 20 20 20 20 00 00 00 ff   28E590.     ....
      +0070   00 48 54 50 4b 34 31 36 38 35 32 0a 20 20 01 67   .HTPK416852.  .g
      EDID synopsis:
         Mfg id:           SAM
         Model:            U28E590
         Serial number:    HTPK416852
         Manufacture year: 2018
         EDID version:     1.4
         Product code:     3149
         Extra descriptor: Unspecified
         Video input definition: 0xb5 - Digital Input (DisplayPort)
         Supported features:
            DPMS active-off
            Digital display type: RGB 4:4:4 + YCrCb 4:2:2
            Standard sRGB color space: True
         White x,y:        0.312, 0.329
         Red   x,y:        0.634, 0.341
         Green x,y:        0.312, 0.636
         Blue  x,y:        0.158, 0.062
         Extension blocks: 1
      EDID source: 

      Trying simple VCP read of feature 0x10...
      read() returned 6e 88 02 00 10 00 00 64 00 32 f2
      Attempt 1 to read feature succeeded.
      DDC communication succeeded

EDIDs reported by X11 for connected xrandr outputs:
   xrandr output: DVI-D-0
      Raw EDID:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 10 ac 98 a0 42 33 4e 30   ............B3N0
      +0010   03 19 01 03 80 30 1b 78 ea eb f5 a6 56 51 9c 26   .....0.x....VQ.&
      +0020   10 50 54 a5 4b 00 71 4f 81 80 a9 c0 d1 c0 01 01   .PT.K.qO........
      +0030   01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c   .......:..q8-@X,
      +0040   45 00 dd 0c 11 00 00 1e 00 00 00 ff 00 4b 57 31   E............KW1
      +0050   34 56 35 31 48 30 4e 33 42 0a 00 00 00 fc 00 44   4V51H0N3B......D
      +0060   45 4c 4c 20 50 32 32 31 34 48 0a 20 00 00 00 fd   ELL P2214H. ....
      +0070   00 38 4c 1e 53 11 00 0a 20 20 20 20 20 20 00 15   .8L.S...      ..
      EDID synopsis:
         Mfg id:           DEL
         Model:            DELL P2214H
         Serial number:    KW14V51H0N3B
         Manufacture year: 2015
         EDID version:     1.3
         Product code:     41112
         Extra descriptor: Unspecified
         Video input definition: 0x80 - Digital Input
         Supported features:
            DPMS standby
            DPMS suspend
            DPMS active-off
            Digital display type: RGB 4:4:4
            Standard sRGB color space: False
         White x,y:        0.313, 0.329
         Red   x,y:        0.651, 0.338
         Green x,y:        0.318, 0.612
         Blue  x,y:        0.151, 0.065
         Extension blocks: 0
      EDID source: 

   xrandr output: HDMI-0
      Raw EDID:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 5c 23 41 10 22 00 00 00   ........\#A."...
      +0010   25 17 01 03 80 1d 11 78 aa a7 07 a6 56 54 9b 26   %......x....VT.&
      +0020   0c 50 56 21 08 00 81 80 81 40 95 00 b3 00 01 01   .PV!.....@......
      +0030   01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c   .......:..q8-@X,
      +0040   45 00 25 a5 10 00 00 1e 00 00 00 fc 00 43 69 6e   E.%..........Cin
      +0050   74 69 71 20 41 31 33 30 30 0a 00 00 00 ff 00 33   tiq A1300......3
      +0060   49 41 48 30 30 30 30 33 34 0a 20 20 00 00 00 fd   IAH000034.  ....
      +0070   00 3b 3d 1f 46 0f 00 0a 20 20 20 20 20 20 01 f1   .;=.F...      ..
      EDID synopsis:
         Mfg id:           WAC
         Model:            Cintiq A1300
         Serial number:    3IAH000034
         Manufacture year: 2013
         EDID version:     1.3
         Product code:     4161
         Extra descriptor: Unspecified
         Video input definition: 0x80 - Digital Input
         Supported features:
            DPMS standby
            DPMS active-off
            Digital display type: RGB 4:4:4
            Standard sRGB color space: False
         White x,y:        0.313, 0.339
         Red   x,y:        0.650, 0.338
         Green x,y:        0.329, 0.608
         Blue  x,y:        0.148, 0.047
         Extension blocks: 1
      EDID source: 

   xrandr output: DP-0
      Raw EDID:
              +0          +4          +8          +c            0   4   8   c   
      +0000   00 ff ff ff ff ff ff 00 4c 2d 4d 0c 4a 53 4d 30   ........L-M.JSM0
      +0010   11 1c 01 04 b5 3d 23 78 3a 5f b1 a2 57 4f a2 28   .....=#x:_..WO.(
      +0020   0f 50 54 bf ef 80 71 4f 81 00 81 c0 81 80 a9 c0   .PT...qO........
      +0030   b3 00 95 00 01 01 4d d0 00 a0 f0 70 3e 80 30 20   ......M....p>.0 
      +0040   35 00 5f 59 21 00 00 1a 00 00 00 fd 00 38 4b 1e   5._Y!........8K.
      +0050   87 3c 00 0a 20 20 20 20 20 20 00 00 00 fc 00 55   .<..      .....U
      +0060   32 38 45 35 39 30 0a 20 20 20 20 20 00 00 00 ff   28E590.     ....
      +0070   00 48 54 50 4b 34 31 36 38 35 32 0a 20 20 01 67   .HTPK416852.  .g
      EDID synopsis:
         Mfg id:           SAM
         Model:            U28E590
         Serial number:    HTPK416852
         Manufacture year: 2018
         EDID version:     1.4
         Product code:     3149
         Extra descriptor: Unspecified
         Video input definition: 0xb5 - Digital Input (DisplayPort)
         Supported features:
            DPMS active-off
            Digital display type: RGB 4:4:4 + YCrCb 4:2:2
            Standard sRGB color space: True
         White x,y:        0.312, 0.329
         Red   x,y:        0.634, 0.341
         Green x,y:        0.312, 0.636
         Blue  x,y:        0.158, 0.062
         Extension blocks: 1
      EDID source: 

Probing I2C devices using udev, susbsystem i2c-dev...

   ***One Device ***
   path: /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-1/i2c-dev/i2c-1
   Device Node Path: /dev/i2c-1
      struct udev_device at: 0x56394a2673f0
         devpath:   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-1/i2c-dev/i2c-1
         subsystem: i2c-dev
         devtype:   (null)
         syspath:   /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-1/i2c-dev/i2c-1
         sysname:   i2c-1
         sysnum:    1
         devnode:   /dev/i2c-1
         Properties:
            DEVNAME -> /dev/i2c-1
            DEVPATH -> /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-1/i2c-dev/i2c-1
            MAJOR -> 89
            MINOR -> 1
            SUBSYSTEM -> i2c-dev
         Sysattrs:
            uevent -> MAJOR=89
                      MINOR=1
                      DEVNAME=i2c-1
            dev -> 89:1
            device -> (null)
            subsystem -> i2c-dev
            name -> NVIDIA i2c adapter 4 at 1:00.0

   ***One Device ***
   path: /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/i2c-dev/i2c-2
   Device Node Path: /dev/i2c-2
      struct udev_device at: 0x56394a2673f0
         devpath:   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/i2c-dev/i2c-2
         subsystem: i2c-dev
         devtype:   (null)
         syspath:   /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/i2c-dev/i2c-2
         sysname:   i2c-2
         sysnum:    2
         devnode:   /dev/i2c-2
         Properties:
            DEVNAME -> /dev/i2c-2
            DEVPATH -> /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/i2c-dev/i2c-2
            MAJOR -> 89
            MINOR -> 2
            SUBSYSTEM -> i2c-dev
         Sysattrs:
            uevent -> MAJOR=89
                      MINOR=2
                      DEVNAME=i2c-2
            dev -> 89:2
            device -> (null)
            subsystem -> i2c-dev
            name -> NVIDIA i2c adapter 6 at 1:00.0

   ***One Device ***
   path: /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-3/i2c-dev/i2c-3
   Device Node Path: /dev/i2c-3
      struct udev_device at: 0x56394a2673f0
         devpath:   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-3/i2c-dev/i2c-3
         subsystem: i2c-dev
         devtype:   (null)
         syspath:   /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-3/i2c-dev/i2c-3
         sysname:   i2c-3
         sysnum:    3
         devnode:   /dev/i2c-3
         Properties:
            DEVNAME -> /dev/i2c-3
            DEVPATH -> /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-3/i2c-dev/i2c-3
            MAJOR -> 89
            MINOR -> 3
            SUBSYSTEM -> i2c-dev
         Sysattrs:
            uevent -> MAJOR=89
                      MINOR=3
                      DEVNAME=i2c-3
            dev -> 89:3
            device -> (null)
            subsystem -> i2c-dev
            name -> NVIDIA i2c adapter 7 at 1:00.0

   ***One Device ***
   path: /sys/devices/pci0000:00/0000:00:1f.3/i2c-0/i2c-dev/i2c-0
   Device Node Path: /dev/i2c-0
      struct udev_device at: 0x56394a2673f0
         devpath:   /devices/pci0000:00/0000:00:1f.3/i2c-0/i2c-dev/i2c-0
         subsystem: i2c-dev
         devtype:   (null)
         syspath:   /sys/devices/pci0000:00/0000:00:1f.3/i2c-0/i2c-dev/i2c-0
         sysname:   i2c-0
         sysnum:    0
         devnode:   /dev/i2c-0
         Properties:
            DEVNAME -> /dev/i2c-0
            DEVPATH -> /devices/pci0000:00/0000:00:1f.3/i2c-0/i2c-dev/i2c-0
            MAJOR -> 89
            MINOR -> 0
            SUBSYSTEM -> i2c-dev
         Sysattrs:
            uevent -> MAJOR=89
                      MINOR=0
                      DEVNAME=i2c-0
            dev -> 89:0
            device -> (null)
            subsystem -> i2c-dev
            name -> SMBus I801 adapter at f000

Summary of udev I2C devices
   Subsystem   Sysname    Sysattr Name                        Devpath
   i2c-dev     i2c-0      SMBus I801 adapter at f000          /devices/pci0000:00/0000:00:1f.3/i2c-0/i2c-dev/i2c-0
   i2c-dev     i2c-1      NVIDIA i2c adapter 4 at 1:00.0      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-1/i2c-dev/i2c-1
   i2c-dev     i2c-2      NVIDIA i2c adapter 6 at 1:00.0      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/i2c-dev/i2c-2
   i2c-dev     i2c-3      NVIDIA i2c adapter 7 at 1:00.0      /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-3/i2c-dev/i2c-3

Looking for udev devices with name attribute DPMST...
Summary of udev DPMST devices...
   No devices detected

Examining configuration files...

DKMS modules:
   aufs, 4.19+20190211, 4.19.0-6-amd64, x86_64: installed (WARError executing command: EPERM(-1): Operation not permitted
NING! Diff between built and installed module!)
   nvidia, 440.31, 4.19.0-6-amd64, x86_64: installed

Kernel I2C configuration settings:
   CONFIG_I2C_CHARDEV=m

Kernel AMDGPU configuration settings:
   CONFIG_DRM_AMDGPU=m
   CONFIG_DRM_AMDGPU_SI=y
   CONFIG_DRM_AMDGPU_CIK=y
   CONFIG_DRM_AMDGPU_USERPTR=y
   # CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set

Examining system logs...

   Scanning dmesg output for I2C related entries...
   Executing command: dmesg
      [    0.371661] ACPI: Added _OSI(Linux-Dell-Video)
      [    0.503101] pci 0000:01:00.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
      [    1.623421] ata2.00: supports DRM functions and may not be fully accessible
      [    1.628918] ata2.00: supports DRM functions and may not be fully accessible
      [    3.034874] nvidia: loading out-of-tree module taints kernel.
      [    3.034880] nvidia: module license 'NVIDIA' taints kernel.
      [    3.063347] nvidia: module verification failed: signature and/or required key missing - tainting kernel
      [    3.071335] nvidia-nvlink: Nvlink Core is being initialized, major device number 242
      [    3.071646] nvidia 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
      [    3.171320] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  440.31  Sun Oct 27 02:19:35 UTC 2019
      [    3.176886] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  440.31  Sun Oct 27 02:09:30 UTC 2019
      [    3.179226] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
      [    3.179227] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 0
      [    3.869053] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input19
      [    3.869167] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input20
      [    3.869242] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input21
      [    4.712512] videodev: Linux video capture interface: v2.00
      [    4.946030] uvcvideo: Found UVC 1.00 device USB Camera (0bda:5823)
      [    4.958946] uvcvideo 2-3.6:1.0: Entity type for entity Extension 4 was not initialized!
      [    4.958949] uvcvideo 2-3.6:1.0: Entity type for entity Processing 2 was not initialized!
      [    4.958950] uvcvideo 2-3.6:1.0: Entity type for entity Camera 1 was not initialized!
      [    4.959193] usbcore: registered new interface driver uvcvideo
      [    4.959194] USB Video Class driver (1.1.1)
      [    5.681932] audit: type=1400 audit(1581283193.632:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=1254 comm="apparmor_parser"
      [    5.681934] audit: type=1400 audit(1581283193.632:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=1254 comm="apparmor_parser"
      [   17.427265] caller _nv000906rm+0x1bf/0x1f0 [nvidia] mapping multiple BARs

   Scanning journalctl output for I2C related entries...
   Executing command: journalctl --no-pager --boot

   Scanning file: /var/log/Xorg.0.log
   Limiting output to first 200 relevant lines...
      [    17.001]  X.Org Video Driver: 24.0
      [    17.002] (II) xfree86: Adding drm device (/dev/dri/card0)
      [    17.022] (II) LoadModule: "nvidia"
      [    17.024] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
      [    17.035] (II) Module nvidia: vendor="NVIDIA Corporation"
      [    17.035]  Module class: X.Org Video Driver
      [    17.037] (II) NVIDIA dlloader X Driver  440.31  Sun Oct 27 02:16:54 UTC 2019
      [    17.037] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
      [    17.056] (II) NVIDIA(0): Creating default Display subsection in Screen section
      [    17.056] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
      [    17.056] (==) NVIDIA(0): RGB weight 888
      [    17.056] (==) NVIDIA(0): Default visual is TrueColor
      [    17.056] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
      [    17.058] (**) NVIDIA(0): Option "RegistryDwords" "RMUseSwI2c=0x01; RMI2cSpeed=100"
      [    17.058] (**) NVIDIA(0): Enabling 2D acceleration
      [    17.058] (II) Loading sub module "glxserver_nvidia"
      [    17.058] (II) LoadModule: "glxserver_nvidia"
      [    17.058] (II) Loading /usr/lib/xorg/modules/extensions/libglxserver_nvidia.so
      [    17.175] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
      [    17.176] (II) NVIDIA GLX Module  440.31  Sun Oct 27 02:14:20 UTC 2019
      [    17.179] (II) NVIDIA: The X server does not support PRIME Render Offload.
      [    17.953] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
      [    17.953] (--) NVIDIA(0):     DFP-0 (boot)
      [    17.953] (--) NVIDIA(0):     DFP-1
      [    17.953] (--) NVIDIA(0):     DFP-2
      [    17.953] (--) NVIDIA(0):     DFP-3
      [    17.954] (II) NVIDIA(0): NVIDIA GPU GeForce GTX 1050 Ti (GP107-A) at PCI:1:0:0 (GPU-0)
      [    17.954] (--) NVIDIA(0): Memory: 4194304 kBytes
      [    17.954] (--) NVIDIA(0): VideoBIOS: 86.07.39.40.22
      [    17.954] (II) NVIDIA(0): Detected PCI Express Link width: 16X
      [    17.978] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): connected
      [    17.978] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): Internal TMDS
      [    17.978] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): 330.0 MHz maximum pixel clock
      [    17.978] (--) NVIDIA(GPU-0):
      [    18.024] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): connected
      [    18.024] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): Internal TMDS
      [    18.024] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): 600.0 MHz maximum pixel clock
      [    18.024] (--) NVIDIA(GPU-0):
      [    18.024] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): connected
      [    18.024] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): Internal DisplayPort
      [    18.024] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): 1440.0 MHz maximum pixel clock
      [    18.024] (--) NVIDIA(GPU-0):
      [    18.025] (--) NVIDIA(GPU-0): DFP-3: disconnected
      [    18.025] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
      [    18.025] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
      [    18.025] (--) NVIDIA(GPU-0):
      [    18.036] (==) NVIDIA(0):
      [    18.036] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
      [    18.036] (==) NVIDIA(0):     will be used as the requested mode.
      [    18.036] (==) NVIDIA(0):
      [    18.036] (II) NVIDIA(0): Validated MetaModes:
      [    18.036] (II) NVIDIA(0):
      [    18.036] (II) NVIDIA(0):     "DFP-0:nvidia-auto-select,DFP-1:nvidia-auto-select,DFP-2:nvidia-auto-select"
      [    18.036] (II) NVIDIA(0): Virtual screen size determined to be 7680 x 2160
      [    18.039] (--) NVIDIA(0): DPI set to (101, 101); computed from "UseEdidDpi" X config
      [    18.039] (--) NVIDIA(0):     option
      [    18.040] (II) NVIDIA: Using 24576.00 MB of virtual memory for indirect memory
      [    18.040] (II) NVIDIA:     access.
      [    18.057] (II) NVIDIA(0): Setting mode "DFP-0:nvidia-auto-select,DFP-1:nvidia-auto-select,DFP-2:nvidia-auto-select"
      [    18.113] (==) NVIDIA(0): Disabling shared memory pixmaps
      [    18.113] (==) NVIDIA(0): Backing store enabled
      [    18.113] (==) NVIDIA(0): Silken mouse enabled
      [    18.115] (==) NVIDIA(0): DPMS enabled
      [    18.117] (II) NVIDIA(0): [DRI2] Setup complete
      [    18.117] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia
      [    18.119] (II) Initializing extension XVideo
      [    18.119] (II) Initializing extension XVideo-MotionCompensation
      [    18.256] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event16)
      [    18.256] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=7 (/dev/input/event17)
      [    18.256] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=8 (/dev/input/event18)
      [    18.855] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): connected
      [    18.855] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): Internal DisplayPort
      [    18.855] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): 1440.0 MHz maximum pixel clock
      [    18.856] (--) NVIDIA(GPU-0):
      [    24.937] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): connected
      [    24.937] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): Internal TMDS
      [    24.937] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): 330.0 MHz maximum pixel clock
      [    24.937] (--) NVIDIA(GPU-0):
      [    24.990] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): connected
      [    24.990] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): Internal TMDS
      [    24.990] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): 600.0 MHz maximum pixel clock
      [    24.990] (--) NVIDIA(GPU-0):
      [    24.991] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): connected
      [    24.991] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): Internal DisplayPort
      [    24.991] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): 1440.0 MHz maximum pixel clock
      [    24.991] (--) NVIDIA(GPU-0):
      [    24.992] (--) NVIDIA(GPU-0): DFP-3: disconnected
      [    24.992] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
      [    24.992] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
      [    24.992] (--) NVIDIA(GPU-0):
      [    25.025] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): connected
      [    25.025] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): Internal TMDS
      [    25.025] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): 330.0 MHz maximum pixel clock
      [    25.025] (--) NVIDIA(GPU-0):
      [    25.079] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): connected
      [    25.079] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): Internal TMDS
      [    25.079] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): 600.0 MHz maximum pixel clock
      [    25.079] (--) NVIDIA(GPU-0):
      [    25.079] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): connected
      [    25.079] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): Internal DisplayPort
      [    25.079] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): 1440.0 MHz maximum pixel clock
      [    25.079] (--) NVIDIA(GPU-0):
      [    25.080] (--) NVIDIA(GPU-0): DFP-3: disconnected
      [    25.080] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
      [    25.080] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
      [    25.080] (--) NVIDIA(GPU-0):
      [    25.266] (II) NVIDIA(0): Setting mode "DVI-D-0: nvidia-auto-select @1920x1080 +5760+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}, HDMI-0: nvidia-auto-select @1920x1080 +1920+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}, DP-0: nvidia-auto-select @3840x2160 +3840+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0}"
      [    25.424] (II) NVIDIA(0): Setting mode "DVI-D-0: nvidia-auto-select @1920x1080 +5760+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}, HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0, Rotation=180}, DP-0: nvidia-auto-select @3840x2160 +3840+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0}"
      [    25.624] (II) NVIDIA(0): Setting mode "DVI-D-0: nvidia-auto-select @1920x1080 +5760+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}, HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0, Rotation=180}, DP-0: nvidia-auto-select @3840x2160 +1920+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0}"
      [    25.870] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): connected
      [    25.870] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): Internal TMDS
      [    25.870] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): 330.0 MHz maximum pixel clock
      [    25.870] (--) NVIDIA(GPU-0):
      [    25.929] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): connected
      [    25.929] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): Internal TMDS
      [    25.929] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): 600.0 MHz maximum pixel clock
      [    25.929] (--) NVIDIA(GPU-0):
      [    25.929] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): connected
      [    25.929] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): Internal DisplayPort
      [    25.929] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): 1440.0 MHz maximum pixel clock
      [    25.929] (--) NVIDIA(GPU-0):
      [    25.930] (--) NVIDIA(GPU-0): DFP-3: disconnected
      [    25.930] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
      [    25.930] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
      [    25.930] (--) NVIDIA(GPU-0):
      [    25.960] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): connected
      [    25.960] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): Internal TMDS
      [    25.960] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): 330.0 MHz maximum pixel clock
      [    25.960] (--) NVIDIA(GPU-0):
      [    26.018] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): connected
      [    26.018] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): Internal TMDS
      [    26.018] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): 600.0 MHz maximum pixel clock
      [    26.018] (--) NVIDIA(GPU-0):
      [    26.018] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): connected
      [    26.018] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): Internal DisplayPort
      [    26.018] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): 1440.0 MHz maximum pixel clock
      [    26.018] (--) NVIDIA(GPU-0):
      [    26.019] (--) NVIDIA(GPU-0): DFP-3: disconnected
      [    26.019] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
      [    26.019] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
      [    26.019] (--) NVIDIA(GPU-0):
      [    26.091] (II) NVIDIA(0): Setting mode "DVI-D-0: nvidia-auto-select @2880x1620 +5760+0 {Transform=(1.500000,0.000000,0.000000,0.000000,1.500000,0.000000,0.000000,0.000000,1.000000), ViewPortIn=2880x1620, ViewPortOut=1920x1080+0+0, ResamplingMethod=Bilinear}, HDMI-0: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0, Rotation=180}, DP-0: nvidia-auto-select @3840x2160 +1920+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0}"
      [    26.320] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): connected
      [    26.320] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): Internal TMDS
      [    26.320] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): 330.0 MHz maximum pixel clock
      [    26.320] (--) NVIDIA(GPU-0):
      [    26.379] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): connected
      [    26.379] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): Internal TMDS
      [    26.379] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): 600.0 MHz maximum pixel clock
      [    26.379] (--) NVIDIA(GPU-0):
      [    26.380] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): connected
      [    26.380] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): Internal DisplayPort
      [    26.380] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): 1440.0 MHz maximum pixel clock
      [    26.380] (--) NVIDIA(GPU-0):
      [    26.381] (--) NVIDIA(GPU-0): DFP-3: disconnected
      [    26.381] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
      [    26.381] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
      [    26.381] (--) NVIDIA(GPU-0):
      [    26.411] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): connected
      [    26.411] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): Internal TMDS
      [    26.411] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): 330.0 MHz maximum pixel clock
      [    26.411] (--) NVIDIA(GPU-0):
      [    26.471] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): connected
      [    26.472] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): Internal TMDS
      [    26.472] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): 600.0 MHz maximum pixel clock
      [    26.472] (--) NVIDIA(GPU-0):
      [    26.472] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): connected
      [    26.472] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): Internal DisplayPort
      [    26.472] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): 1440.0 MHz maximum pixel clock
      [    26.472] (--) NVIDIA(GPU-0):
      [    26.473] (--) NVIDIA(GPU-0): DFP-3: disconnected
      [    26.473] (--) NVFile /var/log/messages is huge.  Examining only last 50000 lines
IDIA(GPU-0): DFP-3: Internal TMDS
      [    26.473] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
      [    26.473] (--) NVIDIA(GPU-0):
      [    26.507] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): connected
      [    26.507] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): Internal TMDS
      [    26.507] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): 330.0 MHz maximum pixel clock
      [    26.507] (--) NVIDIA(GPU-0):
      [    26.567] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): connected
      [    26.567] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): Internal TMDS
      [    26.567] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): 600.0 MHz maximum pixel clock
      [    26.567] (--) NVIDIA(GPU-0):
      [    26.567] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): connected
      [    26.567] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): Internal DisplayPort
      [    26.567] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): 1440.0 MHz maximum pixel clock
      [    26.567] (--) NVIDIA(GPU-0):
      [    26.569] (--) NVIDIA(GPU-0): DFP-3: disconnected
      [    26.569] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
      [    26.569] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
      [    26.569] (--) NVIDIA(GPU-0):
      [    26.600] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): connected
      [    26.600] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): Internal TMDS
      [    26.600] (--) NVIDIA(GPU-0): DELL P2214H (DFP-0): 330.0 MHz maximum pixel clock
      [    26.600] (--) NVIDIA(GPU-0):
      [    26.660] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): connected
      [    26.660] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): Internal TMDS
      [    26.660] (--) NVIDIA(GPU-0): Wacom Tech Cintiq A1300 (DFP-1): 600.0 MHz maximum pixel clock
      [    26.660] (--) NVIDIA(GPU-0):
      [    26.660] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): connected
      [    26.660] (--) NVIDIA(GPU-0): Samsung U28E590 (DFP-2): Internal DisplayPort

   Scanning file: /var/log/messages
   Limiting output to last 40 relevant lines...
      Feb  9 14:20:04 hostname-here kernel: [    4.958946] uvcvideo 2-3.6:1.0: Entity type for entity Extension 4 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.958949] uvcvideo 2-3.6:1.0: Entity type for entity Processing 2 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.958950] uvcvideo 2-3.6:1.0: Entity type for entity Camera 1 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.959193] usbcore: registered new interface driver uvcvideo
      Feb  9 14:20:04 hostname-here kernel: [    4.959194] USB Video Class driver (1.1.1)
      Feb  9 14:20:04 hostname-here kernel: [    5.681932] audit: type=1400 audit(1581283193.632:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=1254 comm="apparmor_parser"
      Feb  9 14:20:04 hostname-here kernel: [    5.681934] audit: type=1400 audit(1581283193.632:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=1254 comm="apparmor_parser"
      Feb  9 14:20:05 hostname-here kernel: [   17.427265] caller _nv000906rm+0x1bf/0x1f0 [nvidia] mapping multiple BARs
      Feb  9 14:26:16 hostname-here kernel: [  388.911416] i2c /dev entries driver
      Feb  9 12:30:54 hostname-here kernel: [471341.378586] ata2.00: supports DRM functions and may not be fully accessible
      Feb  9 12:30:54 hostname-here kernel: [471341.384842] ata2.00: supports DRM functions and may not be fully accessible
      Feb  9 14:20:04 hostname-here kernel: [    0.371661] ACPI: Added _OSI(Linux-Dell-Video)
      Feb  9 14:20:04 hostname-here kernel: [    0.503101] pci 0000:01:00.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
      Feb  9 14:20:04 hostname-here kernel: [    1.623421] ata2.00: supports DRM functions and may not be fully accessible
      Feb  9 14:20:04 hostname-here kernel: [    1.628918] ata2.00: supports DRM functions and may not be fully accessible
      Feb  9 14:20File /var/log/kern.log is huge.  Examining only last 50000 lines
:04 hostname-here kernel: [    3.034874] nvidia: loading out-of-tree module taints kernel.
      Feb  9 14:20:04 hostname-here kernel: [    3.034880] nvidia: module license 'NVIDIA' taints kernel.
      Feb  9 14:20:04 hostname-here kernel: [    3.063347] nvidia: module verification failed: signature and/or required key missing - tainting kernel
      Feb  9 14:20:04 hostname-here kernel: [    3.071335] nvidia-nvlink: Nvlink Core is being initialized, major device number 242
      Feb  9 14:20:04 hostname-here kernel: [    3.071646] nvidia 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
      Feb  9 14:20:04 hostname-here kernel: [    3.171320] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  440.31  Sun Oct 27 02:19:35 UTC 2019
      Feb  9 14:20:04 hostname-here kernel: [    3.176886] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  440.31  Sun Oct 27 02:09:30 UTC 2019
      Feb  9 14:20:04 hostname-here kernel: [    3.179226] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
      Feb  9 14:20:04 hostname-here kernel: [    3.179227] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 0
      Feb  9 14:20:04 hostname-here kernel: [    3.869053] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input19
      Feb  9 14:20:04 hostname-here kernel: [    3.869167] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input20
      Feb  9 14:20:04 hostname-here kernel: [    3.869242] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input21
      Feb  9 14:20:04 hostname-here kernel: [    4.712512] videodev: Linux video capture interface: v2.00
      Feb  9 14:20:04 hostname-here kernel: [    4.946030] uvcvideo: Found UVC 1.00 device USB Camera (0bda:5823)
      Feb  9 14:20:04 hostname-here kernel: [    4.958946] uvcvideo 2-3.6:1.0: Entity type for entity Extension 4 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.958949] uvcvideo 2-3.6:1.0: Entity type for entity Processing 2 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.958950] uvcvideo 2-3.6:1.0: Entity type for entity Camera 1 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.959193] usbcore: registered new interface driver uvcvideo
      Feb  9 14:20:04 hostname-here kernel: [    4.959194] USB Video Class driver (1.1.1)
      Feb  9 14:20:04 hostname-here kernel: [    5.681932] audit: type=1400 audit(1581283193.632:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=1254 comm="apparmor_parser"
      Feb  9 14:20:04 hostname-here kernel: [    5.681934] audit: type=1400 audit(1581283193.632:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=1254 comm="apparmor_parser"
      Feb  9 14:20:05 hostname-here kernel: [   17.427265] caller _nv000906rm+0x1bf/0x1f0 [nvidia] mapping multiple BARs
      Feb  9 14:26:16 hostname-here kernel: [  388.911416] i2c /dev entries driver
      Feb  9 12:30:54 hostname-here kernel: [471341.378586] ata2.00: supports DRM functions and may not be fully accessible
      Feb  9 12:30:54 hostname-here kernel: [471341.384842] ata2.00: supports DRM functions and may not be fully accessible

   Scanning file: /var/log/kern.log
   Limiting output to last 20 relevant lines...
      Feb  9 14:20:04 hostname-here kernel: [    3.071335] nvidia-nvlink: Nvlink Core is being initialized, major device number 242
      Feb  9 14:20:04 hostname-here kernel: [    3.071646] nvidia 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
      Feb  9 14:20:04 hostname-here kernel: [    3.171320] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  440.31  Sun Oct 27 02:19:35 UTC 2019
      Feb  9 14:20:04 hostname-here kernel: [    3.176886] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  440.31  Sun Oct 27 02:0File /var/log/daemon.log is huge.  Examining only last 50000 lines
File /var/log/syslog is huge.  Examining only last 50000 lines
9:30 UTC 2019
      Feb  9 14:20:04 hostname-here kernel: [    3.179226] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
      Feb  9 14:20:04 hostname-here kernel: [    3.179227] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 0
      Feb  9 14:20:04 hostname-here kernel: [    3.869053] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input19
      Feb  9 14:20:04 hostname-here kernel: [    3.869167] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input20
      Feb  9 14:20:04 hostname-here kernel: [    3.869242] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input21
      Feb  9 14:20:04 hostname-here kernel: [    4.712512] videodev: Linux video capture interface: v2.00
      Feb  9 14:20:04 hostname-here kernel: [    4.946030] uvcvideo: Found UVC 1.00 device USB Camera (0bda:5823)
      Feb  9 14:20:04 hostname-here kernel: [    4.958946] uvcvideo 2-3.6:1.0: Entity type for entity Extension 4 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.958949] uvcvideo 2-3.6:1.0: Entity type for entity Processing 2 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.958950] uvcvideo 2-3.6:1.0: Entity type for entity Camera 1 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.959193] usbcore: registered new interface driver uvcvideo
      Feb  9 14:20:04 hostname-here kernel: [    4.959194] USB Video Class driver (1.1.1)
      Feb  9 14:20:04 hostname-here kernel: [    5.681932] audit: type=1400 audit(1581283193.632:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=1254 comm="apparmor_parser"
      Feb  9 14:20:04 hostname-here kernel: [    5.681934] audit: type=1400 audit(1581283193.632:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=1254 comm="apparmor_parser"
      Feb  9 14:20:05 hostname-here kernel: [   17.427265] caller _nv000906rm+0x1bf/0x1f0 [nvidia] mapping multiple BARs
      Feb  9 14:26:16 hostname-here kernel: [  388.911416] i2c /dev entries driver

   Scanning file: /var/log/daemon.log
   Limiting output to last 10 relevant lines...
      Oct 14 22:42:53 hostname-here nvidia-persistenced: Failed to lock PID file: Resource temporarily unavailable
      Oct 14 22:42:53 hostname-here nvidia-persistenced: Shutdown (10663)
      Oct 14 22:43:04 hostname-here nvidia-persistenced: Failed to lock PID file: Resource temporarily unavailable
      Oct 14 22:43:04 hostname-here nvidia-persistenced: Shutdown (10938)
      Oct 14 22:43:35 hostname-here nvidia-persistenced: Failed to lock PID file: Resource temporarily unavailable
      Oct 14 22:43:35 hostname-here nvidia-persistenced: Shutdown (11408)
      Oct 14 22:46:56 hostname-here nvidia-persistenced: Shutdown (1658)
      Nov  7 16:18:12 hostname-here nvidia-persistenced: Started (29526)
      Nov 16 12:26:55 hostname-here nvidia-persistenced: Shutdown (29526)
      Nov 16 12:43:46 hostname-here nvidia-persistenced: Shutdown (1740)

   Scanning file: /var/log/syslog
   Limiting output to last 50 relevant lines...
      Feb  9 14:20:04 hostname-here kernel: [    3.071646] nvidia 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
      Feb  9 14:20:04 hostname-here kernel: [    3.171320] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  440.31  Sun Oct 27 02:19:35 UTC 2019
      Feb  9 14:20:04 hostname-here kernel: [    3.176886] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  440.31  Sun Oct 27 02:09:30 UTC 2019
      Feb  9 14:20:04 hostname-here kernel: [    3.179226] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
      Feb  9 14:20:04 hostname-here kernel: [    3.179227] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 0
      Feb  9 14:20:04 hostname-here kernel: [    3.869053] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input19
      Feb  9 14:20:04 hostname-here kernel: [    3.869167] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input20
      Feb  9 14:20:04 hostname-here kernel: [    3.869242] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input21
      Feb  9 14:20:04 hostname-here kernel: [    4.712512] videodev: Linux video capture interface: v2.00
      Feb  9 14:20:04 hostname-here kernel: [    4.946030] uvcvideo: Found UVC 1.00 device USB Camera (0bda:5823)
      Feb  9 14:20:04 hostname-here kernel: [    4.958946] uvcvideo 2-3.6:1.0: Entity type for entity Extension 4 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.958949] uvcvideo 2-3.6:1.0: Entity type for entity Processing 2 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.958950] uvcvideo 2-3.6:1.0: Entity type for entity Camera 1 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.959193] usbcore: registered new interface driver uvcvideo
      Feb  9 14:20:04 hostname-here kernel: [    4.959194] USB Video Class driver (1.1.1)
      Feb  9 14:20:04 hostname-here kernel: [    5.681932] audit: type=1400 audit(1581283193.632:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=1254 comm="apparmor_parser"
      Feb  9 14:20:04 hostname-here kernel: [    5.681934] audit: type=1400 audit(1581283193.632:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=1254 comm="apparmor_parser"
      Feb  9 14:20:05 hostname-here kernel: [   17.427265] caller _nv000906rm+0x1bf/0x1f0 [nvidia] mapping multiple BARs
      Feb  9 14:26:16 hostname-here kernel: [  388.911416] i2c /dev entries driver
      Feb  9 12:30:54 hostname-here kernel: [471341.378586] ata2.00: supports DRM functions and may not be fully accessible
      Feb  9 12:30:54 hostname-here kernel: [471341.384842] ata2.00: supports DRM functions and may not be fully accessible
      Feb  9 14:20:04 hostname-here kernel: [    0.371661] ACPI: Added _OSI(Linux-Dell-Video)
      Feb  9 14:20:04 hostname-here kernel: [    0.503101] pci 0000:01:00.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
      Feb  9 14:20:04 hostname-here kernel: [    1.623421] ata2.00: supports DRM functions and may not be fully accessible
      Feb  9 14:20:04 hostname-here kernel: [    1.628918] ata2.00: supports DRM functions and may not be fully accessible
      Feb  9 14:20:04 hostname-here kernel: [    3.034874] nvidia: loading out-of-tree module taints kernel.
      Feb  9 14:20:04 hostname-here kernel: [    3.034880] nvidia: module license 'NVIDIA' taints kernel.
      Feb  9 14:20:04 hostname-here kernel: [    3.063347] nvidia: module verification failed: signature and/or required key missing - tainting kernel
      Feb  9 14:20:04 hostname-here kernel: [    3.071335] nvidia-nvlink: Nvlink Core is being initialized, major device number 242
      Feb  9 14:20:04 hostname-here kernel: [    3.071646] nvidia 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
      Feb  9 14:20:04 hostname-here kernel: [    3.171320] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  440.31  Sun Oct 27 02:19:35 UTC 2019
      Feb  9 14:20:04 hostname-here kernel: [    3.176886] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  440.31  Sun Oct 27 02:09:30 UTC 2019
      Feb  9 14:20:04 hostname-here kernel: [    3.179226] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
      Feb  9 14:20:04 hostname-here kernel: [    3.179227] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 0
      Feb  9 14:20:04 hostname-here kernel: [    3.869053] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input19
      Feb  9 14:20:04 hostname-here kernel: [    3.869167] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input20
      Feb  9 14:20:04 hostname-here kernel: [    3.869242] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input21
      Feb  9 14:20:04 hostname-here kernel: [    4.712512] videodev: Linux video capture interface: v2.00
      Feb  9 14:20:04 hostname-here kernel: [    4.946030] uvcvideo: Found UVC 1.00 device USB Camera (0bda:5823)
      Feb  9 14:20:04 hostname-here kernel: [    4.958946] uvcvideo 2-3.6:1.0: Entity type for entity Extension 4 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.958949] uvcvideo 2-3.6:1.0: Entity type for entity Processing 2 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.958950] uvcvideo 2-3.6:1.0: Entity type for entity Camera 1 was not initialized!
      Feb  9 14:20:04 hostname-here kernel: [    4.959193] usbcore: registered new interface driver uvcvideo
      Feb  9 14:20:04 hostname-here kernel: [    4.959194] USB Video Class driver (1.1.1)
      Feb  9 14:20:04 hostname-here kernel: [    5.681932] audit: type=1400 audit(1581283193.632:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=1254 comm="apparmor_parser"
      Feb  9 14:20:04 hostname-here kernel: [    5.681934] audit: type=1400 audit(1581283193.632:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=1254 comm="apparmor_parser"
      Feb  9 14:20:05 hostname-here kernel: [   17.427265] caller _nv000906rm+0x1bf/0x1f0 [nvidia] mapping multiple BARs
      Feb  9 14:26:16 hostname-here kernel: [  388.911416] i2c /dev entries driver
      Feb  9 12:30:54 hostname-here kernel: [471341.378586] ata2.00: supports DRM functions and may not be fully accessible
      Feb  9 12:30:54 hostname-here kernel: [471341.384842] ata2.00: supports DRM functions and may not be fully accessible

   Log Summary
      Log                             Checked   Found 
      ===                             =======   ===== 
      dmesg                           true      true  
      journalctl                      true      false 
      /var/log/daemon.log             true      true  
      /var/log/kern.log               true      true  
      /var/log/messages               true      true  
      /var/log/syslog                 true      true  
      /var/log/Xorg.0.log             true      true  

Probing connected monitors using libdrm...

   Checking Nvidia options to see if experimental kernel modesetting enabled:
   Executing command: modprobe -c | grep "^options nvidia"

   Checking libdrm version using pkg-config...
      Package libdrm was not found in the pkg-config search path.
      Perhaps you should add the directory containing `libdrm.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'libdrm' found

   Has a DRM kernel driver been loaded? (drmAvailable()): true

   Probing device /dev/dri/card0...
      Open succeeded for device: /dev/dri/card0

      DRM driver version information:
         Version:     0.0.0
         Driver:      nvidia-drm
         Date:        20160202
         Description: NVIDIA DRM driver

      DRM library version: 1.3.0.

      DRM Busid:  

      Device information:
         bustype:                0 - pci
         domain:bus:device.func: 0000:01:00.0
         vendor    vid:pid:      0x10de:0x1c82
         subvendor vid:pid:      0x1462:0x8c96
         revision id:            0x00a1

      Is a modesetting capable driver attached to bus id: pci:0000:01:00.0?
      (calling drmCheckModesettingAvailable())
         Modesetting not supported (-ENOSYS)

      Retrieving DRM resources...
      Failure retrieving DRM resources, errno=EINVAL(22): Invalid argument
      Driver apparently does not provide needed DRM ioctl calls

Examining /sys/class/drm...
   Query file system for i2c nodes under /sys/class/drm/card*...
   ls: cannot access '/sys/class/drm/card*/card*/i2c*': No such file or directory

Device Identifier Cross Reference Report

   EDID: ...20200015  Mfg: DEL  Model: DELL P2214H    SN: KW14V51H0N3B 
      I2C device:     /dev/i2c-1
      XrandR output:  DVI-D-0
      DRM connector:  (null)
      UDEV name:      NVIDIA i2c adapter 4 at 1:00.0
      UDEV syspath:   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-1/i2c-dev/i2c-1
      sysfs drm path: (null)
      sysfs drm I2C:  (null)

   EDID: ...202001F1  Mfg: WAC  Model: Cintiq A1300   SN: 3IAH000034   
      I2C device:     /dev/i2c-2
      XrandR output:  HDMI-0
      DRM connector:  (null)
      UDEV name:      NVIDIA i2c adapter 6 at 1:00.0
      UDEV syspath:   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-2/i2c-dev/i2c-2
      sysfs drm path: (null)
      sysfs drm I2C:  (null)

   EDID: ...20200167  Mfg: SAM  Model: U28E590        SN: HTPK416852   
      I2C device:     /dev/i2c-3
      XrandR output:  DP-0
      DRM connector:  (null)
      UDEV name:      NVIDIA i2c adapter 7 at 1:00.0
      UDEV syspath:   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/i2c-3/i2c-dev/i2c-3
      sysfs drm path: (null)
      sysfs drm I2C:  (null)

Env_Accumulator:
   architecture:                  x86_64
   distributor_id                 Debian
   Drivers detected:              nvidia
   /dev/i2c device numbers:       0 1 2 3
   sysfs_i2c_devices_exist:       true
   /sys/bus/i2c device numbers:   0 1 2 3
   dev_i2c_devices_required:      true
   module_i2c_dev_needed:         false
   module_i2c_dev_builtin:        false
   loadable_i2c_dev_exists:       true
   i2c_dev_loaded_or_builtin:     true
   group_i2c_checked:             true
   group_i2c_exists:              true
   dev_i2c_common_group_name:     i2c
   all_dev_i2c_has_group_i2c:     true
   any_dev_i2c_has_group_i2c:     true
   all_dev_i2c_is_group_rw:       true
   any_dev_i2c_is_group_rw:       true
   cur_uname:                     root
   cur_uid:                       0
   cur_user_in_group_i2c:         false
   cur_user_any_devi2c_rw:        true
   cur_user_all_devi2c_rw:        true

Configuration suggestions:
   Current user has RW access to all /dev/i2c-N devices.
   Skipping further group and permission checks.
rockowitz commented 4 years ago

Thanks for running the tests. Here are my takeaways.

Everything works with the special Nvidia driver settings, and always works with the Samsung U238E590, so the question is whether ddcutil's I2C communication can be improved at the margin for problematic driver/monitor combinations.

1) There is no difference depending on whether read() or ioctl() is used.

2) EDID reads succeed for the marginal monitors if multiple single byte reads are used. It does not matter whether the reads take the usual path through the I2C communication layer or are done directly the function reading the EDID. This is consistent with your read-edid observation.

3) DDC communication succeeds for the marginal monitors when using multiple single byte reads instead of a single multi-byte read.

This is at variance here with what I see here with 2 marginal monitors (Acer X35W and Dell P2411h) and the amdcpu driver. EDID reads succeed with all variants. However, I2C communication fails for multiple single byte reads and succeeds for a single muliti-byte read - the opposite of your result.

These results suggest that EDID reading can be marginally improved using single byte reads. That would at least reduce the confusion caused by ddcutil not reporting a monitor that exists, whether or not DDC communication subsequently works. However, I would like to see the result of more tests before making any changes to the low level IO.

Regards, Sanford