element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum Wayland preview
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 15 replies
  • Subscribers 666 subscribers
  • Views 957 views
  • Users 0 members are here
Related

Wayland preview

Former Member
Former Member over 12 years ago

"We’ve made the decision to bypass X completely."  -- Eben

"How *are* the teeth of that gift horse looking? Thank the lord for open-source dentistry."  -- Liz

 

http://www.raspberrypi.org/archives/4053

  • Sign in to reply
  • Cancel
  • johnbeetem
    johnbeetem over 12 years ago

    Yes, I saw that too.  One thing I like about RasPi is that it currently draws my X Windows graphics properly, as opposed to my Ubuntu 11.10 machine which sometimes has delayed rendering problems with diagonal lines and arcs.  They sometimes don't show up until I click the window's title bar, and I have no idea where in the Emperor's Old Clothes the problem might be.

     

    So when I read that an adaptation layer (XWayland) will be provided, I have misgivings.  When I read that Wayland flings images around instead of graphical objects, my misgivings intensify.  At this point, I'm wondering if the gift horse is really a white elephant? image

     

    [Edit: changed "Emperor's New Clothes" to "Emperor's Old Clothes".  Sorry about that, C.A.R.]

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to johnbeetem

    Yes, it sounds like existing X applications will need to use an adaptation layer,

    which will make them slower than they already are, but applications that use

    GTK or Qt instead of X can run without an adaptation layer, with the potential

    of a speedup.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 12 years ago in reply to Former Member

    coder27 wrote:

     

    Yes, it sounds like existing X applications will need to use an adaptation layer,

    which will make them slower than they already are, but applications that use

    GTK or Qt instead of X can run without an adaptation layer, with the potential

    of a speedup.

    OK, so what do they use for drawing graphics and text and clipboard, so I can bypass them as well?  I have my own adaptation layer, so it's easy for me to switch from Xlib and Xft calls to something else.  I've just haven't come across something that's given me a good enough reason to switch.  I've found Xlib and Xft on every GNU/Linux system I've ported to.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to johnbeetem

    from the faq:

     

    What is the drawing API?

     

    "Whatever you want it to be, honey". Wayland doesn't render on behalf of the clients, it expects the clients to use whatever means they prefer to render into a shareable buffer. When the client is done, it informs the Wayland server of the new contents. The current test clients use either cairo software rendering, cairo on OpenGL or hardware accelerated OpenGL directly. As long as you have a userspace driver library that will let you render into a sharable buffer, you're good to go.

     

    http://wayland.freedesktop.org/faq.html#heading_toc_j_3

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to Former Member

    "Will this be backwards-compatible with the 256MB Raspberry Pi Model B?"  -- Corbin Davenport

    "Yes. All the work’s being done by the GPU."  -- Liz

    "We’re still working to improve performance and memory consumption"  -- Eben

     

    gpu_mem=128

        How much memory to reserve for the VideoCore, i.e. framebuffers, GL textures,

    http://wayland.freedesktop.org/raspberrypi.html

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 12 years ago in reply to johnbeetem

    Funnily enough, if Pi becomes an early adopter of Wayland, it'll be a feather in its cap, because X11 has needed a major kick in the pants and some fundamental design changes for well over a decade now.  Some would say two.

     

    The many Wayland articles list a whole slew of reasons why X11 isn't adequate, but I've always considered a different one to be most important.  Single Points of Failure are bad engineering, period.  The fact that all the X11 applications connected to a given X11 server will die when the server drops is simply ridiculous.  It's not a primary goal of Wayland to remove SPoFs, but the project offers an excellent opportunity for it.

     

    Of course, with change comes pain.  You need Xlib and Xft on every system to ensure your app can be ported, and yes, that is an important issue.  On the positive side though, the Wayland people seem to be considering backwards compatibility with traditional X11 quite seriously.

     

    I like change (it's part of progress), and I think that this one is for the better.  Network transparency will come from a different angle, a remoting protocol, which I think is the right place for it.

     

    Morgaine.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to morgaine

    Wayland is stuck with a nasty chicken vs egg problem. As it's such a different beast it effectively breaks all the existing X11 apps, no users means no focus on developing it further etc.

    So they either spend lots of effort developing an X11 translation layer, or spend the effort on both QT & gtk+2 toolkits, and if either of those translations turns out to be under performant they could end up in trouble quickly.

     

    I can't see it solving your SPOF problem either.  It's, rightly IMHO, targetting the now usual scenario where the single user is tightly coupled to the single screen on his device. Far less of a client / server setup than X11 has. So when my device dies will I be particularly bothered that the app is still running ?  Doubtful, and recent generations have been well trained that a reboot cures everything, good or bad engineering has little to do with it.

     

    The bits I've read suggests they're going to use a version of the windows rdp protocol for their idea of network transparency. That's got upsides and downsides. It could mean that microsofts client will be able to connect to it and give lots of people a 'free' and well understood client experience. OTOH, I find the windows rdp stuff not so great, better than vnc certainly but still has it's issues - not that X11 doesn't as well.

     

    If you've ever used the NoMachine nxclient stuff you probably already know that it does a mighty fine job of overcoming X11's deficiencies, but it also has an interesting additional mode where you connect remotely to your NX server and it then uses rdp to connect to a windows machine. Oddly, this conversion of rdp to compressed X11 usually results in a better user experience over any type of slow-ish or high latency network than raw rdp.

     

    So change can be good, but needs doing right. Lots of change with either no visible user benefit, or worse with a performance hit from a translation layer, is unlikely to be seen as 'progress' by those pesky users who have a habit of voting with their feet image

     

    Still too early to tell for Wayland, but I think it's brave going for a very minimal desktop environment as currently implemented.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to Former Member

    coder27 wrote:

     

    but applications that use GTK or Qt instead of X can run without an adaptation layer, with the potential of a speedup.

    As both Qt and GTK are just toolkits that run on top of X11 today, you still need to port them to run on top of Wayland. That may be an easier option though and could mean that a lot of apps need little modification. Qt and GTK would also likely bring both Gnome and KDE along for the ride as well as most of the major apps.

     

    As both also have already been ported to Windows amongst other things, porting to wayland is potentially less of an issue than for anything that's tightly coupled to X11. The devil is in the details as always..

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to Former Member

    The big question, which I haven't seen answered, is whether there is much hope

    that Wayland will somehow improve rendering speed within a window.  It appears

    aimed mostly at improving the speed of dragging windows around on the desktop.

     

    We have been told for a long time that browser speed is slow because X11 isn't

    accelerated, but not to worry, when the GPU integration is done, browsers will

    run at full speed.  And browser speed is currently slow even when there is only

    one window open and you aren't dragging the window around at all.  So is there

    a plan to fix that? 

     

    If Qt and/or GTK are modified to target Wayland directly instead of running on top

    of X11, will that make midori run faster in a single window?  Will some other browser

    run faster by using Wayland?

     

    Morgaine mentions single points of failure, but I think that's the least of RPF's worries

    right now.  The were originally scheduled to have an educational release in 2011, then

    it slipped to 2012, and now we are in 2013 with the 2013-2014 school year starting in

    about 3 months, and they are announcing now that X11 applications are too slow,

    including Scratch, Python's IDE, and web browsers.  So they are going to eliminate X11

    from the desktop and have everything put back together for an educational release when? 

    And with what single-window benefit?  And with what increase in memory overhead?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 12 years ago in reply to Former Member

    coder27 wrote:

     

    If Qt and/or GTK are modified to target Wayland directly instead of running on top

    of X11, will that make midori run faster in a single window?  Will some other browser

    run faster by using Wayland?

     

    ...

     

    What is the drawing API?

     

    "Whatever you want it to be, honey". Wayland doesn't render on behalf of the clients, it expects the clients to use whatever means they prefer to render into a shareable buffer.

    From your earlier comment, it sounds like Wayland doesn't have any sort of drawing functions -- Wayland just manages overlapping pixel arrays and couldn't care less what's in them.  So Qt, GTK, and Xlib would need to target something other than Wayland, such sending OpenGL messages directly to the GPU.  I seem to recall that RasPi open-sourced the user-space calls needed to send OpenGL messages, and that Eben promised that the low-level interface would be documented at some point.

     

    So it sounds like a way to get high performance from a graphics application is for it to open an internal pixel buffer, send OpenGL messages to the GPU to draw to that buffer, and let Wayland overlap the window on the screen.  That's something worth looking forward to.  Meanwhile, I need to figure out how to do text in OpenGL.  It seem great for drawing triangles, but the last time I looked I couldn't find anything in OpenGL about text.  I assume it treats text as outline graphics, kind of like PDF, but I believe PDF converts renders specific fonts as pixel maps at some point so that it's not continuously calculating diagonal lines and Bézier curves.

     

    X11 has a lot more than graphics rendering.  There's also GUI input, window manipulation, and clipboard functions.  If I go to OpenGL and Wayland, I'll have to find out who will do these for me.  Fortunately, I suspect I'll have plenty of time to find out and meanwhile X11 works quite nicely for me on RasPi (and "pretty well" on Ubuntu 11.10).

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube