rockowitz / ddcutil Goto Github PK
View Code? Open in Web Editor NEWControl monitor settings using DDC/CI and USB
Home Page: http://www.ddcutil.com
License: GNU General Public License v2.0
Control monitor settings using DDC/CI and USB
Home Page: http://www.ddcutil.com
License: GNU General Public License v2.0
Hello,
so you want feedback. It's a great little tool and I thank you for it.
I have one issue though.
I want ddcutil to retry until it reaches success.
Unfortunately ddcutil doesn't exit with return code 0 when it
does something (such as lowering brightness) with success.
Only way I've found to work around this is to use the --verify option and to catch stderr.
If there is output I assume that something failed, if there's no
output I assume it has worked.
However when using this logic in bash, you get something
like this:
`
function my_dim_screen
{
RET=$(ddcutil -d $1 setvcp 10 $2 --maxtries "15,15,15" --verify 2>&1)
[[ "${#RET}" -eq 0 ]]
}
RET=false
until [[ $RET == "0" ]]
do
my_dim_screen_ 1 30
RET=$?
done
my_dim_screen returns the return codes I would expect from a well behaving program.
But my solution is bad for two reasons:
I hope you can fix this.
Previously I was using ddcutil without any problems on AMD hardware. Because of the mining craze I got a good deal on my used AMD hardware and a good deal on a GTX 1070. Now unfortunately I cannot get ddcutil to work on one of my monitors with the proprietary Nvidia drivers. It seems to only detect 1 monitor, but the environment says there is a second one, it just cannot find the udev information. I've got 2 Dell U2515H connected (1 landscape over HDMI and 1 portrait over DP), here is some more information of the following commands.
sudo ddcutil detect --verbose
sudo ddcutil environment --verbose
sudo ddcutil interrogate --verbose
ddcutil interrogate --verbose
I'm not the greatest when it comes to X11 config, but here is my config regardless.
/etc/X11/xorg.conf
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor1"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "RegistryDwords" "RMUseSwI2c=0x01; RMI2cSpeed=100"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "RegistryDwords" "RMUseSwI2c=0x01; RMI2cSpeed=100"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "DPI" "96 x 96"
Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "DPI" "96 x 96"
Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
SubSection "Display"
Depth 24
EndSubSection
EndSection
I used a desktop system until today, and now I switched to a laptop
as a desktop replacement.
The same monitor that used to work up until now over HDMI and which
I used to be able to control with ddcutil, is now connected over HDMI again,
however I can't control it through ddcutil anymore.
For example:
ddcutil --sn YE8J023664 setvcp 10 100
ioctl error in function i2c_set_addr at line 214 in file i2c/i2c_bus_core.c: errno=EBUSY(16): Device or resource busy
(i2c_set_addr) addr = 0x50. Returning -16
Failure detecting bus addresses for /dev/i2c-5: status code=EBUSY(-16): Device or resource busy
ioctl error in function i2c_set_addr at line 214 in file i2c/i2c_bus_core.c: errno=EBUSY(16): Device or resource busy
(i2c_set_addr) addr = 0x50. Returning -16
Failure detecting bus addresses for /dev/i2c-18: status code=EBUSY(-16): Device or resource busy
Display not found
The other monitor is connected with VGA and can be controlled with ddcutil perfectly fine.
Hi
I built ddcutil 0.7.0 on Ubuntu 16.10. I have two external displays connected to my Lenovo x260 via a Lenovo Ultra Dock. The displays are Dell U2412Ms.
Here is the output of ddcutil detect
:
sudo ddcutil detect
Display 1
I2C bus: /dev/i2c-3
Supports DDC: true
EDID synopsis:
Mfg id: AUO
Model: Unspecified
Serial number: Unspecified
Manufacture year: 2015
EDID version: 1.4
VCP version: Detection failed
Invalid display
I2C bus: /dev/i2c-5
Supports DDC: false
EDID synopsis:
Mfg id: DEL
Model: DELL U2412M
Serial number: Unspecified
Manufacture year: 2015
EDID version: 1.4
Display 2
I2C bus: /dev/i2c-6
Supports DDC: true
(ddc_open_display) No EDID for device on bus /dev/i2c-6
Error opening display bus /dev/i2c-6, error = -3016 (DDCRC_EDID)
(ddc_close_display) close_i2c_bus returned 9
Display 3
I2C bus: /dev/i2c-7
Supports DDC: true
(ddc_open_display) No EDID for device on bus /dev/i2c-7
Error opening display bus /dev/i2c-7, error = -3016 (DDCRC_EDID)
(ddc_close_display) close_i2c_bus returned 9
However when I try and detect monitor capabilities it doesn't work:
tom@x260:~$ sudo ddcutil capabilities --display 1
Unable to get capabilities for monitor on Display_Handle[i2c: fh=3, busno=3]. Maximum DDC retries exceeded.
This seems like it may be related to issue number 8 - I'm not really all that stressed about not getting this to work, but thought this might be helpful.
Hi,
is there a macro to check ddcutil major.minor.patch version?
I see there are 2 runtime functions, but i cannot see any macro for it.
Thanks!
Hi, first of all let me thank you for your great work!
By the way, trying to build an example with gcc, i realized that pkg-config --libs --cflags ddcutil
does not set required "-lddcutil" (that seems only needed flag too).
On my system (archlinux) version 0.8.4 sets:
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -lglib-2.0 -lXrandr -lX11
But without "-lddcutil" i am not able to build.
I guess that adding:
Libs: -L${libdir} -lddcutil
to ddcutil.pc.in should do the trick (if i am correct).
At least, that is what x11.pc does ("Libs: -L${libdir} -lX11").
I have a Lenovo ThinkPad T440s laptop (Debian jessie), ThinkPad Ultra dock, and Dell U2415 monitor. I'm using Intel i915 graphics (haswell).
When I connect the monitor directly to the laptop, I can set the brightness with ddcutil setvcp 10
. However, when the monitor is connected through the dock, ddcutil detect
reports "Invalid display" for the monitor and a broken display 1 (see below) and ddcutil setvcp
reports "Cannot communicate DDC".
The dock seems to expose monitors as multi-stream DisplayPort (DP2-1, DP2-2, DP2-3, though I'm only using the first). So I'm curious if DDC works over a dual-link DisplayPort connection. Otherwise this could also be an issue with I2C or the dock not passing through DDC.
I've tried ddcutil from both git source and deb package.
$ ./src/ddcutil detect
[...]
Invalid display
I2C bus: /dev/i2c-9
EDID synopsis:
Mfg id: DEL
Model: DELL U2415
Serial number: [redacted]
Manufacture year: 2016
EDID version: 1.4
Display 1
I2C bus: /dev/i2c-10
No EDID
ddcutil: ddc/ddc_packet_io.c:166: ddc_open_display: Assertion `pDispHandle->pedid' failed.
Aborted
$ cat /sys/bus/i2c/devices/i2c-9/name
DPDDC-C
$ cat /sys/bus/i2c/devices/i2c-10/name
DPMST
Looks like it is crashing when it can't access some device files:
⏵ apt-cache policy ddcutil
ddcutil:
Installed: 0.8.0-1
⏵ ddcutil detect --verbose > ddc_detect.txt
Failure getting EDID for /dev/i2c-6: status code=EIO(-5): Input/output error
ddcutil: ddc/ddc_displays.c:401: ddc_report_display_by_dref: Assertion `dref->flags & DREF_DDC_COMMUNICATION_CHECKED' failed.
fish: “ddcutil detect --verbose > ddc_…” terminated by signal SIGABRT (Abort)
⏵ ddcutil environment --verbose > ddc_env.txt
Failure getting EDID for /dev/i2c-6: status code=EIO(-5): Input/output error
⏵ ddcutil usbenvironment --verbose > ddc_usb.txt
Failure getting EDID for /dev/i2c-6: status code=EIO(-5): Input/output error
libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/002: Permission denied
libusb: error [_get_usbfs_fd] libusb requires write access to USB device nodes.
fish: “ddcutil usbenvironment --verbos…” terminated by signal SIGSEGV (Address boundary error)
⏵ sudo ddcutil usbenvironment --verbose > ddc_usb.txt
Failure getting EDID for /dev/i2c-6: status code=EIO(-5): Input/output error
Thank you for the PPA on Launchpad. Any chance to build for Ubuntu versions later than 16.04, currently 17.04?
ddcutil is not finding USB3 DL monitor, even though the monitor is working fine on Ubuntu 16.04. According to the official note DDC/CI is supported, and works with ScreenBright.
usbenv's only relevant output is
"(possible_monitor_config_descriptor) Examining only interface 0 for device 2:1, vid=0x17e9, pid=0x4301 DisplayLink (null)", but nothing else
When running ddcutil with the --usb 2.1 I get "Unable to find monitor with the specified USB bus and device numbers"
--trace all is no help
Where's the culprit? How do troubleshoot it further?
I have a Linux PC and a Raspberry Pi 2 attached to one monitor. The Linux PC is connected to the DisplayPort interface and the Raspberry Pi to the HDMI interface.
I'm looking for a CLI solution for switching interfaces. Google search pointed me to ddccontrol and ddcutil. Having spent two hours playing with both tools and reading about them, I come to the conclusion that ddcutil is the more promising way to go ("ddcutil setvcp D0 DPDDC-B" might do the trick).
My understanding is that ddcutil is still under development and that certain devices/features are not supported yet. When I run 'ddcutil detect --verbose' on my Linux PC the output contains a couple of warnings and errors:
Perhaps someone more familiar with ddcutil can help and interpret the output. Is my monitor and/or graphic card supported? Should I spend more time investigating a ddcutil-based solution? - Thank you for any help.
The full output of 'ddcutil detect --verbose' on my Linux PC is as follows:
$ ddcutil detect --verbose
Output level: Verbose
Reporting DDC data errors: false
Trace groups active: none
Force I2C slave address: false
Open failed for /dev/usb/hiddev0: errno=EACCES(13): Permission denied
Invalid display
I2C bus: /dev/i2c-6
Supports DDC: true
I2C address 0x37 (DDC) present: true
I2C address 0x50 (EDID) present: true
/sys/bus/i2c/devices/i2c-6/name: DPDDC-B
EDID synopsis:
Mfg id: AOC
Model: Q2775
Serial number: KKRG3JA001207�
Manufacture year: 2016
EDID version: 1.4
Product code: 0x2775 (10101)
Extra descriptor:
White x,y: 0.313, 0.329
Red x,y: 0.660, 0.331
Green x,y: 0.300, 0.632
Blue x,y: 0.148, 0.055
EDID hex dump:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 05 e3 75 27 b7 04 00 00 ..........u'....
+0010 0b 1a 01 04 b5 3c 22 78 3a 3f 05 a9 54 4c a1 26 .....<"x:?..TL.&
+0020 0e 50 54 bf ef 00 d1 c0 b3 00 95 00 81 80 81 40 .PT............@
+0030 81 c0 01 01 01 01 56 5e 00 a0 a0 a0 29 50 30 20 ......V^....)P0
+0040 35 00 55 50 21 00 00 1e 00 00 00 fd 00 32 4c 1e 5.UP!........2L.
+0050 63 1e 01 0a 20 20 20 20 20 20 00 00 00 fc 00 51 c... .....Q
+0060 32 37 37 35 0a 20 20 20 20 20 20 20 00 00 00 ff 2775. ....
+0070 00 4b 4b 52 47 33 4a 41 30 30 31 32 30 37 01 c6 .KKRG3JA001207..
DDC communication failed
No active displays found
We are working on an ubuntu 16.04 system with two monitors attached; one is a standard Dell, the other is a touchscreen with custom EDID. The touchscreen is flashed and EDID is programmed successfully.
When executing 'ddcutil detect', we get an abort / core for our touchscreen (/dev/i2c-4).
Attached debug output.
Any help is appreciated.
Thanks,
Dan.
On Debian Jessie, I had to additionally install libudev-dev
, but that only occured when running make.
Hi!
I'm currently using ddcutil C api 0.8.6 in a project.
I noticed that valgrind points out some memleaks, or at least some memory that is not freed after program ends; in fact they're not proper memleaks (ie: consecutive calls to ddcutil api won't leak new memory).
This is the code i'm using: http://dpaste.com/1H4QE1N. (it is a dbus interface to change both laptop's internal and external monitors backlight/brightness).
And this is valgrind output with debug symbols enabled: http://dpaste.com/1JGV0S5.
Hope this helps :)
If you maybe want to list it in your README, here's a list of packages that I had to install to be able to build and use ddcutil in Debian Jessie:
build-essential
pkg-config
libglib2.0-dev
libxrandr-dev
libusb-1.0-0-dev
libudev-dev
i2c-tools
(This list might not be complete because this isn't a freshly installed system so other packages might have already been installed beforehand.)
Hi,
Opening curly bracket missing here
On Gentoo, a number of users are reporting this error. Since build logs are very long, I'll post the links to them.
One log is here: https://645830.bugs.gentoo.org/attachment.cgi?id=516796
Another user has slightly different functions that exhibit this: https://bugs.gentoo.org/645782
Is there a dependency version or lack there of that needs consideration?
Thanks.
May I suggest integration of a module for cmake ? For now I added it in my project source tree.
https://gist.github.com/d-vogel/44defe784d49617f86fee6073ba78ff1
cmake modules are supposed to be in /usr/share/cmake/Modules/
as per https://cmake.org/Wiki/CMake:How_To_Find_Libraries
Cheers,
Dorian
Hello I couldn't find anything related to my error message so I opened an issue. My setup is pretty complicated, with four displays (2x Asus MX279 + 2x Asus VX239) hooked to Nvidia GTX 1080 via 1x HDMI->HDMI, 2x DP->HDMI, and 1x DVI->HDMI. DDC/CI is enabled in every display's OSD, yet all seem to output the same pattern:
(ddc_open_display) No EDID for device on bus /dev/i2c-2
Invalid display
I2C bus: /dev/i2c-2
Supports DDC: true
I2C address 0x30 (EDID block#) present: false
I2C address 0x37 (DDC) present: true
I2C address 0x50 (EDID) present: true
/sys/bus/i2c/devices/i2c-2/name: NVIDIA i2c adapter 4 at 1:00.0
DDC communication failed
Is DDC/CI enabled in the monitor's on-screen display?
I have attached the outputs you requested in similar cases like #14, and would greatly appreciate pointers toward fixing the problem. Thank you!
ddcutil detect --verbose --ddc --force-slave-address --stats.txt
ddcutil environment --verbose --ddc --force-slave-address --stats.txt
On many embedded platforms X11 is not present anymore. It could be nice to allow disabling X11 support via configuration switch. What do you think about that? Do you think X11 is necessary to run this app? For a quick test I removed all X11 and xrand from code and configuration checks, and it seems to be working fine.
I tried to detect ddc devices and it ended with error...
sudo ddcutil interrogate Sat 12 Nov 2016 02:24:36 PM CET
Setting output level verbose...
Setting maximum retries...
Forcing --stats...
This command will take a while to run...
System information (uname):
Linux version 4.8.6-1-ARCH (builduser@tobias) (gcc version 6.2.1 20160830 (GCC) ) #1 SMP PREEMPT Mon Oct 31 18:51:30 CET 2016
*** Primary Check 1: Identify video card and driver ***
Obtaining card and driver information from /sys...
Determining driver name and possibly version...
Driver name: i915
Unable to determine driver version
Video card identification:
Vendor: 8086 Intel Corporation
Device: 0166 3rd Gen Core processor Graphics Controller
Subvendor/Subdevice: 17aa/21f3 Lenovo
*** Primary Check 2: Check that /dev/i2c-* exist and writable ***
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 could be enabled by just giving everyone RW permission
The following tests probe for these conditions.
Checking for /dev/i2c-* devices...
crw------- 1 root root 89, 0 Nov 5 20:59 /dev/i2c-0
crw------- 1 root root 89, 1 Nov 5 20:59 /dev/i2c-1
crw------- 1 root root 89, 2 Nov 5 20:59 /dev/i2c-2
crw------- 1 root root 89, 3 Nov 5 20:59 /dev/i2c-3
crw------- 1 root root 89, 4 Nov 5 20:59 /dev/i2c-4
crw------- 1 root root 89, 5 Nov 5 20:59 /dev/i2c-5
crw------- 1 root root 89, 6 Nov 5 20:59 /dev/i2c-6
crw------- 1 root root 89, 7 Nov 5 20:59 /dev/i2c-7
crw------- 1 root root 89, 8 Nov 5 20:59 /dev/i2c-8
crw------- 1 root root 89, 9 Nov 5 20:59 /dev/i2c-9
Current user: root (0)
ioctl error in function i2c_set_addr at line 159 in file i2c/i2c_bus_core.c: errno=EBUSY(16): Device or resource busy
Aborting. Internal status code = -3026
My version is:
ddcutil -V Sat 12 Nov 2016 02:27:20 PM CET
ddcutil 0.6.0
Built Nov 5 2016 at 13:26:09
Built without support for AMD Display Library (AMD proprietary driver).
Built with support for USB connected displays.
Copyright (C) 2015-2016 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.
ddccontrol is capable to communicate with my monitor, so device is accessible.
What can I do to help you debug this?
Hello
I'm using 2 monitors LG 24EB23.
Both attached to an Radeon R9 290 using the amdgpu driver on an Arch linux with the latest kernel (4.10.8)
I can control the monitor attached via DVI with ddcutil.
But not the one attached via DP
# ddcutil detect --verbose
Output level: Verbose
Reporting DDC data errors: false
Trace groups active: none
Force I2C slave address: false
Display 1
I2C bus: /dev/i2c-5
Supports DDC: true
I2C address 0x30 (EDID block#) present: true
I2C address 0x37 (DDC) present: true
I2C address 0x50 (EDID) present: true
/sys/bus/i2c/devices/i2c-5/name: AMDGPU i2c bit bus 0x95
EDID synopsis:
Mfg id: GSM
Model: 24EB23
Serial number: (disclosed)
Manufacture year: 2014
EDID version: 1.3
Product code: 0x59b4 (22964)
Extra descriptor: Unspecified
Video input definition: 0x80 - Digital Input
White x,y: 0.312, 0.329
Red x,y: 0.652, 0.335
Green x,y: 0.304, 0.633
Blue x,y: 0.152, 0.065
Extension blocks: 0
EDID hex dump:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 1e 6d b4 59 b4 9b 02 00 .........m.Y....
+0010 09 18 01 03 80 34 21 78 ea 3c 31 a7 55 4d a2 27 .....4!x.<1.UM.'
+0020 10 50 54 a5 4b 00 71 4f 81 00 81 80 81 8f 95 00 .PT.K.qO........
+0030 a9 40 b3 00 d1 c0 28 3c 80 a0 70 b0 23 40 30 20 .@....(<..p.#@0
+0040 36 00 08 4a 21 00 00 1a 00 00 00 fd 00 38 4b 1e 6..J!........8K.
+0050 53 11 00 0a 20 20 20 20 20 20 00 00 00 fc 00 32 S... .....2
+0060 34 45 42 32 33 0a 20 20 20 20 20 20 00 00 00 ff 4EB23. ....
+0070 00 0a 20 20 20 20 20 20 20 20 20 20 20 20 01 d4 .. ..
VCP version: 2.1
Controller mfg: Mstar
Firmware version: 1.1
Invalid display
I2C bus: /dev/i2c-8
Supports DDC: true
I2C address 0x30 (EDID block#) present: false
I2C address 0x37 (DDC) present: true
I2C address 0x50 (EDID) present: true
/sys/bus/i2c/devices/i2c-8/name: card0-DP-1
EDID synopsis:
Mfg id: GSM
Model: 24EB23
Serial number:
Manufacture year: 2013
EDID version: 1.4
Product code: 0x59b5 (22965)
Extra descriptor: Unspecified
Video input definition: 0xa5 - Digital Input(DisplayPort)
White x,y: 0.312, 0.329
Red x,y: 0.652, 0.335
Green x,y: 0.304, 0.633
Blue x,y: 0.152, 0.065
Extension blocks: 1
EDID hex dump:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 1e 6d b5 59 01 01 01 01 .........m.Y....
+0010 01 17 01 04 a5 34 21 78 fa 3c 31 a7 55 4d a2 27 .....4!x.<1.UM.'
+0020 10 50 54 21 08 00 71 40 81 c0 81 00 81 80 95 00 .PT!..q@........
+0030 a9 40 b3 00 d1 c0 28 3c 80 a0 70 b0 23 40 30 20 .@....(<..p.#@0
+0040 36 00 08 4a 21 00 00 1a 00 00 00 fd 00 38 3d 1e 6..J!........8=.
+0050 53 11 00 0a 20 20 20 20 20 20 00 00 00 fc 00 32 S... .....2
+0060 34 45 42 32 33 0a 20 20 20 20 20 20 00 00 00 ff 4EB23. ....
+0070 00 0a 20 20 20 20 20 20 20 20 20 20 20 20 01 d4 .. ..
DDC communication failed
Is DDC/CI enabled in the monitor's on-screen display?
(I've stripped the serial number from the first hex dump, the second was already empty)
Hi,
Currently there are no releases in the releases tab, but there are tarballs in the main repo. It would be better if the downloads were in the releases tab, which I think you can tell github to do automatically(?) and remove the tarballs from the main repository.
Thanks.
I run Fedora 25 64bit, with latest updates, on Dell Inspiron N5110, CPU: Intel i3-2350M, with integrated Intel graphics.
uname -a
Linux localhost.localdomain 4.10.11-200.fc25.x86_64 #1 SMP Tue Apr 18 17:25:01 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Monitor attached via HDMI is LG 29UB67 Ultrawide. Internal laptop monitor is disabled via Gnome settings.
Whatever command I try, I get Segmentation fault (core dumped)
.
I run ddcutil as root. Commands I tried:
ddcutil detect
ddcutil --force-slave-address detect
ddcutil environment
ddcutil --force environment
I have installed ddcutil with commands:
dnf config-manager --add-repo http://download.opensuse.org/repositories/home:rockowitz/Fedora_25/home:rockowitz.repo
dnf install ddcutil
which resulted in successful installation of following packages:
i2c-tools-3.1.0-17.fc25.x86_64.rpm
ddcutil-0.7.4-1.1.fc25.x86_64.rpm
i2c_dev kernel module is loaded, /dev/i2c-n devices are present.
lsmod | grep i2c
i2c_dev 16384 0
i2c_i801 24576 0
i2c_algo_bit 16384 1 i915
ls -l /dev/i2c-*
crw-------. 1 root root 89, 0 Apr 28 14:48 /dev/i2c-0
crw-------. 1 root root 89, 1 Apr 28 14:48 /dev/i2c-1
crw-------. 1 root root 89, 2 Apr 28 14:48 /dev/i2c-2
crw-------. 1 root root 89, 3 Apr 28 14:48 /dev/i2c-3
crw-------. 1 root root 89, 4 Apr 28 14:48 /dev/i2c-4
crw-------. 1 root root 89, 5 Apr 28 14:48 /dev/i2c-5
crw-------. 1 root root 89, 6 Apr 28 14:48 /dev/i2c-6
crw-------. 1 root root 89, 7 Apr 28 14:48 /dev/i2c-7
Do you have any idea how to troubleshoot?
Will coredump help you?
I went from v0.5.0 to v0.5.2 and when I run a command, I get this:
# ddctool detect
No command specified
When before on v0.5.2, I would get this:
# ddctool detect
Display 1
I2C bus: /dev/i2c-2
EDID synopsis:
Mfg id: ACI
Model: ASUS VN247
Serial number: {snip}
Manufacture year: 2014
EDID version: 1.3
VCP version: 2.1
This happens with both user and root. v0.5.1 failed to compile with this error:
main.c:(.text.startup+0xc0): undefined reference to
is_module_loaded_using_sysfs'`
Cheers.
Here's the output when running interrogate
, same thing with environment
$ sudo ddcutil interrogate
Setting output level verbose...
Setting maximum retries...
Forcing --stats...
Forcing --force-slave-address..
This command will take a while to run...
*** Basic System Information ***
ddcutil version: 0.8.5
/proc/version:
Linux version 4.12.8-2-ARCH (builduser@foutrelis) (gcc version 7.2.0 (GCC) ) #1 SMP PREEMPT Fri Aug 18 14:08:02 UTC 2017
Architecture: (null)
Distributor id: Arch
Release: rolling
Unexpected architecture (null). Please report.
Segmentation fault
When enabling doxygen in the configure options, this error is hit. The strange thing is that it is saying "command not found" since doxyfile is a text file, not a command. However, the file itself does exist in ddcutil-0.7.0/docs/doxygen, so it is being generated.
Making all in docs
make[2]: Entering directory '/var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0/docs'
Making all in doxygen
make[3]: Entering directory '/var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0/docs/doxygen'
doxyfile
make[3]: doxyfile: Command not found
make[3]: *** [Makefile:580: doxygen.stamp] Error 127
make[3]: Leaving directory '/var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0/docs/doxygen'
make[2]: *** [Makefile:484: all-recursive] Error 1
make[2]: Leaving directory '/var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0/docs'
make[1]: *** [Makefile:553: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0'
make: *** [Makefile:462: all] Error 2
I also needed to install libxrandr-dev on Ubuntu 16.04 to be able to compile it.
I was getting the following error when running ./configure
checking for XRANDR... no
cconfigure: error: Package requirements (xrandr) were not met:No package 'xrandr' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.
Alternatively, you may set the environment variables XRANDR_CFLAGS and XRANDR_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
The issue is fixed after installing libxrandr-dev.
I recently started running ddcutil on a Pi to easily switch input modes on my Dell monitor. No problems so far.
I noticed with the ddcutil capabilities command that I also had:
Feature: D6 (Power mode)
Values:
01: DPM: On, DPMS: Off
04: DPM: Off, DPMS: Off
05: Write only value to turn off display
Is this safe to use? I did try it, turning off worked fine with 'ddcutil setvcp D6 x05'.
I set it back on, 'ddcutil setvcp D6 x01' (which is what it was when I hadn't touched it). That also worked, but I got this 'additional' response:
Setting value failed for feature d6. rc=DDCRC_RETRIES(-3015): maximum retries exceeded
Do you know why this might come up even though it worked fine? I would be happier knowing why it happened and whether it was safe to use frequently. Seems to happen constantly.
Should I get some logs to further find out why?
i get the following error whenever i try to set a vcp value :
Setting value failed. rc=-3015: DDCRC_RETRIES(-3015): maximum retries exceeded
for instance i send command such as this one
ddctool --adl=0.0 setvcp 10 20
i tried this command maybe a hundred times and it did not work once so i assume maximum retries is not the problem here.
i use debian stable and use fglrx driver. i am using philips 234E5 display. i got no issues building from source and functions such as detect, capabilities, getvcp work fine. am i missing something here? does the return code 3015 refer to anything? here is the commands and features of this display ;
ddctool.txt
i am quite interested in this tool because i change brightness during day and night manually every day. it would be great if i could get this work. also i think tools such as redshift, flux etc could potentially use this tool.
Errors out during make
In file included from i2c/i2c_base_io.c:37:0:
/usr/include/linux/i2c-dev.h: In function 'i2c_smbus_write_quick':
/usr/include/linux/i2c-dev.h:176:55: error: 'NULL' undeclared (first use in this function)
return i2c_smbus_access(file,value,0,I2C_SMBUS_QUICK,NULL);
Details of configure, make & packages installed in this gist
https://gist.github.com/zentrification/bc95b2c8c55e29c9aecf
Seems similar to this which I found by googling
http://comments.gmane.org/gmane.comp.monitoring.nut.devel/6731
Also, when trying to build master autogen.sh did not work correctly, but this sequence did
autoreconf --install
./autogen.sh
./configure
Let me know if you need any more information, or would like me to try anything out.
Hi
In src/swig/ddc_swig.h and ddc_swig.cpp I'm getting these errors:
src/swig/ddc_swig.h:92:31: error: unknown type name ‘PyFileObject’; did you mean ‘PyCodeObject’? void save_current_python_fout(PyFileObject * pfy);
src/swig/ddc_swig.h:93:1: error: unknown type name ‘PyFileObject’; did you mean ‘PyCodeObject’?PyFileObject * get_current_python_fout();
ddc_swig.c:154:8: error: unknown type name ‘PyFileObject’ static PyFileObject * current_python_fout;
ddc_swig.c:156:31: error: unknown type name ‘PyFileObject’; did you mean ‘PyCodeObject’? void save_current_python_fout(PyFileObject * pfy) {
ddc_swig.c:161:1: error: unknown type name ‘PyFileObject’; did you mean ‘PyCodeObject’? PyFileObject * get_current_python_fout() {
Python: 3.5.4
Swig: 3.0.12
Cffi: 1.11.2
Cython: 0.26.1
I was have two computers hooked up to one monitor (one hdmi, one dvi)
which I can switch between using the physical buttons on the monitor to switch the
input channel.
I didn't seem to find a way to do the same using ddcutil:
$ ddcutil capabilities
Feature: 60 (Input Source)
Values:
01: VGA-1
03: DVI-1
04: DVI-2
trying to setvcp 60 1 it will switch to vga and back,
but switching between 3, and 4 doesn't appear to do anything (never leaves the current input source)
I ran ddcutil in the background switched input source with physical buttons
$ while true; do ./ddcutil getvcp 60; sleep 1; done
VCP code 0x60 (Input Source ): DVI-1 (sl=0x03)
Display not found
VCP code 0x60 (Input Source ): VGA-2 (sl=0x02)
Display not found
Display not found
VCP code 0x60 (Input Source ): DVI-1 (sl=0x03)
What is mildly interesting to note is that the using the physical buttons it temporarily switched to
vga-2 before switching to hdmi input source (It shows this on screen as well),
but vga-2 doesn't show up in the ddcutil capabilities output above. The values there mysteriously jump from 1 to 3.
Will try and get ddcutil running on the other hardware connected to the monitor and see what it does, let me know if there is anything else that would be helpful
Hi!
I've run into a strange problem using ddutil. It correctly detects my display (over DisplayPort) and I can set the brightness as I want. However, after ~1 second it goes back to the previous brightness setting.
I'm not sure what information to provide, but here's the output of ddcutil detect
:
Display 1
I2C bus: /dev/i2c-8
Supports DDC: true
EDID synopsis:
Mfg id: GSM
Model: LG Ultra HD
Serial number: Unspecified
Manufacture year: 2015
EDID version: 1.4
VCP version: 2.1
Any ideas what might be causing this? I'm happy to provide further information on my setup if needed.
Cheers!
I've used dumpvcp
to create a dump file and then went ahead and started messing with it a bit :). I've noticed that when I've removed all the identification except EDID loadvcp
failed with:
ddcutil: base/displays.c:211: create_mfg_model_sn_display_identifier: Assertion `strlen(pIdent->mfg_id) + strlen(pIdent->model_name) + strlen(pIdent->serial_ascii) > 0' failed.
[1] 8411 abort (core dumped) ddcutil loadvcp file
Is there any reason for failing? ddcutil --edid <EDID>
works ok.
Feedback:
Thanks for ddcutil
! I'm playing with it for some time already. My initial interest was to test if my monitor is off or not. Seems I can do it with ddcutil getvcp d6
and parse for sl=0x05
. I was wondering that maybe some option for making output a bit more quiet, that is showing just a value? So far I'm using this for setting brightness.
Hi,
The way I understand it, disabling shared lib will then disable the building of the C API. However, I receive the following error when trying to build without shared lib.
Also, please note that I have SWIG disabled, but it is finding python. If swig is not enabled, then it shouldn't even look for it.
>>> Install ddcutil-0.7.0 into /var/tmp/portage/app-misc/ddcutil-0.7.0/image/ category app-misc
make -j2 DESTDIR=/var/tmp/portage/app-misc/ddcutil-0.7.0/image/ install
Making install in src
make[1]: Entering directory '/var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0/src'
Making install in .
make[2]: Entering directory '/var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0/src'
Executing hook all-local...
make[3]: Entering directory '/var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0/src'
/bin/mkdir -p '/var/tmp/portage/app-misc/ddcutil-0.7.0/image//usr/include'
/bin/mkdir -p '/var/tmp/portage/app-misc/ddcutil-0.7.0/image//usr/bin'
/usr/lib/portage/python3.5/ebuild-helpers/xattr/install -c -m 644 public/ddcutil_types.h public/ddcutil_c_api.h '/var/tmp/portage/app-misc/ddcutil-0.7.0/image//usr/include'
/bin/sh ../libtool --mode=install /usr/lib/portage/python3.5/ebuild-helpers/xattr/install -c ddcutil '/var/tmp/portage/app-misc/ddcutil-0.7.0/image//usr/bin'
libtool: install: /usr/lib/portage/python3.5/ebuild-helpers/xattr/install -c ddcutil /var/tmp/portage/app-misc/ddcutil-0.7.0/image//usr/bin/ddcutil
make install-exec-hook
make[4]: Entering directory '/var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0/src'
(install-exec-hook) Executing...
pythondir = /usr/lib64/python3.4/site-packages
pyexecdir = /usr/lib64/python3.4/site-packages
/var/tmp/portage/app-misc/ddcutil-0.7.0/image//usr/lib64
ls -ld /var/tmp/portage/app-misc/ddcutil-0.7.0/image//usr/lib64
ls: cannot access '/var/tmp/portage/app-misc/ddcutil-0.7.0/image//usr/lib64': No such file or directory
make[4]: *** [Makefile:1980: install-exec-hook] Error 2
make[4]: Leaving directory '/var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0/src'
make[3]: *** [Makefile:1845: install-exec-am] Error 2
make[3]: Leaving directory '/var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0/src'
make[2]: *** [Makefile:1753: install-am] Error 2
make[2]: Leaving directory '/var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0/src'
make[1]: *** [Makefile:1586: install-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0/src'
make: *** [Makefile:553: install-recursive] Error 1
With the same configure options, but with shared libs enabled, it installs just fine.
The config options:
>>> Configuring source in /var/tmp/portage/app-misc/ddcutil-0.7.0/work/ddcutil-0.7.0 ...
* econf: updating ddcutil-0.7.0/config/config.guess with /usr/share/gnuconfig/config.guess
* econf: updating ddcutil-0.7.0/config/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/ddcutil-0.7.0 --htmldir=/usr/share/doc/ddcutil-0.7.0/html --libdir=/usr/lib64 --disable-lib --disable-usb --disable-swig
configure: debug messages disabled
checking for a BSD-compatible install... /usr/lib/portage/python3.5/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for style of include used by make... GNU
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking whether x86_64-pc-linux-gnu-gcc understands -c and -o together... yes
checking dependency style of x86_64-pc-linux-gnu-gcc... none
checking for x86_64-pc-linux-gnu-ar... x86_64-pc-linux-gnu-ar
checking the archiver (x86_64-pc-linux-gnu-ar) interface... ar
checking for x86_64-pc-linux-gnu-pkg-config... /usr/bin/x86_64-pc-linux-gnu-pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for x86_64-pc-linux-gnu-gcc... (cached) x86_64-pc-linux-gnu-gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... (cached) yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... (cached) none needed
checking whether x86_64-pc-linux-gnu-gcc understands -c and -o together... (cached) yes
checking dependency style of x86_64-pc-linux-gnu-gcc... (cached) none
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C99... none needed
checking for x86_64-pc-linux-gnu-gcc option to accept ISO Standard C... (cached) none needed
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by x86_64-pc-linux-gnu-gcc... /usr/x86_64-pc-linux-gnu/bin/ld
checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/x86_64-pc-linux-gnu-nm -B
checking the name lister (/usr/bin/x86_64-pc-linux-gnu-nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files... -r
checking for x86_64-pc-linux-gnu-objdump... x86_64-pc-linux-gnu-objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-pc-linux-gnu-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-pc-linux-gnu-ar... (cached) x86_64-pc-linux-gnu-ar
checking for archiver @FILE support... @
checking for x86_64-pc-linux-gnu-strip... x86_64-pc-linux-gnu-strip
checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib
checking command to parse /usr/bin/x86_64-pc-linux-gnu-nm -B output from x86_64-pc-linux-gnu-gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for x86_64-pc-linux-gnu-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if x86_64-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... yes
checking for x86_64-pc-linux-gnu-gcc option to produce PIC... -fPIC -DPIC
checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes
checking if x86_64-pc-linux-gnu-gcc static flag -static works... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-pc-linux-gnu-gcc linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: Checking configure command options...
configure: adl_header_dir =
configure: adl... disabled
configure: lib... disabled
configure: swig... disabled
configure: usb... disabled
configure: doxygen... disabled
configure: testcases... disabled
configure: callgraph... disabled
configure: gobject-api... disabled
configure: failsim..... disabled
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for inline... inline
checking whether byte ordering is bigendian... no
checking for size_t... yes
checking for ssize_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint8_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking whether strerror_r is declared... yes
checking for strerror_r... yes
checking whether strerror_r returns char *... no
checking for clock_gettime... yes
checking for memset... yes
checking for nl_langinfo... yes
checking for stpcpy... yes
checking for strchr... yes
checking for strdup... yes
checking for strerror... yes
checking for strrchr... yes
checking for strtol... yes
checking for library containing dlopen... -ldl
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking for dlfcn.h... (cached) yes
checking for GLIB... yes
checking for XRANDR... yes
checking for X11... yes
checking for UDEV... yes
configure: usb disabled, not checking for libusb
configure: doxygen disabled, not checking for Doxygen
configure: USE_DOXYGEN not set
checking for install-docs... no
configure: WARNING: doc-base not installed - continuing without doc-base support
checking for gobject-introspection... yes
configure: Calling am_path_python...
checking for a Python interpreter with version >= 2.6... python
checking for python... /usr/bin/python
checking for python version... 3.4
checking for python platform... linux
checking for python script directory... ${prefix}/lib64/python3.4/site-packages
checking for python extension module directory... ${exec_prefix}/lib64/python3.4/site-packages
configure: Calling ax_python_devel...
checking for python3.4... (cached) /usr/bin/python
checking for a version of Python >= '2.1.0'... yes
checking for the distutils Python package... yes
checking for Python include path... -I/usr/include/python3.4m
checking for Python library path... -L/usr/lib64 -lpython3.4m
checking for Python site-packages path... /usr/lib64/python3.4/site-packages
checking python extra libraries... -lpthread -ldl -lutil -lm
checking python extra linking flags... -Xlinker -export-dynamic
checking consistency of all components of python development environment... yes
configure: Calling ax_pkg_swig...
checking for swig... /usr/bin/swig
checking SWIG version... 3.0.10
checking for SWIG library... /usr/share/swig/3.0.10
configure: python_and_swig_found = yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/swig/Makefile
config.status: creating src/gobject_api/Makefile
config.status: creating man/Makefile
config.status: creating data/Makefile
config.status: creating docs/Makefile
config.status: creating docs/doxygen/Makefile
config.status: creating package/Makefile
config.status: creating package/ddcutil.spec
config.status: creating ddcutil.pc
config.status: creating package/upload_obsrpm
config.status: creating package/build_dpkg
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
ddcutil 0.7.0
=============
libtool version 0:0:0
prefix: /usr
datarootdir: ${prefix}/share
datadir: /usr/share
mandir: /usr/share/man
adl_header_dir:
enable_lib: no
enable_swig: no
enable_usb: no
enable_doxygen no
compiler: x86_64-pc-linux-gnu-gcc
cflags: -march=native -O2 -w -pipe
ldflags: -Wl,-O1 -Wl,--as-needed
>>> Source configured.
Hi,
I want to set speaker volume of my LCD monitor from PC, but setvcp accepts absolute volume only. Would it be possible to implement relative value input? Like setvcp -10
. ddcutil would in such case read current value from device a write modified value back.
One more question, is it possible to somehow speedup ddcutil?
ddcutil --noverify --nodetect --bus=9 setvcp 0x62 [volume]
Takes 450ms and that is still too much.
I have a quite simple usage of ddcutil. I use it only to change the brightness of my monitor.
Being able to increment/decrement brightness could be quite handy :
Something like "ddcutil setvcp 10 +10" would read the current value and add 10 to that value.
Edit: this was suddenly resolved by connecting again from display port to hdmi 2.0 port, restarting, saying 'oh mighty computer'. I have no idea what happened and why. I also run
sudo chmod a+rw /dev/i2c-*
ll /dev/i2c-*
sudo modprobe i2c-dev -f -vv
sudo modprobe nvidiafb
which I have run many times before. While it works I will try not to reboot this machine ever again (
Hi Sanford.
I had this tool working on my Ubuntu for 1 month, and after restarting a computer it stopped seeing my monitor.
I tried installing nvidia-381, nvidia-378, and nvidia-384, restarting several times, and saying 'oh mighty computer', all of which didn't help. I remember I did something one time to fix it by accident (launching nvidia-settings? setting refresh rate by xrandr?), but I have no idea what should I try next.
Can you give an advice how would I approach to digging brightness control of my monitor through command line?
(I was trying to buy passive AMD graphics card, but there are none on the market for 4K monitors with no cooler where I live)
Patch for Nvidia cards is there copied to xorg.conf.d dir, but the ticket I opened and solved when it was a problem described in the man page did not have a message 'no monitors found', it was different.
Setting output level verbose...
Setting maximum retries...
Forcing --stats...
Forcing --force-slave-address..
This command will take a while to run...
*** Basic System Information ***
ddcutil version: 0.8.4
/proc/version:
Linux version 4.4.0-96-generic (buildd@lgw01-10) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #119-Ubuntu SMP Tue Sep 12 14:59:54 UTC 2017
/etc/os-release...
PRETTY_NAME="Ubuntu 16.04.3 LTS"
/proc/cmdline:
BOOT_IMAGE=/boot/vmlinuz-4.4.0-96-generic root=UUID=890c5053-2fab-497d-b889-c60e496b7562 ro quiet splash vt.handoff=7
Processor information as reported by lscpu:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 26
Model name: Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz
Stepping: 5
CPU MHz: 2793.000
CPU max MHz: 2793,0000
CPU min MHz: 1596,0000
BogoMIPS: 5397.55
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0-7
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 aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority ept vpid dtherm ida
DMI Information from /sys/class/dmi/id:
Motherboard vendor: Gigabyte Technology Co., Ltd.
Motherboard product name: EX58-UD5
System vendor: Gigabyte Technology Co., Ltd.
System product name: EX58-UD5
Chassis vendor: Gigabyte Technology Co., Ltd.
Chassis type: 3 - Desktop
*** Primary Check 1: Identify video card and driver ***
Obtaining card and driver information from /sys...
Determining driver name and possibly version...
Driver name: nvidia
Driver version: 387.12
Video card identification:
Vendor: 10de NVIDIA Corporation
Device: 1d01 unknown device
*** Primary Check 2: Check that /dev/i2c-* exist and writable ***
(identify_i2c_devices) Identified 2 I2C devices
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 could be enabled by just giving everyone RW permission
The following tests probe for these conditions.
Checking for /dev/i2c-* devices...
crw-r--r-- 1 root root 89, 0 окт 4 01:15 /dev/i2c-0
crw-r--r-- 1 root root 89, 1 окт 4 01:15 /dev/i2c-1
Current user: root (0)
Current user (root) has RW access to all /dev/i2c-* devices.
Checking for group i2c...
Group i2c does not exist
Looking for udev nodes files that reference i2c:
grep: /etc/udev/makedev.d/*: No such file or directory
Looking for udev rules files that reference i2c:
grep: /run/udev/rules.d/*rules: No such file or directory
*** Primary Check 3: Check that module i2c_dev is loaded ***
Checking for module i2c_dev...
Using only proprietary nvidia or fglrx driver. Module i2c_dev not required.
Remaining i2c_dev detail is purely informational.
Module i2c_dev is built into kernel
Check that kernel module i2c_dev is being loaded by examining files where this would be specified...
grep: /run/modules-load.d/*conf: No such file or directory
grep: /usr/lib/modules-load.d/*conf: No such file or directory
Check for any references to i2c_dev in /etc/modprobe.d ...
grep: /run/modprobe.d/*conf: No such file or directory
*** 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
grep: /etc/X11/xorg.conf.d/*: No such file or directory
*** Additional probes ***
Scanning /proc/modules for driver environment...
Found other loaded module: i2c_algo_bit
Found other loaded module: videobuf2_vmalloc
Found other loaded module: videobuf2_memops
Found other loaded module: videobuf2_v4l2
Found other loaded module: videobuf2_core
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,
Using lspci to examine driver environment...
Video controller: NVIDIA Corporation Device 1d01 (rev a1)
Testing if modules are loaded using /sys...
Module amdgpu is NOT loaded
Module fglrx is NOT loaded
Module i915 is NOT loaded
Module nvidia is loaded
Module nouveau is NOT loaded
Module radeon is NOT loaded
Module vboxvideo is NOT loaded
Module drm is loaded
Module eeprom is NOT loaded
Module i2c_algo_bit is loaded
Module i2c_dev is NOT loaded
Module i2c_piix4 is NOT loaded
Examining /sys/bus/i2c/devices...
/sys/bus/i2c/devices/i2c-0/name: NVIDIA i2c adapter 4 at 4:00.0
/sys/bus/i2c/devices/i2c-1/name: NVIDIA i2c adapter 5 at 4:00.0
Examining /proc/driver/nvidia:
/proc/driver/nvidia/version:
NVRM version: NVIDIA UNIX x86_64 Kernel Module 387.12 Thu Sep 28 20:18:48 PDT 2017
GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
/proc/driver/nvidia/registry:
Binary: ""
/proc/driver/nvidia/params:
Mobile: 4294967295
ResmanDebugLevel: 4294967295
RmLogonRC: 1
ModifyDeviceFiles: 1
DeviceFileUID: 0
DeviceFileGID: 0
DeviceFileMode: 438
UpdateMemoryTypes: 4294967295
InitializeSystemMemoryAllocations: 1
UsePageAttributeTable: 4294967295
EnableMSI: 1
MapRegistersEarly: 0
RegisterForACPIEvents: 1
CheckPCIConfigSpace: 1
EnablePCIeGen3: 0
MemoryPoolSize: 0
TCEBypassMode: 0
UseThreadedInterrupts: 1
EnableStreamMemOPs: 0
RegistryDwords: ""
RegistryDwordsPerDevice: ""
RmMsg: ""
AssignGpus: ""
PCI bus id: 0000:04:00.0
/proc/driver/nvidia/gpus/0000:04:00.0/information:
Model: GeForce GT 1030
IRQ: 30
GPU UUID: GPU-eec473f3-aebd-0018-64ff-fb37f9d2fc9f
Video BIOS: 86.08.0c.00.0b
Bus Type: PCIe
DMA Size: 47 bits
DMA Mask: 0x7fffffffffff
Bus Location: 0000:04:00.0
Device Minor: 0
/proc/driver/nvidia/gpus/0000:04:00.0/registry:
Binary: ""
Examining I2C buses, as detected by I2C layer...
Detected I2C buses:
Bus /dev/i2c-0 found: true
Bus /dev/i2c-0 probed: true
Address 0x30 present: false
Address 0x37 present: false
Address 0x50 present: false
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
Bus /dev/i2c-1 found: true
Bus /dev/i2c-1 probed: true
Address 0x30 present: false
Address 0x37 present: false
Address 0x50 present: false
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
xrandr connection report:
DP-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 885mm x 498mm
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
Checking for possibly conflicting programs...
Examining I2C buses using i2cdetect...
Probing bus /dev/i2c-0 using command "i2cdetect -y 0"
i2cdetect command unavailable
Performing basic scan of I2C devices using local sysenv functions...
Examining device /dev/i2c-0...
Device name (/sys/bus/i2c/devices/i2c-0/name): NVIDIA i2c adapter 4 at 4:00.0
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
Unable to read EDID, psc=EIO(-5): Input/output error
Trying simple VCP read of feature 0x10...
Attempt 1 to read feature returned hard error: EIO(-5): Input/output error
DDC communication failed.
Examining device /dev/i2c-1...
Device name (/sys/bus/i2c/devices/i2c-1/name): NVIDIA i2c adapter 5 at 4:00.0
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
Unable to read EDID, psc=EIO(-5): Input/output error
Trying simple VCP read of feature 0x10...
Attempt 1 to read feature returned hard error: EIO(-5): Input/output error
DDC communication failed.
EDIDs reported by X11 for connected xrandr outputs:
xrandr output: DP-0
Raw EDID:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 41 0c 42 c1 61 11 00 00 ........A.B.a...
+0010 17 1b 01 04 b5 59 32 78 3a 15 71 ad 50 47 a7 26 .....Y2x:.q.PG.&
+0020 12 50 54 bf ef 00 d1 c0 b3 00 95 00 81 80 81 40 .PT............@
+0030 81 c0 01 01 01 01 4d d0 00 a0 f0 70 3e 80 30 20 ......M....p>.0
+0040 35 00 75 f2 31 00 00 1a a3 66 00 a0 f0 70 1f 80 5.u.1....f...p..
+0050 30 20 35 00 75 f2 31 00 00 1a 00 00 00 fd 00 17 0 5.u.1.........
+0060 50 1e a0 3c 01 0a 20 20 20 20 20 20 00 00 00 fc P..<.. ....
+0070 00 50 48 4c 20 42 44 4d 34 30 33 37 55 0a 01 25 .PHL BDM4037U..%
EDID synopsis:
Mfg id: PHL
Model: PHL BDM4037U
Serial number: Unspecified
Manufacture year: 2017
EDID version: 1.4
Product code: 0xc142 (49474)
Extra descriptor: Unspecified
Video input definition: 0xb5 - Digital Input (DisplayPort)
White x,y: 0.312, 0.329
Red x,y: 0.676, 0.313
Green x,y: 0.278, 0.653
Blue x,y: 0.149, 0.073
Extension blocks: 1
EDID source:
Probing I2C devices using udev, susbsystem i2c-dev...
***One Device ***
path: /sys/devices/pci0000:00/0000:00:07.0/0000:04:00.0/i2c-0/i2c-dev/i2c-0
Device Node Path: /dev/i2c-0
struct udev_device at: 0x55baf83db630
devpath: /devices/pci0000:00/0000:00:07.0/0000:04:00.0/i2c-0/i2c-dev/i2c-0
subsystem: i2c-dev
devtype: (null)
syspath: /sys/devices/pci0000:00/0000:00:07.0/0000:04:00.0/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:07.0/0000:04:00.0/i2c-0/i2c-dev/i2c-0
MAJOR -> 89
MINOR -> 0
SUBSYSTEM -> i2c-dev
Sysattrs:
dev -> 89:0
device -> (null)
name -> NVIDIA i2c adapter 4 at 4:00.0
subsystem -> i2c-dev
uevent -> MAJOR=89
MINOR=0
DEVNAME=i2c-0
***One Device ***
path: /sys/devices/pci0000:00/0000:00:07.0/0000:04:00.0/i2c-1/i2c-dev/i2c-1
Device Node Path: /dev/i2c-1
struct udev_device at: 0x55baf83ecbe0
devpath: /devices/pci0000:00/0000:00:07.0/0000:04:00.0/i2c-1/i2c-dev/i2c-1
subsystem: i2c-dev
devtype: (null)
syspath: /sys/devices/pci0000:00/0000:00:07.0/0000:04: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:07.0/0000:04:00.0/i2c-1/i2c-dev/i2c-1
MAJOR -> 89
MINOR -> 1
SUBSYSTEM -> i2c-dev
Sysattrs:
dev -> 89:1
device -> (null)
name -> NVIDIA i2c adapter 5 at 4:00.0
subsystem -> i2c-dev
uevent -> MAJOR=89
MINOR=1
DEVNAME=i2c-1
Summary of udev I2C devices
Subsystem Sysname Sysattr Name Devpath
i2c-dev i2c-0 NVIDIA i2c adapter 4 at 4:00.0 /devices/pci0000:00/0000:00:07.0/0000:04:00.0/i2c-0/i2c-dev/i2c-0
i2c-dev i2c-1 NVIDIA i2c adapter 5 at 4:00.0 /devices/pci0000:00/0000:00:07.0/0000:04:00.0/i2c-1/i2c-dev/i2c-1
Looking for udev devices with name attribute DPMST...
Summary of udev DPMST devices...
No devices detected
Examining system logs...
Checking dmesg for video and I2C related lines...
[ 0.312615] pci 0000:04:00.0: Video device with shadowed ROM
[ 1.335973] [drm] Initialized drm 1.1.0 20060810
[ 1.349153] nvidia: module license 'NVIDIA' taints kernel.
[ 1.355691] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[ 1.361362] nvidia-nvlink: Nvlink Core is being initialized, major device number 247
[ 1.361734] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 387.12 Thu Sep 28 20:18:48 PDT 2017 (using threaded interrupts)
[ 1.363028] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 387.12 Thu Sep 28 19:30:23 PDT 2017
[ 1.363721] [drm] [nvidia-drm] [GPU ID 0x00000400] Loading driver
[ 4.709785] Linux video capture interface: v2.00
[ 4.848513] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 244
[ 5.193056] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:07.0/0000:04:00.1/sound/card1/input18
[ 5.193152] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:07.0/0000:04:00.1/sound/card1/input19
on the primary VGA device. The NVIDIA Linux graphics driver
[ 5.887587] uvcvideo: Found UVC 1.00 device <unnamed> (046d:0825)
[ 5.902136] usbcore: registered new interface driver uvcvideo
[ 5.902138] USB Video Class driver (1.1.1)
[ 6.785857] nvidia-modeset: Allocated GPU:0 (GPU-eec473f3-aebd-0018-64ff-fb37f9d2fc9f) @ PCI:0000:04:00.0
Checking journalctl for video and I2C related lines...
окт 04 01:15:19 home kernel: pci 0000:04:00.0: Video device with shadowed ROM
окт 04 01:15:19 home kernel: [drm] Initialized drm 1.1.0 20060810
окт 04 01:15:19 home kernel: nvidia: module license 'NVIDIA' taints kernel.
окт 04 01:15:19 home kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel
окт 04 01:15:19 home kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 247
окт 04 01:15:19 home kernel: NVRM: loading NVIDIA UNIX x86_64 Kernel Module 387.12 Thu Sep 28 20:18:48 PDT 2017 (using threaded interrupts)
окт 04 01:15:19 home kernel: nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 387.12 Thu Sep 28 19:30:23 PDT 2017
окт 04 01:15:19 home kernel: [drm] [nvidia-drm] [GPU ID 0x00000400] Loading driver
окт 04 01:15:19 home kernel: Linux video capture interface: v2.00
окт 04 01:15:20 home kernel: nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 244
окт 04 01:15:20 home kernel: input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:07.0/0000:04:00.1/sound/card1/input18
окт 04 01:15:20 home kernel: input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:07.0/0000:04:00.1/sound/card1/input19
окт 04 01:15:20 home systemd[1]: Starting NVIDIA Persistence Daemon...
окт 04 01:15:20 home nvidia-persistenced[1077]: Verbose syslog connection opened
окт 04 01:15:20 home nvidia-persistenced[1077]: Now running with user ID 124 and group ID 135
окт 04 01:15:20 home nvidia-persistenced[1077]: Started (1077)
окт 04 01:15:20 home systemd[1]: Started NVIDIA Persistence Daemon.
окт 04 01:15:20 home nvidia-persistenced[1077]: device 0000:04:00.0 - registered
окт 04 01:15:20 home nvidia-persistenced[1077]: Local RPC service initialized
on the primary VGA device. The NVIDIA Linux graphics driver
окт 04 01:15:21 home kernel: uvcvideo: Found UVC 1.00 device <unnamed> (046d:0825)
окт 04 01:15:21 home kernel: usbcore: registered new interface driver uvcvideo
окт 04 01:15:21 home kernel: USB Video Class driver (1.1.1)
окт 04 01:15:22 home kernel: nvidia-modeset: Allocated GPU:0 (GPU-eec473f3-aebd-0018-64ff-fb37f9d2fc9f) @ PCI:0000:04:00.0
окт 04 01:15:44 home sudo[2333]: valt : TTY=pts/0 ; PWD=/home/valt ; USER=root ; COMMAND=/sbin/modprobe nvidiafb
Limiting output to 200 lines...
Checking Xorg.0.log for video and I2C related lines...
[ 5.926] X.Org Video Driver: 20.0
[ 5.927] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 6.018] (II) Module glx: vendor="NVIDIA Corporation"
[ 6.018] (II) NVIDIA GLX Module 387.12 Thu Sep 28 19:24:49 PDT 2017
[ 6.018] (II) LoadModule: "nvidia"
[ 6.018] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so
[ 6.031] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 6.031] Module class: X.Org Video Driver
[ 6.032] (II) NVIDIA dlloader X Driver 387.12 Thu Sep 28 18:57:27 PDT 2017
[ 6.032] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 6.067] (II) NVIDIA(0): Creating default Display subsection in Screen section
[ 6.067] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[ 6.067] (==) NVIDIA(0): RGB weight 888
[ 6.067] (==) NVIDIA(0): Default visual is TrueColor
[ 6.067] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 6.069] (**) NVIDIA(0): Option "RegistryDwords" "RMUseSwI2c=0x01; RMI2cSpeed=100"
[ 6.069] (**) NVIDIA(0): Enabling 2D acceleration
[ 6.719] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:4:0:0
[ 6.719] (--) NVIDIA(0): DFP-0 (boot)
[ 6.719] (--) NVIDIA(0): DFP-1
[ 6.719] (--) NVIDIA(0): DFP-2
[ 6.721] (II) NVIDIA(0): NVIDIA GPU GeForce GT 1030 (GP108-A) at PCI:4:0:0 (GPU-0)
[ 6.721] (--) NVIDIA(0): Memory: 2097152 kBytes
[ 6.721] (--) NVIDIA(0): VideoBIOS: 86.08.0c.00.0b
[ 6.721] (II) NVIDIA(0): Detected PCI Express Link width: 4X
[ 6.721] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): connected
[ 6.721] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): Internal DisplayPort
[ 6.721] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): 1440.0 MHz maximum pixel clock
[ 6.721] (--) NVIDIA(GPU-0):
[ 6.722] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 6.722] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 6.722] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 6.722] (--) NVIDIA(GPU-0):
[ 6.722] (--) NVIDIA(GPU-0): DFP-2: disconnected
[ 6.722] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[ 6.722] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[ 6.722] (--) NVIDIA(GPU-0):
[ 6.726] (==) NVIDIA(0):
[ 6.726] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
[ 6.726] (==) NVIDIA(0): will be used as the requested mode.
[ 6.726] (==) NVIDIA(0):
[ 6.727] (II) NVIDIA(0): Validated MetaModes:
[ 6.727] (II) NVIDIA(0): "DFP-0:nvidia-auto-select"
[ 6.727] (II) NVIDIA(0): Virtual screen size determined to be 3840 x 2160
[ 6.742] (--) NVIDIA(0): DPI set to (109, 109); computed from "UseEdidDpi" X config
[ 6.742] (--) NVIDIA(0): option
[ 6.743] (II) NVIDIA: Using 24576.00 MB of virtual memory for indirect memory
[ 6.743] (II) NVIDIA: access.
[ 6.773] (II) NVIDIA(0): Setting mode "DFP-0:nvidia-auto-select"
[ 6.902] (==) NVIDIA(0): Disabling shared memory pixmaps
[ 6.902] (==) NVIDIA(0): Backing store enabled
[ 6.902] (==) NVIDIA(0): Silken mouse enabled
[ 6.904] (==) NVIDIA(0): DPMS enabled
[ 6.904] (II) NVIDIA(0): [DRI2] Setup complete
[ 6.904] (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia
[ 6.962] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event14)
[ 6.963] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=7 (/dev/input/event15)
[ 7.312] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): connected
[ 7.312] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): Internal DisplayPort
[ 7.312] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): 1440.0 MHz maximum pixel clock
[ 7.312] (--) NVIDIA(GPU-0):
[ 7.921] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): connected
[ 7.921] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): Internal DisplayPort
[ 7.921] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): 1440.0 MHz maximum pixel clock
[ 7.921] (--) NVIDIA(GPU-0):
[ 7.922] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 7.922] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 7.922] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 7.922] (--) NVIDIA(GPU-0):
[ 7.922] (--) NVIDIA(GPU-0): DFP-2: disconnected
[ 7.922] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[ 7.922] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[ 7.922] (--) NVIDIA(GPU-0):
[ 8.266] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): connected
[ 8.266] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): Internal DisplayPort
[ 8.266] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): 1440.0 MHz maximum pixel clock
[ 8.266] (--) NVIDIA(GPU-0):
[ 8.267] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 8.267] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 8.267] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 8.267] (--) NVIDIA(GPU-0):
[ 8.267] (--) NVIDIA(GPU-0): DFP-2: disconnected
[ 8.267] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[ 8.267] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[ 8.267] (--) NVIDIA(GPU-0):
[ 18.708] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): connected
[ 18.708] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): Internal DisplayPort
[ 18.708] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): 1440.0 MHz maximum pixel clock
[ 18.708] (--) NVIDIA(GPU-0):
[ 18.709] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 18.709] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 18.709] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 18.709] (--) NVIDIA(GPU-0):
[ 18.709] (--) NVIDIA(GPU-0): DFP-2: disconnected
[ 18.709] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[ 18.709] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[ 18.709] (--) NVIDIA(GPU-0):
[ 51.217] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): connected
[ 51.217] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): Internal DisplayPort
[ 51.217] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): 1440.0 MHz maximum pixel clock
[ 51.217] (--) NVIDIA(GPU-0):
[ 51.218] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 51.218] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 51.218] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 51.218] (--) NVIDIA(GPU-0):
[ 51.218] (--) NVIDIA(GPU-0): DFP-2: disconnected
[ 51.218] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[ 51.218] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[ 51.218] (--) NVIDIA(GPU-0):
[ 56.223] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): connected
[ 56.223] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): Internal DisplayPort
[ 56.223] (--) NVIDIA(GPU-0): Philips PHL BDM4037U (DFP-0): 1440.0 MHz maximum pixel clock
[ 56.223] (--) NVIDIA(GPU-0):
[ 56.224] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 56.224] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 56.224] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 56.224] (--) NVIDIA(GPU-0):
[ 56.224] (--) NVIDIA(GPU-0): DFP-2: disconnected
[ 56.224] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[ 56.224] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[ 56.224] (--) NVIDIA(GPU-0):
Not built with libdrm support. Skipping DRM related checks
Device Identifier Cross Reference Report
EDID: ...550A0125 Mfg: PHL Model: PHL BDM4037U SN: Unspecified
Bus: Not found
XrandR output: DP-0
DRM connector: (null)
UDEV name: (null)
UDEV syspath: (null)
Skipping USB environment exploration.
Issue command "ddcutil usbenvironment --verbose" if there are any USB attached monitors.
Statistics for environment exploration:
Maximum Try Settings:
Operation Type Current Default
Write only exchange tries: 4 4
Write read exchange tries: 15 10
Multi-part exchange tries: 15 8
Retry statistics for ddc write only
No tries attempted
Retry statistics for ddc write/read
No tries attempted
Retry statistics for multi-part exchange
No tries attempted
DDC Related Errors: None
Total errors: 0
Errors Wrapped in Retry: None
Total errors: 0
Sleep Strategy Stats:
Total IO events: 34
IO error count: 0
Total sleep events: 0
Sleep Event type Count
SE_WRITE_TO_READ 0
SE_POST_OPEN 0
SE_POST_WRITE 0
SE_POST_READ 0
SE_DDC_NULL 0
SE_POST_SAVE_SETTINGS 0
Call Stats:
Type Count Millisec ( Nanosec)
write calls (IE_WRITE) 8 80 ( 80201901)
read calls (IE_READ) 4 40 ( 40051060)
open file calls (IE_OPEN) 4 0 ( 24226)
close file calls (IE_CLOSE) 4 0 ( 11034)
other I/O calls (IE_OTHER) 14 0 ( 21293)
Totals: 34 120 ( 120309514)
Sleep Call Stats:
Total sleep calls: 2
Requested sleep time milliseconds : 100
Actual sleep milliseconds (nanosec): 100 ( 100310817)
Total elapsed milliseconds (nanoseconds): 518 ( 518798414)
*** Detected Displays ***
No displays found
Statistics for display detection:
Maximum Try Settings:
Operation Type Current Default
Write only exchange tries: 4 4
Write read exchange tries: 15 10
Multi-part exchange tries: 15 8
Retry statistics for ddc write only
No tries attempted
Retry statistics for ddc write/read
No tries attempted
Retry statistics for multi-part exchange
No tries attempted
DDC Related Errors: None
Total errors: 0
Errors Wrapped in Retry: None
Total errors: 0
Sleep Strategy Stats:
Total IO events: 0
IO error count: 0
Total sleep events: 0
Sleep Event type Count
SE_WRITE_TO_READ 0
SE_POST_OPEN 0
SE_POST_WRITE 0
SE_POST_READ 0
SE_DDC_NULL 0
SE_POST_SAVE_SETTINGS 0
Call Stats:
Type Count Millisec ( Nanosec)
Totals: 0 0 ( 0)
Sleep Call Stats:
Total sleep calls: 2
Requested sleep time milliseconds : 100
Actual sleep milliseconds (nanosec): 100 ( 100310817)
Elapsed milliseconds since last reset (nanoseconds): 0 ( 26980)
Total elapsed milliseconds (nanoseconds): 518 ( 518830845)
Setting output level normal Table features will be skipped...
Display scanning complete.
Not an issue per-se, just a quick report, ddcutil seems to be working just fine on good old Samsung 971p monitor.
Which is helpful, since it only has one hardware key to play with.
ddcutil interrogate output attached. 971p.txt
Also, display mode labels are wrong, but I guess these are sample value only, since there is no way to query monitor for actual labels.
Feature: DC (Display Mode)
Values:
01: Productivity -> Text
02: Mixed -> Internet
03: Movie -> Game
04: User defined -> Sport
05: Games -> Movie
06: Sports -> Custom
f0: Dynamic contrast = Dynamic contrast
I try to control the brightness of my HP monitor HP 27es (codename HWP3325), pluged in HDMI port of Asus Laptop (UX310). I tried both HDMI ports on the monitor (it was suggested by gddccontrol
utility, which did not work on the first port. ddcutil
reports same output on both ports).
DDC/IC enabled in OSD.
ddcutil detect
reports Invalid Display :
Invalid display
I2C bus: /dev/i2c-0
Supports DDC: true
EDID synopsis:
Mfg id: HWP
Model: HP 27es
Serial number: 3CM7240ZLG
Manufacture year: 2017
EDID version: 1.3
DDC communication failed
if --ddc
is enabled the following is visible :
DDC: Unexpected source address 0x80, should be 0x6e
DDC: i2c_response_bytes: 80 80 be 6e 80 be 6e 6e 80 be 00 6e 80 be 6e 80 be 6e 6e 80
DDC: Unexpected source address 0xbe, should be 0x6e
DDC: i2c_response_bytes: be 00 6e 80 be 6e 80 be 6e 80 be 6e 80 be 6e 80 be 6e 6e 80
DDC: Unexpected source address 0xbe, should be 0x6e
DDC: i2c_response_bytes: be be 6e 80 be 6e 80 be 6e 80 80 be 6e 6e 80 be 6e 80 be 6e
DDC: Unexpected source address 0x80, should be 0x6e
DDC: i2c_response_bytes: 80 80 be 00 6e 80 be 6e 80 be 00 6e 80 be 6e 80 be 6e 6e 80
DDC: Unexpected source address 0xbe, should be 0x6e
DDC: i2c_response_bytes: be 00 6e 80 be 6e 6e 80 be 6e 80 be 6e 6e 80 be 6e 80 80 be
DDC: Double byte in packet.
DDC: i2c_response_bytes: 6e 6e 80 be 6e 6e 80 be 6e 80 be 6e 80 be 6e 80 be 6e 80 be
DDC: Double byte in packet.
DDC: i2c_response_bytes: 6e 6e 80 be 6e 6e 80 be 6e 80 be 6e 80 be 6e 80 be 6e 6e 80
DDC: Unexpected source address 0xbe, should be 0x6e
DDC: i2c_response_bytes: be 00 6e 80 be 6e 80 be 6e 80 80 be 6e 80 be 6e 80 be 00 6e
DDC: Unexpected source address 0x80, should be 0x6e
DDC: i2c_response_bytes: 80 80 be 6e 6e 80 be 6e 80 be 00 6e 80 be 6e 80 be 6e 6e 80
DDC: Unexpected source address 0xbe, should be 0x6e
DDC: i2c_response_bytes: be 00 6e 80 be 6e 80 be 6e 80 be 6e 80 be 6e 80 be 6e 6e 80
It looks like the bytes received are shifted (ddcutil expects 0x6e but reads 0x80 whereas next byte is 0x6e).
ddcutil 0.8.6 on Ubuntu 17.10 (wayland) for what it worth.
ddcutil detect --verbose --ddc --force-slave-address >> ddcutil-detect.txt
ddcutil environment --verbose --ddc --force-slave-address >> ddcutil-environment.txt
From writing a rust wrapper around the c api I've realised that there's no documentation on the thread-safety (or lack thereof) for any of the API calls. A few specific scenarios I'm wondering about, and whether they're safe and/or guaranteed:
--async
flag that indicates this could maybe be okay?Apparently, a lot of software uses /sys/class/backlight/*/actual_brightness to try to control screen brightness. It would be cool if it was possible to control DDC enabled monitors using this interface, too.
Hi,
I was trying to compile version 0.8.6 on Void Linux using the musl libc and ran into the following error which I would like to report:
query_sysenv_usb.c: In function 'probe_hiddev':
query_sysenv_usb.c:193:26: error: overflow in implicit constant conversion [-Werror=overflow]
rc = ioctl(fd, HIDIOCGDEVINFO, &dev_info);
^~~~~~~~~~~~~~
cc1: all warnings being treated as errors
I can make the error disappear by removing -Wpedantic
from src/app_sysenv/Makefile
(it isn’t set in 0.8.5), but I’d rather solve the underlying issue ;) which seems to be that glibc defines ioctl()
as
extern int ioctl (int __fd, unsigned long int __request, ...) __THROW;
but the musl libc as
int ioctl (int, int, ...);
It compiles when casting to int
:
rc = ioctl(fd, (int) HIDIOCGDEVINFO, &dev_info);
but I don’t know enough about the whole matter to be sure that’s safe to do.
There are a couple of instances more where a warning is issued, but not treated as an error:
make[3]: Entering directory '/builddir/ddcutil-0.8.6/src/usb'
CC usb_base.lo
usb_base.c: In function 'hiddev_get_device_info':
usb_base.c:188:23: warning: overflow in implicit constant conversion [-Woverflow]
int rc = ioctl(fd, HIDIOCGDEVINFO, dev_info);
^~~~~~~~~~~~~~
usb_base.c: In function 'hiddev_get_report_info':
usb_base.c:208:23: warning: overflow in implicit constant conversion [-Woverflow]
int rc = ioctl(fd, HIDIOCGREPORTINFO, rinfo);
^~~~~~~~~~~~~~~~~
usb_base.c: In function 'hiddev_get_field_info':
usb_base.c:228:23: warning: overflow in implicit constant conversion [-Woverflow]
int rc = ioctl(fd, HIDIOCGFIELDINFO, finfo);
^~~~~~~~~~~~~~~~
usb_base.c: In function 'hiddev_get_usage_code':
usb_base.c:250:23: warning: overflow in implicit constant conversion [-Woverflow]
int rc = ioctl(fd, HIDIOCGUCODE, uref); // Fills in usage code
^~~~~~~~~~~~
usb_base.c: In function 'hiddev_get_usage_value':
usb_base.c:267:23: warning: overflow in implicit constant conversion [-Woverflow]
int rc = ioctl(fd, HIDIOCGUSAGE, uref);
^~~~~~~~~~~~
usb_base.c: In function 'hiddev_get_report':
usb_base.c:283:23: warning: overflow in implicit constant conversion [-Woverflow]
int rc = ioctl(fd, HIDIOCGUCODE, rinfo);
^~~~~~~~~~~~
...
usb_vcp.c: In function 'usb_get_usage_value_by_report_type_and_ucode':
usb_vcp.c:133:19: warning: overflow in implicit constant conversion [-Woverflow]
rc = ioctl(fd, HIDIOCGFIELDINFO, &finfo); // Fills in usage value
^~~~~~~~~~~~~~~~
(resolved by reading man and copying the setting for nvidia card to xorg.conf.d.
I am now trying to close or delete this issue if I have rights. Sorry for opening it =)
Hi. Thank you for your work and for this tool!
I was using ddcutil to change brightness/contrast of my monitor, and it worked like charm on ubuntu 16.04 with my 5 year old nvidia card and nvidia-375 drivers. (I even attached yoctopuce light sensor and wrote simple script to adjust brightness according to current background lighting)
Well, I just bought nvidia gt 1030 to support 4k monitor, and had to install also nvidia-381 for it to be able to boot. And ddcutil stopped working (I've updated it to the latest version from master)
(I've read configuration issues points from another ticket, and will add RW permissions for my user to be able to use ddcutil without sudo)
Display is connected via HDMI.
Can you please advise if I can do anything to try and debug the problem?
❯ sudo src/ddcutil interrogate --verbose 2>&1 | pbcopy
Failure getting EDID for /dev/i2c-1: status code=DDCRC_EDID(-3016): invalid EDID
Output level: Verbose
Reporting DDC data errors: false
Trace groups active: none
Force I2C slave address: false
Setting output level verbose...
Setting maximum retries...
Forcing --stats...
Forcing --force-slave-address..
This command will take a while to run...
*** Basic System Information ***
ddcutil version: 0.8.4
/proc/version:
Linux version 4.4.0-87-generic (buildd@lcy01-31) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017
/etc/os-release...
PRETTY_NAME="Ubuntu 16.04.3 LTS"
/proc/cmdline:
BOOT_IMAGE=/boot/vmlinuz-4.4.0-87-generic root=UUID=890c5053-2fab-497d-b889-c60e496b7562 ro quiet splash vt.handoff=7
Processor information as reported by lscpu:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 26
Model name: Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz
Stepping: 5
CPU MHz: 1596.000
CPU max MHz: 2793,0000
CPU min MHz: 1596,0000
BogoMIPS: 5397.34
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0-7
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 aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority ept vpid dtherm ida
DMI Information from /sys/class/dmi/id:
Motherboard vendor: Gigabyte Technology Co., Ltd.
Motherboard product name: EX58-UD5
System vendor: Gigabyte Technology Co., Ltd.
System product name: EX58-UD5
Chassis vendor: Gigabyte Technology Co., Ltd.
Chassis type: 3 - Desktop
*** Primary Check 1: Identify video card and driver ***
Obtaining card and driver information from /sys...
Determining driver name and possibly version...
Driver name: nvidia
Driver version: 381.22
Video card identification:
Vendor: 10de NVIDIA Corporation
Device: 1d01 unknown device
*** Primary Check 2: Check that /dev/i2c-* exist and writable ***
(identify_i2c_devices) Identified 2 I2C devices
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 could be enabled by just giving everyone RW permission
The following tests probe for these conditions.
Checking for /dev/i2c-* devices...
crw------- 1 root root 89, 0 авг 4 01:42 /dev/i2c-0
crw------- 1 root root 89, 1 авг 4 01:42 /dev/i2c-1
Current user: root (0)
Current user (root) has RW access to all /dev/i2c-* devices.
Checking for group i2c...
Group i2c does not exist
Looking for udev nodes files that reference i2c:
grep: /etc/udev/makedev.d/*: No such file or directory
Looking for udev rules files that reference i2c:
grep: /run/udev/rules.d/*rules: No such file or directory
*** Primary Check 3: Check that module i2c_dev is loaded ***
Checking for module i2c_dev...
Using only proprietary nvidia or fglrx driver. Module i2c_dev not required.
Remaining i2c_dev detail is purely informational.
Module i2c_dev is built into kernel
Check that kernel module i2c_dev is being loaded by examining files where this would be specified...
grep: /run/modules-load.d/*conf: No such file or directory
grep: /usr/lib/modules-load.d/*conf: No such file or directory
Check for any references to i2c_dev in /etc/modprobe.d ...
grep: /run/modprobe.d/*conf: No such file or directory
*** 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
grep: /etc/X11/xorg.conf.d/*: No such file or directory
*** Additional probes ***
Scanning /proc/modules for driver environment...
Found other loaded module: videobuf2_vmalloc
Found other loaded module: videobuf2_memops
Found other loaded module: videobuf2_v4l2
Found other loaded module: videobuf2_core
Found other loaded module: videodev
Found other loaded module: drm_kms_helper
Loaded drm module depends on: nvidia_drm,drm_kms_helper,
Found video driver module: nvidia
Using lspci to examine driver environment...
Video controller: NVIDIA Corporation Device 1d01 (rev a1)
Testing if modules are loaded using /sys...
Module amdgpu is NOT loaded
Module fglrx is NOT loaded
Module i915 is NOT loaded
Module nvidia is loaded
Module nouveau is NOT loaded
Module radeon is NOT loaded
Module vboxvideo is NOT loaded
Module drm is loaded
Module eeprom is NOT loaded
Module i2c_algo_bit is NOT loaded
Module i2c_dev is NOT loaded
Module i2c_piix4 is NOT loaded
Examining /sys/bus/i2c/devices...
/sys/bus/i2c/devices/i2c-0/name: NVIDIA i2c adapter 4 at 4:00.0
/sys/bus/i2c/devices/i2c-1/name: NVIDIA i2c adapter 5 at 4:00.0
Examining /proc/driver/nvidia:
/proc/driver/nvidia/version:
NVRM version: NVIDIA UNIX x86_64 Kernel Module 381.22 Thu May 4 00:55:03 PDT 2017
GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
/proc/driver/nvidia/registry:
Binary: ""
/proc/driver/nvidia/params:
Mobile: 4294967295
ResmanDebugLevel: 4294967295
RmLogonRC: 1
ModifyDeviceFiles: 1
DeviceFileUID: 0
DeviceFileGID: 0
DeviceFileMode: 438
UpdateMemoryTypes: 4294967295
InitializeSystemMemoryAllocations: 1
UsePageAttributeTable: 4294967295
EnableMSI: 1
MapRegistersEarly: 0
RegisterForACPIEvents: 1
CheckPCIConfigSpace: 1
EnablePCIeGen3: 0
MemoryPoolSize: 0
TCEBypassMode: 0
UseThreadedInterrupts: 1
RegistryDwords: ""
RegistryDwordsPerDevice: ""
RmMsg: ""
AssignGpus: ""
PCI bus id: 0000:04:00.0
/proc/driver/nvidia/gpus/0000:04:00.0/information:
Model: GeForce GT 1030
IRQ: 30
GPU UUID: GPU-eec473f3-aebd-0018-64ff-fb37f9d2fc9f
Video BIOS: 86.08.0c.00.0b
Bus Type: PCIe
DMA Size: 47 bits
DMA Mask: 0x7fffffffffff
Bus Location: 0000:04:00.0
Device Minor: 0
/proc/driver/nvidia/gpus/0000:04:00.0/registry:
Binary: ""
Examining I2C buses, as detected by I2C layer...
Detected I2C buses:
Bus /dev/i2c-0 found: true
Bus /dev/i2c-0 probed: true
Address 0x30 present: false
Address 0x37 present: false
Address 0x50 present: false
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
Bus /dev/i2c-1 found: true
Bus /dev/i2c-1 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
xrandr connection report:
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 593mm x 371mm
Checking for possibly conflicting programs...
Examining I2C buses using i2cdetect...
Probing bus /dev/i2c-0 using command "i2cdetect -y 0"
i2cdetect command unavailable
Performing basic scan of I2C devices using local sysenv functions...
Examining device /dev/i2c-0...
Device name (/sys/bus/i2c/devices/i2c-0/name): NVIDIA i2c adapter 4 at 4:00.0
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
Unable to read EDID, psc=EIO(-5): Input/output error
Trying simple VCP read of feature 0x10...
Attempt 1 to read feature returned hard error: EIO(-5): Input/output error
DDC communication failed.
Examining device /dev/i2c-1...
Device name (/sys/bus/i2c/devices/i2c-1/name): NVIDIA i2c adapter 5 at 4:00.0
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
Unable to read EDID, psc=DDCRC_EDID(-3016): invalid EDID
Trying simple VCP read of feature 0x10...
read() returned 6e 88 02 00 6e 88 02 00 88 02 00
Attempt 1 to read feature failed. status = DDCRC_CHECKSUM(-3003): checksum error. Retrying...
read() returned 6e 88 02 00 6e 88 02 00 88 02 00
Attempt 2 to read feature failed. status = DDCRC_CHECKSUM(-3003): checksum error. Retrying...
read() returned 6e 88 02 00 6e 88 02 00 88 02 00
Attempt 3 to read feature failed. status = DDCRC_CHECKSUM(-3003): checksum error.
DDC communication failed.
EDIDs reported by X11 for connected xrandr outputs:
xrandr output: HDMI-0
Raw EDID:
+0 +4 +8 +c 0 4 8 c
+0000 00 ff ff ff ff ff ff 00 22 64 e5 20 ed 02 00 00 ........"d. ....
+0010 18 14 01 03 80 3b 25 78 ea af f6 a6 54 4c 9e 23 .....;%x....TL.#
+0020 10 4f 54 bf ef 80 d1 00 b3 00 a9 40 95 00 90 40 .OT........@...@
+0030 81 80 81 40 71 4f 28 3c 80 a0 70 b0 23 40 30 20 ...@qO(<..p.#@0
+0040 36 00 51 73 21 00 00 1a 00 00 00 ff 00 30 32 34 6.Qs!........024
+0050 4c 4b 33 51 41 30 30 37 34 39 00 00 00 fd 00 38 LK3QA00749.....8
+0060 4b 18 50 0f 00 0a 20 20 20 20 20 20 00 00 00 fc K.P... ....
+0070 00 48 48 32 38 31 0a 20 20 20 20 20 20 20 01 e5 .HH281. ..
EDID synopsis:
Mfg id: HSD
Model: HH281
Serial number: 024LK3QA00749
Manufacture year: 2010
EDID version: 1.3
Product code: 0x20e5 (8421)
Extra descriptor: Unspecified
Video input definition: 0x80 - Digital Input
White x,y: 0.310, 0.330
Red x,y: 0.650, 0.330
Green x,y: 0.300, 0.620
Blue x,y: 0.140, 0.065
Extension blocks: 1
EDID source:
Probing I2C devices using udev, susbsystem i2c-dev...
***One Device ***
path: /sys/devices/pci0000:00/0000:00:07.0/0000:04:00.0/i2c-0/i2c-dev/i2c-0
Device Node Path: /dev/i2c-0
struct udev_device at: 0x55abac76ac70
devpath: /devices/pci0000:00/0000:00:07.0/0000:04:00.0/i2c-0/i2c-dev/i2c-0
subsystem: i2c-dev
devtype: (null)
syspath: /sys/devices/pci0000:00/0000:00:07.0/0000:04:00.0/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:07.0/0000:04:00.0/i2c-0/i2c-dev/i2c-0
MAJOR -> 89
MINOR -> 0
SUBSYSTEM -> i2c-dev
Sysattrs:
dev -> 89:0
device -> (null)
name -> NVIDIA i2c adapter 4 at 4:00.0
subsystem -> i2c-dev
uevent -> MAJOR=89
MINOR=0
DEVNAME=i2c-0
***One Device ***
path: /sys/devices/pci0000:00/0000:00:07.0/0000:04:00.0/i2c-1/i2c-dev/i2c-1
Device Node Path: /dev/i2c-1
struct udev_device at: 0x55abac77cfb0
devpath: /devices/pci0000:00/0000:00:07.0/0000:04:00.0/i2c-1/i2c-dev/i2c-1
subsystem: i2c-dev
devtype: (null)
syspath: /sys/devices/pci0000:00/0000:00:07.0/0000:04: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:07.0/0000:04:00.0/i2c-1/i2c-dev/i2c-1
MAJOR -> 89
MINOR -> 1
SUBSYSTEM -> i2c-dev
Sysattrs:
dev -> 89:1
device -> (null)
name -> NVIDIA i2c adapter 5 at 4:00.0
subsystem -> i2c-dev
uevent -> MAJOR=89
MINOR=1
DEVNAME=i2c-1
Summary of udev I2C devices
Subsystem Sysname Sysattr Name Devpath
i2c-dev i2c-0 NVIDIA i2c adapter 4 at 4:00.0 /devices/pci0000:00/0000:00:07.0/0000:04:00.0/i2c-0/i2c-dev/i2c-0
i2c-dev i2c-1 NVIDIA i2c adapter 5 at 4:00.0 /devices/pci0000:00/0000:00:07.0/0000:04:00.0/i2c-1/i2c-dev/i2c-1
Looking for udev devices with name attribute DPMST...
Summary of udev DPMST devices...
No devices detected
Examining system logs...
Checking dmesg for video and I2C related lines...
[ 0.313012] pci 0000:04:00.0: Video device with shadowed ROM
[ 1.308931] nvidia: module license 'NVIDIA' taints kernel.
[ 1.314548] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[ 1.319219] nvidia-nvlink: Nvlink Core is being initialized, major device number 248
[ 1.319568] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 381.22 Thu May 4 00:55:03 PDT 2017 (using threaded interrupts)
[ 1.325980] [drm] Initialized drm 1.1.0 20060810
[ 1.344082] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 381.22 Thu May 4 00:21:48 PDT 2017
[ 1.344825] [drm] [nvidia-drm] [GPU ID 0x00000400] Loading driver
[ 5.371373] Linux video capture interface: v2.00
[ 5.403410] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 244
[ 5.930022] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:07.0/0000:04:00.1/sound/card1/input18
[ 5.930154] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:07.0/0000:04:00.1/sound/card1/input19
[ 6.256112] NVRM: on the primary VGA device. The NVIDIA Linux graphics driver
[ 6.486993] uvcvideo: Found UVC 1.00 device <unnamed> (046d:0825)
[ 6.505223] usbcore: registered new interface driver uvcvideo
[ 6.505226] USB Video Class driver (1.1.1)
[ 7.322156] nvidia-modeset: Allocated GPU:0 (GPU-eec473f3-aebd-0018-64ff-fb37f9d2fc9f) @ PCI:0000:04:00.0
Checking journalctl for video and I2C related lines...
авг 04 01:42:57 home kernel: pci 0000:04:00.0: Video device with shadowed ROM
авг 04 01:42:57 home kernel: nvidia: module license 'NVIDIA' taints kernel.
авг 04 01:42:57 home kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel
авг 04 01:42:57 home kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 248
авг 04 01:42:57 home kernel: NVRM: loading NVIDIA UNIX x86_64 Kernel Module 381.22 Thu May 4 00:55:03 PDT 2017 (using threaded interrupts)
авг 04 01:42:57 home kernel: [drm] Initialized drm 1.1.0 20060810
авг 04 01:42:57 home kernel: nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 381.22 Thu May 4 00:21:48 PDT 2017
авг 04 01:42:57 home kernel: [drm] [nvidia-drm] [GPU ID 0x00000400] Loading driver
авг 04 01:42:57 home kernel: Linux video capture interface: v2.00
авг 04 01:42:57 home kernel: nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 244
авг 04 01:42:58 home systemd[1]: Starting NVIDIA Persistence Daemon...
авг 04 01:42:58 home nvidia-persistenced[1193]: Verbose syslog connection opened
авг 04 01:42:58 home nvidia-persistenced[1193]: Now running with user ID 124 and group ID 135
авг 04 01:42:58 home nvidia-persistenced[1193]: Started (1193)
авг 04 01:42:58 home systemd[1]: Started NVIDIA Persistence Daemon.
авг 04 01:42:58 home kernel: input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:07.0/0000:04:00.1/sound/card1/input18
авг 04 01:42:58 home kernel: input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:07.0/0000:04:00.1/sound/card1/input19
авг 04 01:42:58 home nvidia-persistenced[1193]: device 0000:04:00.0 - registered
авг 04 01:42:58 home nvidia-persistenced[1193]: Local RPC service initialized
авг 04 01:42:58 home kernel: NVRM: on the primary VGA device. The NVIDIA Linux graphics driver
авг 04 01:42:58 home kernel: uvcvideo: Found UVC 1.00 device <unnamed> (046d:0825)
авг 04 01:42:58 home nvidia-persistenced[1193]: Received signal 15
авг 04 01:42:58 home systemd[1]: Stopping NVIDIA Persistence Daemon...
авг 04 01:42:58 home nvidia-persistenced[1193]: Socket closed.
авг 04 01:42:58 home nvidia-persistenced[1193]: PID file unlocked.
авг 04 01:42:58 home nvidia-persistenced[1193]: PID file closed.
авг 04 01:42:58 home nvidia-persistenced[1193]: The daemon no longer has permission to remove its runtime data directory /var/run/nvidia-persistenced
авг 04 01:42:58 home nvidia-persistenced[1193]: Shutdown (1193)
авг 04 01:42:58 home systemd[1]: Stopped NVIDIA Persistence Daemon.
авг 04 01:42:58 home kernel: usbcore: registered new interface driver uvcvideo
авг 04 01:42:58 home kernel: USB Video Class driver (1.1.1)
авг 04 01:42:59 home systemd[1]: Starting NVIDIA Persistence Daemon...
авг 04 01:42:59 home nvidia-persistenced[1366]: Verbose syslog connection opened
авг 04 01:42:59 home nvidia-persistenced[1366]: Now running with user ID 124 and group ID 135
авг 04 01:42:59 home systemd[1]: Started NVIDIA Persistence Daemon.
авг 04 01:42:59 home nvidia-persistenced[1366]: Started (1366)
авг 04 01:42:59 home nvidia-persistenced[1366]: device 0000:04:00.0 - registered
авг 04 01:42:59 home nvidia-persistenced[1366]: Local RPC service initialized
авг 04 01:42:59 home kernel: nvidia-modeset: Allocated GPU:0 (GPU-eec473f3-aebd-0018-64ff-fb37f9d2fc9f) @ PCI:0000:04:00.0
Limiting output to 200 lines...
Checking Xorg.0.log for video and I2C related lines...
[ 6.465] X.Org Video Driver: 20.0
[ 6.466] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 6.553] (II) Module glx: vendor="NVIDIA Corporation"
[ 6.554] (II) NVIDIA GLX Module 381.22 Thu May 4 00:17:15 PDT 2017
[ 6.555] (==) Matched nvidia as autoconfigured driver 0
[ 6.555] (==) Matched nouveau as autoconfigured driver 1
[ 6.555] (==) Matched nvidia as autoconfigured driver 2
[ 6.555] (==) Matched nouveau as autoconfigured driver 3
[ 6.556] (II) LoadModule: "nvidia"
[ 6.556] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/nvidia_drv.so
[ 6.564] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 6.564] Module class: X.Org Video Driver
[ 6.565] (II) LoadModule: "nouveau"
[ 6.566] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
[ 6.569] (II) Module nouveau: vendor="X.Org Foundation"
[ 6.569] Module class: X.Org Video Driver
[ 6.569] ABI class: X.Org Video Driver, version 20.0
[ 6.570] Module class: X.Org Video Driver
[ 6.570] ABI class: X.Org Video Driver, version 20.0
[ 6.571] Module class: X.Org Video Driver
[ 6.571] ABI class: X.Org Video Driver, version 20.0
[ 6.572] Module class: X.Org Video Driver
[ 6.572] ABI class: X.Org Video Driver, version 20.0
[ 6.572] (II) NVIDIA dlloader X Driver 381.22 Wed May 3 23:53:41 PDT 2017
[ 6.572] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 6.573] (II) NOUVEAU driver Date: Tue Dec 8 15:52:25 2015 +1000
[ 6.573] (II) NOUVEAU driver for NVIDIA chipset families :
[ 6.581] ABI class: X.Org Video Driver, version 20.0
[ 6.581] (II) NVIDIA(0): Creating default Display subsection in Screen section
[ 6.581] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[ 6.581] (==) NVIDIA(0): RGB weight 888
[ 6.581] (==) NVIDIA(0): Default visual is TrueColor
[ 6.581] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 6.582] (**) NVIDIA(0): Enabling 2D acceleration
[ 7.240] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:4:0:0
[ 7.240] (--) NVIDIA(0): DFP-0
[ 7.240] (--) NVIDIA(0): DFP-1
[ 7.240] (--) NVIDIA(0): DFP-2 (boot)
[ 7.241] (II) NVIDIA(0): NVIDIA GPU GeForce GT 1030 (GP108-A) at PCI:4:0:0 (GPU-0)
[ 7.241] (--) NVIDIA(0): Memory: 2097152 kBytes
[ 7.241] (--) NVIDIA(0): VideoBIOS: 86.08.0c.00.0b
[ 7.242] (II) NVIDIA(0): Detected PCI Express Link width: 4X
[ 7.242] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 7.242] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[ 7.242] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[ 7.242] (--) NVIDIA(GPU-0):
[ 7.242] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 7.242] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 7.242] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 7.242] (--) NVIDIA(GPU-0):
[ 7.271] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): connected
[ 7.271] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): Internal TMDS
[ 7.271] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): 600.0 MHz maximum pixel clock
[ 7.271] (--) NVIDIA(GPU-0):
[ 7.277] (==) NVIDIA(0):
[ 7.277] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
[ 7.277] (==) NVIDIA(0): will be used as the requested mode.
[ 7.277] (==) NVIDIA(0):
[ 7.278] (II) NVIDIA(0): Validated MetaModes:
[ 7.278] (II) NVIDIA(0): "DFP-2:nvidia-auto-select"
[ 7.278] (II) NVIDIA(0): Virtual screen size determined to be 1920 x 1200
[ 7.293] (--) NVIDIA(0): DPI set to (82, 82); computed from "UseEdidDpi" X config
[ 7.293] (--) NVIDIA(0): option
[ 7.293] (II) UnloadModule: "nouveau"
[ 7.293] (II) Unloading nouveau
[ 7.294] (II) NVIDIA: Using 49152.00 MB of virtual memory for indirect memory
[ 7.294] (II) NVIDIA: access.
[ 7.321] (II) NVIDIA(0): Setting mode "DFP-2:nvidia-auto-select"
[ 7.382] (==) NVIDIA(0): Disabling shared memory pixmaps
[ 7.382] (==) NVIDIA(0): Backing store enabled
[ 7.382] (==) NVIDIA(0): Silken mouse enabled
[ 7.383] (==) NVIDIA(0): DPMS enabled
[ 7.383] (II) NVIDIA(0): [DRI2] Setup complete
[ 7.383] (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia
[ 7.464] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event14)
[ 7.464] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=7 (/dev/input/event15)
[ 12.770] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 12.770] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[ 12.770] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[ 12.770] (--) NVIDIA(GPU-0):
[ 12.770] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 12.770] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 12.770] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 12.770] (--) NVIDIA(GPU-0):
[ 12.799] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): connected
[ 12.799] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): Internal TMDS
[ 12.799] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): 600.0 MHz maximum pixel clock
[ 12.799] (--) NVIDIA(GPU-0):
[ 13.245] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 13.245] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[ 13.245] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[ 13.245] (--) NVIDIA(GPU-0):
[ 13.245] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 13.245] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 13.245] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 13.245] (--) NVIDIA(GPU-0):
[ 13.274] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): connected
[ 13.274] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): Internal TMDS
[ 13.274] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): 600.0 MHz maximum pixel clock
[ 13.274] (--) NVIDIA(GPU-0):
[ 16.726] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 16.726] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[ 16.726] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[ 16.726] (--) NVIDIA(GPU-0):
[ 16.726] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 16.726] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 16.726] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 16.726] (--) NVIDIA(GPU-0):
[ 16.756] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): connected
[ 16.756] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): Internal TMDS
[ 16.756] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): 600.0 MHz maximum pixel clock
[ 16.756] (--) NVIDIA(GPU-0):
[ 460.761] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 460.762] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[ 460.762] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[ 460.762] (--) NVIDIA(GPU-0):
[ 460.762] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 460.762] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 460.762] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 460.762] (--) NVIDIA(GPU-0):
[ 460.790] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): connected
[ 460.790] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): Internal TMDS
[ 460.790] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): 600.0 MHz maximum pixel clock
[ 460.790] (--) NVIDIA(GPU-0):
[ 605.508] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 605.508] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[ 605.508] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[ 605.508] (--) NVIDIA(GPU-0):
[ 605.508] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 605.508] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 605.508] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 605.508] (--) NVIDIA(GPU-0):
[ 605.537] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): connected
[ 605.537] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): Internal TMDS
[ 605.537] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): 600.0 MHz maximum pixel clock
[ 605.537] (--) NVIDIA(GPU-0):
[ 608.703] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 608.703] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[ 608.703] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[ 608.703] (--) NVIDIA(GPU-0):
[ 608.703] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 608.703] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 608.703] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 608.703] (--) NVIDIA(GPU-0):
[ 608.733] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): connected
[ 608.733] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): Internal TMDS
[ 608.733] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): 600.0 MHz maximum pixel clock
[ 608.733] (--) NVIDIA(GPU-0):
[ 630.923] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 630.923] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[ 630.923] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[ 630.923] (--) NVIDIA(GPU-0):
[ 630.924] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 630.924] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 630.924] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 630.924] (--) NVIDIA(GPU-0):
[ 630.953] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): connected
[ 630.953] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): Internal TMDS
[ 630.953] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): 600.0 MHz maximum pixel clock
[ 630.953] (--) NVIDIA(GPU-0):
[ 943.941] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 943.941] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[ 943.941] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[ 943.941] (--) NVIDIA(GPU-0):
[ 943.942] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 943.942] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 943.942] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 943.942] (--) NVIDIA(GPU-0):
[ 943.971] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): connected
[ 943.971] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): Internal TMDS
[ 943.971] (--) NVIDIA(GPU-0): HannStar Display Corp HH281 (DFP-2): 600.0 MHz maximum pixel clock
[ 943.971] (--) NVIDIA(GPU-0):
Not built with libdrm support. Skipping DRM related checks
Device Identifier Cross Reference Report
EDID: ...202001E5 Mfg: HSD Model: HH281 SN: 024LK3QA00749
Bus: Not found
XrandR output: HDMI-0
DRM connector: (null)
UDEV name: (null)
UDEV syspath: (null)
Skipping USB environment exploration.
Issue command "ddcutil usbenvironment --verbose" if there are any USB attached monitors.
Statistics for environment exploration:
Maximum Try Settings:
Operation Type Current Default
Write only exchange tries: 4 4
Write read exchange tries: 15 10
Multi-part exchange tries: 15 8
Retry statistics for ddc write only
No tries attempted
Retry statistics for ddc write/read
No tries attempted
Retry statistics for multi-part exchange
No tries attempted
DDC Related Errors: None
Total errors: 0
Errors Wrapped in Retry: None
Total errors: 0
Sleep Strategy Stats:
Total IO events: 46
IO error count: 0
Total sleep events: 0
Sleep Event type Count
SE_WRITE_TO_READ 0
SE_POST_OPEN 0
SE_POST_WRITE 0
SE_POST_READ 0
SE_DDC_NULL 0
SE_POST_SAVE_SETTINGS 0
Call Stats:
Type Count Millisec ( Nanosec)
write calls (IE_WRITE) 11 19 ( 19525076)
read calls (IE_READ) 10 14 ( 14216260)
open file calls (IE_OPEN) 5 0 ( 50087)
close file calls (IE_CLOSE) 5 0 ( 28169)
other I/O calls (IE_OTHER) 15 0 ( 30417)
Totals: 46 33 ( 33850009)
Sleep Call Stats:
Total sleep calls: 3
Requested sleep time milliseconds : 150
Actual sleep milliseconds (nanosec): 150 ( 150352200)
Total elapsed milliseconds (nanoseconds): 834 ( 834521536)
*** Detected Displays ***
No displays found
Statistics for display detection:
Maximum Try Settings:
Operation Type Current Default
Write only exchange tries: 4 4
Write read exchange tries: 15 10
Multi-part exchange tries: 15 8
Retry statistics for ddc write only
No tries attempted
Retry statistics for ddc write/read
No tries attempted
Retry statistics for multi-part exchange
No tries attempted
DDC Related Errors: None
Total errors: 0
Errors Wrapped in Retry: None
Total errors: 0
Sleep Strategy Stats:
Total IO events: 0
IO error count: 0
Total sleep events: 0
Sleep Event type Count
SE_WRITE_TO_READ 0
SE_POST_OPEN 0
SE_POST_WRITE 0
SE_POST_READ 0
SE_DDC_NULL 0
SE_POST_SAVE_SETTINGS 0
Call Stats:
Type Count Millisec ( Nanosec)
Totals: 0 0 ( 0)
Sleep Call Stats:
Total sleep calls: 3
Requested sleep time milliseconds : 150
Actual sleep milliseconds (nanosec): 150 ( 150352200)
Elapsed milliseconds since last reset (nanoseconds): 0 ( 14860)
Total elapsed milliseconds (nanoseconds): 834 ( 834542343)
Setting output level normal Table features will be skipped...
Display scanning complete.
Version 0.5.0 has been released. This is the first formal release of ddctool.
Changes primarily relate to support for USB connected monitors.
The release notes are at http://www.ddctool.com/release_notes.
Hey,
I'm having trouble getting ddcutil v0.8.5 detect a Dell 3818DW monitor over DisplayPort (Haven't tried HDMI yet). The detect
command comes up with nothing. I previously used a Dell U2711 monitor on the same card (though through DVI), and that worked. Running ddcctl
on MacOS with the same monitor over HDMI also works. Any suggestions? Thanks in advance!
$ ddcutil detect --verbose
Output level: Verbose
Reporting DDC data errors: false
Trace groups active: none
Traced functions: none
Traced files: none
Force I2C slave address: false
No displays found
I2C detect lists the following:
i2cdetect -l
i2c-3 smbus SMBus PIIX4 adapter port 4 at 0b00 SMBus adapter
i2c-1 smbus SMBus PIIX4 adapter port 2 at 0b00 SMBus adapter
i2c-8 i2c NVIDIA i2c adapter 8 at e:00.0 I2C adapter
i2c-6 i2c NVIDIA i2c adapter 6 at e:00.0 I2C adapter
i2c-4 i2c NVIDIA i2c adapter 0 at e:00.0 I2C adapter
i2c-2 smbus SMBus PIIX4 adapter port 3 at 0b00 SMBus adapter
i2c-0 smbus SMBus PIIX4 adapter port 0 at 0b00 SMBus adapter
i2c-9 i2c NVIDIA i2c adapter 9 at e:00.0 I2C adapter
i2c-7 i2c NVIDIA i2c adapter 7 at e:00.0 I2C adapter
i2c-5 i2c NVIDIA i2c adapter 2 at e:00.0 I2C adapter
The interrogation command crashes because of #40.
I have LG 22MP48D-P connected through DVI with intel hd 4600, tried VGA - also gives same error.
ddcutil interrogate output attached
log.txt
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.