xserver and splitting ultra-wide monitors
Michael Wyraz
michael at wyraz.de
Fri Oct 14 13:13:03 UTC 2022
Hello xorg developers,
I have created a MR for this feature at
https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/981. What
do you think about it? Could it be merged?
Kind regards,
Michael.
Am 01.10.22 um 09:52 schrieb Michael Wyraz:
> Hello xorg developers,
>
> I have attached my patch to xserver that removes the
> "one-monitor-per-output" restriction. My attempt and the result is
> described in
> https://gitlab.gnome.org/GNOME/gtk/-/issues/2013#note_1564376 . The
> result is amazing, split-screen works flawlessly with all of my
> desktop applications, similar as if I had 2 monitors.
>
> I'd be happy if that could make it into xserver. Should I create a PR
> from the patch in the gitlab?
>
> Kind regards,
>
> Michael.
>
>
> Am 29.09.22 um 22:41 schrieb Keith Packard:
>> Michael Wyraz <michael at wyraz.de> writes:
>>
>>> For the second monitor, the output must be set to "none" which is
>>> obviously wrong since it is connected to a device. The reason why it is
>>> set to "none" is some code in xserver that removes an monitor if
>>> another
>>> one is added to the same output:
>> That's actually required in the RandR spec:
>>
>> For each output in 'info.outputs, each one is removed from all
>> pre-existing Monitors. If removing the output causes the list of
>> outputs for that Monitor to become empty, then that Monitor will
>> be deleted as if RRDeleteMonitor were called.
>>
>> The notion of splitting one physical output into multiple virtual
>> monitors was not considered when this extension was defined, which is
>> why it doesn't work. I don't see any particular reason for *not*
>> supporting your use case.
>>
>> However, there are subtleties here. We want to remove any automatically
>> created 'Monitor' objects when mapping user-specified monitors to
>> them, and we want to re-generate automatically generated 'Monitors' when
>> all virtual monitors associated with an output are removed.
>>
>> I think what we want is:
>>
>> * If no user-specified Monitors map to a particular Output, then
>> automatically
>> create a Monitor for that Output
>>
>> * If any user-specified Monitors map to a particular Output, then
>> remove the automatically generated Monitor for that Output.
>> In the current spec, there's no real separation between
>> user-specified
>> and automatically-generated Monitors, I think that would be necessary to
>> make this work?
>>
More information about the xorg-devel
mailing list