Announcement

Collapse
No announcement yet.

Will Wayland Become A New Desktop Standard?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by Cyberax View Post
    I wonder, can DBUS be used for Wayland instead of a custom socket protocol?
    It probably could but i guess DBUS isn't fast enough for that kind of operations.

    Comment


    • #12
      Originally posted by 89c51 View Post
      What puzzles me is why the people in graphics haven't already put X in bugfix only mode and dedicate resources in developing wayland.
      Because the graphics developers are not amateurs and realize that reinventing the wheel is a *lot* harder than just adding bells and whistles to an already-working wheel.

      Comment


      • #13
        Can someone please clarify for me?
        So Wayland will be bundled with both compositor and window manager.. What about all the window managers we know and love? Pekwm? Fluxbox?

        Comment


        • #14
          Originally posted by plonoma View Post
          The EGL and compositing sounds something that should be done in the Linux Kernel itself to be most efficient and integrated. Some kind of Linux EGL + OpenWF for compositing would greatly enhance compatibility and stability of applications.

          Same for opengl (+es). The Linux Kernel should have a official reference software library (+version) for that API. Windows has that. Now mesa is an unofficial software implementation.

          The LSB should ask for some improvements on the graphics side through use of EGL+OpenWF.
          Oh please no. The Linux kernel is big and complicated already without all of the things you would like to see implemented.

          Comment


          • #15
            Originally posted by renkin View Post
            Can someone please clarify for me?
            So Wayland will be bundled with both compositor and window manager.. What about all the window managers we know and love? Pekwm? Fluxbox?
            They are specifically X11 window managers and won't work. Actually, window management is done by wayland and window decoration by the clients, so there are no window managers needed anymore. From my understanding what has been the window manager can now become an implementation of a wayland server, server side decorations can still be used for those who want them - by telling the clients to not draw decorations and implement decorations in the server. Compiz for example wants to implement the wayland protocol.

            Comment


            • #16
              I don't see why so many people are up in arms about Wayland "replacing" Xorg, anyway....

              Correct me if I'm wrong, but:
              • Xorg is an implementation of the X11 protocol
                • The X11 protocol is for remote window management
              • Wayland is a compositing manager/protocol
                • It is for local compositing, programs manage their own windows (or allow an external lib/program to do so)


              Therefore, Xorg can be slimmed down to just the networking components and used for its original purpose, while Wayland can composite windows locally. Both handling one thing, and handling it well.

              Well, there are still a few loose ends (keyboard, mouse, etc. input management) which still need to be handled by whatever implements Wayland (unless they've already addressed that; I haven't been keeping up with the mailing list discussions), but if you can abstract that (and even if you can't), it still leads to a more streamlined implementation (and fewer bugs in Xorg--and Wayland compositors, eventually).

              Comment


              • #17
                Remember the "keep it simple" principle?

                Originally posted by MaestroMaus View Post
                Originally posted by plonoma View Post
                The EGL and compositing sounds something that should be done in the Linux Kernel itself to be most efficient and integrated. Some kind of Linux EGL + OpenWF for compositing would greatly enhance compatibility and stability of applications.

                Same for opengl (+es). The Linux Kernel should have a official reference software library (+version) for that API. Windows has that. Now mesa is an unofficial software implementation.

                The LSB should ask for some improvements on the graphics side through use of EGL+OpenWF.
                Oh please no. The Linux kernel is big and complicated already without all of the things you would like to see implemented.
                Exactly - absolutely no! Every reasonable person must understand that the only thing that makes sense to be implemented in the kernel is the low level mechanisms that abstract the hardware and facilitate multitasking, which is the very purpose of the operating system! Notice that WDDM is basically a copycat of DRI2. Wonder why? Because it's probably the most reasonable way to implement GPU multitasking.

                Lets have a look at multitasking in general:
                The idea is that running programs must not screw (neither accidentally or deliberately) each other - that means no messing with other than their own data or grabbing the hardware and doing whatever they want. That's where the "if I want to do something other than messing with my own stuff, I have to politely ask the OS to do that for me" mechanism (also known as "syscall") comes from.
                The graphics hardware is basically a computer on it's own (processor with integrated memory controller, memory and display controllers), so there needs to be a mechanism to manage the memory, submit commands and data (after checking it for correctness for the sake of security and robustness) and then get the results. Everything else (translating high-level API constructs to GPU's native machine language) belongs in user space libraries that the user programs link to, so that they properly use this low-level functionality on their behalf.

                Comment


                • #18
                  Keep it simple is nice and I'm doing just that. On a global level.

                  The X server and some things make it very hard for the distinction between userspace libraries and kernel stuff as you describe.

                  I'm for this distinction and think you're right about it.
                  Just not about what belongs to which one of the two.

                  I mean these servers do the window and other resource management! That is a resource management for programs! This stuff needs a standardized api set in the kernel! This is core operating system stuff!

                  According to your model, the X server and some other stuff should be in the kernel.
                  Because they make sure programs don't mess with each others window!


                  For application developers you need to standardize some official userspace libraries.
                  And that's why I'm talking about the LSB. You need to think about both sides here. Be complete you know! (I was only mentioning this to be complete.)



                  EGL is for sharing buffers between applications.
                  Okay it's better explained this way:
                  EGL? is an interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system. It handles graphics context management, surface/buffer binding, and rendering synchronization and enables high-performance, accelerated, mixed-mode 2D and 3D rendering using other Khronos APIs.
                  ...the underlying native platform window system.

                  This is something you want in the kernel. Because it handles the different windows. This is for managing and sharing contex and data between applications. Making sure they don't screw up each others data. And you want drivers to implement this core operating system functionality. That's another very solid reason to add it in the kernel.



                  Now let's take a look at OpenWF.
                  OpenWF? is a royalty-free, cross-platform API that provides a low-level hardware abstraction interface for composited windowing systems to make use of composition and display hardware. OpenWF is targeted primarily at handheld devices that require portable acceleration of composition whilst minimizing memory bandwidth usage and power levels.
                  This is an api that again is about resources and organizing the computers resources and hardware for applications. This is pretty deep level stuff and actually needs to be in the kernel. Also a standardized api like this enables kernel optimization and drivers that do hardware accelerated compositing on graphics cards. And the api for this is again about organizing resources for programs. Thus validating it's reason for being in the kernel.

                  Now to close this post.
                  EGL is coming, it's being implemented in mesa and used in Google Android!
                  And someone is implementing OpenWF over KMS.

                  --------------------------------------------------------------------

                  Linux has failed because it has some:
                  - bad design, it's improving
                  - is a moving target.
                  Having independent projects like X.server doing core operating system functions such as resource management only makes this worse.

                  - stability problems because of lack of maturity.
                  - stability and compatibility problems because of lack of solid userspace api's.

                  EGL and OpenWF help to solve these problems.

                  Comment


                  • #19
                    To make this easy to visualize what I've said in my earlier post.
                    Here's an image:
                    http://www.khronos.org/openwf/images/openwf-api-4.png

                    Comment


                    • #20
                      Operating Systems do not define certain rules. Its sole purpose is to make application development easyer for the programmer in the sence that it indeed makes the apps runnable on any computer. The second purpose is to make them all run at the same time in order to ensure maximum resource utilisation efficiency over time.

                      Well now, if a programmer can use a widget toolkit, OpenGL, bash commands, a language, etc., then why bother with the kernel API?

                      Maybe you'd be interested in Minix 3 (microkernel)? Or experiment with the less stable Mach/HURD (Debian has a distro version of it).

                      Comment

                      Working...
                      X