jorice@csvax1.cs.tcd.ie (The Lone Biker of the Apocalypse) (01/06/90)
Before Christmas I *was* trying to get X11R3 working on my Sparcstation 1, but with the release of R4 there isn't much point in me asking all those specific questions about it. I'll try getting R4 working instead. But I do have a couple of general questions: 1. Using Sun's compiler, you have the option of several levels of optimisation. Now, I managed to get R3 going fairly well using the highest level (4) for the server, while the libraries needed level 2 or lower. This was done by changing the Makefile for the server. This is at odds with the recommended way of building the system, which ties you to the same optimisation level for everything (it being a parameter to imake). Tailored optimisation seems sensible to me, though, even if just for the server vs. the libraries. So, what I want to know is, which sections are safe, and worthwhile, to optimise? I know this question is very largely system-dependent, but it's not *fully* so. General or specific (Sparc) comments welcomed. 2. Following on from the last question, how can you tell if you've built the system fully correctly? I was a bit uneasy to find that I couldn't get xedit working (segmentation fault), while all other clients in the standard release *did* work. Does this indicate that some routine in some library has been made wrongly? Generally, how can one check that you haven't got such a nasty bug in the system, waiting for you to call *that* obscure routine with *those* parameters? No, I'm not so naive as to ask for bug-free software, but I would like to give my system a pretty good work-out. Is xperf what I need? Does that do a fairly complete checkup on the system or does it just check the more obvious routines? 3. Which compiler is it better to use on the Sparcstation to compile X - gcc or Sun's cc? 4. One of the big things about SunOS 4 was the concept of shared libraries. These allow the same copy of a library in memory to be used by many different running processes at the same time. The libraries are linked at run-time. From reading the SunOS manual on the subject, it would seem to be an *incredible* job to make a shared version of X. If I get it right, certain types of external declarations need to be factored into new header files, and this is for *all* of the source code for the libraries. And then the makefiles need to be altered to access these headers and to specify shared binaries. It's a really hairy job, as far as I can see. Can anyone comment? Is it as bad as it seems? Has anyone (especially Sun) bitten the bullet and actually made shared versions of the libraries? 5. There are some 8-bit colour Decstation 3100s around here. Has anyone done performance tests between one of these and a Sparcstation1 for graphics speed in general and X speed in particular? The Sun seems disappointingly slow on graphics in general (I'm not just talking about X). I guess I really should ask this in a Sun-specific group. 6. Another Sun-specific one: Sun's GX graphics accelerator board - can the standard X library take advantage of it? That's about it.
rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (01/07/90)
how can you tell if you've built the system fully correctly? Sorry, there's just no simple answer to that question. If we had a test suite for all of X, I'm sure we'd let you know about it. :-) I was a bit uneasy to find that I couldn't get xedit working (segmentation fault), while all other clients in the standard release *did* work. Does this indicate that some routine in some library has been made wrongly? Something's wrong, but that's not enough information to know where the problem is. A stack trace would be useful, for example. If you've built with shared libraries, you may have to relink -Bstatic to get a meaningful trace, if it's in a library routine. Is xperf what I need? x11perf (if that's what you mean) really only exercises parts of the server. Has anyone (especially Sun) bitten the bullet and actually made shared versions of the libraries? Yes, R4 has shared libraries, as does OpenWindows. I believe AT&T also ships shared libraries on their box, and I think Apollo does on theirs. Has anyone done performance tests between one of these and a Sparcstation1 for graphics speed in general and X speed in particular? For X, yes we have. Perhaps I'll post a comparison, since you've asked. Sun's GX graphics accelerator board - can the standard X library take advantage of it? The server in the MIT distribution does not take advantage of it.