Meta tags:
description= ideas - software - open-source development;
Headings (most frequently used words):
wayland, on, chromium, ozone, posts, tiago, vignatti, oculus, quest, gbm, explained, video, browser, developing, welcome, to, ui, customization, the, damn, small, api, starting, development, qt, howto, hi, links, recent, archives, books, ve, been, reading, navigation, footnote, about, canonical, mir,
Text of the page (most frequently used words):
the (213), and (134), wayland (101), for (56), that (52), with (35), shell (33), #chromium (32), you (29), are (26), ozone (25), graphics (25), will (25), there (25), weston (24), protocol (24), this (21), all (20), one (20), system (19), client (19), other (18), but (18), now (16), have (15), api (15), can (15), need (14), libxcb (14), different (13), not (13), has (13), development (12), tiagovignatti (12), clients (12), like (12), server (11), october (11), more (11), here (11), computing (11), some (11), which (11), applications (11), its (11), how (11), window (11), x11 (10), browser (10), 2007 (10), work (10), about (10), well (10), very (10), xorg (9), input (9), 2008 (9), your (9), systems (9), export (9), get (9), dev (9), developers (9), they (9), way (9), xwayland (9), would (9), special (9), comments (8), already (8), 2012 (8), make (8), small (8), org (8), set (8), use (8), using (8), application (8), what (8), just (8), also (8), such (8), community (8), core (8), project (8), therefore (8), desktop (8), web (8), functions (8), plugin (8), vignatti (7), code (7), chrome (7), june (7), 2010 (7), 2013 (7), 2014 (7), devices (7), compositor (7), run (7), out (7), want (7), don (7), our (7), give (7), only (7), etc (7), architecture (7), tiago (6), linux (6), march (6), september (6), december (6), 2009 (6), 2011 (6), developing (6), video (6), quest (6), minutes (6), first (6), then (6), libraries (6), from (6), needed (6), git (6), should (6), qtdir (6), when (6), any (6), implementation (6), task (6), these (6), because (6), rather (6), interface (6), where (6), their (6), content (5), com (5), february (5), july (5), say (5), gbm (5), github (5), open (5), source (5), platform (5), install (5), following (5), building (5), clone (5), let (5), most (5), library (5), something (5), was (5), people (5), while (5), lot (5), cool (5), know (5), doesn (5), main (5), those (5), surfaces (5), important (5), big (5), few (5), libwayland (5), new (5), each (5), comment (4), log (4), built (4), xcb (4), intel (4), event (4), drm (4), may (4), january (4), customization (4), explained (4), oculus (4), see (4), bashrc (4), examples (4), might (4), top (4), won (4), point (4), back (4), approximately (4), quite (4), doing (4), start (4), base (4), simple (4), does (4), definitely (4), driver (4), principle (4), around (4), actually (4), still (4), started (4), probably (4), own (4), think (4), protocols (4), manager (4), surface (4), among (4), windows (4), via (4), based (4), words (4), connected (4), avoid (4), used (4), feature (4), both (4), components (4), consider (4), related (4), abstraction (4), drawing (4), together (4), hardware (4), software (4), paradigm (4), minute (4), projects (4), rift (4), website (3), wordpress (3), been (3), memory (3), meego (3), handling (3), fun (3), device (3), developer (3), april (3), august (3), 2018 (3), freedesktop (3), starting (3), damn (3), welcome (3), posts (3), reality (3), app (3), running (3), qtbase (3), xdg (3), directory (3), talk (3), under (3), qtwayland (3), compile (3), them (3), got (3), libx11 (3), lib (3), pretty (3), easy (3), data (3), drivers (3), things (3), works (3), medium (3), understanding (3), general (3), user (3), though (3), specially (3), internals (3), could (3), require (3), good (3), needs (3), mainly (3), wants (3), old (3), idea (3), involved (3), define (3), amount (3), into (3), instance (3), socket (3), take (3), support (3), modern (3), understand (3), tell (3), two (3), call (3), interfaces (3), apis (3), ipc (3), total (3), points (3), instead (3), going (3), basically (3), toolkits (3), kind (3), answer (3), why (3), performance (3), having (3), canonical (3), privileged (3), display (3), elements (3), directly (3), roles (3), others (3), ideas (3), https (3), blink (3), products (3), hosts (3), communities (3), quality (3), name (2), bar (2), sign (2), subscribed (2), subscribe (2), xserver (2), vga (2), arbiter (2), thread (2), sucks (2), soc (2), policy (2), nokia (2), multi (2), course (2), kernel (2), hack (2), gdb (2), firewall (2), fake (2), evdev (2), cursor (2), november (2), census (2), late (2), howto (2), repos (2), hope (2), nowadays (2), opengl (2), hellowindow (2), qmake (2), better (2), watch (2), cause (2), somewhere (2), put (2), home (2), mkdir (2), able (2), stuff (2), environment (2), either (2), order (2), before (2), apt (2), ones (2), means (2), build (2), http (2), gitorious (2), compilation (2), configuration (2), configure (2), egl (2), forget (2), check (2), nicely (2), compare (2), backend (2), ubuntu (2), libxcb1 (2), keysyms1 (2), image0 (2), shm0 (2), icccm4 (2), sync0 (2), than (2), ordinary (2), qtver (2), qt5 (2), path (2), ld_library_path (2), pkg_config_path (2), today (2), last (2), bits (2), tablet (2), whole (2), hacking (2), changes (2), released (2), latest (2), items (2), freenode (2), through (2), basic (2), grab (2), forward (2), port (2), once (2), exposes (2), keyboard (2), logic (2), bunch (2), fit (2), requires (2), proper (2), merge (2), libxkbcommon (2), due (2), although (2), guys (2), made (2), progress (2), meant (2), normal (2), ideally (2), tricky (2), fact (2), bit (2), program (2), overall (2), knowledge (2), list (2), goal (2), side (2), standards (2), created (2), gives (2), capabilities (2), grabbing (2), features (2), basics (2), likely (2), seamlessly (2), decoration (2), sure (2), policies (2), too (2), short (2), shiny (2), resize (2), connecting (2), responsibility (2), trying (2), worth (2), being (2), itself (2), behind (2), native (2), windowing (2), written (2), even (2), whatever (2), writing (2), toolkit (2), fits (2), ways (2), events (2), between (2), advantages (2), post (2), wanted (2), programmer (2), private (2), level (2), infrastructure (2), panel (2), methods (2), care (2), raw (2), specific (2), add (2), entry (2), ago (2), extensions (2), claim (2), long (2), mechanism (2), aspects (2), testing (2), over (2), widget (2), runtime (2), processing (2), forth (2), asking (2), consumption (2), power (2), reasons (2), wrote (2), mean (2), completely (2), exposing (2), integration (2), facing (2), sort (2), defined (2), rely (2), same (2), example (2), mapped (2), whether (2), phones (2), ivi (2), cheat (2), sheet (2), second (2), updates (2), weeks (2), detailing (2), enjoy (2), particular (2), enabled (2), supporting (2), again (2), tracking (2), page (2), engine (2), three (2), step (2), speaking (2), technologies (2), produces (2), next (2), leave (2), blogs (2), runs (2), x86 (2), processor (2), mobile (2), email, write, loading, collapse, manage, subscriptions, view, site, reader, report, privacy, account, books, reading, zanoni, update, ugly, traversing, summer, soc2008, sigh, scheduler, roadmap, rac, priority, portland, pci, p2p, nat, n900, music, multiterminal, multiseat, mouse, master, university, suck, maemo, latency, helsinki, gui, gsoc, google, footprint, finland, embedded, archives, adopt, child, card, attracting, reviewers, patch, series, fisl, minimal, christmas, gift, foundation, elections, characterization, didn, recent, ohloh, linkedin, links, find, blog, interesting, reached, computer, scientist, technologist, cto, virtual, augmented, mixed, imersys, older, navigation, kudos, reviewing, thiago, macieira, ran, finally, voilà, distros, anyway, xdg_runtime_dir, jørgen, lind, updated, default, buffersharing, wayland_egl, xcomposite, variable, qt_wayland_gl_config, xcomposite_egl, xcomposite_glx, tweak, develop, libxcomposite, stock, packages, distro, html, tools, took, 1hr, half, ready, confirm, license, opensource, qt3support, multimedia, webkit, phonon, debug, qpa, es2, nomake, prefix, useful, behaving, xcb1, xfixes0, steps, testbed, uses, include, opt, bin, pkgconfig, qt_plugin_path, plugins, pine, trail, yeah, fairly, thank, updating, accordingly, fresh, additions, referring, ship, hopefully, excited, hand, poke, chipsets, shm, control, lacking, xrandr, upstream, shaped, bet, ecstasy, delight, themselves, hard, much, help, xkbcommon, mapping, converting, keycodes, keysyms, convertion, adaptation, modules, non, world, xproto, kbproto, untie, dependencies, classify, size, involvement, hairy, xkb, daniel, kristian, nice, manually, tty, root, permissions, happily, setuid, helper, script, real, enhance, policykit, dealing, hotplugs, zero, required, launcher, had, spit, everything, stdout, similarly, redirecting, file, turned, implement, logging, sake, simplicity, without, verbosity, levels, finish, warmed, discussion, facility, past, months, accumulating, todo, wouldn, exceptional, contribution, churn, yet, soon, wrap, steady, settle, stone, description, love, concern, becoming, facto, several, targeting, wanna, contribute, funky, tired, nerdy, boring, rid, giant, fat, dinosaur, solve, problems, demoing, until, practice, blocks, mentioned, looks, init, time, pointer, concept, goes, creation, shaping, settings, complex, place, redirected, offscreen, pixmap, stored, buffer, compositing, behave, regular, calls, major, happens, conversion, penalty, close, nil, tasks, performs, embed, frame, communication, copy, paste, selection, eventually, drag, drop, remark, wms, challenge, come, right, salt, perfectly, were, straighten, hmm, philosophical, starts, proxy, ewmh, jurassic, icccm, plumb, map, type, meaningful, making, maximized, move, xserver_set_window_id, request, keeps, listening, binds, announces, naturally, mention, lazy, initialization, method, intentionally, designed, extra, lags, overhead, demand, xserver_send_client, xserver_send_listen_socket, launches, creates, adds, loop, waits, gets, triggers, fork, exec, continues, execution, unregister, module, mechanisms, little, look, compatibility, motif, fancy, tied, gtk2, dependency, bother, yourself, porting, hence, transition, plan, counted, exported, precise, counting, received, listeners, properties, times, bigger, intention, sit, layers, direct, comparison, fair, cases, encompasses, numerous, attention, advantage, creating, aid, describes, high, interactions, workspace, adding, anyhow, after, version, solely, exports, dispatching, consists, 102, usually, routines, model, currently, 135, alright, smaller, opinion, carry, expanding, outwards, becomes, unmaintainable, moreover, takes, learn, flexibility, many, extension, desired, lack, deprecation, problem, reported, year, mistake, broad, encompassing, output, xrender, anymore, bypassing, opengles, friends, collected, deal, helpers, 195, developed, years, existence, sum, 1064, 1278, comprises, thought, feel, comfortable, glue, offering, convenience, game, engines, managers, elaborated, layer, who, keep, savings, individual, programming, straightforward, release, knocking, door, justify, technical, cannot, excuse, fulfill, requirements, nothing, wl_shell, wl_shell_surface, part, yes, customizable, nevertheless, usage, optional, anyone, stack, rest, outer, frontend, allow, arbitrary, stacks, bind, multiple, sections, planned, handle, differently, security, decouple, similar, parts, behavior, announced, yesterday, section, footnote, mir, corollary, always, across, paradigms, necessarily, middleware, implemented, architectures, overlay, spawning, controlling, setting, treatment, dock, lockscreen, cursors, treatments, positioning, semantics, note, tackle, conceptually, mandatory, must, least, characteristic, screen, dimensions, expose, according, providing, comes, impact, specifically, implementing, defining, desktops, creative, commons, legal, attribution, figures, acceleration, issues, customize, continuum, tablets, box, pcs, invehicle, infotainment, aeroplane, solved, posting, solution, active, unstable, hoping, cope, fixes, otcshare, launching, publicly, chromeos, www, design, documents, classes, abstracting, provides, construction, accelerated, underlying, aura, framework, assignment, message, sent, morning, copying, attaching, cute, screenshot, hang, net, channel, everyday, timezone, wish, irc, subscription, notifications, star, coordinating, mailing, far, 21st, century, stay, 20th, issue, came, setup, noticed, hosting, plays, try, wiki, libozone, relying, linking, leverage, develops, toy, purposes, browsers, ash, remember, quick, guide, follows, grow, meta, given, possibility, bases, reflexion, wonderful, organizing, grossly, details, organization, tough, bridging, diminishes, burden, interact, outside, best, extracted, geek, near, interacts, overlaps, exactly, numbers, huge, number, vendors, commercial, cooked, leveraging, detail, process, strategy, title, state, art, proudly, working, article, called, particularly, play, role, read, please, share, existing, apps, games, thing, shader, binary, artist, really, mad, tethered, machine, snapdragon, 8xx, powerful, cpus, gpus, roughly, focuses, experiences, zuckerberg, twice, wrong, doubt, headset, touch, controllers, inside, 6dof, sensors, wires, headphones, neat, wait, hands, skip,
Text of the page (random words):
plications there it would be the application software glue therefore offering convenience for an ordinary developer examples of shell components are widget library toolkits game engines window and decoration managers web runtime video processing libraries and so forth developers of these kind of components are the only ones that need to understand the graphics system api in principle 2 and what is the x api libxcb is the implementation of x11 protocol libxcb needs 19 functions to deal with ipc related stuff the core protocol implementation and libxcb protocol helpers export 195 functions all together all extensions developed over the 25 years of x existence sum up 26 in total with 1064 functions for clients therefore the x11 client api has approximately a total of 1278 entry points raw data and how i collected it is here when we talk about a graphics system we like to think about the drawing apis only it s a big mistake the api is more broad encompassing for instance input methods input devices output devices a bunch of graphics related configuration aspects testing and so on in fact x has basically two drawing apis the core protocol and xrender and some systems building very modern interfaces are not even using them anymore bypassing via opengles and friends i ve reported about one year ago that some new systems don t use the core x protocol and just use a few extensions instead one would claim that this is alright cause the api would be smaller but my opinion is if things carry on expanding outwards like they have been we re going get to a point where the graphics systems becomes unmaintainable moreover it takes too long for the shell developer learn that just a small set of the api is needed the x protocol flexibility feature in which developers can add many new extension as desired and the lack of a proper api deprecation mechanism is definitely a problem to consider here 3 so what is the wayland api then wayland api has approximately a total of 135 entry points in its 0 99 version libwayland solely exports 19 functions where most are related with ipc dispatching of events and etc which are the main responsibility of the library the 14 interfaces consists of 102 functions and usually a client application will require some platform specific routines as well such as the egl abstraction and some for the drm driver model these add 14 more functions currently raw data here we have something we call private protocols that describes more high level interactions and a few special clients examples are the xwayland infrastructure desktop shell workspace and its panel bar input methods where special care for device grab is needed and etc one might consider adding those apis as well but anyhow wayland has a small api after all although x and wayland s intention are both to sit between the applications and the kernel graphics layers a direct comparison of those two systems is not fair on most of the cases while x encompasses wayland in numerous of features wayland has a few other advantages in special in this post i wanted to call the attention for the big advantage the shell programmer has when creating components that aid modern interfaces where only a small set of functions are actually needed using wayland x api is approximately 15 times bigger than the wayland one here i ve only counted the amount of exported functions for clients i understand that there could be different and more precise ways to tell how big is a graphics system api e g counting events received by clients or wayland amount of interface listeners or the window properties of x tiagovignatti computing 16 comments october 17 2012 october 18 2012 3 minutes x on wayland a rather cool feature on weston compositor is xwayland to support x11 native applications on wayland it s a quite important feature because gives the compatibility with the old windowing system so say you have an application written on motif xt or even something more fancy like a web browser all tied with gtk2 and whatever dependency then you better not bother yourself re writing it to native wayland or porting to a modern toolkit it should just work seamlessly on it hence x on wayland fits pretty well with our overall transition plan the architecture behind and the mechanisms are a little tricky though let s take a look once weston is started it launches the xwayland module which creates an x socket adds it to the main weston loop and waits for x clients to be connected into when the first client gets connected it triggers weston to fork and exec one x server weston continues its normal execution but unregister itself that socket the x server with the wayland backend on it xwayland keeps listening weston via a special wayland protocol interface weston binds such interface and announces back the socket that x clients will be connecting to xserver_send_listen_socket event and the first x client that was just connected xserver_send_client event the idea is to give now to x the responsibility of clients trying to be connected naturally worth to mention that this lazy initialization method was intentionally designed in order to avoid extra lags at weston start up and memory overhead when x11 applications are not being used so the x server is started on demand only when actually needed at this point now weston also starts its own x window manager in short the main task of it is to proxy x applications built based on those old wm standards such as ewmh and the jurassic icccm and plumb them into the shiny wayland desktop shell interface in other words the idea is to map different type of x windows on wayland surfaces xserver_set_window_id request and specially give some meaningful user interface policies on x windows to the desktop shell for instance making a surface to get maximized or say to resize move it around other tasks the weston x window manager performs are embed a pretty decoration frame around windows and also make sure the client to client communication such as copy and paste selection and eventually drag and drop work nicely remark that the x protocol doesn t define policy but the wms and this is a challenge for wayland that does define so the weston x wm has to come up with the right amount of salt to fit perfectly the policies that were already straighten up by wayland s desktop shell hmm way too philosophical all x windows created from now on will be redirected to offscreen pixmap and stored on a drm buffer via the xwayland video driver that s how compositing works on wayland the idea is that a x client will behave very likely as a regular wayland client therefore there s no protocol calls or any major task involved on xwayland and all happens seamlessly with the protocol conversion penalty close to nil the architecture for input handling looks good already as well at x init time it s created fake devices the keyboard and the pointer and the concept goes the other way around of window creation it gives the input devices capabilities from weston to xorg we re still shaping the cursor settings the complex logic of client and surface grabbing among other features but the basics are most definitely in place already so the video is there for demoing what we ve got until now you can see in practice all these rather cool building blocks i mentioned it s rather cool specially for developers one has to have the know how on x11 and wayland protocols xorg and weston internals x window manager standards etc lot of fun tiagovignatti computing 17 comments june 13 2012 june 13 2012 3 minutes starting on wayland development do you wanna contribute to a funky open source project are you tired of your nerdy and boring community of developers are you the one that wants to get rid of x because it s a giant old and fat dinosaur in your system cool i have a project to solve your problems while there s still lot of churn in the protocol and yet our goal is soon to wrap up all we ve been doing to a steady and settle on the stone one description there s a lot on the implementation side that needs love and that mainly concern weston compositor which is becoming the de facto compositor on several systems targeting wayland in past months i was accumulating a todo list for weston and libraries that i think wouldn t require any exceptional knowledge on core graphics or wayland internals these are good items for people that want start hack or just do some contribution on wayland 1 log facility easy back in july i had already warmed up a discussion how we could log on wayland so now we spit everything to stdout but we want to do it similarly as xorg i e redirecting to its own file it turned out that we might want only on weston compositor and implement our own way of logging for sake of simplicity ideally it has to be very simple without verbosity levels probably etc this task should be quite easy to finish 2 launcher for weston medium weston is meant to run as a normal user now we have to set manually input devices drm and tty with root permissions so weston can happily be started ideally we should have a setuid helper script doing all this tricky and in fact i started something here for a real system though we need to enhance a bit this program with the policykit specially for dealing with hotplugs probably zero understanding on wayland internals is needed but an overall knowledge of os is required 3 libxkbcommon x merge medium actually that s not much wayland work but it most definitely would help its development xkbcommon is the library that exposes the keyboard mapping logic to clients converting keycodes in keysyms weston clients are using for evdev convertion the library is an adaptation of a bunch of x11 modules to fit in a non x11 world and as such it still requires xproto kbproto and libx11 one task would be to untie such dependencies with x and the other to proper merge libxkbcommon with xorg i d classify as medium size task due the involvement with the community and the hairy understanding of xkb in general although daniel kristian and other guys already made a nice progress there 4 xwayland on x hard xwayland is the implementation on xorg to make it run as a wayland client that works well on intel chipsets and might work as well with other drivers through the shm x driver in principle basic x11 applications work with some wm control lacking input grab as well and things like xrandr don t one would also forward port xwayland and driver to upstream once the work is shaped up i bet wm developers would have an ecstasy and delight themselves hacking around hopefully you get excited with some of the items i definitely can give a hand with any so just poke me on wayland at freenode tiagovignatti computing 12 comments january 18 2012 2 minutes qt on wayland howto to run qt applications on wayland is fairly simple nowadays thank to qt developers they are following up quite well our last changes on wayland protocol and updating accordingly on qt5 code base by the way the fresh and just released qt 4 8 does not ship the latest protocol additions so that s not the one i m referring so today i ve set up the last bits of qt environment on my intel pine trail pretty easy yeah i compile on my tablet o you don t need to clone the whole data base for starting hacking on it let s see first you have to clone qtbase mkdir qt cd qt git clone git gitorious org qt qtbase git before start the compilation steps i like to set up my testbed in a different directory than what the ordinary system uses so i include this on my bashrc export qtver qt5 export qtdir opt qt qtver export path qtdir bin path export ld_library_path qtdir lib ld_library_path export pkg_config_path qtdir lib pkgconfig pkg_config_path export qt_plugin_path qtdir lib plugins and don t forget to re run your bashrc now when developing a wayland application it s quite useful to check if your app is behaving nicely so for doing so i like to compare it with qt s xcb backend then you ll need the following i m under ubuntu 11 10 apt get install libxcb1 libxcb1 dev libx11 xcb1 libx11 xcb dev libxcb keysyms1 libxcb keysyms1 dev libxcb image0 libxcb image0 dev libxcb shm0 libxcb shm0 dev libxcb icccm4 libxcb icccm4 dev libxcb sync0 libxcb sync0 dev libxcb xfixes0 dev you should be ready now to go for the configuration configure confirm license opensource no qt3support no multimedia no webkit no phonon no v8 debug qpa xcb wayland egl opengl es2 nomake examples prefix qtdir and now the compilation which took approximately 1hr and half in my system make install it make install at this point you got all qt libraries and needed tools to compile qtwayland platform so go back one directory and clone that cd git clone git gitorious org qt qtwayland git you need wayland protocol libraries now in your system and that s the very late ones which means the stock packages from your distro won t work get and build them using the following http wayland freedesktop org building html you might want to develop wayland on the top of x so before compile you ll need this apt get install libxcomposite dev jørgen lind updated me with the default buffersharing to use is wayland_egl to be able to use the xcomposite stuff you need to export the environment variable qt_wayland_gl_config to be either xcomposite_egl or xcomposite_glx so in order do to wayland on x you will need to tweak it as well and then cd qtwayland qmake make make install to run now a qt app i first set the xdg directory that compositor and clients use to talk under wayland you better to watch out cause some distros already have this set somewhere anyway i put this on my bashrc export xdg_runtime_dir home xdg mkdir home xdg and re ran bashrc finally the qt app running and voilà cd qtbase examples opengl hellowindow qmake make wayland compositor hellowindow platform wayland kudos to thiago macieira for reviewing the content tiagovignatti computing 5 comments december 19 2011 december 21 2011 2 minutes posts navigation older posts hi my name is tiago vignatti i m a computer scientist and open source technologist ex nokia ex intel nowadays i am the cto at imersys developing virtual reality augmented reality and mixed reality systems i hope you ll find my blog interesting i can be reached here you can see more about me here have fun links my linkedin my repos at freedesktop org my repos at github com ohloh recent posts oculus quest chromium ozone gbm explained video chromium browser on wayland developing chromium on wayland welcome to chromium s ozone wayland ui customization on wayland the damn small wayland api x on wayland starting on wayland development qt on wayland howto if i didn t say x characterization for meego x census for 1 10 x org foundation elections late christmas gift freedesktop s xorg for meego x census for 1 9 xorg server 1 9 minimal linux graphics for small devices at fisl attracting reviewers in your patch series adopt a child and make multi card work on linux archives october 2018 october 2014 february 2...
|