On Sat, Oct 17, 2026 at 12:25:02AM +0200, dan wrote:
> I own this configuration now..
> 
> TERM=xterm

This will do nothing to fix the display problem you mention below.

> stty cols 90 rows 28
> 
> laptop screen:
> wsconsctl display.type=inteldrm
> wsconsctl display.width=1360
> wsconsctl display.width=768
> 
> 1st lcd display (hdmi-2-vga + active vga-2-dvi = 1280x920):
> missing 2 lines on the bottom (including the login prompt)
> 
> 2nd lcd diaplay (dp-2-vga + active vga-2-dvi = 1280x960:
> all right, screen fully visible

So you have three displays, all with different native resolutions, and likely
different aspect ratios.

If I understand correctly, you want to drive them all from the same
framebuffer, so each one shows the same content, (cloned displays).

The obvious question is WHY?  Is this just an experiment to see what the
hardware and software is capable of, or does it have a practical use?

Also, are these resolutions that you have quoted, (1280 x 920 and 1280 x 960),
the actual native resolutions of the external displays, or just what they
report as the signal being received?

> Given the actual configuration how to fix the missing 2 lines on 1st screen ?

The root cause of this issue is likely to be the setting on the actual
display, (which might not even be adjustable).  You are asking it to display
1360 x 768 on a panel which is not 1360 x 768, and probably not even congruent
with 1360 x 768, (I.E. having the same aspect ratio but a different size).

So the panel has to do something to mung the signal you are sending it, and it
seems that it is just cropping the bottom of the image.

If you really want to make this 'work propperly', (whatever that means), there
are several options.

Here are some of them:

1. Reduce the number of rows that the terminal recognises using stty.

This will make, for example, vi usable.  But sooner or later you'll probably
run a program that resets the terminal and it will revert to using all of the
rows.


2. Force a different screen mode from your graphics card that just happens to
produce an acceptable display on all of the monitors.

The internal display will probably look awful, and you need to fiddle with the
code to do this as there are controls exposed to the user to do this.


3. Modify rasops to only use the centre portion of the display for the actual
console.

This is fairly simple, (see diff below for an _EXAMPLE_ of how to do it), and
means that the lines that are 'cut off' on the '1st lcd display' will just be
blank and have nothing printed to them whilst on the console, (starting X11
will use the whole display).

With this approach, the actual display mode, (video signal), stays the same.

--- rasops.c
+++ rasops.c
@@ -365,6 +365,8 @@
        while ((ri->ri_emuwidth * bpp & 31) != 0)
                ri->ri_emuwidth--;
 
+       ri->ri_emuheight -= 256;
+
 #if NRASOPS_ROTATION > 0
        if (ri->ri_flg & (RI_ROTATE_CW | RI_ROTATE_CCW)) {
                ri->ri_rows = ri->ri_emuwidth / ri->ri_font->fontwidth;

Reply via email to