Re: Intel builtin graphics, wsfb, gop - uses EDID?

RVP <[email protected]> Fri, 18 Aug 2023 00:39:32 +0000 (UTC)
Newsgroups gmane.os.netbsd.ports.x86-64
Message-ID <[email protected]>
On Wed, 16 Aug 2023, Greg Troxel wrote:

> I am wondering if the builtin graphics is polling the monitor EDID and
> this list is derived from the set of builtin modes that are within or
> match the monitor.  Otherwise it would be bizarre to have 1680x1050 show
> up.
>

genfb doesn't make use of EDID at all. In fact, you can't even get the EDID
data (try: wsconsctl -dw edid > edid.bin on 10.x) using it because it doesn't
implement the WSDISPLAYIO_GET_EDID ioctl. See wsdisplay(4) for what it will
handle.

It's your BIOS which has queried the monitor, changed the resolution and
set-up the framebuffer. genfb then just uses the memory handed to it.

> Should I expect that if I hook it up to a 1600x1200 monitor, or via
> displayport to a 2560x1440 monitor, that gop 0 will then refer to that
> native resolution?
>

You could try it, but, a UEFI BIOS impl. need not provide any but some
standard, safe resolutions.

> Is there a reason why "gop 0" is not chosen automatically?  I'm guessing
> it is because it may not always go well, and thus it's best to have to
> opt in.
>

Yup.

> I'm also guessing that this does not work with xrandr because of lack of
> plumbing and maybe because the wsfb driver is not mode-agile once the
> system is booted.
>

It's because a) wsfb(4) is an Xorg display-driver for dumb framebuffers (just
a pixel-array which you address and write directly), and b) wsdisplay(4)--the
underlying abstraction for wsfb--doesn't support any of those advanced
features--even when it is running on top of an accelerated DRMKMS FB like
intelfb.

If you run wsfb(4) you also won't get:

a) multi-monitor support
b) HW brightness/contrast/gamma adjustment (install intel_backlight from pkgsrc
    to change the backlight brightness)
c) no accel, DRI, XrandR, XVideo, etc.

SW-rotation and turning the screen on & off are basically the only advanced
features you get with this X driver.

-RVP