geek@mit-amt.MEDIA.MIT.EDU (Chris Schmandt) (03/13/90)
In article <4840@crltrx.crl.dec.com> jg@max.crl.dec.com (Jim Gettys) writes: > >Before being so unpleasently nuked last month, Olivetti Research in Palo Alto >was building a server called "VOX" which addressed these needs. > >I believe this is the correct course of action, until proven otherwise. And >there is no proof that audio is best done as part of the X server, at least >yet. As one of the people who worked on VOX (fortunately, at this point, as a consultant rather than an employee) I must second Jim's point. Personally I think even VEX may have gone too far, in terms of devices "beyond the screen", but that's another matter. VOX strongly resisted the temptation to put audio into the "window system", although we felt there was LOTS to learn and borrow from with the X model. You don't want to clutter X with audio responsibilities; managing audio is very different from managing more-or-less-static graphics. Similarly, the audio equivalent of the window manager is likely to be very different. However, the original poster was commenting on the need for synchronization across media. This is the best argument for supporting multiple media in a single server process. With multiple processes, coordination may become difficult, both because of operating system scheduling of the processes, as well as a potential need for server-to-server communication or double round trips to the synchronizing client. On the other hand, I would argue that the operating system most of us work on just won't support the fine grained sync necessary for, say, coordinating stimuli for an experiment, so kludging things on top of the X server is not the way to go. For much of the synchronization that application developers will require I suspect that processors are just getting fast enough that cross-media skew due to scheduling is likely to be minimal. There are all sorts of other solutions, involving scheduling events according to some external time base, using either absolute or relative time. But enough said for now. chris
rusty@garnet.berkeley.edu (rusty wright) (03/13/90)
I know this isn't very interesting, but has anybody done anything so that you can just do things like you can on the Macintosh; i.e. change the beep to play a short audio file? For example, I'd like to be able to use the xset command to be able to specify a file to play whenever XBell() is used. (Presumably the server would load the file into memory to cut down on disk access when beeping.) I guess so far this would only be possible on the SPARCstation 1 and the Next machine. -- -------------------------------------- rusty c. wright rusty@violet.berkeley.edu ucbvax!violet!rusty
marbru@auto-trol.UUCP (Martin Brunecky) (03/14/90)
Audio Extension, Display Postscript Extension, Image Extension, PEX Extension ..... I believe we are at the point to reevaluate what are the extensions for. Otherwise, the whole idea of the network transparency will disappear in myriad of extensions, each available on one server but not the others, with some servers becoming more complex that any operating system. It is time to start thinking about generic client-server protocol, server-server protocols, and about dedicated servers. -- =*= Opinions presented here are solely of my own and not those of Auto-trol =*= Martin Brunecky marbru@auto-trol.COM (303) 252-2499 {...}ncar!ico!auto-trol!marbru Auto-trol Technology Corp. 12500 North Washington St., Denver, CO 80241-2404
klee@wsl.dec.com (Ken Lee) (03/14/90)
In article <776@auto-trol.UUCP>, marbru@auto-trol.UUCP (Martin Brunecky) writes: > > Audio Extension, Display Postscript Extension, Image Extension, PEX > Extension ..... > I believe we are at the point to reevaluate what are the extensions > for. Otherwise, the whole idea of the network transparency > will disappear in myriad of extensions, each available on one server > but not the others You have a good point, in that too many extensions is probably not a good idea. I think, however, that no extensions is also not a good idea. Extensions provide powerful features that are generally inefficient or impossible to implement in the client. Of course, servers that do not support the extensions will not be able to interoperate with clients requiring them, but there are lots of other reasons a client will not work with a given server. Some servers won't have access to enough memory or to the right networks. Some won't be fast enough or have large enough screens. Others won't support the necessary visuals. That's life. The workstation market is not a commodity market. Limiting extensions to those that provide really useful functionality is probably a good idea. Making the specifications to the extensions open so that anyone can use them is another good idea. I think all the extensions mentioned above (except the audio extension, which I don't think anyone is really working on now anyway) are useful ideas with open specifications. PostScript is a de facto standard. PEX is an implementation of an ANSI standard. The image extension is still being studied, but there's probably a goal to make it compatible with the developing ANSI standard. The author of the X11R4 image extension proposal is also chair of the ANSI image processing standards committee. I think extensions do have a place in the X world. Ken Lee DEC Western Software Laboratory, Palo Alto, Calif. Internet: klee@wsl.dec.com uucp: uunet!decwrl!klee
marbru@auto-trol.UUCP (Martin Brunecky) (03/15/90)
In article <3015@bacchus.dec.com> klee@decwrl.dec.com writes: > >You have a good point, in that too many extensions is probably not a >good idea. I think, however, that no extensions is also not a good >idea. Extensions provide powerful features that are generally >inefficient or impossible to implement in the client. Of course, .... ( I did not want to say NO extensions ).... > >Limiting extensions to those that provide really useful functionality >is probably a good idea. Making the specifications to the extensions >open so that anyone can use them is another good idea. I think all the >extensions mentioned above (except the audio extension, which I don't >think anyone is really working on now anyway) are useful ideas with open >specifications. > O.K. The problem I see is that all those really usefull extensions will make the server HUGE. Example is the XNeWs server, where people not using NeWs pay the penalty of the server support for NeWs, even though they don't use it. Another problem is extension loading/adding to the server. Most users will depend on vendor provided servers, with very little or no way to bind-in additional extensions, even though such extensions could be provided by the third party. The "big" extensions add a whole class of functionality. PEX, DisplayPostscript, XImage. The whole new dimension. Therefore, I would rather like to see such "extensions" as specialized servers, activated where needed, living in separate address space. Since many extensions demand really efficient access to the X server, sharing lots of X window semantics, they need an efficient, (shared memory based?), low level server-to-server protocol. On the other hand, there are extensions which are more "fixes" or minor enhancements to the core protocol. SHAPE is an excellent example. Such extensions deserve their place in the X server, and I don't object to it. -- =*= Opinions presented here are solely of my own and not those of Auto-trol =*= Martin Brunecky marbru@auto-trol.COM (303) 252-2499 {...}ncar!ico!auto-trol!marbru Auto-trol Technology Corp. 12500 North Washington St., Denver, CO 80241-2404
evans@testmax.ZK3.DEC.COM (Marc Evans Ultrix Q/A) (03/15/90)
In article <780@auto-trol.UUCP>, marbru@auto-trol.UUCP (Martin Brunecky) writes: > > The "big" extensions add a whole class of functionality. > PEX, DisplayPostscript, XImage. The whole new dimension. > Therefore, I would rather like to see such "extensions" as > specialized servers, activated where needed, living in > separate address space. Since many extensions demand really > efficient access to the X server, sharing lots of X window > semantics, they need an efficient, (shared memory based?), > low level server-to-server protocol. > What if the *big* extensions used a shared library mechanism (assuming that the host OS supports the capability)? This would potentially eliminate most of the concerns that I see you raising. An example of one implementation which does this is DECs' VMS X Server. It isn't often that I recommend looking at a VMS system, but this is one thing that I think they have the right idea for. I must admit that having a full threads implementation on top of MACH could be real interresting, and would allow for some real flexability in the area of how an extension is fastened into the X server. Is anybody out there trying to put the server into the threaded and/or MACH environment? - Marc ========================================================================== Marc Evans - WB1GRH - evans@decvax.DEC.COM | Synergytics (603)893-8481 Unix/X-window Software Contractor | 3 Koper Ln, Pelham, NH 03076 ==========================================================================
jg@max.crl.dec.com (Jim Gettys) (03/15/90)
You are missing the point. Audio has nothing to do with allocating screen resources. Only minimal coordination is actually needed with X. What is more, audio is a real time operation; it is very hard (read essentially impossible) to make real time guarantees in X. On grounds of keeping X from collapsing from over extension, therefore, unless some stronger grounds than just "it is a convenient server lying around", the burden of proof is on people to show why it can't be done as a seperate server. Jim Gettys Digital Equipment Corporation Cambridge Research Laboratory
john@acorn.co.uk (John Bowler) (03/16/90)
In article <RUSTY.90Mar12155001@garnet.berkeley.edu> rusty@garnet.berkeley.edu (rusty wright) writes: >I know this isn't very interesting, but has anybody done anything so >that you can just do things like you can on the Macintosh; i.e. change >the beep to play a short audio file? For example, I'd like to be able >to use the xset command to be able to specify a file to play whenever >XBell() is used. I am also interested in this - if anyone is currently investigating an extension to allow sound samples to be downloaded to the server to replace the default behaviour of the bell I would be interested in cooperating. Acorn's hardware has the ability to deal output 8-bit logarithmic sound samples; our native operating system uses this to allow the bell to be reprogrammed in the way described and this sounds very popular :-). > (Presumably the server would load the file into >memory to cut down on disk access when beeping.) I guess so far this >would only be possible on the SPARCstation 1 and the Next machine. Plus ARM based machines - unfortunately the current release of our Un*x variant doesn't have the programmer's interfaces to drive the hardware. I do *not* think the server is a suitable place for general sound output - any program which does this will end up spending a large proportion of its time synchronising the output unless the kernel facilities provided are very sophisticated (large buffers, plus timing information, plus advice to the program about buffer status). In our interface the programmer just gives the kernel a sample and waits for it to finish - not much use if you want to draw wide intersecting lines with bevel joins at the same time :-) John Bowler (jbowler@acorn.co.uk)
nazgul@alphalpha.com (Kee Hinckley) (03/19/90)
In article <780@auto-trol.UUCP> marbru@auto-trol.COM (Martin Brunecky) writes: > O.K. The problem I see is that all those really usefull > extensions will make the server HUGE. Example is the XNeWs ... > Another problem is extension loading/adding to the server. > Most users will depend on vendor provided servers, with very > little or no way to bind-in additional extensions, even though > such extensions could be provided by the third party. ... Aren't all of these problems solved by simply having a server that dynamically loads in extensions when they are requested? -kee -- +-----------------------------------------------------------------------------+ | Alphalpha Software, Inc. | Voice/Fax: 617/646-7703 | Home: 617/641-3805 | | 148 Scituate St. | Smart fax, dial number. | | | Arlington, MA 02174 | Dumb fax, dial number, | BBS: 617/641-3722 | | nazgul@alphalpha.com | wait for ring, press 3. | 300/1200/2400 baud | +-----------------------------------------------------------------------------+
black@yoyodyne..westford.ccur.com (Samuel (Opus) Black) (03/20/90)
In article <4872@crltrx.crl.dec.com> jg@max.crl.dec.com (Jim Gettys) writes: >What is more, audio is a real time operation; it is very hard (read >essentially impossible) to make real time guarantees in X. Gee, that's what they said about UNIX a few years ago. I'm currently working on RealTimeX, and we'll see what happens... - sam ------------------------------------------------------------------------------- Once you remove the absurdity from human existence, there isn't much left. __________ / _______/__ ...!{decvax,uunet}!masscomp!black /__/______/ / black@westford.ccur.com Concurrent /_________/ Computer Corporation -------------------------------------------------------------------------------
hvr@kimba.Sun.COM (Heather Rose) (03/20/90)
In article <4872@crltrx.crl.dec.com> jg@max.crl.dec.com (Jim Gettys) writes: >You are missing the point. Audio has nothing to do with allocating screen >resources. Only minimal coordination is actually needed with X. >What is more, audio is a real time operation; it is very hard (read >essentially impossible) to make real time guarantees in X. FYI: someone at Sun did do an audio extension on SparcStation1. They were showing it at the SUG, and giving away the sources. And the points Jim makes about "real time" are very real. The audio was often delayed and spotty thus making it a neat demo but not a realistic application. __________________________________________________________________ Heather Rose Window Systems Group internet: hrose@sun.com Sun Microsystems, Inc. uucp: ...!sun!hrose
don@CS.UMD.EDU (Don Hopkins) (03/21/90)
Date: 18 Mar 90 19:13:29 GMT From: snorkelwacker!spdcc!tauxersvilli!alphalpha!nazgul@bloom-beacon.mit.edu (Kee Hinckley) In article <780@auto-trol.UUCP> marbru@auto-trol.COM (Martin Brunecky) writes: > O.K. The problem I see is that all those really usefull > extensions will make the server HUGE. Example is the XNeWs ... > Another problem is extension loading/adding to the server. > Most users will depend on vendor provided servers, with very > little or no way to bind-in additional extensions, even though > such extensions could be provided by the third party. ... Aren't all of these problems solved by simply having a server that dynamically loads in extensions when they are requested? -kee Date: Thu, 4 Jan 90 14:35:13 -0500 To: NeWS-makers@brillig.umd.edu Subject: Re: bogus arguments, whether pro or con From: rws@expo.lcs.mit.edu (Bob Scheifler) Do I understand that NCR has a meta-extension for loading and unloading server extensions dynamically? It has a mechanism, yes. I don't know the implementation details. Is it in the form of a standard X extension that I could link into, say, an X11/NeWS server? There is no notion of a "standard X extension", in terms of implementation binaries or standardized internal interfaces, at least not right now. Or does it require server modification, and/or operating system support? I would say most interesting X extensions (3D, video, overlays, double-buffering, nonrectangular windows, input devices, shared memory) have required some amount of server modification and/or hardware/OS support.
bpendlet@bambam.UUCP (Bob Pendleton) (04/07/90)
From article <2045@acorn.co.uk>, by john@acorn.co.uk (John Bowler): > In article <667@bambam.UUCP> bpendlet@bambam.UUCP (Bob Pendleton) writes: > My argument (which may have got lost when the xpert<->comp.windows.x link broke > :-() is that it is only appropriate to provide a sound extension in X to meet > the needs of the X user interfaces. That is what I thought I was arguing for. Something more powerful than bell, but far short of performance quality. > (Haven't you ever been faced with > a situation where *something* just beeped, but you have no way of knowing which > of the many applications on the screen?) I sure have! What a pain. Sorry for the slow responce, our news connection has been down for awhile. Bob P. -- Bob Pendleton, speaking only for myself. UUCP Address: decwrl!esunix!bpendlet or utah-cs!esunix!bpendlet X: Tools, not rules.