right me
okay
right i'm alex also and
and i
i am and so we can might recognise this is from glottic two thousand virus
and then in that i know for a long time i initially got there because
i'm right diameters and i ran an sauce
since then i moved on since two thousand one word for red hat just a
group
you mean random stuff all over the place
recently i've been working on the overall high dpi stuff for
i know desktop and the linux desktop in general
i want to start with a
very specific
problem definition this is a from book pixel
typically runs from list but it's very easy to kind of easy to install any
linux operating system on it and this is
muscles and or nineteen which is
it supported every kind of harvard ask a sickly
except
why when you read it looks like this
i don't it doesn't actually look like this it's much high resolution but
scaled down to fit on the display
right so
it's not really useful even though it's taking we will support it
is completely useless
because you can even in stuff
normal it's so you know about the do you stuff
and you can use that operate in sure
for wanna taurus generally how many pixels per
in some you wanna start
and
historically all like
normal monitors i mean be a projected doesn't have it but any random normal wanna
so we have around hundred
nineteen eighty or a hundred twenty or something but not
but the pixel two hundred thirty nine
right so
doesn't really work
so we had a setting in X next we actually
which for on various reasons is always set to ninety six by know
but there is a there's a property
take scale factor i think is that so this had to we get that
and it's now
juice able and some so you can actually read stuff
but
it really only change the text side
or someone's mother is just to so
one is that why did like scale and it right
it turns out that
during that we went traditional density monitors would be a bad thing
and this monitors be maybe not a pixel but on the other ones
a pixel is like invisible thing
you better not enjoying one point five pixels because that looks fancy we're
and so everything you mentor has actually matched the target
pixel great you even if you're sources an S P G or whatever invented wrong
one point zero pixels or things will
really bad
also lot of content that you see in a typical you why
you have the i can't swich are changing use or can choose a bunch a
pen about our pictures whatever
cursors are also pixels
and scaling those for just doesn't look very well
there's an example of this is
i mean this is a scale version and then all those
and put it down on which is scale so they can see all the pixels
and if you were to render this is a hundred twenty percent
say to compensate for your like to guys change you get like
kind of hard to see that
some of the lines would get in the middle of some pixels evening been fuzzy
summer sharper and the probably once or less
re to get this
and the pixels are scale on they only i can so
around
those are ceases images and there's the ganges at the core so their scale
also
turns out that it's not really a problem right
for instance this
thank but i have
are you still a twenty three inch monitor at work
and i'm not sure a button on it
and it's like six millimetres on the laptop in eight on the
so this way and it's not really a problem
and i could
happy to the size and everything to match the deep i spent will be stupid
because you wouldn't be anything but you get all this bad looking stuff
the
we were getting it from the time they were solution the pixel have not care
the routine and just lay stuff and something it doesn't work
so we had to do something
sell
it's not looking at some of the things that wrong
i don't obviously a pixel they so they're not scale and also the way too
small can see you know they look kind of weird if you look at the
i can there next to the text
much more than the textbooks
out of sync
something on the will gents are
specified in terms and
and you know they're fixed pixel so there will be hard to pay
trying to
had a scrollbar for instance is really hard
and i don't know it's okay here but if you know how they won't talk
as opposed to look supposed to have a really large image background with the tech
sensors on it and it just doesn't care
and
the full window sizes a
i mean some of this so the windows look okay is there are fully specified
by the size of all we distant anything that has anything that scrolls
but you have it or not less
we don't really know the default size to
the waste typical we fixed a biased having to order of the at specify random
the full
size in pixels
typically a not a problem but and get everything wrong for
the pixel
also some of the intro widgets are specified in pixels
okay with of the sidebars
the weight of the columns are notes
so small that
doesn't say it's a common labels adjust not doesn't make sense
and all on around of you can see it in minutes
really tiny
and also go slowly because it's expiration and everything is based on the typical size
is that
excellent have a little monitors
resizing windows really hard
all the padding is really thin so it's
doesn't look right
and basically
pixels or absolute pixels what is everywhere
either directly or indirectly via pixel based icons and it is
and also there's some points of code all the place that uses this
but we don't wanna have everyone change older cut
additionally if you
and we use multiple monitors things that you know more complicated
because
i don't think there's any how you've got external monitors
well
what negatives something super expensive want been generally if you plug in
extra montana and pixel you get a little you can i and how do you
have monitored same time
and windows the rolling back from whence going to the other
well i would become hero which or tiny depending on
what we invite them and if you have a minimum both look really weird
so
so the solution i came up and then it's not really
original in the sense that number didn't before it's pretty much one that covers dustin
i'm not exactly sure what
they do and when there's a has something kind of similar
but basically define redefine one pixels me on an old one utterance pixels new money
used to do but on kind of i mean something else
that at you one pixel napster multiple
device pixels
and then
and the scaling factor that would make it an integer to vital the
green alignment issues and also for technical reasons
lot of stuff like X windows
but when the are digit widgets can't add
don't a list of sizes and clipping goes to hell if you have
fractional
a box of that's it
and all the scaling is done automatically so the that absolutely know about it
thank you render high resolution or if you draw
but not based in just to get scale automatically
and
and then and change you actually have some
X a laid out like icons or ceases images for backgrounds and borders or even
like about source or external images
we had a new A P I S or ways to let you specify multiple
sources and then just so that you can pick the right one depending on the
on the on the window
okay
so when that and it looks like this
i mean obviously at this is like
i mean obviously it just looks like any other know but if you actually lot
of pixel and the to be high resolution icons and
all the things where the right sizes and everything i mean
it's still a tiny per se so there's some stuff like to fix but most
of it works
so
i guess there's a lot of all percent sorry we go over all you have
to change your apps mostly they shouldn't have to change that
only see the ice change a bit
we stopped i roll
generally hire a support scaling and you can just set scale
and we can just set the scale
but
i have
and it something on the my scale like this at the surface
so that any higher context you create on that so we will automatically always get
initialised diskette
you cannot get rid of the scale accident by like resetting that matrix and whatever
and additionally and maybe even more important if you if you draw the surface of
the something else
scaling is also applied
so you have and
i can as
target of forty eight by forty eight abstract pick something that you have ninety six
by nine six
image then you set unless got that you will enjoy a non scale thing it
will automatically scale down
although generally all this you know don't have to care that a does that for
you
you can however that with changes
straight window abstraction for forty K so it has all the window screen monitor need
to targets
those not always almost report cites in this abstract pixel space so
when you thing is they were G D K window might not match the size
of the corresponding X one now
so the expand maybe turin pixels and detailed reports
three hundred pixels
and it so to compensate if you really need to do something a little you
have to get scale factor for the when the
or not or if you're doing something
global
and also the multiple sessions
or like and then it
reported in the abstract texas based that
since time immemorial we use floats for the event so
still have superstition
just in a different for
i had to add a couple of at articles to
get the current
cursor positioning floats of stuff but generally
it always been using floats for women's
did you integrate similar services is what you use when you create all screen images
in U K three
it's always been there is change now so that automatically creates a scale surface if
you if you are targeting scale window
you should always use this role directory in your in services because
if you create a little for solution low scale double buffer for a high scale
when though you get excellent results
and you have to be careful that the scale when that for instance widget whatever
you're working on can change over time so
make sure old problem of course or
we created when you
in the scale changes
and you have this is they wanted to decide
or something about it but
off you don't have to do you
you just
look at the scale it or something
and it is different from what have you rendered it is invalidate
next or
but there is a thing
there there's some you think very similar to prince in the surface but it creates
and just
in the surface which is
it's a long time or service but it's you can access the pixels
market expert
the advantage here is that you can now specify the scale of it
and then
and it also lets you specify window for the target so
if you're creating an
in the service that you eventually will draw a next one now we can handle
time okay and i'm really generally space
so you always get the extra
exchange
also there's this
have a circus create for exposed help or which is really
simple wrapper of quite similar in the surface that just converts
from picks before that too
performance which incidentally are not exactly the same so right now
we are actually allocating a new surface and converting from the
to promote apply and also mode
every time you draw textbook so you should use sort of this
i don't know
okay this is what most people actually see it technicians
well
the size allocation everything that related size
or and this
abstract well that's the pixels
and weighted has a scale proper day you get the scale what you can get
scale
but there's also it's also proper basic and get notified on it if you need
to
and i wanted to catch whatever
also
for the reasons
and this about the for hire circles that it is then you prefer way too
i in that state as
don't wanna use X path
i mean you can just pick spot in your internal stuff attendance
supposed to be drawn the screen you probably use our services that
because they can have scale
so when you don't and you will automatically upscale dollars gonna whatever and you can
pre target and to the right
type of window any and they're already in the right kind of formants something more
efficient around
so these are new things you should use
okay and manage and just get some hundred fixed well
i mean that identical except the you say from X possibly on the explode okay
so well still work but you should prefer our services
i can things extend as so that
if you asked for a fully pixel icon and then we did a scale to
we will actually ask for ninety six pixel one use that and furthermore there's also
extension to the actual i can be respectable well i can be in itself to
define hire is versions of
a likens because in it's not always the case and it's a good idea to
use to ninety six point nine six i can
for the forty eight it's a case
because things like that our clients or ten or is more details if there's any
text in it
a and it's gonna be too small if you're better than like this excellent forty
eight size
there's some extensions it in the evening system to like we specify
alternative images
if you use this make sure they have the same
size some scaling factor because layer layout is affected by the size
and we're only going to load the one that
is used
so i don't
something to the current state is layers that was on the stack
i had a bunch of protocol additions for will and landed in one point two
and in one but you only
it's that's out and service we really means monitoring window
that's the we'll in terms
well the positions and sizes are in this abstract pixels
and then the compulsory can shows the actual scale for every monitor
and you can be in it as a property on a little bit but well
the scale is so
if you push a
okay long window on the on a scale to output it will automatically of scale
it all drawing it
but declined can see this and pretty allocate a slice risque to buffer voiced more
pixels
so then the compulsory doesn't have to
right
and it also what's correct handling a mixed mode monitor so one drawing a single
buffer it can upscale online and not scale you know
even scale it difference
slices
it came the backend waylon will automatically take the maximum scale of all the windows
that are cover or all the models are there are covered by the windows so
if you drag your window we automatically get resized where we can you scale which
is one of the reasons you have to take care about a double offers
can change by using that you know in the
implementation size really in simple
waylon and indicate currently is uses inner surfaces
so we used at the device going that and this works and this is
huge and this is what we wanna go it has every support for the parts
a little bit is it does correctly support the next guy wanna for
and
and the scaling stuff this is really
part of the native system now we can't be on X
a bunch of us don't use expert
so we have sometimes for that you
however we only support a single scale for all
roll the screen actually wanted that you can technically open the books place and different
scales i guess but practise everything's gonna be the same scale
works fine for laptop maybe not if you have lots great thing
indicate like fakes all the states i systems of
so it scale is enable little i think the size of the windows and wanna
sorenson screens one not the coordinates of the excellence are divided by the scale we
were contradictory events
there is this environment variable unique a scale you can set
so really
very useful for the pointing if you're actually don't have to hide if you know
why she decided and running around and see a and you can see if it
works
the weights actually meant to work is that we had
to next settings that again the settings tingle
set for the chain will
hopefully eventually i have some really bad patches but
and the one on the tech the actually on the screen and just pick the
right scale
and it telex
or is tell detaining just use
there's also new settings
related to scale with just on scaly got because we still wanna is
this don't wanna step and in you know actually lords to support the school apps
like to take a two or whatever
nobody uses that anymore
and it but
if we set a really high tech you know i
false and the scaling and then digits we have the dark to again did fallen
so we have this new on scale late you guys heading that scale where you
use
also very simple
implementation we use used normal tire likes stuff that the wide scale
you have to be a bit more careful since the scaling stuff is kind of
done extra lead to X
X itself has no idea of the scaling so if you're mixing X stuff and
it a stuff like
using X video or opengl or something you have to
what correctly get the scale factor a lot why sizes and stuff most of the
time if you create stuff from G ditch a in just consume it and read
back the sizes from X
things should work but
you may need to take care at least
we also have a about sex implementation which is
well this trivial would just uses all the ports
stuff just basically identical to our stuff
we do is read back the scale factor from of X
right now there's some bargain on your over
or create similar those and it's
create a scale it sort of
scale words to mention whatever it's cool so all the ski all the scrolling and
everything that's double buffer
currently look kind of excellent a routine this place
i think said when there's eight has some kind of high depressed or i haven't
really looked at it maybe we should
maybe some want to do that
need course are scaling with you have
we need tiny cursor it's hard to see
and into actually finalised i can make changes
didn't get any comments on it something which is can it
when i need the i versions of something like this may be able maybe is
some of them i haven't extra too much detail we have to look at that
details are shipped a bunch of something like those we want probably want iris versions
of those
and we want full integration of
you know detection of dpi and everything you know
i have some
how to hack patches that
well
mostly work
and it somewhere
also on the future i might or might not depends on how women go so
how much for content and maybe
when it maybe it's possible to do we want to monitor support ready X
at least you have a compulsive
most or because then
compulsory control which window different event
well the working
no it's worth it depends on a classroom goes away when
really
and also when we do you shot out to run remember we use randomly turned
up on the list as i have this pixel doesn't wanna so they can do
i did work
and
thank you
it sounds like i think you said that we win you get to separate circuses
at different scales and drive them independently i get some of these i mean it
that way multimode to works and X and where were somewhere one is completely different
and an X you L okay basically was should service that covers everything and they
stand out different parts of it so it's really hard to do we know in
a different sizes and of model to
doesn't work but in whale and
every output scans from it some buffer and it's up to the composite usual window
in both the buffers but i mean you centre and you scale it how everyone's
that if you're an application
with your own application you get you get just select
the scale of your window
but could you possibly say i want you to scale version and the ones known
that has this discussion about that but it's not have i don't i don't think
it's really important because
first was problematic because things like way out in terms of
text is different it's like independent different sizes
what you to hinting else also for related retina coming and also
windows spanning multiple once or is that a colour to is
didn't wanna have extra complexity of all over the place or something
so i guess you just pick scale
i don't want to actually happen
but on our sex if you if you do it as you plug in something
well gonna next i wanna ask you whether you want the best
what can best on the extra always where looking best only internal and
just fix that
right now i'm always pick
the want to not have to
one of
the want to almost or not but that the when the covers i pick the
wanna have to heights
but it's really a just
attention to detail and indicate can do
it's up to the at we need to select
or maybe we wanna support it just seems dpi that you haven't you is really
fourteen this idea
we have a year
one
scale ribbon
and that it we in this people would be we have in the future we
will be able you i gonna be
that's also some complexities in terms of the male being different and
and the way like
offscreen just for passion scrolly bottles now almost complexity for me
not very important use case
you can do it
i think i think it i think it's
hard enough that it so
okay
the question
you can sort of come up and play with the actual pixels later but
you do each buildings differently or use like demo
don't know what you were you were doing like a filled earlier it's like i
have a
the
randomly but
right or something
i think about a batteries explore the
system petition or something so the chrome stuff but that it wouldn't boot so how
to be everything that i do have some it failed
and will later it's
minute
it looks like you know
stuff like you have to be really close up to look at that and we
think about later also
question here and we will the composite or
draw itself and multiple
resolutions
because applications don't
don't have in the different monitors a resolution if you mean in composite turns that
we having that's right all over the place right i do union X server
both
but i mean the way works and presses waylon is that
you just give your buffer with that's to
composite or and you playing that this is that scale one
but what about the shell it's what's so we show was the composer
so it's a so if the shell as the way one composite are saying
and some apps
at hands that a
a hundred one hundred buffering plane this is that scale one
and your actual window or your actual models or is it scale to
it's up to the composite or the scale it by two
what and i can come are small monitors can need to do it what i
mean do you why of all of the composite or like them shot of barn
no i know mostly uses it a for stuff so
that's not the rest of what is a lot of a lot was also you
see and it are is do you know it's easy to set scale factor you
and i think is currently down that it shouldn't be that
money always fixing it
and but in and basically it's a lot adding it to somewhere in a matrix
that get and it's not really
and then there are some parts harder maybe like
getting
it is they're sending pixel based in is to have multiple
multiple sources of pixel a
i think for
for the shallow so that i us are either symbolic i have the terrace at
or
or just a file which are these space really arts scale are still look good
okay so
mike
my question be about the you have a motion
events
you use you were saying that you do you subpixel
subpixel cool didn't we some hard ways actually a problem because they keep sending
they keep sending events with more new changes like as it subpixel motions and we
end up breaking pretty much the whole stack
well we can we will run into
we already do this
well it everywhere
and he indeed is actually causing problems and on wondering whether that's gonna have problems
okay i'm generally you never gonna hit the scale other than one or two so
it's
i'm gonna have closer
zero point five or one
no way how that was great
that know that those adjudicated motion compression full things well subpixel
i mean it was the right way of floating point because
an is to fix it for waco talents
nineteen ninety seven or whatever so
it's in his work
okay very no thank you
so we're now if you're very high dpi screen
and you start an application a
would you could be
does it start a with its windows
who
no scaling or want one or
all you need to you know with about a hundred snaps you can see it
it's gonna be a do you mean
if you if you i mean i previously i'm recommended or i am updating an
existing application
what happens by the just good but you'll it's it looked as if you were
on a little bit i screen and everything is as
for
what you mean need to looks
i mean it no it's actually in terms a holly application server whatever sees everything
but it will be scale by default
i know it's if you if you install zero twenty whatever where this is an
excellent it automatically pick up effect of those are really quite a screen but people
everything will be scaled so it's
approximately this line size that would be a
button and hire or something
right precision i mean you know maybe just works
there's some cases i am where you can write it if you're for instance
full at anyone and you have a bunch of ex boss but for all your
project X a wanna render them
you need to take care
detecting that
is actually more pixels
i mean like spectrum ask about a slight begin so well you know if something
present we need to know if it's down scaling
a large textbook and it
have the but to me to do you have to get this going factor to
know that you need to generate more pixels when you're doing something
like one i'm thinking about him and i have michael some widget problem or run
team actually you know those you don't okay
i mean well we don't know but i would still don't show the wrong pixels
compared the device text
yes
also
so it's not a problem because that's what it's doing okay so this is around
when you have a problem is gonna scale itself but what about the came victims
custom widget
you mean the canvas the display of the actual image itself
and that's the only place think impair you have to take care about actually having
twice the amount of pixels on each axis then you see as virtual pixel so
i don't know how takes cost and i think from what particle rumours that show
how many pixels a but we but you should be i mean and
if you have to image in one to one
right so like hundred percent than you will actually show a little square per image
pixel maybe because i'm just wondering how like about a picking up pixels like rulers
why be a that's sure that a little numbers permission expand scale my
accordingly your i that's just the front pixels like the virtual pixels you
you use an answering everything else i mean the text we get smaller and to
get a
rendered as a vector graphics anyway so it look at risk
but the ruler chicks they should be just in your normal pizzas like not the
device pixels but you know from pixels
and only if you scale out so you your image source has
the canvas itself has actually more pixels available then you want to display then you
can go hi dpi and actually show more this shall know exist and then normally
but that's the only case i need to adapt to make it look
everything else pictures of the box
even the i consider
i'm really surprised by a minimal or no in terms of you know
and like the it just works for a radio readers
very
i haven't really tried it on absent you custom lot until an expensive of
partially because most ominous for why just lot are excellent
or not really doing a lot of course open G L anymore
i don't know if i would be other pride but registration or
expand you need to fix
stuff that works but and that it should but thank you just work
and it's really nice to hire
right next everything is
automatically scale
it does what
but does it also thanks
does it get the size of a X I D from X
minutes or more
but it should
as long as it doesn't get the case size and believes that was like you
just
actually i think
there is one issue and when can doesn't currently okay to
twelve double size double but for so what okay and was asleep kind of excellent
my
which you can use you pictures and
what do you can ace
which toolkits
well right now it's just
okay two or three two am in three a to your whatever you whatever work
because it
has the full set of for X wondering it guys
we don't wanna be alone
it does right and you doing because although i have that so
don't wanna do that
it's just kind of bad but
just wanted i already
i was wondering how this works with the hinting this car now
exactly the dpi that is gonna be
and working out or is it took to a it the other the other thing
i choose
thinking through a little bit about the clapped aside the ten
which is going to require or
we're gonna need to make sure that ten
when it's going to knows about the scale point to
huh
to do that
i mean really looked at it and i just assume that in the you know
that
but what if we just trucks care what to do when the technicians when as
you look
but there should be some
it's also the for matrix and everything i just have think more they share
so just kind of words statistically well in and well to it
slightly or my maybe give you a slightly different layout your widget sizes
because maybe a label was have extra later
or whatever and
we're gonna pick a different part
or want your phones where the metrics are slightly differently around and whatever
it's not a problem right now because we only support one
surface before per window so it's always to just one scale
but maybe we wanna okay having some way to
always get the same kind of
well did you think of a turning hitting a really want to go to the
like three or something
then that's right out of high dpi text
and various ways that those that
and what does it
i have not really thought about it
it's something we should maybe look at
maybe hunting doesn't really matter that size
i think actually practise it will be disable mostly
basic of origin of fonts the hands are not
there for that kind of size at least like
what the really details
manual point handing is just not enable and
forty pixel point awesome
so we kind of get away
as possible that we want to have
we used to
declare your fonts metric intense whatever one on widgets
try to make in exactly the same on different scales
you know
and something to work well worth looking into
actually but not did a lot more content for
crow i guess but we can ask
here
more question
and they brought first ask me excuse you're gonna talk another and a for firefox
actually passed this
kind of hidden but if we make that scale that we all the detect
make that
and
make that available
but
very see okay
so the this is layouts use S them pixels per pixel
if you set that to choose that makes basically needs to scale
every pixel by to
if we just get gave the finals all people way to we the current scale
should be simple melodies pick that up
and it more
that's it's extension you have it's not going upstream a like if you propose that
in the stack or anything
not really i mean if you look at how all multiple
that's you know alternative things work on the web right now it's like this horrible
mismatch of
defined everything
there's like and javascript the runs
and rewrites that you're always the one
problems all over the don't felix for images and places them that or do you
know this way
maybe i mean
and it's nice a that
i wanna be a
and indexation this