No announcement yet.

XWayland Lands Support For Sharing Pixmaps Via MIT-SHM

  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    You know you're in Phoronix comments when you have a load of armchair aficionados trying to catch wrong-footed someone who's obviously an expert on the subject.


    • #32
      Originally posted by Weasel View Post
      Why would the protocol have to change more often than the library that maps to it? It doesn't make any sense. Both can add though, without issue. Anyway, the point is that there's not much you can do about already-built old proprietary apps. What's done is done.

      I agree that xlib is stable though, but unfortunately can't say the same about most of the userland.

      The reality is xlib is not stable.
      1) xlib ABI is stable to the user applications dynamically loading it.
      2) xlib over network is stable because the X11 protocol defines this..
      There are a few things missing here.

      The problem points
      1) xlib memory allocations and memory names when static linked are not fixed by the standard this brings fun.
      2) xlib is not for-bin from using dlopen to open items for local font rendering. Now statically linked this is going to be problems.
      3) xlib is not set in stone for how xlib talks for a local X11 application to a local X11 server this is not defined in the X11 standard at all.

      So yes using xlib is like using ntdll.dll under windows for syscalls with basically the same problems if you statically link it in for a local application.

      Weasel is been against X11 standard to statically link in xlib since forever.
      You will probably want to link dynamically with the regular X11 libraries, since some implementations will try to open other shared libraries with dlopen(), and if this fails, the X11 library might cause your application to crash.
      Different issues are reported by many different parties. Yes Qt talks about the dlopen problem. Others talk about the local transport protocol not being define.

      One of the differences X11 protocol vs Wayland Protocol is that Wayland Protocol does define the local transport protocol with versioning and X11 protocol does not define the local transport and there is no requirement for version information on the local protocol of X11. Yes over the network version of X11 network transport has to be advertised but locally X11 protocol does not have this requirement.

      The reality is is the old proprietary applications with xlib static linked work using X11 over network. Then wake up for 2 decades now X11 servers shipped by everyone have network mode off by default. Old proprietary applications that don't work out the box static link xlib. The standard X11 standard offically only support xlib dynamically loaded so these applications are non conforming to standard applications.

      Yes the way xlib talks to the X11 server locally is free to change with every update if the vendor decides that is so.

      Developers over and over again attempt to static link xlib only to end up in forums asking why it does not work. The reality static linking xlib is not designed to work at all. If static xlib works in a test case you have been lucky because its unlikely to stay that way for long.