It is related to a mix of actual display resolution vs conversions to virtual resolutions (the scaled resolution), and use of single precision floating point calculations.
Essentially my understanding is what it is doing is storing the value needed to convert your actual resolutions number of pixels (2160p) to a virtual resolution number of pixels (2160/1.75 horizontally) but that gets you fractions of a virtual pixel. So instead of 1.75 it scaled by 1.75182… to get to a whole number of virtual pixels to work with. Then on top of that the figure is slightly altered from what we’d expect by floating point errors.
If you take the actual horizontal resolution 2190 and divide it by the virtual resolution it’s trying to use 1233 pixels, you need a conversion value of 1.75182… to convert to it so you don’t get fractions of a pixel. If you used 1.75 you’d get 1234.2857… pixels. So gnome is storing the fraction that gets you a clean conversion in pixels to about 4 decimal places of a pixel.
Full credit to rakslice at Stack Exchange who also goes into the detail.
CLI’s are likely not specifically the target. I suspect the CLI is just the “low hanging fruit” and core set of software that needs to be supported before you build up to a fully functional GUI apps.
Word of advice: do not do this to any device that you actually depend on. Linux enthusiasm is all fine and fun, but this will kill most practical functionality of your device. I’d say try it out on a old phone you might have laying around but not on your daily driver.
It was October 2018 and I had just completed a 3-month rehab program at a state addiction clinic in Sweden. I was unemployed, staying with family, and had basically nothing going on.
With no drugs or other vices to pass the time, the days seemed impossibly long. I struggled to find activities to fill them. I enrolled in school for a while, but it wasn’t for me this time either. Eventually I turned to programming, since it’s always been my big interest in life.
Until that point, my career had been focused on web browsers (WebKit at Apple & Nokia). However, I had always been interested in low-level things so I began tinkering with some of that. I wrote a little ELF executable parser… And an Ext2 filesystem browser… And a little GUI framework with an event loop…
Out of this tinkering, an operating system began to take shape. I chose the name SerenityOS because I wanted to always remember the Serenity Prayer. I was quite worried about my future at the time, and I figured that this name would help me stay on the good path.
My general idea was to build my own dream system for daily use. It would be a combination of my two favorite computing paradigms: the 1990s GUI and the no-nonsense command-line of late-2000s Unix.
Don’t misunderstand what a server means, however. Just because something is called a server doesn’t mean it’s not made for the desktop. It’s a technical term that doesn’t necessarily relate to networking, it might just relate to stuff like inter-process communication.
However, Wayland is designed for the desktop environment. It’s like the main reason why it replaces X11, which was designed for terminals.
My comment was mostly meant as a joke. I’m aware most of them use their networking capabilities for IPC and being able to use them remotely is just a cool feature resulting from that (except X11).
Linux is an everything OS with whatever features you want/need. Do you need a hardened enterprise server? Linux got you. Do you need a user friendly OS for even non-technical people? Linux got you. Do you need something that can do a little of everything? Believe it or not, Linux got you.
I know this is a joke comment but Linux is for sure an enterprise kernel first and foremost. It did not start that way but that is how it has been developed and managed for many years now. Maybe the most incorrect thing anybody has ever said on record in the computer industry is when Linus said Linux was “not going to be anything big and professional”.
Linux distributions, which are conceived and managed totally independently from the kernel are available for every niche. Many of them are desktop and “consumer” oriented. With many Linux distributions, I would say that it is more accurate that they are hobbiest oriented more than what Microsoft would mean be “consumer”.
embedded windows in the japanese arcade scene has been working fine so far. for example, most of bandais arcade machines in the past like 7 yaers or so basically run embedded windows.
it was a benefit to non arcade users because a majority of games that were on those machines eventually got pc versions, or a new game on pc for the first time (e.g Tekken 7, Taiko No Tatsujin), where historically, theyve basically never been on PC officially.
So let me get this straight – your defense of Microsoft, in this instance, is Japanese cabinet makers, making arcade machines, where the user doesn’t interact with the operating system in the slightest bit? A Japan that still faxes even in modernity? That’s your defense of MS? I bet they aren’t even using a special build of windows — just the desktop schlock with some shitty 3rd party app on top.
im not defending mocrosoft at a whole, im just saying windows embedded isnt as bad as you actually think it is, and consumers benefitted from it more than it not
A Japan that still faxes even in modernity?
what a country does has barely anything to do with rhis context. thats like saying the U.S is shit because they didnt have tap to pay until Covid happened, whoch other countries have been usong for a decade before, or having terrible public transportation and internet infrastructure, and in the latter case, basically invented it.
That’s your defense of MS? I bet they aren’t even using a special build of windows — just the desktop schlock with some shitty 3rd party app on top.
that shows how ignorant you are with it because all of the games arent directly ported. look into the efforts required to port Gundam Extreme Versus 2 on teknoparrot. if it was a native game, then they wouldnt have to jump through as many hoops as the game doesnt have a PC port (nor any of its predecessors have ever had one)
I don’t know that Microsoft has any business trying to make Windows support these devices better…
Windows is entirely built around two pillars:
Enterprise support for corporations, and team machine management
Entirely open compatibility so they can run almost any hardware you put into it, plug into it, and backwards compatibility for all that for as long as possible.
Portable game machines are not an enterprise product. Nor do you care about broad hardware support or upgradability. Nor do you care about plugging in your parallel port printer from 1985. Nor do you care about running your ancient vb6 code to run your production machines over some random firewire card.
Windows’ goal is entirely oppositional to portable gaming devices. It makes almost no sense for them to try to support it, as it’d go against their entire model. For things like these, you want a thin, optimized-over-flexible, purpose built OS that does one thing: play games. Linux is already built to solve this problem way better than Windows.
But, Microsoft will probably be stupid enough to try anyway.
When I was part of the KDE marketing working group, we always talked about 5% being the magic number. If we hit that, then the avalanche of ported and supported third party software starts. It’s a weird chicken and egg thing. Looks like we’re close!
I installed Linux and the feeling of freedom and privacy hit me so hard that I immediately began committing crimes, knowing that the FBI could never track me. Piracy, sexual assault, trademark infringement, petty larceny, tax fraud, you name it. I also own several fully automatic firearms even though I live in the state of California, but it doesn’t matter. Ever since I removed Windows 10 from my computer and replaced it with Arch Linux, and began using a PinePhone as my daily driver phone, police can’t even stop me in traffic. Windows may have a lot of video games, but the benefits of Linux should not be understated.
Jesus, it’s so inconsistent. I suppose that may be beneficial when looking at all of your folders at a bird’s eye view but my knee jerk reaction isn’t the most positive.
Wayland has fixed so many head-scratching issues I would get running 6 monitors on 2 GPUs under X11. I’d often end up with missing monitors, placed in wrong spots that I’d have to rearrange every reboot until an update would come through that would fix it again for a few months, then all over again.
Since I moved to wayland, everything just works. When it doesn’t, it’s not a display server issue, it’s something physical. I just had a couple monitors fail to show up and thought “oh hell, it’s back to this, eh”. But I open the tower, seat the offending GPU better, and everything comes up like normal, and all the screens are in the right position, it just remembers.
Anyone that thinks X11 is still superior probably runs on a laptop with a single screen.
I mean I’m fully with you on the fact screen autodetect isn’t stellar on X but there’s no need to exaggerate with “2 or 3 scripts”. It’s one xrandr command.
Ive seen several devs do that, and also some of my gaming friends have 3 monitors.
I barely know anyone who only has a single display. Most people I know have one high refresh rate monitor, and one office monitor for discord and the likes.
I have 2 75hz and a 240hz. It’s been alright for me on kde and x11. Although, I do want to give this Wayland thing a shot after hearing it being brought up so many times
Applications needs some coordination between each other in order to act like you would expect - things like one window at a time having focus and thus getting all keyboard and mouse inputs. As well as things like positioning on the screen and which screen to render to, the clipboard, and various others things.
X is a server and set of protocols that applications can implement to allow all this behaviour. X11 is the 11th version of the server and protocols. But X was also first created in 1984, and X11 since around 1987. Small changes have been made to X11 over the years but the last was in 2012.
Which makes it a very old protocol - and one which is showing its age. Advances in hardware since then and the way we use devices have left a lot to be desired in the protocol and while it has adapted a bit to keep up with modern tech it has not done so in the best of ways. I also believe its codebase is quite complex and hard to work with so changes are hard to do.
Thus is has quite a lot of limitations that modern systems are rubbing up against - for instance it does not really support multi cursors or input that is not a mouse and keyboard. So things like touch screens or pen/tablets tend to emulate a mouse and thus affect the only pointer X has. It is also not great at touchpads and things like touch pad gestures - while they do work, they are often clunky or not as flexible as some applications need.
It is also very insecure and has no real security measures in place - any GUI application has far more access to the system and input then it really requires. For instance; any application can screen grab the screen at any point in time - not something you really want when you have a banking web page open.
Wayland is basically a new set of protocols that takes more modern hardware and security practices in mind. It does the same fundamental job as X11, but without the same limitations X11 has and to fix a lot of the security issues with X.
One big difference with X though is that Wayland is just a protocol, and not a protocol and server like X. Instead it shifts the responsibilities of the X server into the window manager/compositor (which used to manage window placement and window borders as well as global effects such as any animations or transparency). It also has better controls over things like screen grabs so not every application can just grab a screen shot at once or register global shortcut keys or various things like that. Which for a while was a problem as screen sharing applications or even screenshot tools did not work - but over time these limitations have been added back in more secure ways than how X11 did them.
Additionally any application using a GUI toolkit (like kde, qt or gtk etc) only needs to to update to a version that has native Wayland support. Which means most applications already support it. At least if they don’t use any X11 APIs directly (which is not that common).
linux
Top
This magazine is from a federated server and may be incomplete. Browse more on the original instance.