Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

monitorcontrol doesn't switch inputs #169

Closed
jjshoe opened this issue May 3, 2022 · 18 comments · Fixed by #20
Closed

monitorcontrol doesn't switch inputs #169

jjshoe opened this issue May 3, 2022 · 18 comments · Fixed by #20
Labels
bug Something isn't working

Comments

@jjshoe
Copy link

jjshoe commented May 3, 2022

monitorcontrol does nothing when attempting to switch inputs

  • Monitor manufacturer and model number: Dell S3221QS
  • Input source (HDMI, VGA, display port, ect.): HDMI1 HDMI2
  • Output device (video card, discrete graphics, ect.): Nvidia gt1030
  • Operating system: Linux - Ubuntu 22.04
  • Python version: 3.10.4
  • monitorcontrol version (monitorcontrol --version): 3.0.0

Steps to Reproduce

Works:
ddccontrol -r 0x60 -w 18 dev:/dev/i2c-4
ddccontrol -r 0x60 -w 17 dev:/dev/i2c-4

Doesn't:
monitorcontrol --set-input-source HDMI1
monitorcontrol --set-input-source HDMI2

@jjshoe
Copy link
Author

jjshoe commented May 3, 2022

When attempting to list monitors:

monitorcontrol --get-monitors 
Traceback (most recent call last):
  File "/usr/local/bin/monitorcontrol", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/dist-packages/monitorcontrol/__main__.py", line 157, in main
    monitors_dict = monitor_obj.get_vcp_capabilities()
  File "/usr/local/lib/python3.10/dist-packages/monitorcontrol/monitorcontrol.py", line 206, in get_vcp_capabilities
    cap_str = self.vcp.get_vcp_capabilities()
  File "/usr/local/lib/python3.10/dist-packages/monitorcontrol/vcp/vcp_linux.py", line 278, in get_vcp_capabilities
    raise VCPIOError(
monitorcontrol.vcp.vcp_abc.VCPIOError: received unexpected response code: 70


@jjshoe
Copy link
Author

jjshoe commented May 3, 2022

When attempting to get the input source:

monitorcontrol --get-input-source
Traceback (most recent call last):
  File "/usr/local/bin/monitorcontrol", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/dist-packages/monitorcontrol/__main__.py", line 141, in main
    input_source = monitor_obj.get_input_source()
  File "/usr/local/lib/python3.10/dist-packages/monitorcontrol/monitorcontrol.py", line 395, in get_input_source
    value = self._get_vcp_feature(code) & 0xFF
  File "/usr/local/lib/python3.10/dist-packages/monitorcontrol/monitorcontrol.py", line 175, in _get_vcp_feature
    current, maximum = self.vcp.get_vcp_feature(code.value)
  File "/usr/local/lib/python3.10/dist-packages/monitorcontrol/vcp/vcp_linux.py", line 180, in get_vcp_feature
    ) = struct.unpack(">BBBBHH", payload)
struct.error: unpack requires a buffer of 8 bytes

@jjshoe
Copy link
Author

jjshoe commented May 3, 2022

monitorcontrol --get-monitors -vvvvvv
DEBUG monitorcontrol.vcp.vcp_linux response header=b'\xeb\n'
DEBUG monitorcontrol.vcp.vcp_linux payload=b'\xfb9n\x88\x02\x00\xe1\x00\x00\x01\x00'
monitorcontrol --get-input-source -vvvvv
DEBUG monitorcontrol.vcp.vcp_linux data=bytearray(b'P\x82\x01`\xe3')
DEBUG monitorcontrol.vcp.vcp_linux header=b'wh'
DEBUG monitorcontrol.vcp.vcp_linux payload=b'ql(1))\x00/ F2 FD)mccs_ver(\x14)\xc9v\xbf\xff@qq\xbb\x03\xe9$3\xc1\xbfH\xfd\xce_!w\xf4\xeb\n\xfb9n\x88\x02\x00\xe1\x00\x00\x01\x00\x00Twhql(1))\x00/ F2 FD)mccs_ver(\x14)\xc9v\xbf\xff@qq\xbb\x03\xe9$3\xc1\xbfH'

@newAM
Copy link
Owner

newAM commented May 3, 2022

Can you do the working ddccontrol with -vvvvvvv as well?

@newAM newAM added the bug Something isn't working label May 3, 2022
@jjshoe
Copy link
Author

jjshoe commented May 4, 2022

ddccontrol -vvvvvv -r 0x60 -w 18 dev:/dev/i2c-4
ddccontrol version 0.6.0
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.

Reading EDID and initializing DDC/CI at bus dev:/dev/i2c-4...
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELD105.xml"
Document not parsed successfully.
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELlcd.xml"
Document not parsed successfully.
Control redblack has been discarded by the caps string.
Control greenblack has been discarded by the caps string.
Control blueblack has been discarded by the caps string.
Control colortemp has been discarded by the caps string.
Control colortemp has been discarded by the caps string.
Control hpos has been discarded by the caps string.
Control vpos has been discarded by the caps string.
Control hsize has been discarded by the caps string.
Control vsize has been discarded by the caps string.
Control auto has been discarded by the caps string.
Control hpincushion has been discarded by the caps string.
Control hpincushionbalance has been discarded by the caps string.
Control vlinearity has been discarded by the caps string.
Control vlinearitybalance has been discarded by the caps string.
Control hmisconvergence has been discarded by the caps string.
Control vmisconvergence has been discarded by the caps string.
Control keybalance has been discarded by the caps string.
Control key has been discarded by the caps string.
Control tdistortionctrl has been discarded by the caps string.
Control tdistortionbalance has been discarded by the caps string.
Control bdistortionctrl has been discarded by the caps string.
Control bdistortionbalance has been discarded by the caps string.
Control tilt has been discarded by the caps string.
Control hmoire has been discarded by the caps string.
Control vmoire has been discarded by the caps string.
Control focus has been discarded by the caps string.
Control coarse has been discarded by the caps string.
Control fine has been discarded by the caps string.
Control defaultgeom has been discarded by the caps string.
Control settings has been discarded by the caps string.
Control degauss has been discarded by the caps string.
Control osdorientation has been discarded by the caps string.

EDID readings:
        Plug and Play ID: DELD105 [VESA standard monitor]
        Input type: Analog
=============================== WARNING ===============================
There is no support for your monitor in the database, but ddccontrol is
using a basic generic profile. Many controls will not be supported, and
some controls may not work as expected.
Please update ddccontrol-db, or, if you are already using the latest
version, please send the output of the following command to
ddccontrol-users@lists.sourceforge.net:

LANG= LC_ALL= ddccontrol -p -c -d

Thank you.
=============================== WARNING ===============================

Writing 0x60, 0x12(18)...
ddcpci being released...

@jjshoe
Copy link
Author

jjshoe commented May 4, 2022

Not sure if this will help as well:

ddccontrol -vvvvvv -p -c -d
ddccontrol version 0.6.0
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.

Detected monitors :
 - Device: dev:/dev/i2c-4
   DDC/CI supported: Yes
   Monitor Name: VESA standard monitor
   Input type: Digital
  (Automatically selected)
Reading EDID and initializing DDC/CI at bus dev:/dev/i2c-4...
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELD105.xml"
Document not parsed successfully.
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELlcd.xml"
Document not parsed successfully.
Control redblack has been discarded by the caps string.
Control greenblack has been discarded by the caps string.
Control blueblack has been discarded by the caps string.
Control colortemp has been discarded by the caps string.
Control colortemp has been discarded by the caps string.
Control hpos has been discarded by the caps string.
Control vpos has been discarded by the caps string.
Control hsize has been discarded by the caps string.
Control vsize has been discarded by the caps string.
Control auto has been discarded by the caps string.
Control hpincushion has been discarded by the caps string.
Control hpincushionbalance has been discarded by the caps string.
Control vlinearity has been discarded by the caps string.
Control vlinearitybalance has been discarded by the caps string.
Control hmisconvergence has been discarded by the caps string.
Control vmisconvergence has been discarded by the caps string.
Control keybalance has been discarded by the caps string.
Control key has been discarded by the caps string.
Control tdistortionctrl has been discarded by the caps string.
Control tdistortionbalance has been discarded by the caps string.
Control bdistortionctrl has been discarded by the caps string.
Control bdistortionbalance has been discarded by the caps string.
Control tilt has been discarded by the caps string.
Control hmoire has been discarded by the caps string.
Control vmoire has been discarded by the caps string.
Control focus has been discarded by the caps string.
Control coarse has been discarded by the caps string.
Control fine has been discarded by the caps string.
Control defaultgeom has been discarded by the caps string.
Control settings has been discarded by the caps string.
Control degauss has been discarded by the caps string.
Control osdorientation has been discarded by the caps string.

EDID readings:
        Plug and Play ID: DELD105 [VESA standard monitor]
        Input type: Analog
=============================== WARNING ===============================
There is no support for your monitor in the database, but ddccontrol is
using a basic generic profile. Many controls will not be supported, and
some controls may not work as expected.
Please update ddccontrol-db, or, if you are already using the latest
version, please send the output of the following command to
ddccontrol-users@lists.sourceforge.net:

LANG= LC_ALL= ddccontrol -p -c -d

Thank you.
=============================== WARNING ===============================

Capabilities:
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
Capabilities read fail.

Controls (valid/current/max) [Description - Value name]:
Control 0x02: +/2/2 C [New Control Value - Some values changed]
Control 0x04: +/0/255 C [Restore Factory Defaults]
Control 0x05: +/0/1 C [Restore Brightness and Contrast]
Control 0x06: +/0/255   [???]
Control 0x08: +/0/255 C [Restore Factory Default Color]
Control 0x0b: +/0/24028   [???]
Control 0x0c: +/1/255   [???]
Control 0x0e: +/50/100   [???]
Control 0x10: +/60/100 C [Brightness]
Control 0x12: +/53/100 C [Contrast]
Control 0x14: +/5/12 C [???]
Control 0x16: +/100/100 C [Red maximum level]
Control 0x18: +/100/100 C [Green maximum level]
Control 0x1a: +/100/100 C [Blue maximum level]
Control 0x1e: +/0/2   [???]
Control 0x20: +/0/100   [???]
Control 0x30: +/0/100   [???]
Control 0x3e: +/50/100   [???]
Control 0x52: +/18/255 C [???]
Control 0x60: +/4369/14 C [Input Source Select (Main)]
Control 0x62: +/50/100 C [Audio Speaker Volume Adjust]
Control 0x6c: +/50/255   [???]
Control 0x6e: +/50/255   [???]
Control 0x70: +/50/255   [???]
Control 0xa8: +/0/3   [???]
Control 0xac: +/23364/1 C [???]
Control 0xae: +/6003/0 C [???]
Control 0xb2: +/1/8 C [???]
Control 0xb4: +/1/2   [???]
Control 0xb6: +/3/5 C [???]
Control 0xc0: +/220/65535   [???]
Control 0xc6: +/17868/65535 C [???]
Control 0xc8: +/22021/0 C [???]
Control 0xc9: +/10498/65535 C [???]
Control 0xca: +/2/2   [???]
Control 0xcc: +/2/14 C [???]
Control 0xd6: +/1/255 C [DPMS Control - On]
Control 0xdc: +/0/255 C [???]
Control 0xdf: +/513/255 C [???]
Control 0xe0: +/0/1 C [???]
Control 0xe1: +/0/1 C [Power control - Off]
Control 0xe2: +/0/255 C [???]
Control 0xe3: +/0/1 C [???]
Control 0xe5: +/0/255 C [???]
Control 0xe6: +/1/1   [???]
Control 0xe8: +/15/65535 C [???]
Control 0xe9: +/0/255 C [???]
Control 0xea: +/65024/65024 C [???]
Control 0xf0: +/0/255 C [???]
Control 0xf1: +/27/27 C [???]
Control 0xf2: +/0/65280 C [???]
Control 0xfa: +/0/65535   [???]
Control 0xfd: +/99/65535 C [???]
ddcpci being released...

@jjshoe
Copy link
Author

jjshoe commented May 4, 2022

It seems like the code is failing to detect my monitor capabilities, so I'll add this as well:

i2cdetect -l
i2c-0   smbus           SMBus PIIX4 adapter port 0 at 0b00      SMBus adapter
i2c-1   smbus           SMBus PIIX4 adapter port 2 at 0b00      SMBus adapter
i2c-2   smbus           SMBus PIIX4 adapter port 1 at 0b20      SMBus adapter
i2c-3   i2c             NVIDIA i2c adapter 4 at 2b:00.0         I2C adapter
i2c-4   i2c             NVIDIA i2c adapter 5 at 2b:00.0         I2C adapter
i2cdetect -y 4
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- 37 -- -- 3a -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- 49 -- -- -- -- -- -- 
50: 50 51 -- -- 54 -- -- -- -- 59 -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

@newAM
Copy link
Owner

newAM commented May 5, 2022

I took a quick look at the monitor capabilities, there's a lot of weirdness going on, such as mccs_ver(\x14), there is no MCCS v14, we're on v2. This one isn't going to be short, I'll take another look this weekend.

@jjshoe
Copy link
Author

jjshoe commented May 5, 2022

Apologies, this is a dell S3221QS

@jjshoe
Copy link
Author

jjshoe commented May 5, 2022

What's interesting is when getting current input, which is what I think crashes monitorcontrol --get-input-source -vvvvv, I have no problems requesting this like so:

dccontrol -vvvvvv -r 0x60 dev:/dev/i2c-4
ddccontrol version 0.6.0
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.

Reading EDID and initializing DDC/CI at bus dev:/dev/i2c-4...
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELD105.xml"
Document not parsed successfully.
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELlcd.xml"
Document not parsed successfully.
Control redblack has been discarded by the caps string.
Control greenblack has been discarded by the caps string.
Control blueblack has been discarded by the caps string.
Control colortemp has been discarded by the caps string.
Control colortemp has been discarded by the caps string.
Control hpos has been discarded by the caps string.
Control vpos has been discarded by the caps string.
Control hsize has been discarded by the caps string.
Control vsize has been discarded by the caps string.
Control auto has been discarded by the caps string.
Control hpincushion has been discarded by the caps string.
Control hpincushionbalance has been discarded by the caps string.
Control vlinearity has been discarded by the caps string.
Control vlinearitybalance has been discarded by the caps string.
Control hmisconvergence has been discarded by the caps string.
Control vmisconvergence has been discarded by the caps string.
Control keybalance has been discarded by the caps string.
Control key has been discarded by the caps string.
Control tdistortionctrl has been discarded by the caps string.
Control tdistortionbalance has been discarded by the caps string.
Control bdistortionctrl has been discarded by the caps string.
Control bdistortionbalance has been discarded by the caps string.
Control tilt has been discarded by the caps string.
Control hmoire has been discarded by the caps string.
Control vmoire has been discarded by the caps string.
Control focus has been discarded by the caps string.
Control coarse has been discarded by the caps string.
Control fine has been discarded by the caps string.
Control defaultgeom has been discarded by the caps string.
Control settings has been discarded by the caps string.
Control degauss has been discarded by the caps string.
Control osdorientation has been discarded by the caps string.

EDID readings:
        Plug and Play ID: DELD105 [VESA standard monitor]
        Input type: Analog
=============================== WARNING ===============================
There is no support for your monitor in the database, but ddccontrol is
using a basic generic profile. Many controls will not be supported, and
some controls may not work as expected.
Please update ddccontrol-db, or, if you are already using the latest
version, please send the output of the following command to
ddccontrol-users@lists.sourceforge.net:

LANG= LC_ALL= ddccontrol -p -c -d

Thank you.
=============================== WARNING ===============================

Reading 0x60...
Control 0x60: +/4369/14 C [Input Source Select (Main)]
ddcpci being released...

or

ddcutil -vvvvv getvcp 0x60
Feature definition file not found: DEL-DELL_S3221QS-53509.mccs

Getting data for non-table VCP code 0x60 - Input Source:
Raw value: opcode=0x60, mh=0x00, ml=0x0e, sh=0x11, sl=0x11, max_val=14 (0x000e), cur_val=4369 (0x1111)
VCP code 0x60 (Input Source                  ): HDMI-1 (sl=0x11)

Is this possibly a bug in the capabilities parsing?

@jjshoe
Copy link
Author

jjshoe commented May 5, 2022

I suspect as much. ddcutil can detect, but ddccontrol can't.

ddccontrol -c dev:/dev/i2c-4 
ddccontrol version 0.6.0
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.

Reading EDID and initializing DDC/CI at bus dev:/dev/i2c-4...
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELD105.xml"
Document not parsed successfully.
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELlcd.xml"
Document not parsed successfully.

EDID readings:
        Plug and Play ID: DELD105 [VESA standard monitor]
        Input type: Analog
=============================== WARNING ===============================
There is no support for your monitor in the database, but ddccontrol is
using a basic generic profile. Many controls will not be supported, and
some controls may not work as expected.
Please update ddccontrol-db, or, if you are already using the latest
version, please send the output of the following command to
ddccontrol-users@lists.sourceforge.net:

LANG= LC_ALL= ddccontrol -p -c -d

Thank you.
=============================== WARNING ===============================

Capabilities:
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
ioctl(): Inappropriate ioctl for device
ioctl returned -1
Capabilities read fail.

and

ddcutil capabilities
Model: S3221QS
MCCS version: 2.1
Commands:
   Op Code: 01 (VCP Request)
   Op Code: 02 (VCP Response)
   Op Code: 03 (VCP Set)
   Op Code: 07 (Timing Request)
   Op Code: 0C (Save Settings)
   Op Code: E3 (Capabilities Reply)
   Op Code: F3 (Capabilities Request)
VCP Features:
   Feature: 02 (New control value)
   Feature: 04 (Restore factory defaults)
   Feature: 05 (Restore factory brightness/contrast defaults)
   Feature: 08 (Restore color defaults)
   Feature: 10 (Brightness)
   Feature: 12 (Contrast)
   Feature: 14 (Select color preset)
      Values:
         01: sRGB
         05: 6500 K
         08: 9300 K
         0b: User 1
         0c: User 2
   Feature: 16 (Video gain: Red)
   Feature: 18 (Video gain: Green)
   Feature: 1A (Video gain: Blue)
   Feature: 52 (Active control)
   Feature: 60 (Input Source)
      Values:
         0f: DisplayPort-1
         11: HDMI-1
         12: HDMI-2
   Feature: 62 (Audio speaker volume)
   Feature: AC (Horizontal frequency)
   Feature: AE (Vertical frequency)
   Feature: B2 (Flat panel sub-pixel layout)
   Feature: B6 (Display technology type)
   Feature: C6 (Application enable key)
   Feature: C8 (Display controller type)
   Feature: C9 (Display firmware level)
   Feature: CC (OSD Language)
      Values:
         02: English
         03: French
         04: German
         06: Japanese
         09: Russian
         0a: Spanish
         0d: Chinese (simplified / Kantai)
         0e: Portuguese (Brazil)
   Feature: D6 (Power mode)
      Values:
         01: DPM: On,  DPMS: Off
         04: DPM: Off, DPMS: Off
         05: Write only value to turn off display
   Feature: DC (Display Mode)
      Values:
         00: Standard/Default mode
         03: Movie
   Feature: DF (VCP Version)
   Feature: E0 (Manufacturer specific feature)
   Feature: E1 (Manufacturer specific feature)
   Feature: E2 (Manufacturer specific feature)
      Values: 00 1D 02 20 21 22 0B 1B 0E 12 14 23 24 27 (interpretation unavailable)
   Feature: E3 (Manufacturer specific feature)
   Feature: E5 (Manufacturer specific feature)
   Feature: E8 (Manufacturer specific feature)
   Feature: E9 (Manufacturer specific feature)
      Values: 00 01 02 21 22 24 (interpretation unavailable)
   Feature: EA (Manufacturer specific feature)
   Feature: F0 (Manufacturer specific feature)
      Values: 00 05 06 0A 0C 0F 10 11 31 32 34 35 (interpretation unavailable)
   Feature: F1 (Manufacturer specific feature)
   Feature: F2 (Manufacturer specific feature)
   Feature: FD (Manufacturer specific feature)

Here we see MCCS version: 2.1

@jjshoe
Copy link
Author

jjshoe commented May 5, 2022

ddcutil -vvvvv capabilities
Feature definition file not found: DEL-DELL_S3221QS-53509.mccs
Unparsed capabilities string: (prot(monitor)type(lcd)model(S3221QS)cmds(01 02 03 07 0C E3 F3)vcp(02 04 05 08 10 12 14(01 05 08 0B 0C) 16 18 1A 52 60( 0F 11 12) 62 AC AE B2 B6 C6 C8 C9 CC(02 03 04 06 09 0A 0D 0E) D6(01 04 05) DC(00 03 ) DF E0 E1 E2(00 1D 02 20 21 22 0B 1B 0E 12 14 23 24 27)E3 E5 E8 E9(00 01 02 21 22 24) EA F0(00 05 06 0A 0C 0F 10 11 31 32 34 35) F1 F2 FD)mccs_ver(2.1)mswhql(1))

@jjshoe
Copy link
Author

jjshoe commented May 11, 2022

When I applied patch #20 I'm able to list the active input, and switch displays!

@jjshoe
Copy link
Author

jjshoe commented May 11, 2022

However, just a heads up, I do get an error doing:

monitorcontrol --get-monitors -vvvv
Traceback (most recent call last):
  File "/usr/local/bin/monitorcontrol", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/dist-packages/monitorcontrol/__main__.py", line 157, in main
    monitors_dict = monitor_obj.get_vcp_capabilities()
  File "/usr/local/lib/python3.10/dist-packages/monitorcontrol/monitorcontrol.py", line 206, in get_vcp_capabilities
    cap_str = self.vcp.get_vcp_capabilities()
AttributeError: 'LinuxVCP' object has no attribute 'get_vcp_capabilities'

I could have patched something wrong though.

@newAM
Copy link
Owner

newAM commented May 11, 2022

Thanks, I was just waiting for someone else to test #20 because I don't have as many monitors as I used to :)

I updated #20, should work with that last command now.

@jjshoe
Copy link
Author

jjshoe commented May 12, 2022

So far nothing in pip to update to

@newAM
Copy link
Owner

newAM commented May 12, 2022

it's been up on pip for an hour: https://pypi.org/project/monitorcontrol/3.0.1/

@jjshoe
Copy link
Author

jjshoe commented May 12, 2022

Yeah, it was a pebkac, it can switch inputs, and list current input. --get-monitors is still broken, but differently. I don't need it for my use cases, so I'll let someone who needs that work with you :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants