"Kim, Dongwon" <dongwon....@intel.com> writes:

> On 7/7/2023 7:07 AM, Markus Armbruster wrote:
>> "Kim, Dongwon" <dongwon....@intel.com> writes:
>>
>>> Hi Markus,
>>>
>>> So I've worked on the description of this param. Can you check if this new 
>>> version looks ok?
>>>
>>> # @connectors:  List of physical monitor/connector names where the GTK
>>> #           windows containing the respective graphics virtual consoles 
>>> (VCs)
>>> #           are to be placed. Index of the connector name in the array 
>>> directly
>>> #           indicates the id of the VC.
>>> #           For example, with "-device gtk,connectors.0=DP-1, 
>>> connectors.1=DP-2",
>>> #           a physical display connected to DP-1 port will be the target 
>>> monitor
>>> #           for VC0 and the one on DP-2 will be the target for VC1. If 
>>> there is
>>> #           no connector associated with a VC, then that VC won't be placed 
>>> anywhere
>>> #           before the QEMU is relaunched with a proper connector name set 
>>> for it.
>>> #           If a connector name exists for a VC but the display cable is 
>>> not plugged
>>> #           in when guest is launched, the VC will be just hidden but will 
>>> show up
>>> #           as soon as the cable is plugged in. If a display is connected 
>>> in the beginning
>>> #           but later disconnected, VC will immediately be hidden and guest 
>>> will detect
>>> #           it as a disconnected display. This option does not force 1 to 1 
>>> mapping
>>> #           between the connector and the VC, which means multiple VCs can 
>>> be placed
>>> #           on the same display but vice versa is not possible (a single VC 
>>> duplicated
>>> #           on a multiple displays)
>>> #           (Since 8.1)
>> Better!
>>
>> Suggest to replace "that VC won't be placed anywhere" by "that VC won't
>> be displayed".
>
> yeah, I will update it in v2 and send the new patch shortly.
>
>>
>> Ignorant questions:
>>
>> 1. How would I plug / unplug display cables?
>
> I am not sure if I understood your question correctly but 1 or more guest 
> displays (GTK windows) are bound to a certain physical displays like HDMI or 
> DP monitors. So plug/unplug means we disconnect those physical HDMI or DP 
> cables manually. Or this manual hot plug in can be emulated by you write 
> something to sysfs depending on what display driver you use.

Let's see whether I understand.

A VC is placed on a *physical* monitor, i.e. a window appears on that
monitor.  That monitor's plug / unplug state is passed through to the
guest, i.e. if I physically unplug / plug the monitor, the guest sees an
unplug / plug of its virtual monitor.  Correct?

Permit me another ignorant question...  Say I have a single monitor.  I
configured my X windows manager to show four virtual desktops.  Can I
use your feature to direct on which virtual desktop each VC is placed?

>> 2. If I connect multiple VCs to the same display, what will I see?  Are
>> they multiplexed somehow?
>
> Yeah multiple VCs will be shown on that display. But those could be 
> overlapped since those are all placed at (0, 0) of display in many cases.. 
> but this all depends on how the windows manager determines the starting 
> locations.

Got it, thanks!

>> Old question not yet answered: Using a list for the mapping means the
>> mapping must be dense, e.g. I can't map #0 and #2 but not #1.  Is this
>> what we want?
>
> No, it doesn't have to be dense. In your example, you can just leave the 
> place for VC1 blank. For example, you could do 
> connectors.0=DP-1,connectors.2=HDMI-1. But in this case, VC1 won't be 
> activated and stay as disconnected from guest's perspective. I think this 
> info is also needed in v2.

Have you tried this?  I believe it'll fail with something like
"Parameter 'connectors.1' missing".

>> [...]


Reply via email to