Originally posted by oiaohm
View Post
Announcement
Collapse
No announcement yet.
Microsoft Makes Open-Source Windows Forms, WinUI, WPF
Collapse
X
-
Originally posted by oiaohm View PostNo this is because you are a idiot not all changes with wayland are because of security.
Wayland developer got rid of the root window idea and attempt to force usage of relative addressing purely because of the following.
1) due to X11 issues relative addressing between your own windows works on X11 where using the global relative addressing can be unpredictable so majority of X11 programs are coded to use relative addressing this is why GTK setting returned address value to 0,0 under wayland effects less than 10 percent of GTK applications. Basically no need to duplicate something that is already broken.
2) it fixes a graphical problem.
Originally posted by oiaohm View PostYou are using global relative addressing(x11 root window) the following problem happens.
Your program is attempting to draw a pop up window while user is moving window and is using the global relative addressing. The pop up fails to appear above the window and fails to stay in the right location as window moves.
Must be autistic developer to want to change an established thing.
Originally posted by oiaohm View PostWeasel you have not read what the key objectives of Wayland were or you might have worked out that there was another reason why particular features are not gone but now just hard to use. Global relative address to current screen under wayland has just been made harder to use because you should be avoiding using this due to the graphical problems it can cause.
Programming basic concepts against Wayland is like pissing against the wind.
Comment
-
Originally posted by Weasel View PostIt doesn't fix anything since YOU said you can workaround it with an invisible root window.
Originally posted by Weasel View PostThat's exactly how a popup is supposed to behave, not automatically track a window.
Originally posted by Weasel View PostThose aren't problems. Those are intended behavior.
Originally posted by Weasel View PostProgramming basic concepts against Wayland is like pissing against the wind.
Global relative address is a limit usage case with X11 applications. Majority are running on relative addressing to own windows. So when wayland was designed that is the way it designed.
Comment
-
Originally posted by oiaohm View PostGTK, Qt your major toolkits don't work around it because majority of cases you don't need the positioning information other than relative to own window.
Originally posted by oiaohm View PostThat is not in fact the case.
Originally posted by oiaohm View PostHistory of X11 its not intended behaviour at all. Its broken behaviour due to broken protocol.
Originally posted by oiaohm View PostWho programming basic concepts. Windows ones right. Wayland is build from X11 toolkit basic concepts include how a pop up should behave. When you are rewriting a protocol you might as well modify so toolkits are not working around limitations over and over again wasting tones of cpu time in the server and client.
Global relative address is a limit usage case with X11 applications. Majority are running on relative addressing to own windows. So when wayland was designed that is the way it designed.
Child windows have relative coordinates. That's normal, and applies not just to Windows, but also X11. A top level window is the CHILD OF THE SCREEN or "root window". Hence its coordinates are ABSOLUTE (or relative to the screen/root window, which is the exact same thing). This is called simple logic.
Comment
-
Originally posted by Weasel View PostThat's the lamest argument I've ever heard because they could (or already do?) the same thing on X11 (i.e. not allowing to access root window unless you go out of your way to do it). Frankly nobody gives a shit about the toolkits, it's probably why Wayland is so piss poor since it assumes apps use those garbage..
Originally posted by Weasel View PostYes, Windows is sane. Its "root window" is the "screen" which obviously makes total sense.
Originally posted by Weasel View PostChild windows have relative coordinates. That's normal, and applies not just to Windows, but also X11.
This surprises by different X11 windows managers is why wine requires its own virtual desktop that is renders and places everything inside it. Yes so wine can work no matter the WM the user decide to use..
Originally posted by Weasel View PostA top level window is the CHILD OF THE SCREEN or "root window". Hence its coordinates are ABSOLUTE (or relative to the screen/root window, which is the exact same thing). This is called simple logic.
Read down here note the word Absolute next screen. You are not required under X11 to have you screen positioned at 0.0. Screens under X11 are positioned in the X11 root window where ever the configuration told them to be. With DPI differences between screens this turns into a migraine and a half to display right. Yes it legal to overlap screens as in X11 like half down the middle.
Its in fact possible and legal on X11 server to position you screen with a negative address. Wayland you get full screen top displayed corner on screen will be 0.0.
Weasel stop presuming X11 has the same rules as windows. X11 rules are way into insanity.
Root Window is not a child of screen under X11. Screen is a Child of the X11 Server Root Window under X11. Root window under X11 is created before any screen is registered.
Wayland all surfaces/window are in fact a child of a screen/output and you get informed if your window has been moved between them.
Wayland a ghost window is in fact a child of a display/screen. So doing a wayland ghost window method in fact gets you closer to windows way of doing things. You get rid of the X11 protocol surprises.
Comment
-
Originally posted by debianxfce View Posthttps://www.bountysource.com/issues/...out-x-on-linux
"It is very unlikely that Wine is going to support Wayland in the same way as X. I worked on a Wayland driver for Wine some time ago, but discontinued the idea because Wayland lacks many features that are expected by Windows programs.
"
Originally posted by Michael MüllerOne problem is for example that a program can not specify the location of a newly created window. This doesn't sound very problematic at first, until you notice that drop-down / popup menus are also just normal windows on Windows. The solution that Wayland provides for this is not really compatible with the Win32 API. I therefore talked with some Wayland developers and there is no chance of fixing this in the future. It is part of their concept that applications should not have control over the window position and similar settings.
Also you don't want the wayland backend for wine done exactly like the X11 one.
Search the apa for scale. Notice wayland allows you to specify that the output will be scaled. Wayland version could gain the means to scale old application graphics up for newer HDPI screens and beyond.
Here is the fatal problem with both Weasel and debianxfce is Michael Müller the current Wine Wayland developer?
The answer is no he is not Alexandre Julliard is the current Wayland developer who is also working on the Android port. Alexandre picks up the Wayland work after Michael gave up on it. Michael Müller had quit on wayland support well before jan 2017. Alexandre is working on wayland support in Wine November 2017.
Originally posted by debianxfce View Post" We currently have no plans to support Xwayland.
Aaron Plattner
NVIDIA Linux Graphics
"
https://www.phoronix.com/scan.php?pa...L-NVIDIA-Patch
Current XWayland does support Nvidia drivers. Did it require any work from Nvidia no it did not. Just required someone to make Xwayland a little smarter.Last edited by oiaohm; 14 December 2018, 11:30 AM.
Comment
-
Originally posted by oiaohm View PostThis is not right for X11. Tiling and scaling windows managers ruin that as well. Window might have relative coordinates under X11 or you might have that scaling windows manager has decide that 2x equals 1x and 1Y equals 10Y. This is legal to be done to you under X11 giving you totally messed up relative coordinates.
When I mean absolute positions I mean by comparing yourself to other windows on the screen or root window. Basically you need to be able to compare your app's window with another app's window in absolute terms (relative to the root window).
Originally posted by oiaohm View PostGo read the X11 protocol. Root window is not child of screen under X11. Its the child of the X11 root window.
I don't care if the root window is the screen or not (that's a Windows thing). Obviously X11 is not tied to a screen, and it doesn't matter. The point is that you can't go outside of the root window -- but you can query positions absolutely within that root window. It's like a Virtual Machine. A VM can query absolute positions within itself. That's sane.
Originally posted by oiaohm View Posthttps://www.x.org/archive/X11R7.0/doc/html/DESIGN2.html
Read down here note the word Absolute next screen. You are not required under X11 to have you screen positioned at 0.0. Screens under X11 are positioned in the X11 root window where ever the configuration told them to be. With DPI differences between screens this turns into a migraine and a half to display right. Yes it legal to overlap screens as in X11 like half down the middle.
Its in fact possible and legal on X11 server to position you screen with a negative address. Wayland you get full screen top displayed corner on screen will be 0.0.
Weasel stop presuming X11 has the same rules as windows. X11 rules are way into insanity.
You don't have to imagine complex situations for where this is perfectly logical, just think of multi-screen displays. The main screen has 0.0 and the screen to the left is obviously negative territory. Perfectly sane, logical, and elegant.
A "screen" is a virtual term. It's not necessarily the display screen itself. In X11 it's the root window. In Windows it's a virtual screen encompassing all the monitors, or even less if it's a VM, etc.
Comment
-
Originally posted by Weasel View PostI'm not sure what your problem is. That's perfectly fine since a WM (and the user) should decide if he wants it stretched. This is why X11 is sane..
Originally posted by Weasel View PostWhen I mean absolute positions I mean by comparing yourself to other windows on the screen or root window. Basically you need to be able to compare your app's window with another app's window in absolute terms (relative to the root window).
Originally posted by Weasel View PostWhat? You basically just said "Root window is the child of the X11 root window". And water is wet. Thanks for the info..
This explains why wayland strictly tells you output. Including telling you that a surface is on 2 different outputs at times and this includes giving you the two different vsyncs if required.
Originally posted by Weasel View PostI don't care if the root window is the screen or not (that's a Windows thing). Obviously X11 is not tied to a screen, and it doesn't matter. The point is that you can't go outside of the root window -- but you can query positions absolutely within that root window. It's like a Virtual Machine. A VM can query absolute positions within itself. That's sane.
Wine has to be like a VM. X11/Wayland input has to be translated to windows style input so windows programs behave correctly.
You can have wayland subsurfaces on a ghost window you can have like wineserver tracking all the locations of those surfaces and the wineserver responsible for creating all the subsurface wine application use. Just like the existing wine virtual desktop window movement performed by wine it self so taking window placement out of the control of the compositor and putting it in wineserver control.
Yes the wine X11 virtual desktop creates a single allocated texture and renders everything itself and moves everything itself. But unlike the Wine virtual desktop under X11 the one on wayland can use the fact wayland allows sub surfaces to be normal drawing ordering stack. So the back of the virtual desktop can be 100 percent transparent to input and appearance on wayland. Back of the virtual desktop on X11 cannot be transparent.
Yes the wayland subsurface system means wayland version of a wine virtual desktop does not have to be one single surface.
Wayland does not make it impossible to query absolute positions from application point of view. Just makes you jump though hoops to have it.
Originally posted by Weasel View PostHuh? That's perfectly normal and logical. You can have negative coordinates in Windows as well, sounds to me like yet another failure of Wayland implementation trying to be the retarded kid in the block.
You don't have to imagine complex situations for where this is perfectly logical, just think of multi-screen displays. The main screen has 0.0 and the screen to the left is obviously negative territory. Perfectly sane, logical, and elegant.
It in fact comes important to build output to screen it being displayed on so you get the correct drawing results.
You in fact want your output surface on a monitor to have nothing around it. So that X surface a X dpi placed half off the side of the screen 1 is correct and X surface at Y dpi with the other half on screen 2 is also right.
Gluing everything into 1 large thing makes sense when everything was around the same DPI. But does not make any sense any more, Gluing everything into 1 large thing makes it really easy to lose what is output on X mentor and what is output on Y monitor.
So what you called elegant fails to function correctly on multi screens of different DPI or results in horrible work around. Windows has some quite complex work around to attempt to keep screens of multi dpi looking right.
Wayland protocol fixes a stack of problems. It creates one you have to work around.
Comment
-
Originally posted by debianxfce View Post
The wayland project is not smart at all. They are inventing the wheel again with poorer results and using wrappers like Xwayland is stupid when you have the original X working fine. The gnome3 project can not have even the gnome tweak tool as default. Using ubuntu 18.05 live with a 4K screen was a horrible experience, no built in tools to use with hdpi screens. You have hdpi themes and a font size edit box in Xfce Settings.
That is why Wayland was started. Wayland has started off with a very bare bone protocol intentionally hopefully to lay down a clean framework.
Some of the problems with X11 come from conflicting protocol defines. The worst rule is the fact the server and wm by X11 protocol is free to change, create, delete anything at any time without telling the application about it. This was important for a network protocol when connection could be lost. So WM moves you window from 0, 0 to 1000,0 and tells you it still at 0,0 and your place a pop up in the wrong place that is legal under X11 protocol.
Wayland protocol might be bar bones but its not a lieing pain that X11 protocol allows. X11 protocol need to be rewritten from the ground up without conflicts and without worst allowances. If the server tells your application something it better remain true.
Try doing absolute position and be true and have the window moving. You will soon work out you want absolute position that is always true to your application. Your application should be moving it windows itself.
Wayland stuff missing starts making sense once you start working out how would you avoid information race conditions. Some things should be processed application side that were processed server/wm side.
Comment
-
Originally posted by oiaohm View PostWith X11 you get get stretched values back one time and if the WM has stretched or stopped being stretched you get no notification of the change and your X/Y are now completely wrong. Yes it one thing for the WM decide he wants it stretched/non stretched but no requirement to tell client in protocol about state change or hide it perfectly from client not good.
WM can do anything it wants. It can erase all your files if it wants to. That doesn't mean the protocol is at fault, it means you should stop using malware or crap you don't want to. It's a software implementation thing, not protocol. I mean, the Linux kernel can do anything it wants too, including delete your entire filesystem if it wants when you call an innocent-looking module, even if it respects the interface and protocol.
Originally posted by oiaohm View PostWayland compositors are stack-able.
Originally posted by oiaohm View PostWayland does not make it impossible to query absolute positions from application point of view. Just makes you jump though hoops to have it.
Note that by querying absolute positions I don't mean position just of YOUR app, but of another app as well. Imagine one app docking onto another.
Comment
Comment