If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: bloggingthemonkey.blogspot.com - Blogging the Monkey.

site address: bloggingthemonkey.blogspot.com

site title: Blogging the Monkey

Our opinion (on Thursday 06 August 2026 12:06:34 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:



Meta tags:

Headings (most frequently used words):

update, sunday, 2016, freedreno, news, the, 11, august, 2017, wednesday, saturday, about, more, and, is, for, blogging, monkey, february, 2018, 27, june, 25, november, 16, july, 30, may, 15, 2015, followers, blog, archive, me, stuff, working, on, infrequent, older, other, recent, shader, compilers, ir, where, time, spent, breakdown, it, still, gallium, driver, notes, long, overdue, quick, note, users, distros, dirty, tricks, moar, fps, not, so, periodic, mesa, progress, opengles3,

Text of the page (most frequently used words):
the (263), for (126), and (126), that (74), support (69), but (52), with (52), this (47), which (46), are (46), some (41), have (35), freedreno (33), kernel (33), more (29), not (27), driver (26), you (26), boot (26), time (25), all (23), has (22), other (22), new (22), since (22), was (22), there (21), from (21), nir (20), mesa (19), now (18), about (17), #update (17), upstream (17), shader (17), can (17), would (16), also (16), like (16), passes (16), shaders (16), gpu (15), than (15), things (15), work (15), a3xx (14), been (14), just (14), how (14), pass (14), batch (14), a5xx (14), tile (13), need (13), video (12), working (12), see (12), etc (12), while (12), still (12), a4xx (12), had (12), already (12), db410c (12), lowering (12), drm (11), what (11), lot (11), pretty (11), don (11), few (11), various (11), probably (11), before (11), out (11), texture (11), rob (10), features (10), using (10), android (10), ir3 (10), where (10), good (10), most (10), bit (10), performance (10), buffer (10), after (10), grub (10), compute (10), snapdragon (9), adreno (9), these (9), much (9), doesn (9), soc (9), ubo (9), needed (9), landed (9), will (9), resource (9), memory (9), drivers (9), msm (9), instructions (9), gallium (8), august (8), comments (8), posted (8), plus (8), recently (8), fixes (8), big (8), news (8), release (8), back (8), case (8), when (8), cases (8), enough (8), default (8), draw (8), although (8), point (8), each (8), firmware (8), distro (8), display (8), expect (8), instruction (8), glsl (8), related (8), xf86 (7), mostly (7), may (7), could (7), first (7), render (7), note (7), use (7), last (7), long (7), rather (7), couple (7), get (7), might (7), compiler (7), run (7), games (7), query (7), different (7), branch (7), into (7), flush (7), depth (7), per (7), better (7), image (7), lrz (7), code (6), february (6), november (6), june (6), useful (6), gles3 (6), thing (6), gl3 (6), supertuxkart (6), reason (6), haven (6), getting (6), well (6), only (6), register (6), results (6), perf (6), add (6), otherwise (6), state (6), bandwidth (6), board (6), complex (6), efi (6), specific (6), patches (6), textures (6), end (6), days (5), july (5), blog (5), older (5), msaa (5), mem (5), screen (5), done (5), engine (5), fps (5), even (5), show (5), addition (5), next (5), should (5), linaro (5), running (5), later (5), started (5), boost (5), spent (5), simple (5), old (5), keep (5), extra (5), enabled (5), downstream (5), here (5), required (5), shadowing (5), know (5), something (5), draws (5), many (5), basic (5), your (5), dtb (5), way (5), qcom (5), thanks (5), boards (5), particular (5), worked (5), improvement (5), opt (5), march (4), 2016 (4), todo (4), then (4), who (4), qualcomm (4), quite (4), any (4), stk (4), think (4), those (4), nice (4), mrt (4), guess (4), both (4), kernels (4), starting (4), sort (4), isn (4), look (4), extreme (4), example (4), binning (4), benefit (4), tricks (4), small (4), post (4), reorder (4), fd_mesa_debug (4), unfortunately (4), changes (4), blits (4), they (4), because (4), calls (4), fbo (4), mipmap (4), without (4), common (4), 16mb (4), two (4), game (4), less (4), stencil (4), multiple (4), internal (4), rendering (4), idea (4), never (4), xserver (4), one (4), very (4), pre (4), early (4), platform (4), booting (4), fedora (4), uefi (4), interface (4), devices (4), down (4), used (4), arrays (4), were (4), lower (4), tgsi_to_nir (4), ssbos (4), debug (4), tgsi (4), llvm (4), else (4), barriers (4), omap (3), profile (3), write (3), october (3), april (3), january (3), 2017 (3), list (3), enable (3), apps (3), tiling (3), until (3), really (3), around (3), forgot (3), dragonboard (3), 410c (3), vc4 (3), course (3), side (3), yet (3), hey (3), 3xx (3), ago (3), handful (3), nouveau (3), ilia (3), parts (3), progress (3), actually (3), doing (3), seem (3), device (3), improvements (3), least (3), against (3), shadertoy (3), tests (3), initially (3), piglit (3), xonotic (3), got (3), elapsed (3), expose (3), supports (3), high (3), gles (3), supported (3), gain (3), general (3), remaining (3), phones (3), ordering (3), buffers (3), libdrm (3), latest (3), batches (3), read (3), blit (3), unnecessary (3), switch (3), levels (3), handling (3), handle (3), current (3), why (3), avoid (3), tiler (3), data (3), format (3), background (3), framebuffer (3), color (3), main (3), patchset (3), makes (3), build (3), glamor (3), modern (3), distros (3), load (3), included (3), issues (3), life (3), usb (3), disk (3), select (3), along (3), rgb (3), uses (3), arm (3), difficult (3), tiled (3), convert (3), implement (3), control (3), seems (3), primitives (3), based (3), called (3), backend (3), ssa (3), wouldn (3), battery (3), across (3), comes (3), aren (3), bus (3), scaling (3), a420 (3), a530 (3), opencl (3), hardware (3), part (3), sunday (3), size (3), radeonsi (3), does (3), question (3), breakdown (3), bunch (3), tend (3), merged (3), result (3), over (3), decode (3), db820c (3), indirect (3), monkey (3), opensrc (2), x11 (2), kms (2), view (2), complete (2), sometimes (2), open (2), source (2), september (2), december (2), 2015 (2), infrequent (2), 2018 (2), posts (2), bigger (2), extensions (2), such (2), driconf (2), option (2), make (2), advertise (2), mention (2), published (2), gives (2), registers (2), docs (2), versions (2), lost (2), low (2), hanging (2), recent (2), transform (2), feedback (2), tbo (2), everything (2), needs (2), higher (2), mesa_gl_version_override (2), works (2), saturday (2), reasonably (2), fast (2), despite (2), composition (2), able (2), cool (2), john (2), taking (2), made (2), decent (2), pushed (2), helps (2), pressure (2), too (2), fixed (2), fortunately (2), bugs (2), skips (2), helped (2), finally (2), implementing (2), months (2), help (2), tool (2), exactly (2), finding (2), covers (2), wednesday (2), cpu (2), bits (2), once (2), disable (2), number (2), tablets (2), attention (2), userspace (2), optimizations (2), component (2), potential (2), shadow (2), split (2), between (2), given (2), order (2), flight (2), turns (2), pipe (2), handles (2), free (2), correct (2), level (2), equivalent (2), care (2), paths (2), create (2), upload (2), copying (2), vbo (2), possible (2), take (2), z24s8 (2), another (2), easily (2), float16 (2), intermediate (2), 40mb (2), written (2), tilers (2), mind (2), tiles (2), worth (2), resident (2), going (2), enables (2), means (2), sequence (2), happen (2), queries (2), explaining (2), moar (2), abi (2), modesetting (2), always (2), welcome (2), generation (2), git (2), users (2), edit (2), devicetree (2), img (2), https (2), github (2), com (2), robclark (2), commits (2), clk (2), starts (2), right (2), tree (2), binary (2), socs (2), via (2), variable (2), normally (2), loaded (2), card (2), network (2), packed (2), off (2), initrd (2), menu (2), vanilla (2), traditional (2), chain (2), added (2), step (2), little (2), initial (2), engineer (2), adv7533 (2), gpio (2), i2c (2), spend (2), realized (2), runtime (2), standardized (2), non (2), embedded (2), nonsense (2), hacks (2), world (2), standard (2), alone (2), trick (2), ubwc (2), find (2), flags (2), 0ad (2), overall (2), optimized (2), won (2), quad (2), value (2), reject (2), 5xx (2), previously (2), solution (2), form (2), scheduler (2), adding (2), offset (2), atomics (2), shiny (2), built (2), sense (2), away (2), seeing (2), important (2), optimize (2), strongly (2), interconnects (2), ifc6540 (2), ancient (2), benchmarks (2), faster (2), limited (2), workloads (2), having (2), hard (2), interest (2), future (2), spirv_to_nir (2), details (2), far (2), blob (2), interesting (2), overdue (2), subset (2), manageable (2), notes (2), consume (2), shared (2), basically (2), tracker (2), radv (2), counterpart (2), directly (2), yuv (2), conversion (2), allocation (2), process (2), compiling (2), compilers (2), job (2), involved (2), a6xx (2), soon (2), depend (2), benchmark (2), alu2 (2), ttile (2), flag (2), scheduling (2), sfu (2), blocks (2), instead (2), took (2), increases (2), executing (2), sides (2), usage (2), phi (2), ffmpeg (2), kodi (2), mentioned (2), dropped (2), rebase (2), v4l2 (2), encode (2), venus (2), implemented (2), a20x (2), arb_framebuffer_no_attachments (2), ssbo (2), blogging (2), skip (2), omapdrm, stuff, asm, fun, graphics, boston, massachusetts, united, states, 2009, 2010, 2011, 2012, 2013, 2014, archive, followers, subscribe, atom, home, minus, task, teach, resolve, ext_multisampled_render_to_texture, perhaps, aware, check, did, pipe_cap_fake_sw_msaa, cares, completely, extensive, broadcom, vendor, date, considerably, heavyweight, compared, reclaim, fruit, utilizing, according, them, mesa_glsl_version_override, 140, antarctica, upcoming, gl4, radeon, tremendous, milestone, sitting, either, fact, weeks, z32s8, opengles, 4xx, opengles3, overlays, bypass, ongoing, land, egl_android_native_fence_sync, explicit, fencing, seen, herring, stultz, virtgl, opportunity, person, connect, impressive, unfamiliar, extent, diverge, actual, 50patches, feat, wifi, nexus7, tablet, qemu, generates, reduce, spilling, cruel, joke, writers, horror, immediate, const, thousand, test, missing, workaround, bug, limitations, depending, counted, bulk, fails, count, ratio, figures, apply, deqp, 15fps, 19fps, med, 4fps, 3fps, glmark2, refract, bench, 31fps, 124fps, master, timestamp, counters, cobbled, together, cmdline, fdperf, hud, didn, notice, desktop, front, page, btw, version, glxinfo, ince, updates, greater, timespan, periodic, cover, implementation, overhead, bookkeeping, juicy, manhattan, winners, percent, looked, generally, range, xdc2016, being, investigate, flip, switched, noreorder, growing, sbc, stuck, overhaul, cmdstream, handled, layers, stack, continue, disabled, allows, kicks, separate, dependency, tracking, resources, executed, writes, lets, achi, partly, internally, generated, normal, dedicated, approach, util_blitter, eve, mapped, api, implies, amount, same, whether, complexity, properly, falling, flushing, glgeneratemipmap, gl_map_invalidate_range_bit, gl_map_invalidate_buffer_bit, hit, involve, whatever, overwritten, 32mb, allocating, backing, gem, object, necessary, contents, enter, reordering, touches, combine, flushes, needing, swapbuffers, straightforward, 1920x1080, r8g8b8a8, target, costs, pull, float32, targets, anti, patterns, force, examples, switches, uploads, mid, purpose, discussion, named, define, succession, rendered, parallel, bufs, traffic, entirety, repeat, chip, avoids, accesses, single, gl_timestamp, bonkers, weekend, dirty, alternative, push, patch, probe, forceload, type, xorg, conf, fallback, moment, questions, suggestions, bringing, dri2, pure, fallbacks, exa, ops, clone, tag, inclined, want, dri3, solid, drop, package, quick, prebulit, cfg, commands, appropriate, minimal, fdt, rough, edges, surprised, clks, light, fix, newer, updating, aka, maybe, baked, sufficient, doubts, figured, model, existing, name, file, variables, sent, goes, mean, upgrades, mature, x86, rfc, efifb, module, installer, require, custom, partition, cannot, rootfs, graphical, grubaa64, loader, somehow, provides, media, expects, pointing, advantages, populate, node, bindings, configured, scanout, dimensions, protocol, 32bpp, understand, 24bpp, gop, simplefb, figuring, grown, loads, lighting, put, splash, archit, contributed, whole, pointed, among, 100, msm8916, dsi, hdmi, bridge, digging, through, convoluted, history, track, relevant, port, fixing, linker, script, efi_runtime, section, debugging, expert, conveniently, sits, near, misc, alpha, peter, jones, decided, pretending, literally, stupid, crack, smoking, mateusz, kulikowski, play, provide, services, path, forward, aarch64, opensuse, others, anyone, dealt, server, familiar, silly, plethora, let, fine, times, scale, compression, layout, infer, infrastructure, download, linear, easier, causes, fighting, found, anything, win, depends, architectures, sorting, geometry, badly, relied, pixel, deferred, rejected, recycle, phase, function, earlier, adds, cute, optimization, presumably, resolution, ing, feature, neat, serves, purposes, changed, occlusion, accumulate, lied, occlusions, gl1, term, profiling, helpful, following, projects, benefits, hasn, issue, multi, dimensional, structs, problem, preferred, flexibilty, imprortant, set, architecture, regs, allowed, moving, deref, calculation, regress, turning, cuts, compilation, rely, legacy, dereferences, switching, exposed, curious, assortment, formats, nothing, exciting, weekends, probing, unknown, passing, taken, approximately, minutes, especially, ones, span, power, consumer, systemwide, slow, clockings, generations, except, outside, talking, vram, discrete, phone, keeping, melting, brought, roughly, sounds, bad, remember, comparing, apples, oranges, 805, dragonboard820c, bother, backporting, hurray, upshot, include, cpufreq, clock, micro, alu, slower, theoretical, traditionally, kinda, translation, wrong, lead, lockups, wasn, experience, everyone, loves, favorite, hopefully, come, challenge, consumed, complicated, restrictions, lifted, spirv, relies, lack, requirement, structured, flow, similarly, someone, share, appears, bothered, enabling, demoed, happening, collected, syms, prevent, inlining, builds, highly, skewed, nir_validate, vc5, optionally, accept, trackers, currently, grew, glsl_to_nir, yes, originally, efficiently, disabling, shaved, spending, noise, sampling, inserting, assume, rect, clamping, coords, including, configuration, individual, nir_lower_tex, ignoring, overheads, runner, capture, individually, hysterical, reasons, therefore, upside, nir_lower_wpos_ytransform, nir_lower_draw_pixels, assembly, sched, copy, propagation, dce, algebraic, cse, parser, flamegraph, every, catchy, picture, morning, full, occasionally, representations, skipped, went, straight, final, codegen, reasonable, people, presenting, 845, sdm845, hands, start, buried, their, round, refactoring, hand, difference, gfxbench, lines, advanced, pipeline, combination, previous, looking, likely, drawing, logic, fragment, piano, tweaks, urate, min, max, clamp, sat, sqrt, rsqrt, sin, cos, stalls, sync, peephole_select, our, own, change, arrive, threshold, try, counter, productive, choose, gpus, simt, arch, stalling, threads, warp, opposite, direction, reduces, warps, speedup, real, tends, matter, ir3_nir_lower_if_else, web, dealing, sophisticated, coming, avoiding, insert, mov, fewer, resulting, importantly, reduction, enhancements, improve, situation, similar, gst, linux, box, dire, serial, console, ifc6410, eventually, pile, pattern, repeating, again, managed, myself, quietly, genpd, awesome, developers, behind, deserve, fanfare, gone, hopeless, perspective, platforms, fwiw, becoming, defacto, gstreamer, gained, qcom_iommu, piece, camera, mirkin, wladimir, van, der, laan, a2xx, merge, definitely, gather, brings, close, gles31, holiday, break, semi, additional, encodings, cat7, group, variation, cat6, encoding, images, scheduled, types, certain, move, barrier, late, year, landing, chance, revisit, finished, usually, six, ish, follow, phoronix, tales, sidebar,


Text of the page (random words):
alled from the driver backend so the driver is in control of what lowering pass are needed including configuration about individual features in passes which handle multiple things based on what the hardware does not support directly these lowering passes are mostly o n and lost in the noise also note that freedreno along with the other drivers that can consume nir directly disable a bunch of opt passes that were originally done in glsl but that nir or llvm can do more efficiently for freedreno disabling the glsl opt passes shaved 30 runtime off of a shader db run so spending 1 3 to convert into nir is way more than offset for other drivers the breakdown may be different i expect radeonsi radv skips some of the general opt passes in nir which have a counterpart in llvm but re uses other lowering passes which do not have a counterpart in llvm is it still a gallium driver this is a related question that comes up sometimes is it a gallium driver if it doesn t use tgsi yes the drivers that can consume nir and implement the gallium pipe driver interface freedreno a3xx vc4 vc5 and radeonsi optionally are gallium drivers they still have to accept tgsi for state trackers which do not support nir and various built in shaders blits mipmap generation etc most use the shared tgsi_to_nir pass for tgsi shaders note that currently tgsi_to_nir does not support all the tgsi features but just features needed by internal shaders and what is needed for gl3 gles3 ie basically what freedreno and vc4 needed before mesa state tracker grew support for glsl_to_nir notes collected from shader db run glamor supertuxkart 0ad shaders with a debug mesa build to have debug syms and prevent inlining but with nir_validate 0 otherwise results with debug builds are highly skewed a subset of all shader db shaders was used to keep the perf data size manageable posted by rob at 9 29 am no comments sunday june 25 2017 long overdue update since it has been a while since the last update i guess it is a good time to post an update on some of the progress that has been happening with freedreno and upstream support for snapdragon boards freedreno mesa while the 17 1 release included enabling reorder support by default there have been many other interesting features landed since the 17 1 branch point so they will be included in the future 17 2 release many but not all are related to a5xx something that i just realized i forgot to blog about but have demoed here and there gl gles compute shaders so far this is only a5xx although a4xx seems to work similarly and would probably be not too hard to get working if someone had the right hardware and a bit of time ssbos and atomics are supported but image support an important part of compute shaders is still todo and some r e required although it seems to share a lot in common with ssbos adreno 3xx support for compute shaders appears to be more work ie less in common with a4xx a5xx and probably part of the reason that qualcomm never bothered adding support in android blob driver patches welcome but for now a3xx compute support is far enough down my todo list that it might not otherwise happen i know there is a lot of interest in open source opencl support for freedreno and hopefully that is something that will come in the future but there is the big challenge of how to get opencl shaders kernels into a form that can be consumed by freedreno s ir3 shader compiler backend while there is some potential to re use spirv_to_nir at some point there are some complicated details for compute kernels ie opencl there are some restrictions lifted on spirv that spirv_to_nir relies on little details like lack of requirement for structured flow control a5xx hw binning support traditionally hw binning support while a pretty big perf boost has been kinda difficult translation lot of things can be done wrong to lead to difficult to debug gpu lockups this time around it wasn t so hard i guess experience on a3xx a4xx has helped and everyone loves 30 fps boost in your favorite game this has brought performance roughly up to the levels as ifc6540 a420 which sounds bad but remember we are comparing apples and oranges on ifc6540 snapdragon 805 we don t yet have upstream kernel support so this was using a 3 10 android kernel with bus scaling and all the downstream tricks to optimize memory bandwidth and overall soc performance but on a530 dragonboard820c i never had a working downstream kernel or had to bother backporting the upstream drm msm driver to some ancient android kernel hurray the upshot is that any perf s for a5xx don t include bus scaling cpufreq etc i expect a pretty big performance boost on a530 once we have a way to clock up memory interconnects ie on micro benchmarks a530 is 2x faster than a420 on alu limited workloads but still a bit slower than a420 on bandwidth limited workloads despite having a higher theoretical bandwidth side note linaro is working on an upstream solution for bus scaling this is a very important improvement needed upstream for arm soc s especially ones that optimize so strongly for battery life keep in mind that interconnects which span across the soc and memory are a big power consumer in a modern soc so a lot of qualcomm s good performance battery life in phones comes down to these systemwide optimizations it is equivalent to slow memory clockings on some generations of nouveau except in this case it is outside the gpu driver ie we aren t talking about vram on a discrete gpu and the reason is to enable a high end phone soc to last a couple days on battery rather than keeping your video card from melting a5xx gles3 0 gl3 1 support probably it would have made sense to spend time on this before compute shaders since they are otherwise only exposed with mesa_gl_version_override tricks but hey i was curious about how compute shaders worked after an assortment of small things to r e and implement we where just a few 50 texture vbo fb formats away from gl3 1 nothing really exciting mostly just a few weekends probing unknown format s and seeing which piglit format tests started passing the sort have thing that would have taken approximately 10 minutes with docs but hey it needed to be done switching to nir by default this is one thing that benefits a3xx and a4xx as well as a5xx while freedreno has had nir support for a while it hasn t been enabled by default until more recently the issue was handling of complex dereferences multi dimensional arrays arrays of structs etc the problem was that freedreno s ir3 backend preferred to keep things in ssa form since that gives the instruction scheduler more flexibilty which is pretty imprortant in the a3xx instruction set architecture ir3 adding support to lower arrays to regs allowed moving the deref offset calculation to nir so that we wouldn t regress by turning nir on by default this is useful since it cuts shader compilation time but also because tgsi_to_nir doesn t support ssbos atomics and other new shiny glsl features now we only rely on tgsi_to_nir for various legacy paths and built in blit shaders which don t need new shiny glsl features a5xx hw query support adreno 5xx changed how hw queries ie occlusion query and time elapsed query etc work for the better since now we can accumulate per tile results on the gpu but it required some new support in freedreno for a different sort of query and some r e about how this actually worked and while we had previously lied about occlusions query support mostly to expose more than gl1 4 support that isn t a very good long term solution in addition time elapsed query is useful for performance profiling work so helpful for some of the following projects a5xx lrz support adreno 5xx adds another cute optimization called lrz presumably low resolution z depth buffer i ve spent a some time r e ing this feature and implementing support for it in freedreno it is a neat new hw trick that a5xx has which serves two purposes the basic idea is to have a per quad depth value so that in the binning pass primitives can be rejected per tile based on depth ie reject more early but then recycle the lrz buffer in draw phase to function as for free depth pre pass ie reject earlier primitives based on the z value of later primitives the benefit depends on how well optimized the game is ie games that are well optimized for traditional gpu architectures ie sorting geometry already doing depth pre passes etc won t benefit as much but this helps a lot for badly written games that relied on per pixel deferred rendering overall for things like stk xonotic it seems like a 5 10 win edit i forgot to mention this isn t enabled by default as it causes some issues which seem like a sort of z fighting with 0ad other than that i haven t found anything that it doesn t work with to enable fd_mesa_debug lrz it would be nice if there were some way to have driver specific flags in driconf to control things like this the main remaining performance trick for a5xx is ubwc ie bandwidth compression tiled textures i ve worked out mostly how ubwc works in particular texture layout at least for 2d textures mipmap but i think we can infer how 2d arrays 3d etc work from that most of the infrastructure for upload download blits to convert to from linear should be easier thanks to the reorder support we ll see if i actually find time to implement it before the mesa 17 2 branch point standardized embedded nonsense hacks anyone who has dealt with arm non server devices should be familiar with the silly embedded nonsense hacks world in particular the non standard boot chain which makes it difficult for distro s to support the plethora of arm boards let alone phones tablets etc out there without per board support which was fine in the early days but n boards times m distro s it really doesn t scale thanks to work by mateusz kulikowski we now have u boot support for dragonboard 410c it s been on my todo list to play with for a while but more recently i realized that u boot thanks to the work of many others can provide enough of efi runtime services interface for grub to work this means that it is a path forward for standardized distros on aarch64 like fedora and opensuse which expect uefi to boot on boards which don t otherwise have uefi firmware so i decided to spend a bit of time pretending to be a crack smoking firmware engineer not literally of course that would be stupid after fixing some linker script bugs with u boot s db410c support vs efi_runtime section and debugging some issues with grub finding the boot disk with the help of peter jones the resident grub efi expert who conveniently sits near me and a couple other misc u boot fixes i had a fedora 26 alpha image booting on the db410c the next step was figuring out display so we could have grub boot menu on screen like you would expect on a grown up platform as it turns out on most devices lk little kernel ie what normally loads the kernel initrd on snapdragon android devices already supports lighting up the display since most all android devices put up the initial splash screen before the kernel is loaded unfortunately this was not the case with the db410c s lk but archit qcom engineer who has contributed a whole lot of drm msm and other drm patches pointed me at a different lk branch among the 100 s which had msm8916 display adv7533 dsi hdmi bridge like what db410c uses after digging through a convoluted git history i was able to track down the relevant gpio i2c adv7533 patches to port to the lk branch used on db410c after that i added support for lk to populate a framebuffer node using the simple framebuffer bindings to pass the pre configured scanout buffer dimensions to u boot this plus a new simplefb video driver for u boot enables u boot to expose display support to grub via the efi gop protocol along the way i had to add 32bpp rgb support to lk since u boot and grub don t understand packed 24bpp rgb all this got to the point of this is a fedora image booting off of usb disk ie not just rootfs on usb disk but also grub kernel initrd dtb with graphical grub menu to select which kernel to boot just like you would expect on a pc the grubaa64 efi here is vanilla distro boot loader and from the point of view of the distro image lk u boot is just the platform s firmware which somehow provides the uefi interface the distro media expects it is worth pointing out some advantages of a traditional lk kernel boot chain booting from usb network etc which lk cannot do doesn t require kernel packed in custom boot img partition which is board specific booting installer image ie from sd card or network when the kernel starts in early boot it is using efifb just like it would on a pc ie so you can see what is going on on screen before hw specific drm driver kernel module is loaded there are still a few rough edges the drm msm driver and msm clk drivers are a bit surprised when some clks are already enabled when the kernel starts and the display is already light up now we have a good reason to fix some of those issues and right now we don t have a good way to load a newer device tree binary dtb after a distro kernel update ie without updating u boot aka the firmware for simple soc s maybe a pre baked dtb for the life of the board is sufficient i have my doubts about that for socs as complex as the various snapdragon s if for no other reason that we haven t even figured out how to model all the features of the existing socs in devicetree one idea is for u boot to pass to grub the name of the board dtb file to load via efi variables i ve sent a very early rfc to add efi variable support in u boot we ll see how this goes in the mean time there might be more firmware upgrades needed than you d normally expect on a mature platform like x86 for now my lk u boot work is here https github com robclark u boot commits db410c display https github com robclark lk commits db410c display and prebulit firmware is here for now you will need to edit distro grub cfg to add devicetree commands to load appropriate dtb since what is included with u boot img is a very minimal fdt ie just enough for the drivers in u boot posted by rob at 3 03 pm 4 comments wednesday november 16 2016 a quick note for users distros at this point i haven t pushed a new release tag for xf86 video freedreno to update to latest xserver abi i m inclined not to if you are using a modern xserver you probably want to be using xf86 video modesetting glamor it has more features dri3 xv etc and better performance and gl support on a3xx a4xx is pretty solid so distros with a modern xserver might as well drop the xf86 video freedreno package the one case where xf86 video freedreno is still useful is bringing up a new generation of adreno since it can do dri2 with pure sw fallbacks for all the exa ops but if that is what you are doing i guess you know how to git clone and build the possible alternative is to push a patch that makes xf86 video freedreno still build but only probe with l...
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)

Verified site has: 65 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
51-55 56-60 61-65


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/1.1 200 OK
Content-Type text/html; charset=UTF-8
Expires Thu, 06 Aug 2026 12:06:33 GMT
Date Thu, 06 Aug 2026 12:06:33 GMT
Cache-Control private, max-age=0
Last-Modified Wed, 05 Aug 2026 08:37:00 GMT
ETag W/ 2c03b7b3e63292ef1565e11dd203c0a005989c6bcd658dde77f62a531c3fc4fb
Content-Encoding gzip
X-Content-Type-Options nosniff
X-XSS-Protection 1; mode=block
Content-Length 28832
Server GSE
Connection close

Meta Tags

title="Blogging the Monkey"
content="text/html; charset=UTF-8" http-equiv="Content-Type"
content="blogger" name="generator"
content="htt???/bloggingthemonkey.blogspot.com/" property="og:url"
content="Blogging the Monkey" property="og:title"
content="Tales of a code monkey" property="og:description"
name="google-adsense-platform-account" content="ca-host-pub-1556223355139109"
name="google-adsense-platform-domain" content="blogspot.com"
content="htt????/i.ytimg.com/vi/gEEmCsgioII/0.jpg" itemprop="image_url"
content="8201318254944513910" itemprop="blogId"
content="7095706673353583595" itemprop="postId"
content="htt????/www.blogger.com/profile/00061851853178706566" itemprop="url"
content="htt???/bloggingthemonkey.blogspot.com/2018/02/infrequent-freedreno-update.html" itemprop="url"
content="htt????/blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw89nofbDtphrVseWWh53Fu_bMW7OXeyL9BXaZtoYj0DqKNRVN3hUmTCFo1y7AZbKnSnnCgM5DH6vuVVKvaI38TJqDK29ocC9WFD3MpAmUW0WhVmcokbE0AL_lYDEPBhFOMiRu2rXrlg_j/s320/flamegraph.png" itemprop="image_url"
content="8201318254944513910" itemprop="blogId"
content="346651662099395106" itemprop="postId"
content="htt????/www.blogger.com/profile/00061851853178706566" itemprop="url"
content="htt???/bloggingthemonkey.blogspot.com/2017/08/about-shader-compilers-irs-and-where.html" itemprop="url"
content="htt????/i.ytimg.com/vi/6jePbdpTHRA/0.jpg" itemprop="image_url"
content="8201318254944513910" itemprop="blogId"
content="8393641025108772698" itemprop="postId"
content="htt????/www.blogger.com/profile/00061851853178706566" itemprop="url"
content="htt???/bloggingthemonkey.blogspot.com/2017/06/long-overdue-update.html" itemprop="url"
content="8201318254944513910" itemprop="blogId"
content="2431872840392285357" itemprop="postId"
content="htt????/www.blogger.com/profile/00061851853178706566" itemprop="url"
content="htt???/bloggingthemonkey.blogspot.com/2016/11/a-quick-note-for-usersdistros.html" itemprop="url"
content="8201318254944513910" itemprop="blogId"
content="8356685400879383679" itemprop="postId"
content="htt????/www.blogger.com/profile/00061851853178706566" itemprop="url"
content="htt???/bloggingthemonkey.blogspot.com/2016/07/dirty-tricks-for-moar-fps.html" itemprop="url"
content="htt????/blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLVDeORFJVMkrWjdZRz4dnqies0biDTTbc2S3TRKDH4ws-FQ0GG3HndJzywIzOVerEdpfot6e1IWjHOVkFP0pXg27rns662moPE0LG4VhLVhU-rf5xS4uKpq7Zw5kOKkdU2ymGp4BODLRX/s320/flappybird.png" itemprop="image_url"
content="8201318254944513910" itemprop="blogId"
content="2565269206215038020" itemprop="postId"
content="htt????/www.blogger.com/profile/00061851853178706566" itemprop="url"
content="htt???/bloggingthemonkey.blogspot.com/2016/05/freedreno-not-so-periodic-update.html" itemprop="url"
content="htt????/blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKMB0Fhmihyphenhyphenf8OgpMDZqWzzV9UohDYDJk8_9kYxE9nQowLNYa6D9RFHDWPAt2uJM6mDA6KTXOo9xJyqFW8vZqQlxqNcV_Xe8XrqI6BtEa1D-Xz_CFz-VLkF80O0ZraecIyLjrwUI53eroz/s320/stk-cocoa_temple-4.png" itemprop="image_url"
content="8201318254944513910" itemprop="blogId"
content="8176328737549033017" itemprop="postId"
content="htt????/www.blogger.com/profile/00061851853178706566" itemprop="url"
content="htt???/bloggingthemonkey.blogspot.com/2015/08/freedreno-mesa-110-progress-update.html" itemprop="url"

Load Info

page size28832
load time (s)0.496224
redirect count0
speed download58129
server IP 172.217.20.33
* all occurrences of the string "http://" have been changed to "htt???/"