3 ms·
What would be the fallback in your world if the server didn't support the new ops? If the fallback is client rendering, why would anyone want to risk using the
by lmz 6y ago
What would be the fallback in your world if the server didn't support the new ops? If the fallback is client rendering, why would anyone want to risk using the (unknown) server implementation when they can just rely on the same (and tested) client code everywhere?
- sprash 6y agoX11 has a strong reference implementation hence there should be no need for a fallback. If you really would want to launch a program which needs the new protocol on an old/outdated server for whatever reason you could use a wrapper like Xephyr/Xnest as fallback. (Besides, Xorg already has many optional extensions and if one of those extensions is not present the program simply fails to launch. The fallback problem has not been a real problem so far because X11 development is very centralized.)
- cycloptic 6y agoUsing Xephyr in that way is essentially the same thing as client rendering. (Xephyr draws the whole framebuffer and then sends that)
- sprash 6y agoNo it is not the same thing because in the hypothetical Xephyr case the client doesn't need to know who or what executes the rendering command. The client also doesn't have to implement its own rendering as a fallback.
- cycloptic 6y agoFrom a client perspective it is still the same thing if you're using cairo since that includes the fallback code already. But if you're making XRender requests directly then yeah it wouldn't be. (I don't know of many applications that do this, ideally it's something you want in the toolkit or drawing library)