Problem with X11.UseXft

Dear rooters,

I am facing the following problem,
when i am enabling the X11.UseXft option (that means i put inside the $ROOTSYS/etc/system.rootrc “X11.UseXft: yes” or i include the following line inside my script’s code “gEnv->SetValue(“X11.UseXft”, “true”);” as it was proposed in another post in this forum) then root is crashing immediately when it is about to open something with graphical interface, i.e. a TCanvas or whatever.

It follows the error message:
“Attaching to program: /proc/11784/exe, process 11784
[Thread debugging using libthread_db enabled]
[New Thread 0xb6dff6c0 (LWP 11784)]
0xb7f1e410 in __kernel_vsyscall ()
error detected on stdin
The program is running. Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal]
Detaching from program: /proc/11784/exe, process 11784”

I have installed the latest version of root (5.19/02) and i am running ubuntu 8.04. I have to say that i faced this problem always and i never managed to get this option without crashing the root even with older versions of root and ubuntu too.

Of course when UseXft option it is disabled root is working properly but the graphics are without antializing and everything is “pixelized”.

Any suggestions or comments? Is it a problem of vga drivers or so? (i have nvidia)

Thanks for your time.

I am using an SLC 4 (Redhat) linux machine with the latest ROOT version, and
when I activate the Xft option I do not get any crash. That should be connected
to the fact you are using Ubuntu, I guess.

We can reproduce and are investigating the issue. However, for TTF fonts in Canvases you don’t need the Xft option. This option is only needed to use TTF fonts in the GUI (like menu and button text).

Cheers, Fons.

Of course, as you correctly mentioned, i want to use this option for the GUI and not in order to change the fonts in a TCanvas. But when i activate this option my system can not open even a simple TCanvas (of course my stand alone application also crashes immediately in the same way).
I brought the example of the TCanvas for simplicity and not getting into details for my application since the problem it is not there and it is something more general that makes the system to crash.

I face this problem on my laptop computer. I have the same things installed also in my desktop pc (ubuntu+root+nvidia drivers) and there it works fine, actually the antializing option it is “on” by default there (That means no matter if the option Xft inside the system.rootrc is “yes” or “no” the fonts are always smooth, by default the option was “no” but it makes no difference).

Apparently it is not a problem of root or ubuntu in general but something more specific… a library or something else is missing?
I also put the option “–enable-xft” during the installation and i have no error messages or something suspicious during that…the procedure finishes correctly (of course i do not know if this is somehow connecting with the problem). Are there any dependencies or so? Does anybody had the same problem in the past? As i mentioned i never make in to enable this option without crashing the application even with older versions of ubuntu and root, it is not something that appeared now.

thanks for your efforts…

Indeed if you enable this option it is used for all fonts (canvas and gui), if you turn it off, you still get ttf fonts in canvases (just to clarify for other people reading this thread).

I see the crash on my MacBookPro laptop. There is crashes deep in the xft code of a function which is called with only display pointer and font-name. Might be a problem with the font-name (and a lacking of proper error handling in the xft code). We keep looking into it.

Cheers, Fons.

I do not see a crash on:

But a TCanvas takes much longer to open when the Xft option is ON. Also the text does not look as clear as when the option is off. Seems to me the original idea was to use this option when the GUI really looks ugly, but when it is fine why using it ?

FYI, we observed a few side-effects when using xft (i.e. it slows down the GUI…)
Cheers, Bertrand.