daitj / gnome-display-brightness-ddcutil

Display brightness slider for gnome shell using ddcutil backend
GNU General Public License v3.0
308 stars 38 forks source link

Brightness control for same monitor shown twice #148

Closed flortsch closed 1 month ago

flortsch commented 3 months ago

Hello!

First of all, thank you for this great Gnome extension! It is working nicely. The only issue I have is that the extension is showing two brightness controls for my monitor (Dell U2719D) instead of one.

grafik

Could it be related to the additional Phantom display output of ddcutil for my monitor?

❯ ddcutil detect
Invalid display
   I2C bus:  /dev/i2c-5
   DRM connector:           card1-eDP-1
   EDID synopsis:
      Mfg id:               AUO - UNK
      Model:                
      Product code:         22333  (0x573d)
      Serial number:        
      Binary serial number: 0 (0x00000000)
      Manufacture year:     2018,  Week: 0
   This is a laptop display.  Laptop displays do not support DDC/CI

Phantom display
   Associated non-phantom display: bus /dev/i2c-8
   I2C bus:  /dev/i2c-7
   DRM connector:           card1-DP-2
   EDID synopsis:
      Mfg id:               DEL - Dell Inc.
      Model:                DELL U2719D
      Product code:         16730  (0x415a)
      Serial number:        GS9WV13
      Binary serial number: 1246517847 (0x4a4c5a57)
      Manufacture year:     2020,  Week: 38
   DDC communication failed
   Use non-phantom device bus /dev/i2c-8

Display 1
   I2C bus:  /dev/i2c-8
   DRM connector:           card1-DP-6
   EDID synopsis:
      Mfg id:               DEL - Dell Inc.
      Model:                DELL U2719D
      Product code:         16730  (0x415a)
      Serial number:        GS9WV13
      Binary serial number: 1246517847 (0x4a4c5a57)
      Manufacture year:     2020,  Week: 38
   VCP version:         2.1
❯ ddcutil capabilities
Model: U2719D
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:
         04: 5000 K
         05: 6500 K
         06: 7500 K
         08: 9300 K
         09: 10000 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
   Feature: AA (Screen Orientation)
      Values:
         01: 0 degrees
         02: 90 degrees
         03: 180 degrees
         04: 270 degrees
   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
         0a: Spanish
         03: French
         04: German
         08: Portuguese (Portugal)
         09: Russian
         0d: Chinese (simplified / Kantai)
         06: Japanese
   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
         05: Games
   Feature: DF (VCP Version)
   Feature: E0 (Manufacturer specific feature)
   Feature: E1 (Manufacturer specific feature)
   Feature: E2 (Manufacturer specific feature)
      Values: 00 1D 29 02 04 0C 0D 0F 10 11 13 14 (interpretation unavailable)
   Feature: E3 (Manufacturer specific feature)
      Values: 16 17 18 19 1A (interpretation unavailable)
   Feature: F0 (Manufacturer specific feature)
      Values: 0C 12 (interpretation unavailable)
   Feature: F1 (Manufacturer specific feature)
   Feature: F2 (Manufacturer specific feature)
   Feature: FD (Manufacturer specific feature)
daitj commented 2 months ago

Could you give me the output of ddcutil detect --brief I will check what type of string match I need to do to filter out phantom and invalid displays?

flortsch commented 2 months ago

Here is the output:

❯ ddcutil detect --brief
Invalid display
   I2C bus:          /dev/i2c-5
   DRM connector:    card1-eDP-1
   Monitor:          AUO::

However, I think this is the internal display of my laptop (see the output of my initial comment).

daitj commented 2 months ago

I need the brief output when you have external display connected, then only I will be able to know what to filter out from that output, intial comment is not useful as the errors message there might not exist in the brief output.

flortsch commented 2 months ago

Ah, of course, sorry :smile: Here is the output:

❯ ddcutil detect --brief
Invalid display
   I2C bus:          /dev/i2c-5
   DRM connector:    card1-eDP-1
   Monitor:          AUO::

Phantom display
   Associated non-phantom display: bus /dev/i2c-8
   I2C bus:          /dev/i2c-7
   DRM connector:    card1-DP-2
   Monitor:          DEL:DELL U2719D:GS9WV13

Display 1
   I2C bus:          /dev/i2c-8
   DRM connector:    card1-DP-5
   Monitor:          DEL:DELL U2719D:GS9WV13
flortsch commented 1 month ago

Nice, it is working, thank's a lot :)