Announcement

Collapse
No announcement yet.

Trying Out Unity 8 + Mir On Ubuntu 17.04

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

  • #21
    Originally posted by bitman View Post
    All this hate... Why do you people even care? Do you want to be ubuntu user but mir will be a show-stopper? Probably not. They are free to do their own thing. Everyone is praising how awesome linux is because it is all about choice. Now you are given more choice and you go like "omg nooo choice nooooooo". Wayland having some competition is a good thing. Do not believe me? Remember how firefox (just like any other browser) sucked in pre-chrome era? When chrome came around all of the sudden firefox started improving in giant leaps. Same thing is happening to gcc due to clang being a serious competition. Xorg did not have a serious competitior. Add that to all the legacy and it turned into that sad ball of code that somehow and somewhat works. Really we should just mind our own business because it is not our place to tell what company XYZ should do.
    Firefox improving... yeah, improving in the "not listening to their actual users" part. Lately, they just ignore their current users and developers which is also why lots of major add-on developers/companies have announced that they will stop developing for FF. Mozilla didn't even try to engage in that. It's also still a resource hog (BUT before you say anything: Chrome/Chromium is a resource hog too, so they're both incompetent in that regard!).
    So no, Firefox is not really improving. They're actually disimproving as they're turning their backs at their userbase/developer base. Which is also what Canonical is doing up to some degree. Of course, competition is good but when the competition (in this case Mir) is light years away from being as useable as the de-facto standard (in this Wayland)... well, you know, that doesn't really help the de-facto standard improve.
    Last edited by Vistaus; 24 March 2017, 06:18 AM.

    Comment


    • #22
      Michael, thank you for the nice review of an unreleased version of a preview of a product still under development.

      I'd like to respond to a few points.

      Some applications fail to launch

      There are a few factors at play here.

      First and foremost, there's a ship-stopper bug in the latest upstream GTK+-3 drop that just landed in Zesty Zapus a couple of days ago. The bug is effectively a bit of code that goes something like "if (!GNOME) loop_forever;" and affects all applications that use GTK+-3, which includes all KDElibs applications (KDE has to pretend to be GNOME for cross-desktop compatibility purposes, because that's how the politics worked). This is a problem on Unity 8, because Unity 8 is a complete Desktop Environment, not just a fancy shell running on the GNOME Desktop Environment like Uniy 7 was, and does not run some of the background daemons that GTK+ applications expect. A fallback in code to the GNOME assumption is that applications can read the state of other applications through the display server (X11 or Wayland) and will avoid the loop_forever() that way, but in Unity 8 we consider the ability to read the state of other applications a privileged operation with extreme security implications, and Mir does not support that security flaw by design. Canonical's GTK+ developers are working on a patch.

      In a similar vein, some applications are hard-coded to assume X11. This includes a swath of popular applications that use GTK+-2 still, such as GIMP and Firefox, games using OpenGL (which usually assume GLX), and raw X11 toolkit applications (xeyes, what ya gonna do). Even worse is some applications that try to use Mir but still make X11 calls elsewhere. Running a system-wide X11 service by default (the Wayland solution) is a goatse-gaping security hole and we will not do that in Unity 8. Our strategy is to run a separate firewalled X11 service for each application (defined as a group of processes collected together in a single cgroup), but figuring out when to run that service is a little tricky, because you can't tell just by looking whether an application requires X11 or not. Work is ongoing, but is unlikely to make the final freeze for Ubuntu 17.04 so in the mean time we may just end up running an Xmir server with each app that gets launched, just in case and as a temporary workaround. There is also the well-established (on mobile devices) way of using a Libertine container to run old X11 applications.

      Finally, just typing the name of an executable from the command line will usually fail to launch a GUI application in a modern system. A personal computer that is potentially exposed to the harsh wild internet without benefit of layers of DMZs and firewalls isn't a remote server safe in a rack behind security glass and a 24-hour security guard. Most people will launch their GUI apps from a GUI launcher (like the Unity 8 shell), and if they insist on using the command line (like I do) they'll need to use a launcher program so that the correct containment can be set up and possibly helper applications like an X11 service can be spawned. It's not a new concept: try running a GUI application from the command line on Mac OS X. On most non-Unix-based operating systems, like for example VMS, you had to type 'run' to run a program rather than just typing its executable's file name. You'll need to get used to it in the new world of personal computing, or pressure your software vendor to provide a wrapper script to launch your favourite application.

      I can't take a screenshot

      Well, pressing PrtScrn having your system freeze sounds like a bug to me. I mean, it works on all my machines here, even on my phone and tablet (where holding volume down and volume up at the same time does the same thing). We get plenty of bug reports that include screenshots so it seems to work elsewhere. Maybe you found a bug and need to report it.

      On the other hand, I wouldn't expect existing screen-scraper programs to work. In Unity 8 we consider the ability to read the screen output of other applications a privileged operation with extreme security implications, and Mir does not support that security flaw by design. We're working on some similar functionality that can be vetted through proper authentication channels.

      Xmir is not ready

      Sure it is, it's been working on phones and tablets with Libertine since they came out and it works fine on the desktop, too. You're just not using it because we do not run a system-wide X11 service like all the other Desktop Environments do. Running a system-wide X11 service is a well-established security hole.

      Xmir has a few bugs, and there are a number of window management bugs that show up when using some X11 applications with wacky corner cases, because the window management models differ (Uniy 8 does not allow absolute positioning on the screen or key grabbing, because those are easily exploitable security holes). On the other hand, we can cut and paste between Mir and Xmir applications and have been doing so for some time on shipping devices.

      Mir is taking too long, you should have used Wayland

      Mir is a display server. Wayland is a protocol. They are not similar objects and are not comparable. Mir has been shipping for years now, and if Canonical had chosen to implement Mir using Wayland instead of not using Wayland, it probably wouldn't have shipped as early as it did. Few users give a hoot about the wire protocol used to communicate between the program they're running and the program that's compositing their screen, and those that care so ardently as to anonymously post hate on the internet, well, they probably kick puppies too when they think no one is looking.

      Unity 8, on the other hand, is what has been taking years to get on the desktop. That's not because of Mir, it's because it's an entire Desktop Environment redesigned from the ground up to address the flaws of existing Desktop Environment in the face of harsh modern threats and usage, not what people used in their disconnected tower PCs in the 1990s. Unity 8 is not just a desktop shell running in an existing desktop environment like Unity 7 was. It's breaking new ground. Getting this right so that people can just switch and be productive in the first few minutes (and after several hours still) is a big job. It takes time and a lot of mistakes to get it right. After 4 years, we're getting there.

      Don't think for a minute that Mac OS X or Windows XP appeared over night when it was publicly announced. Those environments took years to develop in quasi-secret behind closed doors. The difference here is that it's all Free software that you can see being made. Free Software is kind of like sausages: delicious and satisfying but it can be a little disturbing to watch how it's made.

      I'm excited about the amazing multiple-monitor multiple-workspace story landing soon. Ubuntu 17.10 is going to be good, and I have a lot of confidence right now that Unity 8 is going to be ready to be the default Ubuntu desktop environment for Ubuntu 18.04 LTS.

      Comment


      • #23
        Unity 8 and Mir doesn't excite me. It is immature and redundant.
        I am much more excited by GNOME on Wayland, with the classic extensions.

        Comment


        • #24
          Originally posted by Vistaus View Post
          competition is good but when the competition (in this case Mir) is light years away from being as useable as the de-facto standard (in this Wayland)...
          This is just bullshit. Mir is progressing nicely, it's more than just a protocol, it's a display server.

          Originally posted by Vistaus View Post
          well, you know, that doesn't really help the de-facto standard improve.

          Windows is standard on Desktop, so maybe you should drop Linux altogether on your machines.



          I may sound like an Ubuntu fanboy on this forum, I'm not. I'm interested in free software and it's developments, but you guys have to admit that you are ridiculously biased against Canonical and you are doing more damage to this community than helping with this toxic behavior.

          Comment


          • #25
            Originally posted by bitman View Post
            All this hate... Why do you people even care? Do you want to be ubuntu user but mir will be a show-stopper? Probably not. They are free to do their own thing. Everyone is praising how awesome linux is because it is all about choice. Now you are given more choice and you go like "omg nooo choice nooooooo". Wayland having some competition is a good thing. Do not believe me? Remember how firefox (just like any other browser) sucked in pre-chrome era? When chrome came around all of the sudden firefox started improving in giant leaps. Same thing is happening to gcc due to clang being a serious competition. Xorg did not have a serious competitior. Add that to all the legacy and it turned into that sad ball of code that somehow and somewhat works. Really we should just mind our own business because it is not our place to tell what company XYZ should do.
            I'm happy for Canonical to do whatever they want in their own 'ecosystem,' and in fact I do already use Mir daily on my Ubuntu Phone.

            However, unlike with systemd, upstart, sysv, etc, a lot of toolkits and some applications need development and testing to make them dependant on Xorg so that they can use Wayland (at least if Xwayland is not an option, like for compositors and the like). Having Mir as well means more time has to be spent in development, testing and bug fixes specifically for Mir, additional Mir-specific code paths that have to be tested and maintained, etc.

            Quite often that extra developer time simply isn't available, since very few open-source projects have paid developers and it's difficult to attract people to work on something they don't see a direct benefit from (see 'dog-fooding'). Supporting Mir would be in that category for a lot of people and that's where some of the problems stem from.

            One example of the above is KDE Plasma, where Wayland is being worked on right now and Mir won't be supported due to the additional burden of development, testing and maintenance. See https://blog.martin-graesslin.com/bl...ir-in-kubuntu/
            Last edited by ResponseWriter; 24 March 2017, 09:46 AM.

            Comment


            • #26
              A lot of negative comments here for bugs which could be solved in 6 months without problem. The problem with both titlebar and header bar could be solved very fast. The only thing they need to implement is for ability of widget tool kits to set widget instead of the titlebar.

              Definition: Gtk::Window::set_titlebar(Widget& titlebar) -If you set a custom titlebar, GTK+ will do its best to convince the window manager not to put its own titlebar on the window.
              It seems that Mir wasn't convinced.

              Apps not launching isn't such a big deal as it seems.

              Comment


              • #27
                Originally posted by paupav View Post
                A lot of negative comments here for bugs which could be solved in 6 months without problem. The problem with both titlebar and header bar could be solved very fast. The only thing they need to implement is for ability of widget tool kits to set widget instead of the titlebar.

                Definition: Gtk::Window::set_titlebar(Widget& titlebar) -If you set a custom titlebar, GTK+ will do its best to convince the window manager not to put its own titlebar on the window.
                It seems that Mir wasn't convinced.
                Yes, Unity 8 does not allow applications to draw outside of their window (which is required for client-side decorations to "work"). Imagine if just any app could draw something that looked just like your password input dialog box and slap it right in the middle of your screen. Or maybe just a flashing message box saying "You're computer are effected with a virrus!!1!" and clicking "Oh Noes" downloads and installs a trojan -- like happened on Microsoft Windows 98 for years.

                Client-side decorations are great for application developers in that they let the dev do anything they want with your desktop. Unity 8 has a nice workaround in the pipe that will let legitimate CSD usage appear and work properly in a safe way and the illegitimate uses will break before they can do harm. It turns out it's hard, because developers don't want to give up the freedom they have to easily pwnzor your system. Just ask your microwave as it watches you make lunch.

                Comment


                • #28
                  Hey, thanks for a clear review of the Unity8/Mir situation Michael. I didn't know a lot of that stuff

                  Comment


                  • #29
                    Originally posted by bregma View Post
                    Michael, thank you for the nice review of an unreleased version of a preview of a product still under development.

                    I'd like to respond to a few points.
                    ...
                    I'd like to respond to a few of your points:
                    Michael, clearly stated that MIR and Unity 8 aren't default yet.
                    This being an enthusiast website i think that a review makes perfect sense, wouldn't you agree? Now people know the state of things, whatever that state may be. As you said yourself, "Free Software is kind of like sausages: delicious and satisfying but it can be a little disturbing to watch how it's made.".

                    Now my 2 bucks on Unity and MIR:
                    -I remember Ubuntu 10.10 (the last one i actually used). At that time Canonical used to keep improving Gnome 2 and adding stuff that sould've always been there. Unfortunately the Gnome folks were slow to adopt Canonicals great contributions into upstream, and that certainly had bad effects on the development of Ubuntu.
                    Then Gnome 3 came out and it was unstable and incomplete, to say the least. Canonical was forced to make a choice and made the right one by creating Unity, IMO.
                    But the problems started there: by not listening to it's userbase and allowing simple, basic stuff like moving the Unity bar to the bottom or enabling/disabling auto/hide, they basically alienated their users... They effectively did something similar to the Gnome folks.
                    -Then we have Wayland. While Wayland is a protocol and MIR is a compositor, comparing them is natural/fair because to use Wayland we have to use a Wayland compatible Compositor and Canonical chose MIR over Wayland. At the time Mark's excuse was that there were impossible to achieve with Wayland, which turned out to be a lie. Nowadays the excuse seems to have shifted into trying to make it look like it's faster make a compositor from scratch than contributing to a nearly finnished protocol and adapting it's proposed compositor with the changes you need...

                    But the worst of it all: is that they didn't have to make Unity and Gnome incompatible. Or Unity and Wayland incompatible. But they did, because they suffer from the 'not developed by us' syndrome. It's a thing, and all one has to do is look at the facts critically.

                    Bottom line: it's not really what they do, just HOW they do it...

                    Comment


                    • #30
                      Originally posted by nomadewolf View Post

                      I'd like to respond to a few of your points:
                      Michael, clearly stated that MIR and Unity 8 aren't default yet.
                      This being an enthusiast website i think that a review makes perfect sense, wouldn't you agree? Now people know the state of things, whatever that state may be.
                      Yes, I agree. I was being sincere and heartfelt. I appreciate that Michael did not gloss over or hold back on flaws, and that he did express appreciation for good points too. This was neither a fanboi review nor a hater screed but a neutral report of one user's experience at one point in time before release.

                      Comment

                      Working...
                      X