DaemonForums  

Go Back   DaemonForums > Miscellaneous > Guides

Guides All Guides and HOWTO's.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 6th May 2021
J65nko J65nko is offline
Administrator
 
Join Date: May 2008
Location: Budel - the Netherlands
Posts: 3,780
Default Xorg: using a monitor without DDC / i2c support

For many years I have been using an AnBonn "1280 x 1024" digital monitor that lacks the hardware for the Display Data Channel (DDC) protocol set.

Wikipedia describes this as follows:
Quote:
The Display Data Channel, or DDC, is a collection of protocols for digital communication between a computer display and a graphics adapter that enable the display to communicate its supported display modes to the adapter and that enable the computer host to adjust monitor parameters, such as brightness and contrast.

Like modern analog VGA connectors, the DVI and DP connectors include pins for the display data channel (DDC), but DP supports DDC within its optional Dual-Mode DP (DP++) feature in DVI/HDMI mode only.

The standard was created by the Video Electronics Standards Association (VESA).
The Xorg.0.log part showing that DDC fails:
Code:
[    30.496] (II) Loading sub module "ddc"
[    30.496] (II) LoadModule: "ddc"
[    30.496] (II) Module "ddc" already built-in
[    30.496] (II) Loading sub module "i2c"
[    30.496] (II) LoadModule: "i2c"
[    30.496] (II) Module "i2c" already built-in
[    30.497] (II) MGA(0): MAPPED Framebuffer F9000000 7f0000 to 7534AC53000.
[    30.497] (II) MGA(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0
[    30.760] (II) MGA(0): I2C bus "DDC P1" initialized.
[    30.768] (II) MGA(0): I2C device "DDC P1:ddc2" registered at address 0xA0.
[    31.558] (--) MGA(0): No DDC signal
Because the DDC hardware is not there, the Xorg MGA (Matrox Graphics Adapter) driver cannot ask the monitor about the Horizontal sync rate (kHz) and the Vertical Refresh rate (Hz) and/or which graphical resolutions it supports.
This results in an abort with a message saying "No suitable screens or Modelines can be found".

To inform the Xorg probing process of this data I wrote the following script that adds a Monitor and Screen configuration section to the /usr/X11R6/share/X11/xorg.conf.d/ directory.

Code:
#!/bin/sh

DEST='/usr/X11R6/share/X11/xorg.conf.d/'

cat <<END >${DEST}MonitorAnbonn.conf
# Anbonn monitor without  DDC / I2C bus hardware 

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "AnBonn"
        ModelName    "Monitor Model"
        HorizSync    30-80
        VertRefresh  58-75
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes "1280x1024" "1024x768"
        EndSubSection
EndSection

# --- end of file ---
END
A peek in that directory:
Code:
ls -l /usr/X11R6/share/X11/xorg.conf.d/                                                                      
total 20
-rw-r--r--  1 root  bin      92 Apr 16  2019 10-amdgpu.conf
-rw-r--r--  1 root  bin      92 Feb 20  2018 10-radeon.conf
-rw-r--r--  1 root  bin     979 Nov  5  2011 50-fpit.conf
-rw-r--r--  1 root  bin    1762 Dec  5  2017 70-synaptics.conf
-rw-r--r--  1 root  wheel   402 Apr 16 05:25 MonitorAnbonn.conf
When that file is there the Xorg.0.log reports about it:
Code:
[    20.914] (==) Log file: "/var/log/Xorg.0.log", Time: Wed May  5 23:20:53 2021
[    20.932] (==) Using system config directory "/usr/X11R6/share/X11/xorg.conf.d"
[    20.977] (==) No Layout section.  Using the first Screen section.
[    20.977] (**) |-->Screen "Screen0" (0)
[    20.977] (**) |   |-->Monitor "Monitor0"

[snip]
[    31.637] (II) MGA(0): Monitor0: Using hsync range of 30.00-80.00 kHz
[    31.637] (II) MGA(0): Monitor0: Using vrefresh range of 58.00-75.00 Hz
[    31.641] (II) MGA(0): Clock range:  17.75 to 203.40 MHz

[snip]

[    31.643] (II) MGA(0): Virtual size is 1280x1024 (pitch 1280)
[    31.643] (**) MGA(0): *Default mode "1280x1024": 135.0 MHz, 80.0 kHz, 75.0 Hz
[    31.643] (II) MGA(0): Modeline "1280x1024"x75.0  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz zd)
[    31.643] (**) MGA(0): *Default mode "1024x768": 78.8 MHz, 60.0 kHz, 75.0 Hz
[    31.643] (II) MGA(0): Modeline "1024x768"x75.0   78.75  1024 1040 1136 1312  768 769 772 800 +hsync +vsync (60.0 kHz zd)
Problem solved
Attached Files
File Type: sh Anbonn_conf.d.sh (509 Bytes, 31 views)
__________________
You don't need to be a genius to debug a pf.conf firewall ruleset, you just need the guts to run tcpdump

Last edited by J65nko; 6th May 2021 at 01:27 AM.
Reply With Quote
Reply

Tags
anbonn monitor, ddc, i2c, xorg conf

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
How to use sensorsd to monitor a UPS. hanzer OpenBSD General 2 4th November 2018 03:24 AM
Dual screen gpu support problem, 1 monitor psypro OpenBSD Packages and Ports 2 12th August 2016 01:18 PM
my monitor(with no X) happens to deconnect ...a means to "monitor" its behavior ? spermwhale_warrior NetBSD General 2 1st September 2014 01:14 PM
xorg.conf doesn't exist & I want to keep record of my working Xorg setting daemonfowl OpenBSD General 14 28th August 2012 01:13 AM
Xorg stays at 800x600 on apple g3 monitor. Mr-Biscuit OpenBSD General 18 14th April 2010 03:16 AM


All times are GMT. The time now is 12:46 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick