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