On Tue, Jul 17, 2018 at 4:02 PM Rob Herring robh@kernel.org wrote:
On Tue, Jul 17, 2018 at 1:47 AM Linus Walleij linus.walleij@linaro.org wrote:
On Tue, Jul 17, 2018 at 12:50 AM Rob Herring robh@kernel.org wrote:
On Mon, Jul 16, 2018 at 3:23 AM Linus Walleij linus.walleij@linaro.org wrote:
Why don't you just define a 'vga-connector' node
Because this is not a VGA connector, it is just the VGA resolution. In other circumstances I do use it.
It's not a panel either. A connector is something with variable resolution. A panel is fixed resolution. Which do you want?
OK I get it, I think... it makes a lot of sense.
For an emulated machine it's pretty much up to the sophistication of the emulation. But variable is the best answer I assume.
Apart from being a user experience horror story, that requires a VGA connector bridge, as per above. (It's the EDID code that does that command line parsing.) And that requires lying about having a VGA connector bridge.
Because you have to set the resolution on the kernel command line? I'm open to having a default resolution for the connector in DT.
OK seems like that old virtual encoder that Liviu dug up is something we should dust off and use then.
Sudeep at ARM says it does not emulate any DAC bridge such as found in the Versatile Express machine family. It just expects to have the right resolution parameters written into the registers of the PL111, which in turn of course can only get it from a panel or bridge driver of some sort.
So putting *anything* in DT is a lie...
The virtual encoder seems like telling the truth so I should work on that.
Having a way to set the default display resolution in QEMU would be nice. I've hacked around that when using virgl.
QEMU is pretending to not provide a resolution, but an emulated monitor identified over I2C with EDID.
For the Vexpress emulation we connected the SII9022 DVI encoder hw/display/sii9022.c to the QEMU DDC/EDID channel provider in hw/i2c/i2c-ddc.c.
This thing provides a conjured EDID blob to the DRM EDID logic when using Linux.
It currently returns a simple 21" LCD VGA monitor probably resulting in 1024x768 resolution.
By extending and refactoring this code, we could provide a more ealborate "monitor" down to the emulator. The type of monitor implies the resolution.
Yours, Linus Walleij