Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle surface scale parameter #57

Closed
Cloudef opened this issue Aug 22, 2015 · 21 comments
Closed

Handle surface scale parameter #57

Cloudef opened this issue Aug 22, 2015 · 21 comments
Labels

Comments

@Cloudef
Copy link
Owner

Cloudef commented Aug 22, 2015

Needed for hidpi clients and scaling non hidpi clients.

@Cloudef
Copy link
Owner Author

Cloudef commented Oct 5, 2015

Note that surface scale is integral, this is for very good reasons which you can read on wayland mailing lists. Non-integral scaling can be still done by setting output resolution with wlc_output_set_resolution.

@JonathanReeve
Copy link

👍 for this all the way. This is what's preventing me, and everyone else with a modern display, from using SirCmpwn/sway.

@ddevault
Copy link
Collaborator

@JonathanReeve it helps as a workaround to set your display's resolution to half of the actual resolution in your sway config. That's what I do for my macbook.

@harrisonrodgers
Copy link

Hi. Could the scale parameter of wl_output be what we want?

A scale larger than 1 means that the compositor will automatically scale surface buffers by this amount when rendering. This is used for very high resolution displays where applications rendering at the native resolution would be too small to be legible.

@ddevault
Copy link
Collaborator

That's partially related, but not the whole picture.

@harrisonrodgers
Copy link

Ok. Adding scale=2 into an [output] section of the Weston config seems to scale everything as expected for a HiDPI monitor. Maybe we can look at the Weston code to see how exactly they do it.

@Cloudef
Copy link
Owner Author

Cloudef commented Apr 17, 2016

In order to do this, you need both scale parameter in wl_output and scale parameter in wl_surface. If surface scale == output scale, you don't need to do anything, the client is already rendering in native resolution. If surface scale > output scale, you need to downscale the surface. If surface scale < output scale, you need to scale the surface up.

The scaling should be done during render phase in gles2.c, it won't affect anything else but visual output. The visible bounds probably need to be multiplied / divided accordingly.

@seanenck
Copy link

seanenck commented Jun 2, 2016

If/when hidpi is available I'd be more than willing to try it (sway + wlc) via Arch and/or AUR.

Mildly unrelated my use case for hidpi is a dell 7370 where I would like to get my 2 external monitors + laptop screen all working (in sway) - I know configuration for multiple monitors may not entirely fall on wlc but if there are good resources for that and someone could point me to the docs that would be fantastic (again since I'll have 1 hidpi display and 2 non-hidpi displays)

@Cloudef
Copy link
Owner Author

Cloudef commented Jun 2, 2016

I would need access to such display, or at least someone willing to spare their time at IRC to write this feature myself.

@seanenck
Copy link

seanenck commented Jun 2, 2016

I can't do much for getting you a display of your own but I can be in IRC to assist in some capacity - very much willing to do bleeding edge stuff, I have all of X working so it's not like I'm relying on the wlc stack for my day-to-day operations (yet, but that's what I'd like)

@Cloudef
Copy link
Owner Author

Cloudef commented Jun 2, 2016

Apparently @SirCmpwn offered as black box tester for me as well. I won't probably be doing much this month though.

@seanenck
Copy link

seanenck commented Jun 2, 2016

Understood - whenever you get there, if I can be of any assistance let me know!

@colltoaction
Copy link

Can I help? I started using Sway a week ago or so. I have a 14' FullHD display, and I'd love to see things a little bigger, without the blur of the output res hack that people suggest in the sway repo (add output eDP-1 res 1280x720 or similar to the config file)

@ss1h2a3tw
Copy link

Regarding to the non integral scaling,
according to https://bugs.freedesktop.org/show_bug.cgi?id=93315#c20
Maybe we could set a real output scale and a fake output scale for clients?

@dobegor
Copy link

dobegor commented Jul 15, 2016

Any progress on this? Using 12.5' FHD display stops me from moving to wayland/sway.

@ss1h2a3tw
Copy link

I have been pretty busy till today, there's still issue on xwayland scale handling , I 'll try to fix it in few days.

@colltoaction
Copy link

Let me know if you want me to try out any changes! I have a 13'' FHD

On Fri, Jul 15, 2016, 05:59 ss1h2a3tw notifications@github.com wrote:

I have been pretty busy till today, there's still issue on xwayland scale
handling , I 'll try to fix it in few days.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#57 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABeg9OzpKlqwESrCRpIgO1mZK937TSlMks5qV0wFgaJpZM4Fwbcl
.

@dobegor
Copy link

dobegor commented Jul 15, 2016

I am able to beta-test before it's pushed too.
Just ping me here (intel skylake video, 12.5' FHD) if needed.

@Dinduks
Copy link

Dinduks commented Jul 15, 2016

We have 4k 28" screens and FHD 15" laptops at work. I can beta-test too!

@Cloudef Cloudef closed this as completed Jul 30, 2016
@colltoaction
Copy link

See #173. Does this mean we can now scale without the windows blurring??

On Sat, Jul 30, 2016, 11:09 George Dobrovolsky notifications@github.com
wrote:

@Cloudef https://github.com/Cloudef sorry, why did you close this issue?


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#57 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABeg9B1zais8fyFnxKA4KHU7bq2sTGNFks5qa1sqgaJpZM4Fwbcl
.

@ss1h2a3tw
Copy link

@tinchou blurring will still happen when the client don't support surface scale bigger than 1 ex. weston-terminal
and X11's app ex. vlc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

9 participants