From: Alan Mackenzie <acm@muc.de>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] New machine: Contents of display are offset around 2 inches from the left hand side.
Date: Sun, 25 Aug 2024 17:47:58 +0000 [thread overview]
Message-ID: <ZstuTl4L15o4BaLc@ACM> (raw)
In-Reply-To: <2124123.KlZ2vcFHjT@rogueboard>
Hello, Michael.
On Sun, Aug 25, 2024 at 16:31:54 +0100, Michael wrote:
> On Sunday, 25 August 2024 13:33:14 BST Alan Mackenzie wrote:
> > On Sat, Aug 24, 2024 at 20:36:11 +0000, Alan Mackenzie wrote:
> > > On Sat, Aug 24, 2024 at 16:40:38 +0100, Michael wrote:
> > > > On Saturday, 24 August 2024 14:25:31 BST Alan Mackenzie wrote:
> > > > > On Sat, Aug 24, 2024 at 10:44:44 +0100, Michael wrote:
> > [ .... ]
> > > > This reads like an unsuitable refresh rate problem.
> Ah! I was wrong at my assumption - I had not understood the displayed
> resolution was not the native/optimal monitor resolution.
> > > I've read the "information" section from my monitor's adjustment panel.
> > > It says 60 Hz. and 1920x1080 (on my current machine). On the new
> > > machine, it reads 60 Hz., 2112x1016. This looks like being at the core
> > > of the problem. 2112 / 1920 = 1.1 (more or less), i.e. 10% too many
> > > pixels.
> > > My monitor is ~52cm wide. 10% of this is the ~5cm. black strip at the
> > > LHS of the monitor.
> Right, for some reason the graphics core is not driving the monitor at the
> appropriate (optimal) resolution.
It doesn't in the BIOS settings display, either. There, it is also
2112x1116. (I think the "1016" from last night was a typo.)
> > > Is there any convenient way I can display the current EDID information
> > > block?
> > Yes, there is: there is the package x11-misc/read-edid, which contains
> > two utilities get-edid and parse-edid. Calling # get-edid | parse-edid
> > produces, on my current machine:
> > This is read-edid version 3.0.2. Prepare for some fun.
> > Attempting to use i2c interface
> > No EDID on bus 0
> > No EDID on bus 2
> > No EDID on bus 3
> > No EDID on bus 4
> > No EDID on bus 5
> > No EDID on bus 6
> > No EDID on bus 7
> > 1 potential busses found: 1
> > 256-byte EDID successfully retrieved from i2c bus 1
> > Looks like i2c was successful. Have a good day.
> > Checksum Correct
> > Section "Monitor"
> > Identifier "SMB2430L"
> > ModelName "SMB2430L"
> > VendorName "SAM"
> > # Monitor Manufactured week 13 of 2011
> > # EDID version 1.3
> > # Digital Display
> > DisplaySize 520 290
> > Gamma 2.20
> > Option "DPMS" "true"
> > Horizsync 30-81
> > VertRefresh 56-75
> > # Maximum pixel clock is 170MHz
> > #Not giving standard mode: 1280x800, 60Hz
> > #Not giving standard mode: 1280x960, 60Hz
> > #Not giving standard mode: 1280x1024, 60Hz
> > #Not giving standard mode: 1440x900, 60Hz
> > #Not giving standard mode: 1600x1200, 60Hz
> > #Not giving standard mode: 1680x1050, 60Hz
> > #Not giving standard mode: 1152x864, 75Hz
> > #Not giving standard mode: 1440x900, 75Hz
> >From the above we can't tell if the monitor will work at 1920x1080@60Hz, but
> according to the OEM specification sheet it should and the VertRefresh range
> of 56-75 is broad enough to accommodate anything within it.
Well the monitor's been working at that resolution since (according to
the EDID) 2011. :-)
> > #Extension block found. Parsing...
> > Modeline "Mode 0" +hsync +vsync
> > Modeline "Mode 1" +hsync +vsync
> > Modeline "Mode 2" +hsync +vsync
> > Modeline "Mode 3" +hsync +vsync
> > Modeline "Mode 4" -hsync -vsync
> > EndSection
> Hmm ... no Modelines shown above and no preferred Mode provided. :-(
Ah, I see from Dale's posts what the "Modeline"s are meant to be. I
wonder why they're missing from my (somewhat old) monitor.
> > .. On my new machine, it is almost identical, just using I2C bus 0,
> > rather than 1.
> > It is now clear that EDID contains not an optimal screen setting, but
> > instead ranges (for example 56-75 Hz. screen refresh rate).
> The ranges are indicative of what refresh rates the panel is capable of, for
> different resolutions. As you say, of more concern is it does not provide an
> optimal Mode.
Yes.
> > The question arises, what exactly puts the display into 1920x1080
> > 60Hz. at boot up time? Something must be chosing that resolution.
> > I've tried grepping the kernel sources, but there are a lot lf
> > "1920x1080"s there.
> > :-(
> You can try adding the correct video resolution at the kernel cmdline - see
> below.
Somehow I don't think that will work (which doesn't mean I won't try it).
There is something in the motherboard which is throwing off the desired
resolution by those extra 192 horizontal pixels, even in the BIOS.
> > [ .... ]
> > > My hypothesis at the moment is that something in the new machine is
> > > wrongly pumping out 2112x1016 in place of 1980x1080 and this is
> > > diminishing the size of (and reducing the quality of) the displayed
> > > image.
> Yes, from what you described this appears to be the case.
> > > I think the EDID being received from the monitor and KVM-box are correct,
> > > but that the BIOS is applying some "correction" to them, for some reason.
> I'm not sure about this, look at the EDID output. The Modelines are
> incomplete with no preferred resolution as per the OEM's specification.
Yes, that's puzzling. But I'm pretty sure the monitor's display came up
correctly when I first booted the machine last Monday. I think it was
only after I started playing with it that it went wrong; that "playing
with" was supplying the drm.edid_firmware kernel parameter.
> > > Maybe I should try resetting the CMOS ram.
> I'd be surprised if this has any effect on the displayed resolution.
Something on my MB is adding in the spurious extra 192 pixels
horizontally.
> The EDID/DDC protocol expects a certain DC voltage (+5V). If this is not
> provided as cleanly and uninterruptedly as expected, the initialisation and
> communication between monitor & graphics card could go awry. Hence me
> mumbling about avoiding adaptors and connectors which due to faults, poor
> manufacture, dirt, oxidation, etc., could add resistance to the I2C wire
> circuits. Of course the KVM itself may be interfering with what-ever EDID is
> provided by the monitor itself.
> Your approach to specify the resolution via an edid file should work, at least
> until it is deprecated from kernel 6.9.x onward and you have to build your own
> edid firmware file from the assembly source files in /usr/src/linux/tools/
> edid/.
Oh dear! Yet more progress in the kernel. ;-(
> You can enable CONFIG_DRM_LOAD_EDID_FIRMWARE in your kernel and add to the
> kernel cmdline:
> drm_kms_helper.edid_firmware=edid/edid/1920x1080.bin
> Before you add the above, I'm not clear if I understand correctly from this
> document, if first you have to run "make" in /usr/src/linux/tools/edid/ to
> build the binary EDID blobs in your kernel image, or if they are built anyway
> when you run make as part of building your kernel from source:
The latter, I think.
> /usr/src/linux/Documentation/admin-guide/edid.rst
> Another option to try in case it works with KMS:
> video=HDMI-A-1:1920x1080@60D
I will try that now. I'm not very hopeful, I must admit. Just tried it
- it didn't work. :-( But at least the videos still comes up as before.
> To find what your card/port string is named as look at:
> ls -la /sys/class/drm/* grep HDMI
> or
> dmesg | grep Connector -A1
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2024-08-25 17:48 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-22 16:54 [gentoo-user] New machine: Contents of display are offset around 2 inches from the left hand side Alan Mackenzie
2024-08-22 21:44 ` Michael
2024-08-23 16:21 ` Alan Mackenzie
2024-08-23 18:27 ` Dale
2024-08-24 10:08 ` Michael
2024-08-23 18:33 ` Jack
2024-08-23 18:44 ` Dale
2024-08-23 19:09 ` Alan Mackenzie
2024-08-24 9:44 ` Michael
2024-08-24 13:25 ` Alan Mackenzie
2024-08-24 15:40 ` Michael
2024-08-24 20:36 ` Alan Mackenzie
2024-08-25 12:33 ` Alan Mackenzie
2024-08-25 13:53 ` Dale
2024-08-25 16:02 ` Michael
2024-08-25 16:28 ` Dale
2024-08-25 15:31 ` Michael
2024-08-25 17:47 ` Alan Mackenzie [this message]
2024-08-25 18:28 ` Dale
2024-08-25 19:12 ` Alan Mackenzie
2024-08-25 19:37 ` Dale
2024-08-25 21:04 ` Michael
2024-08-26 9:36 ` Peter Humphrey
2024-08-26 10:40 ` Alan Mackenzie
2024-08-26 11:54 ` Michael
2024-08-26 14:49 ` Alan Mackenzie
2024-08-27 16:05 ` Alan Mackenzie
2024-08-27 18:36 ` Michael
2024-08-27 20:50 ` Alan Mackenzie
2024-08-28 14:58 ` [gentoo-user] [Fixed] " Alan Mackenzie
2024-08-28 15:25 ` Dale
2024-08-25 21:07 ` [gentoo-user] " Alan Mackenzie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZstuTl4L15o4BaLc@ACM \
--to=acm@muc.de \
--cc=gentoo-user@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox