Skip to content

Patch adding multiple Wayland display outputs #1706

Description

@SDLBugzilla

This bug report was migrated from our old Bugzilla tracker.

These attachments are available in the static archive:

Reported in version: 2.0.3
Reported for operating system, platform: Linux, All

Comments on the original bug report:

On 2014-12-05 17:38:34 +0000, Dmitry wrote:

Created attachment 1955
HG patch

This patch add wayland multiple output support.

Output number can be specified for fullscreen windows via SDL_WINDOWPOS_CENTERED_DISPLAY(X) option in SDL_CreateWindow.

P.S i am not fully fluent with mercurial and develop in git, so just in case here is the git patch:

http://dump.bitcheese.net/files/ykexyfo/0001-Add-multiple-display-outputs.git.patch

On 2015-03-28 19:15:16 +0000, wrote:

Created attachment 2096
Other version of this patch

This patch is implemented on top of bug 2913, which uses imo a better design than the previous patch.

On 2015-04-07 19:25:05 +0000, Ryan C. Gordon wrote:

Ok, to be clear, we want to apply Attachment # 2017 from Bug # 2913, and then Attachment # 2096 from this bug on top of that, right?

And not Attachment # 1955 at all?

--ryan.

On 2015-04-07 20:10:54 +0000, wrote:

That’s exact, Attachment # 1955 was introducing a lot of unneeded complexity in there.

On 2015-04-08 02:43:43 +0000, Ryan C. Gordon wrote:

(In reply to Ryan C. Gordon from comment # 2)

Ok, to be clear, we want to apply Attachment # 2017 [details] from Bug # 2913,

(oops, I meant Attachment # 2107)

--ryan.

On 2015-04-08 02:47:35 +0000, Ryan C. Gordon wrote:

(In reply to bugs from comment # 1)

Created attachment 2096 [details]
Other version of this patch

This patch is implemented on top of bug 2913, which uses imo a better design
than the previous patch.

This patch is now https://hg.libsdl.org/SDL/rev/d001cff818bb, thanks!

--ryan.

On 2015-04-12 01:28:08 +0000, wrote:

Hi good work on the multiple output support.

I have a few issues about the way SDL is currently handling outputs:

  1. SDL is currently not listening for the global_remove events:

So if any output is removed then SDL would be trying to fullscreen to a non existent display.

  1. SDL appears not to be tracking the output the surface is on.

This means the window will always fullscreen to the primary display or display the application picked via SDL_SetWindowPosition or SDL_SetWindowDisplayMode. Even if the user moved the window to a different display it will fullscreen on the one it was created on (not good).

It is possible to emulate this by tracking the surface enter/leave events but the surface may be on/overlapping multiple outputs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions