-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
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
[WIP] move 'x11' to 'drivers/' directory #16744
Conversation
sorry, I know you will kill me for this, |
I know this will easily devolve into a bikeshedding exercise but I'd like to offer one argument against the 'freedesktop' name, even though I originally came up with it: Splitting out the X11, Wayland, and Dummy renderers and audio drivers and whatnot should eventually lead to the killing of the 'server' platform entirely. At that point building a server binary with a 'freedesktop' target seems to make little sense. If you don't think this is important I'll rename the platform and this is the last that has been said of that :) |
I think "freedesktop" doesn't make sense for most people who are not very familiar with the Linux and *BSD ecosystems. I don't see Windows users with custom libraries bothering supporting a "freedesktop" platform with custom builds, while "linuxbsd" is already clearer about what is being supported in end user terms. From the definition of freedesktop.org:
--> It's focused on desktops, and on X11. |
COPYRIGHT.txt
Outdated
@@ -88,7 +88,7 @@ License: Apache-2.0 | |||
Files: ./platform/android/power_android.cpp | |||
./platform/osx/power_osx.cpp | |||
./platform/windows/power_windows.cpp | |||
./platform/x11/power_x11.cpp | |||
./platform/linuxbsd/power_x11.cpp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should move it up to keep the alphabetical ordering.
@akien-mga well, Wayland is a freedesktop.org project. :) I like.... pink 🤣 |
BTW, eventually (not in this PR) we'll have to add support for multiple export platforms sharing the same platform code. Currently to export to FreeBSD, you have to override the Linux X11 official template with your custom FreeBSD one - ideally we'd give FreeBSD and OpenBSD the possibility to have their own "FreeBSD (X11)"/"FreeBSD (Wayland)"/etc. entries in the export manager. Whether we should ship official templates for them is to be determined, but we should at least make it possible to export to those platforms without hacks. |
@akien-mga I agree, I'll see if I can do some work on that also. Please note however that there will not be separate export templates for X11 and Wayland. This will be determined at runtime (like it works for SDL, GTK, and QT). We will not link to Wayland or X11 libraries directly anymore on the released binaries but instead dlopen() the libraries when they are required. Wayland/X11 libraries will be build-time required but runtime optional. |
That's perfect :) |
690bc14
to
bb7c3c0
Compare
This is the first step towards teasing the X11 windowing driver out of the platform/ directory and into the drivers/ directory.
f4ba2c9
to
c430e1f
Compare
This is still a WIP, commit message will be changed before PR is finalized
Any status / updates on this? |
Closing as this will have to be redone from scratch, probably for 3.2 as we're running out of time for 3.1. |
@akien-mga you mentioned it is necessary to implement this from scratch. For an experiment @wmww and I really want that to work. Currently merging that code on master and trying to make it work. Was there something entirely wrong with the implementation from this PR? Or does it just need some love to work with current master? |
This PR implements a new 'freedesktop' platform and moves the X11 specific code to 'drivers/'