6

I have an old Xorg server whose "Render" extension seems to be buggy (if enabled, most of the fonts are invisible, unless hovering over them -- after upgrading the packages with X clients and libraries).

So, the problem is solved for new instances of the Xorg server by adding to /etc/X11/xorg.conf:

Section "Extensions"
    Option      "RENDER" "Disable"
EndSection

But what if I want to continue an X session, but make new clients not use the extension? (Of course, logically, old clients can't be made not to use it; but what about new ones?) Some options are:

  1. Can I turn one of the server's extension off on the fly, while the server is running?
  2. Can I tell the clients not to use it (e.g., those written with a specific toolkit)?
  3. IS there an "X proxy" which could be used for my goal: the proxy could simply not advertise that it has a "Render" extension, or translate the requests that involve it, and forward everything to the "physical" X server, and my new clients would then connect to the proxy's DISPLAY.
imz -- Ivan Zakharyaschev
  • 15,113
  • 15
  • 61
  • 123

1 Answers1

3

For occational use you could plug xtrace between your client and your server and make the client not see any extensions by using xtrace's -e switch:

  -e | --denyextensions
         Modify all server replies to say there are no extensions
         available.  (As xtrace does supports only a small number of
         extensions anyway and calls all extended requests "unknown"
         and  all replies to such requests "unexpected").

You will not see any extensions so it is of no help to "disable"/hide a single extension. For this case you could try to modify the source (I guess parse.c:replyQueryExtension() is the place).

Second catch is that using xtrace will probably slow down your client.

uli42
  • 236
  • 1
  • 6