From julien.lafon at gmail.com Tue Mar 1 05:02:05 2005 From: julien.lafon at gmail.com (Julien Lafon) Date: Mon Feb 28 23:13:51 2005 Subject: [Xprint] Would like a 64bit rpm for xprint In-Reply-To: <200502261933.j1QJXHiu015563@hemlock.highley-recommended.com> References: <200502261933.j1QJXHiu015563@hemlock.highley-recommended.com> Message-ID: On Sat, 26 Feb 2005 11:33:17 -0800 (PST), David Highley wrote: > Would it be possible to get a 64 bit rpm for xprint? Which distribution do you use? Some Linux distributions such as Suse are shipping 64bit versions of the Xprint server. > Is this development connected to mozilla? Yes, Mozilla (suite, firefox, etc.) are Xprint _clients_ which access the Xprint _server_ (this X.org/mozdev.org project is dedicated to the X11 print _server_) to create print jobs. Julien -- Julien Lafon Senior Staff Engineer, Hitachi From dparsons at debian.org Tue Mar 1 15:35:41 2005 From: dparsons at debian.org (Drew Parsons) Date: Mon Feb 28 23:55:17 2005 Subject: [Xprint] Would like a 64bit rpm for xprint In-Reply-To: References: <200502261933.j1QJXHiu015563@hemlock.highley-recommended.com> Message-ID: <1109651741.7294.4.camel@pug.anu.edu.au> On Tue, 2005-03-01 at 05:02 +0100, Julien Lafon wrote: > On Sat, 26 Feb 2005 11:33:17 -0800 (PST), David Highley > wrote: > > Would it be possible to get a 64 bit rpm for xprint? > Which distribution do you use? Some Linux distributions such as Suse > are shipping 64bit versions of the Xprint server. > Debian builds for 12 or so architectures at the moment. If I remember right our 64bit architectures are alpha, ia64 and amd64. There might be some support for sparc64, but I think our sparc builds are 32bit for general packages. It's possible to convert our deb packages to rpm, but if you really need to use rpm then your distributor's build is probably safest. Drew From roland.mainz at nrubsig.org Wed Mar 2 07:28:21 2005 From: roland.mainz at nrubsig.org (Roland Mainz) Date: Wed Mar 2 01:34:10 2005 Subject: [Xprint] Would like a 64bit rpm for xprint References: <200502261933.j1QJXHiu015563@hemlock.highley-recommended.com> Message-ID: <42255D05.739AD61B@nrubsig.org> David Highley wrote: > > Would it be possible to get a 64 bit rpm for xprint? In theory the 23bit RPM should be fine (Xprint is client/server based where both sides are communicating via the X11 protocol (which is OS/platform-independent) to each other) ... did you hit any problems with it (BTW: Which Linux distribution do you use ?) ? > Is this development > connected to mozilla? Half and half... Mozilla has a print module which acts as Xprint client to drop print jobs to the printer. This project is for the Xprint server side and OS/platform integration (Mozilla's side doesn't have to bother with these issues, the Xprint protocol abstracts all the details and provides an uniform API and the Xprint server handles then all the platform/spooler/etc.-specific details) ... ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz@nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;) From roland.mainz at nrubsig.org Wed Mar 2 07:31:06 2005 From: roland.mainz at nrubsig.org (Roland Mainz) Date: Wed Mar 2 01:36:30 2005 Subject: [Xprint] Would like a 64bit rpm for xprint References: <200502261933.j1QJXHiu015563@hemlock.highley-recommended.com> <4223F010.82D34223@nrubsig.org> Message-ID: <42255DAA.AB524232@nrubsig.org> Roland Mainz wrote: > > David Highley wrote: > > > > Would it be possible to get a 64 bit rpm for xprint? > > In theory the 23bit RPM should be fine ^^^^^^^^^ Sorry, this should be "32bit RPM" (typo) ... ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz@nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;) From roland.mainz at nrubsig.org Wed Mar 2 07:39:11 2005 From: roland.mainz at nrubsig.org (Roland Mainz) Date: Wed Mar 2 01:44:54 2005 Subject: [Xprint] Would like a 64bit rpm for xprint References: <200502261933.j1QJXHiu015563@hemlock.highley-recommended.com> Message-ID: <42255F8F.852A03EF@nrubsig.org> Julien Lafon wrote: > > On Sat, 26 Feb 2005 11:33:17 -0800 (PST), David Highley > wrote: > > Would it be possible to get a 64 bit rpm for xprint? > Which distribution do you use? Some Linux distributions such as Suse > are shipping 64bit versions of the Xprint server. In theory the 32bit version should be fine here... or are there any problems ? > > Is this development connected to mozilla? > Yes, Mozilla (suite, firefox, etc.) ... Sunbird (calendar), Thunderbird (email) ... > are Xprint _clients_ which access > the Xprint _server_ (this X.org/mozdev.org project is dedicated to the > X11 print _server_) to create print jobs. Note that this project isn't Mozilla-specific, it's a generic X11 API for printers (the project codebase has been merged into the X.org Foundation CVS (see http://www.x.org/) with X11R6.8.0, e.g. the codebase is now identical...) and there are plenty of other applications which make use of Xprint, too... ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz@nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;) From roland.mainz at nrubsig.org Wed Mar 2 07:39:51 2005 From: roland.mainz at nrubsig.org (Roland Mainz) Date: Wed Mar 2 01:45:55 2005 Subject: [Xprint] Re: [Fwd: cfb conversion effort (was Re: Debugging X.org drivers?)] References: <419194AC.7A5A6117@nrubsig.org> <4191B87E.1050506@sun.com> <419243BA.3020206@sun.com> Message-ID: <42255FB7.EAFC4A12@nrubsig.org> Alan Coopersmith wrote: > > we briefly toyed with porting m64 and vfb to use fb in Xsun. > > It only took a few hours, and it came up, but we didn't pursue it- not > > on our main path. > > Well, it only took a few hours to get m64 90% of the way converted. > The last 10% of code would have been 90% of the work though, since what > was left were the bits for dealing with the Xsun Multi-Plane Group > functionality, which is supported in Xsun's cfb, but not in fb. How much work (e.g. work days per single engineer) would it be to get the "Multiplane Group"-functionality ported over to the Xorg fb driver ? After doing a quick look over it's functionality it's something which could be a great benefit for many applications (including Mozilla and the Qt toolkit) if most of the Xorg drivers would support it... ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz@nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;) From roland.mainz at nrubsig.org Wed Mar 2 07:40:03 2005 From: roland.mainz at nrubsig.org (Roland Mainz) Date: Wed Mar 2 01:45:55 2005 Subject: [Xprint] Re: Newer version of the combined video+print server from? References: Message-ID: <42255FC3.A71AC9F4@nrubsig.org> Julien Lafon wrote: > > Roland - had you time to continue your work on the combined > ('unified') video+print server patch yet? Unfortunately no (except the integration of the fixes you send me) ... almost every minute of my spare free time was consumed by my duties as release manager of the X11R6.8.2 release (and then I was at the XDevconf+LinuxWorld in Boston) ... ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz@nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;) From roland.mainz at nrubsig.org Sat Mar 5 21:28:16 2005 From: roland.mainz at nrubsig.org (Roland Mainz) Date: Sat Mar 5 15:34:32 2005 Subject: [Xprint] Re: Newer version of the combined video+print server from? References: <42255FC3.A71AC9F4@nrubsig.org> Message-ID: <422A1660.99C8B595@nrubsig.org> Roland Mainz wrote: > > Roland - had you time to continue your work on the combined > > ('unified') video+print server patch yet? > > Unfortunately no (except the integration of the fixes you send me) ... > almost every minute of my spare free time was consumed by my duties as > release manager of the X11R6.8.2 release (and then I was at the > XDevconf+LinuxWorld in Boston) ... Attached is a new version of the patch for testing. It deals with most of the problems of the previous version except that there is no switch to define a server mode yet (e.g. "video", "print", "unified"). ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz@nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;) -------------- next part -------------- Index: xc/config/cf/Imake.rules =================================================================== RCS file: /cvs/xorg/xc/config/cf/Imake.rules,v retrieving revision 1.8 diff -u -2 -0 -r1.8 Imake.rules --- xc/config/cf/Imake.rules 1 Feb 2005 22:27:00 -0000 1.8 +++ xc/config/cf/Imake.rules 5 Mar 2005 20:12:50 -0000 @@ -3529,40 +3529,66 @@ #ifndef InstallDynamicModule #define InstallDynamicModule(module,dest,subdir) @@\ AllTarget(module) @@\ LinkBuildModule(module,subdir) @@\ @@\ install:: module @@\ MakeDir($(DESTDIR)dest/subdir) @@\ $(INSTALL) -c $(INSTDATFLAGS) module $(DESTDIR)dest/subdir #endif #ifndef InstallDynamicNamedModule #define InstallDynamicNamedModule(module,instname,dest,subdir) @@\ AllTarget(module) @@\ LinkBuildNamedModule(module,instname,subdir) @@\ @@\ install:: module @@\ MakeDir($(DESTDIR)dest/subdir) @@\ $(INSTALL) -c $(INSTDATFLAGS) module $(DESTDIR)dest/subdir/instname #endif +/* Shortcuts for installing driver module, one per class */ +#ifndef InstallVideoObjectModule +#define InstallVideoObjectModule(module,dest) @@\ +InstallObjectModule(module,dest,video) +#endif +#ifndef InstallPrintObjectModule +#define InstallPrintObjectModule(module,dest) @@\ +InstallObjectModule(module,dest,print) +#endif +#ifndef InstallInputObjectModule +#define InstallInputObjectModule(module,dest) @@\ +InstallObjectModule(module,dest,input) +#endif +#ifndef InstallExtensionsObjectModule +#define InstallExtensionsObjectModule(module,dest) @@\ +InstallObjectModule(module,dest,extensions) +#endif +#ifndef InstallFontsObjectModule +#define InstallFontsObjectModule(module,dest) @@\ +InstallObjectModule(module,dest,fonts) +#endif +#ifndef InstallMultimediaObjectModule +#define InstallMultimediaObjectModule(module,dest) @@\ +InstallObjectModule(module,dest,multimedia) +#endif + #ifndef InstallObjectModule #if !DoLoadableServer #define InstallObjectModule(module,dest,subdir) /**/ #else #if MakeDllModules #define InstallObjectModule(module,dest,subdir) @@\ InstallDynamicModule(Concat(module,_drv.so),dest,subdir) #else #define InstallObjectModule(module,dest,subdir) @@\ InstallDynamicModule(Concat(module,_drv.o),dest,subdir) #endif #endif #endif #ifndef InstallLibraryModule #if !DoLoadableServer #define InstallLibraryModule(module,dest,subdir) /**/ #else #if MakeDllModules #define InstallLibraryModule(module,dest,subdir) @@\ Index: xc/programs/Xserver/Imakefile =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/Imakefile,v retrieving revision 1.28 diff -u -2 -0 -r1.28 Imakefile --- xc/programs/Xserver/Imakefile 2 Feb 2005 14:26:24 -0000 1.28 +++ xc/programs/Xserver/Imakefile 5 Mar 2005 20:12:59 -0000 @@ -821,83 +821,82 @@ SetUIDServerTarget(Xorg,$(XF86SERVERSUBDIRS),$(XF86SERVEROBJS) $(SERVERDEFFILE), \ $(XF86SERVERLIBS),$(XF86SERVERSYSLIBS)) #if DoLoadableServer ServerDriverSDKTarget(Xorg) #endif #ifndef ServerToInstall #define ServerToInstall Xorg #endif #endif /* XorgServer */ #if defined(XprtServer) && XprtServer XCOMM XCOMM Print Server XCOMM MFBSUBDIR = mfb CFB8SUBDIR = cfb CFB32SUBDIR = cfb32 MIDAMAGEDIR = miext/damage XPSUBDIRS = $(STDDIRS) $(MFBDIR) $(CFB8DIR) $(CFB32DIR) $(DEPDIRS) \ $(MIDAMAGEDIR) +XPOBJS = Xprint/ddxInit.o Xprint/dpmsstubs.o Xprint/miinitext.o #if PrintOnlyServer -#if BuildDPMS -XPDPMSSTUBOBJS = Xprint/dpmsstubs.o -#endif -XPOBJS = Xprint/ddxInit.o Xprint/miinitext.o $(XPDPMSSTUBOBJS) XPLIBS = PreFbLibs $(XPDDXLIBS) $(XPDDXFBLIBS) PostFbLibs #else -XPOBJS = Xprint/ddxInit.o XPLIBS = PreFbLibs PostFbLibs #endif #if (defined(SunArchitecture) || defined(SparcArchitecture)) && \ defined(SVR4Architecture) XPSYSLIBS = $(FONTLIBS) $(CBRT) $(SYSLIBS) -lw #else XPSYSLIBS = $(FONTLIBS) $(CBRT) $(SYSLIBS) #endif #if HasParallelMake MakeMutex($(XPSUBDIRS) $(XPOBJS) $(XPLIBS) $(XPSYSLIBS)) #endif #if ForceServerRemake $(XPOBJS) $(XPLIBS) $(XPSYSLIBS):: $(XPSUBDIRS) @if [ -f $@ ]; then touch $@ >/dev/null 2>&1 || exit 0; fi #endif ServerTarget(Xprt,$(XPSUBDIRS),$(XPOBJS), \ $(LIBCWRAPPER) $(XPLIBS) $(LOADABLEEXTS),$(XPSYSLIBS)) #endif /* XprtServer */ #if defined(XnestServer) && XnestServer XCOMM XCOMM Server with Xlib-based ddx XCOMM #ifndef Win32Architecture XNESTDDXDIR = hw/xnest #else XNESTDDXDIR = hw #endif +#if BuildDPMS +XNESTDPMSSTUBOBJS = $(XNESTDDXDIR)/dpmsstubs.o +#endif XNESTDIRS = $(STDDIRS) $(XNESTDDXDIR) $(DEPDIRS) #if !defined(LynxOSArchitecture) && \ !defined(Win32Architecture) && \ !defined(QNX4Architecture) -XNESTOBJS = hw/xnest/miinitext.o +XNESTOBJS = hw/xnest/miinitext.o $(XNESTDPMSSTUBOBJS) #else -XNESTOBJS = hw/xnest/miinitext.o dix/main.o +XNESTOBJS = hw/xnest/miinitext.o dix/main.o $(XNESTDPMSSTUBOBJS) #endif XNEST = hw/xnest/LibraryTargetName(xnest) XNESTLIBS = PreFbLibs $(XNEST) NoMfbPostFbLibs $(XNEST) XNESTSYSLIBS = $(FONTLIBS) $(LDPRELIBS) $(XLIB) $(SYSLIBS) #if HasParallelMake MakeMutex($(XNESTDIRS) $(XNESTOBJS) $(XNESTLIBS) $(XNESTSYSLIBS)) #endif #if ForceServerRemake $(XNESTOBJS) $(XNESTLIBS) $(XNESTSYSLIBS):: $(XNESTDIRS) @if [ -f $@ ]; then touch $@ >/dev/null 2>&1 || exit 0; fi #endif ServerTarget(Xnest,$(XNESTDIRS),$(XNESTOBJS) $(XNESTDEFFILE), \ $(LIBCWRAPPER) $(XNESTLIBS) $(LOADABLEEXTS),$(XNESTSYSLIBS)) #endif /* XnestServer */ #if defined(XnonServer) && XnonServer XCOMM XCOMM non server, just compile sources for build test XCOMM Index: xc/programs/Xserver/Xprint/Imakefile =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/Xprint/Imakefile,v retrieving revision 1.5 diff -u -2 -0 -r1.5 Imakefile --- xc/programs/Xserver/Xprint/Imakefile 26 Nov 2004 09:00:08 -0000 1.5 +++ xc/programs/Xserver/Xprint/Imakefile 5 Mar 2005 20:12:59 -0000 @@ -13,52 +13,53 @@ #ifndef XpPostScriptDDX #define XpPostScriptDDX YES #endif SRCS1 = Init.c Quarks.c spooler.c attributes.c Util.c mediaSizes.c \ Oid.c AttrValid.c OBJS1 = Init.o Quarks.o spooler.o attributes.o Util.o mediaSizes.o \ Oid.o AttrValid.o #ifdef OS2Architecture SRCS_OS2 = os2_stubs.c OBJS_OS2 = os2_stubs.o #endif #if XprtServer #if PrintOnlyServer || defined(PrintServerExtensions) #if PrintOnlyServer PO_DEFINES = -DPRINT_ONLY_SERVER #endif +#endif #ifdef PrintServerExtensions XPEXT_DEFINES = PrintServerExtensions #else XPEXT_DEFINES = $(EXT_DEFINES) #endif -SRCS3 = miinitext.c dpmsstubs.c -OBJS3 = miinitext.o dpmsstubs.o -#endif SRCS2 = ddxInit.c OBJS2 = ddxInit.o #endif +SRCS3 = miinitext.c dpmsstubs.c +OBJS3 = miinitext.o dpmsstubs.o + SRCS = $(SRCS1) $(SRCS2) $(SRCS3) $(SRCS_OS2) OBJS = $(OBJS1) $(OBJS_OS2) #if XpRasterDDX RASTDIR = raster RASTDEF = -DXPRASTERDDX #endif #if XpColorPclDDX PCLDIR = pcl PCLDEF = -DXPPCLDDX #endif #if XpMonoPclDDX MPCLDIR = pcl-mono MPCLDEF = -DXPMONOPCLDDX #endif #if XpPostScriptDDX PSDIR = ps PSDEF = -DXPPSDDX #endif @@ -79,56 +80,54 @@ -I$(EXTINCSRC) -I$(FONTINCSRC) -I$(XLIBSRC) LINTLIBS = $(TOP)/server/dix/llib-ldix.ln $(TOP)/server/os/llib-los.ln \ $(TOP)/server/ddx/mfb/llib-lmfb.ln \ $(TOP)/server/ddx/mi/llib-lmi.ln \ $(TOP)/server/ddx/cfb/llib-lcfb.ln DEFINES = -DXPRINTDIR=\"$(XPRINTDIR)\" $(RASTDEF) $(PCLDEF) $(MPCLDEF) \ $(PSDEF) $(MKTMP_DEFINES) -UXFree86LOADER -D_XP_PRINT_SERVER_ /* Go ahead: Call me paranoid ... */ Makefiles:: RemoveFiles(Quark.c Xlcint.h Xresource.h Xrm.c XrmI.h) LinkSourceFile(Quarks.c,$(XLIBSRC)) NormalLibraryObjectRule() #if XprtServer -all:: $(OBJS2) $(OBJS3) $(OBJS_OS2) +all:: $(OBJS2) $(OBJS_OS2) $(OBJS3) #endif NormalLibraryTarget(printer,$(OBJS)) NormalLintTarget($(SRCS)) SpecialCObjectRule(ddxInit,$(ICONFIGFILES),$(PO_DEFINES) $(OS_DEFINES) $(EXT_DEFINES)) -#if XprtServer && (PrintOnlyServer || defined(PrintServerExtensions)) +#if XprtServer LinkSourceFile(miinitext.c,$(SERVERSRC)/mi) -SpecialCObjectRule(miinitext,$(ICONFIGFILES),$(PO_DEFINES) $(OS_DEFINES) $(XPEXT_DEFINES) -DXPRINT) -#if PrintOnlyServer +SpecialCObjectRule(miinitext,$(ICONFIGFILES), -DPRINT_ONLY_SERVER $(OS_DEFINES) $(XPEXT_DEFINES) -DXPRINT) LinkSourceFile(dpmsstubs.c,$(SERVERSRC)/Xext) LinkSourceFile(dpmsproc.h,$(SERVERSRC)/Xext) SpecialCObjectRule(dpmsstubs,$(ICONFIGFILES),$(PO_DEFINES) $(OS_DEFINES) $(XPEXT_DEFINES) -DXPRINT) #endif -#endif #ifdef OS2Architecture LinkSourceFile(os2_stubs.c,../hw/xfree86/os-support/os2) SpecialCObjectRule(os2_stubs,$(ICONFIGFILES),-DOS2NULLSELECT) #endif #ifdef IHaveSubdirs MakeSubdirs($(SUBDIRS)) DependSubdirs($(SUBDIRS)) MakeLintLibSubdirs($(SUBDIRS)) #endif DependTarget() InstallManPage(Xprt,$(MANDIR)) #ifdef HasDocBookTools all:: Xprt.man Xprt.html ConvertDocBookToManPage(Xprt.sgml, Xprt.man) Index: xc/programs/Xserver/Xprint/Init.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/Xprint/Init.c,v retrieving revision 1.9 diff -u -2 -0 -r1.9 Init.c --- xc/programs/Xserver/Xprint/Init.c 4 Dec 2004 00:42:50 -0000 1.9 +++ xc/programs/Xserver/Xprint/Init.c 5 Mar 2005 20:12:59 -0000 @@ -285,40 +285,52 @@ static int printScreenPrivIndex, printWindowPrivIndex, printGCPrivIndex; static unsigned long printGeneration = 0; static char *configFileName = (char *)NULL; static Bool freeDefaultFontPath = FALSE; static char *origFontPath = (char *)NULL; static Bool xprintInitGlobalsCalled = FALSE; /* * This function is responsible for doing initalisation of any global * variables at an very early point of server startup (even before * |ProcessCommandLine()|. */ void XprintInitGlobals(void) { extern char dispatchExceptionAtReset; /* defined in Xserver/dix/dispatch.c */ xprintInitGlobalsCalled = TRUE; +#ifdef DAMAGE + /* Disable DAMAGE extension for now as it does not work with + * the Postscript DDX yet (see + * https://bugs.freedesktop.org/show_bug.cgi?id=1660) ... + * (you can enable the DAMAGE extension explicitly via + * % X +extension DAMAGE ... #) ;-( */ + { + extern Bool noDamageExtension; + noDamageExtension = TRUE; + } +#endif /* DAMAGE */ + #ifdef SMART_SCHEDULE /* Somehow the XF86 "smart scheduler" completely kills the Xprint DDX * (see http://xprint.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=467 * ("Xfree86's "smart scheduler" breaks Xprt") */ SmartScheduleDisable = TRUE; #endif /* SMART_SCHEDULE */ /* Disable internal screensaver for Xprint (workaround for * http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=567 ("Xorg * Xprt starts to consume 100% CPU when being idle for some time")) */ defaultScreenSaverTime = 0; /* Ensure that the maximum request size for the BIGREQUESTS extension * is at least 8MB (see * http://xprint.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=622 - "RFE: * Xprt's default BIGREQUESTS extension buffer size should be 8MB") */ maxBigRequestSize = (8*1048576)-1; /* Xprt should not reset by default when the last client exists Index: xc/programs/Xserver/Xprint/ddxInit.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/Xprint/ddxInit.c,v retrieving revision 1.4 diff -u -2 -0 -r1.4 ddxInit.c --- xc/programs/Xserver/Xprint/ddxInit.c 27 Jul 2004 20:26:47 -0000 1.4 +++ xc/programs/Xserver/Xprint/ddxInit.c 5 Mar 2005 20:12:59 -0000 @@ -64,43 +64,40 @@ * *----------------------------------------------------------------------- */ void InitOutput( ScreenInfo *pScreenInfo, int argc, char **argv) { int i; pScreenInfo->imageByteOrder = IMAGE_BYTE_ORDER; pScreenInfo->bitmapScanlineUnit = BITMAP_SCANLINE_UNIT; pScreenInfo->bitmapScanlinePad = BITMAP_SCANLINE_PAD; pScreenInfo->bitmapBitOrder = BITMAP_BIT_ORDER; pScreenInfo->numPixmapFormats = 0; /* get them in PrinterInitOutput */ screenInfo.numVideoScreens = 0; -#ifdef PRINT_ONLY_SERVER - PrinterInitOutput(pScreenInfo, argc, argv); -#endif } static void BellProc( int volume, DeviceIntPtr pDev) { return; } static void KeyControlProc( DeviceIntPtr pDev, KeybdCtrl *ctrl) { return; } static KeySym printKeyMap[256]; static CARD8 printModMap[256]; @@ -248,66 +245,57 @@ X_GETTIMEOFDAY(&tp); return(tp.tv_sec * 1000) + (tp.tv_usec / 1000); } #endif /* ddxInitGlobals - called by |InitGlobals| from os/util.c */ void ddxInitGlobals(void) { XprintInitGlobals(); } /**************************************** * ddxUseMsg() * * Called my usemsg from os/utils/c * *****************************************/ void ddxUseMsg(void) { -/* Enable |XprintUseMsg()| only if |XprintOptions()| is called - * by |ddxProcessArgument|, too (see below...) */ -#ifdef PRINT_ONLY_SERVER - XprintUseMsg(); -#endif /* PRINT_ONLY_SERVER */ } void AbortDDX (void) { } void ddxGiveUp(void) /* Called by GiveUp() */ { } int ddxProcessArgument ( int argc, char *argv[], int i) { -#ifdef PRINT_ONLY_SERVER - return XprintOptions(argc, argv, i) - i; -#else return(0); -#endif } #ifdef XINPUT #include "XI.h" #include "XIproto.h" #include "XIstubs.h" extern int BadDevice; int ChangePointerDevice ( DeviceIntPtr old_dev, DeviceIntPtr new_dev, unsigned char x, unsigned char y) { return (BadDevice); } Index: xc/programs/Xserver/dix/Imakefile =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/dix/Imakefile,v retrieving revision 1.4 diff -u -2 -0 -r1.4 Imakefile --- xc/programs/Xserver/dix/Imakefile 30 Oct 2004 01:41:45 -0000 1.4 +++ xc/programs/Xserver/dix/Imakefile 5 Mar 2005 20:12:59 -0000 @@ -10,41 +10,41 @@ #if PrintOnlyServer XPSRC = xpstubs.c XPOBJ = xpstubs.o #endif #if !HasFfs FFS_SRC = ffs.c FFS_OBJ = ffs.o #endif SRCS = atom.c colormap.c cursor.c devices.c dispatch.c dixutils.c events.c \ extension.c gc.c globals.c glyphcurs.c grabs.c \ main.c property.c resource.c swaprep.c swapreq.c \ tables.c window.c initatoms.c dixfonts.c privates.c pixmap.c $(FFS_SRC) OBJS = atom.o colormap.o cursor.o devices.o dispatch.o dixutils.o events.o \ extension.o gc.o globals.o glyphcurs.o grabs.o \ main.o property.o resource.o swaprep.o swapreq.o \ tables.o window.o initatoms.o dixfonts.o privates.o pixmap.o $(FFS_OBJ) INCLUDES = -I../include -I$(XINCLUDESRC) -I$(FONTINCSRC) -I$(EXTINCSRC) \ - -I$(SERVERSRC)/Xext -I$(SERVERSRC)/lbx + -I$(SERVERSRC)/Xext -I$(SERVERSRC)/lbx -I../Xprint LINTLIBS = ../os/llib-los.ln /* * The following configuration parameters may be set in the appropriate * .macros files or site.def in the directory util/imake.includes/: * * DefaultFontPath COMPILEDDEFAULTFONTPATH * DefaultRGBDatabase RGB_DB * * The sample util/imake.includes/Imake.tmpl will provide generic defaults. * The values in site.h are simply a last line of defense and should not be * changed. */ #ifdef DefaultFontPath DEFAULTFONTPATH = DefaultFontPath SITE_FONT_PATH = -DCOMPILEDDEFAULTFONTPATH=\"$(DEFAULTFONTPATH)\" #endif #ifdef DefaultRGBDatabase Index: xc/programs/Xserver/dix/main.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/dix/main.c,v retrieving revision 1.4 diff -u -2 -0 -r1.4 main.c --- xc/programs/Xserver/dix/main.c 18 Sep 2004 23:18:35 -0000 1.4 +++ xc/programs/Xserver/dix/main.c 5 Mar 2005 20:13:00 -0000 @@ -235,40 +235,41 @@ ~0, ~0, ~0, ~0, ~0, ~0, ~0, ~0, ~0, ~0, ~0, ~0, 3 /* 64 bits per scanline pad unit */ }; #ifndef MIN #define MIN(a,b) (((a) < (b)) ? (a) : (b)) #endif int main(int argc, char *argv[], char *envp[]) { int i, j, k, error; char *xauthfile; HWEventQueueType alwaysCheckForInput[2]; display = "0"; InitGlobals(); + XprintInitGlobals(); /* Quartz support on Mac OS X requires that the Cocoa event loop be in * the main thread. This allows the X server main to be called again * from another thread. */ #if defined(__DARWIN__) && defined(DARWIN_WITH_QUARTZ) DarwinHandleGUI(argc, argv, envp); #endif /* Notice if we're restarted. Probably this is because we jumped through * an uninitialized pointer */ if (restart) FatalError("server restarted. Jumped through uninitialized pointer?\n"); else restart = 1; CheckUserParameters(argc, argv, envp); CheckUserAuthorization(); #ifdef COMMANDLINE_CHALLENGED_OPERATING_SYSTEMS @@ -346,47 +347,46 @@ PixmapWidthPaddingInfo[1].padPixelsLog2 = answer[j][k]; j = indexForBitsPerPixel[8]; /* bits per byte */ PixmapWidthPaddingInfo[1].padBytesLog2 = answer[j][k]; PixmapWidthPaddingInfo[1].bitsPerPixel = 1; InitAtoms(); InitEvents(); InitGlyphCaching(); ResetClientPrivates(); ResetScreenPrivates(); ResetWindowPrivates(); ResetGCPrivates(); #ifdef PIXPRIV ResetPixmapPrivates(); #endif ResetColormapPrivates(); ResetFontPrivateIndex(); InitCallbackManager(); InitVisualWrap(); InitOutput(&screenInfo, argc, argv); + PrinterInitOutput(&screenInfo, argc, argv); + if (screenInfo.numScreens < 1) FatalError("no screens found"); if (screenInfo.numVideoScreens < 0) screenInfo.numVideoScreens = screenInfo.numScreens; -#ifdef XPRINT - PrinterInitOutput(&screenInfo, argc, argv); -#endif InitExtensions(argc, argv); if (!InitClientPrivates(serverClient)) FatalError("failed to allocate serverClient devprivates"); for (i = 0; i < screenInfo.numScreens; i++) { ScreenPtr pScreen = screenInfo.screens[i]; if (!CreateScratchPixmapsForScreen(i)) FatalError("failed to create scratch pixmaps"); if (pScreen->CreateScreenResources && !(*pScreen->CreateScreenResources)(pScreen)) FatalError("failed to create screen resources"); if (!CreateGCperDepth(i)) FatalError("failed to create scratch GCs"); if (!CreateDefaultStipple(i)) FatalError("failed to create default stipple"); if (!CreateRootWindow(pScreen)) FatalError("failed to create root window"); } InitInput(argc, argv); if (InitAndStartDevices() != Success) Index: xc/programs/Xserver/dix/xpstubs.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/dix/xpstubs.c,v retrieving revision 1.2 diff -u -2 -0 -r1.2 xpstubs.c --- xc/programs/Xserver/dix/xpstubs.c 23 Apr 2004 19:04:44 -0000 1.2 +++ xc/programs/Xserver/dix/xpstubs.c 5 Mar 2005 20:13:00 -0000 @@ -12,43 +12,59 @@ in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of The Open Group shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group. */ /* $Xorg: xpstubs.c,v 1.5 2001/03/08 17:52:08 pookie Exp $ */ #include "misc.h" #include "font.h" +#include "DiPrint.h" Bool XpClientIsBitmapClient( ClientPtr client) { return TRUE; } Bool XpClientIsPrintClient( ClientPtr client, FontPathElementPtr fpe) { return FALSE; } int XprintOptions( int argc, char **argv, int i) { return i; } +void +PrinterInitOutput( + ScreenInfo *pScreenInfo, + int argc, + char **argv) +{ +} +void XprintUseMsg(void) +{ +} +void XprintInitGlobals(void) +{ +} + + Index: xc/programs/Xserver/hw/xfree86/Imakefile =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/Imakefile,v retrieving revision 1.4 diff -u -2 -0 -r1.4 Imakefile --- xc/programs/Xserver/hw/xfree86/Imakefile 17 Sep 2004 03:04:50 -0000 1.4 +++ xc/programs/Xserver/hw/xfree86/Imakefile 5 Mar 2005 20:13:03 -0000 @@ -204,22 +204,33 @@ -DNETBSDNEWMOUSEDEV=$(NETBSDNEWMOUSEDEV) \ -DLINUXMOUSEDEV=$(LINUXMOUSEDEV) \ -DMANPAGE=$(MANPAGE) '-DMODULEPATH="$(MODULEDIR)"', \ $(ICONFIGFILES)) InstallDriverSDKNonExecFile($(XORGCONFIG),$(DRIVERSDKDIR)) InstallDriverSDKNonExecFile($(XF98CONFIG),$(DRIVERSDKDIR)) EXTRAMANDEFS=-D__logdir__=$(LOGDIRECTORY) InstallManPage(Xorg,$(MANDIR)) InstallGenManPage(xorg.conf,$(FILEMANDIR),$(FILEMANSUFFIX)) #if 0 InstallNamedNonExec($(XORGCONFIG),XF86Config.eg,$(LIBDIR)) InstallNamedNonExec($(XF98CONFIG),XF86Config.98,$(LIBDIR)) #endif InstallNamedNonExec(Options,Options,$(LIBDIR)) InstallDriverSDKNamedNonExec($(XORGCONFIG),XF86Config.eg,$(DRIVERSDKDIR)) +XCOMM make sure all neccesary module dirs exist to avoid breaking +XCOMM the installation process on some platforms +InstallDirectory($(DESTDIR)$(MODULEDIR)/video) +InstallDirectory($(DESTDIR)$(MODULEDIR)/print) +InstallCreateLink($(MODULEDIR),video,drivers) +InstallDirectory($(DESTDIR)$(MODULEDIR)/input) +InstallDirectory($(DESTDIR)$(MODULEDIR)/multimedia) +InstallDirectory($(DESTDIR)$(MODULEDIR)/extensions) +InstallDirectory($(DESTDIR)$(MODULEDIR)/fonts) +InstallDirectory($(DESTDIR)$(MODULEDIR)/internal) + MakeSubdirs($(SUBDIRS)) DependSubdirs($(SUBDIRS)) Index: xc/programs/Xserver/hw/xfree86/drivers/neomagic/Imakefile =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/neomagic/Imakefile,v retrieving revision 1.3 diff -u -2 -0 -r1.3 Imakefile --- xc/programs/Xserver/hw/xfree86/drivers/neomagic/Imakefile 24 Sep 2004 00:07:46 -0000 1.3 +++ xc/programs/Xserver/hw/xfree86/drivers/neomagic/Imakefile 5 Mar 2005 20:13:03 -0000 @@ -17,41 +17,41 @@ INCLUDES = -I. -I$(XF86COMSRC) -I$(XF86OSSRC) \ -I$(XF86SRC)/vgafb -I$(XF86SRC)/vgahw -I$(SERVERSRC)/include \ -I$(SERVERSRC)/mi -I$(SERVERSRC)/fb -I$(SERVERSRC)/mfb \ -I$(SERVERSRC)/miext/shadow \ -I$(XINCLUDESRC) -I$(XF86SRC)/xaa -I$(FONTINCSRC) \ -I$(XF86SRC)/ramdac -I$(XF86SRC)/rac -I$(XF86SRC)/ddc \ -I$(XF86SRC)/i2c -I$(XF86SRC)/shadowfb \ -I$(SERVERSRC)/Xext -I$(EXTINCSRC) \ -I$(XF86SRC)/int10 -I$(XF86SRC)/vbe -I$(SERVERSRC)/render #endif #if MakeHasPosixVariableSubstitutions SubdirLibraryRule($(OBJS)) #endif ModuleObjectRule() ObjectModuleTarget(neomagic,$(OBJS)) -InstallObjectModule(neomagic,$(MODULEDIR),drivers) +InstallVideoObjectModule(neomagic,$(MODULEDIR)) #if !defined(XF86DriverSDK) InstallModuleManPage(neomagic) #endif DependTarget() InstallDriverSDKNonExecFile(Imakefile,$(DRIVERSDKDIR)/drivers/neomagic) InstallDriverSDKNonExecFile(neo.h,$(DRIVERSDKDIR)/drivers/neomagic) InstallDriverSDKNonExecFile(neo_2070.c,$(DRIVERSDKDIR)/drivers/neomagic) InstallDriverSDKNonExecFile(neo_2090.c,$(DRIVERSDKDIR)/drivers/neomagic) InstallDriverSDKNonExecFile(neo_2097.c,$(DRIVERSDKDIR)/drivers/neomagic) InstallDriverSDKNonExecFile(neo_2200.c,$(DRIVERSDKDIR)/drivers/neomagic) InstallDriverSDKNonExecFile(neo_bank.c,$(DRIVERSDKDIR)/drivers/neomagic) InstallDriverSDKNonExecFile(neo_cursor.c,$(DRIVERSDKDIR)/drivers/neomagic) InstallDriverSDKNonExecFile(neo_dga.c,$(DRIVERSDKDIR)/drivers/neomagic) InstallDriverSDKNonExecFile(neo_driver.c,$(DRIVERSDKDIR)/drivers/neomagic) InstallDriverSDKNonExecFile(neo_i2c.c,$(DRIVERSDKDIR)/drivers/neomagic) InstallDriverSDKNonExecFile(neo_shadow.c,$(DRIVERSDKDIR)/drivers/neomagic) InstallDriverSDKNonExecFile(neo_macros.h,$(DRIVERSDKDIR)/drivers/neomagic) Index: xc/programs/Xserver/hw/xfree86/loader/loadmod.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/loader/loadmod.c,v retrieving revision 1.2 diff -u -2 -0 -r1.2 loadmod.c --- xc/programs/Xserver/hw/xfree86/loader/loadmod.c 23 Apr 2004 19:54:06 -0000 1.2 +++ xc/programs/Xserver/hw/xfree86/loader/loadmod.c 5 Mar 2005 20:13:04 -0000 @@ -187,41 +187,43 @@ } static void FreePathList(char **pathlist) { if (pathlist && pathlist != defaultPathList) FreeStringList(pathlist); } void LoaderSetPath(const char *path) { if (!path) return; defaultPathList = InitPathList(path); } /* Standard set of module subdirectories to search, in order of preference */ static const char *stdSubdirs[] = { - "drivers/", + "video/", + "print/", + "drivers/", /* depreciated, use "video/" or "print/" instead */ "input/", "multimedia/", "extensions/", "fonts/", "internal/", "", NULL }; /* * Standard set of module name patterns to check, in order of preference * These are regular expressions (suitable for use with POSIX regex(3)). */ static PatternRec stdPatterns[] = { {"^lib(.*)\\.so$",}, {"^lib(.*)\\.a$",}, {"(.*)_drv\\.so$",}, {"(.*)_drv\\.o$",}, {"(.*)\\.so$",}, {"(.*)\\.a$",}, Index: xc/programs/Xserver/hw/xnest/Imakefile =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xnest/Imakefile,v retrieving revision 1.2 diff -u -2 -0 -r1.2 Imakefile --- xc/programs/Xserver/hw/xnest/Imakefile 23 Apr 2004 19:54:21 -0000 1.2 +++ xc/programs/Xserver/hw/xnest/Imakefile 5 Mar 2005 20:13:04 -0000 @@ -1,29 +1,34 @@ XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:53:28 cpqbld Exp $ XCOMM $XFree86: xc/programs/Xserver/hw/xnest/Imakefile,v 3.28 2003/10/02 13:30:08 eich Exp $ #include +#if BuildDPMS +DPMSSRC = dpmsstubs.c +DPMSOBJS = dpmsstubs.o +#endif + #ifdef OS2Architecture SRCS1 = os2Stub.c OBJS1 = os2Stub.o #endif SRCS = Args.c \ Color.c \ Cursor.c \ Display.c \ Events.c \ Font.c \ GC.c \ GCOps.c \ GetTime.c \ Handlers.c \ Init.c \ Keyboard.c \ Pixmap.c \ Pointer.c \ Screen.c \ @@ -47,34 +52,39 @@ Keyboard.o \ Pixmap.o \ Pointer.o \ Screen.o \ TestExt.o \ Visual.o \ Window.o \ stubs.o \ miinitext.o $(OBJS1) INCLUDES = -I. -I$(XBUILDINCDIR) -I$(FONTINCSRC) \ -I../../mi -I../../include -I../../os \ -I$(EXTINCSRC) -I$(XINCLUDESRC) -I$(LIBSRC) -I$(SERVERSRC)/Xext DEFINES = $(OS_DEFINES) $(EXT_DEFINES) -DNO_HW_ONLY_EXTS \ -UXFree86LOADER -UMITSHM $(XKBDEFRULESDEFS) XKB_DEFINES = -DXKB_BASE_DIRECTORY=\"$(LIBDIR)/xkb/\" -all:: $(OBJS) +all:: $(OBJS) $(DPMSOBJS) LinkSourceFile(stubs.c,$(SERVERSRC)/Xi) SpecialCObjectRule(Init,$(ICONFIGFILES),$(_NOOP_)) LinkSourceFile(miinitext.c,$(SERVERSRC)/mi) SpecialCObjectRule(miinitext,$(ICONFIGFILES),-UDPMSExtension) SpecialCObjectRule(Keyboard,$(ICONFIGFILES),$(XKB_DEFINES)) +#if BuildDPMS +LinkSourceFile(dpmsstubs.c,$(SERVERSRC)/Xext) +SpecialCObjectRule(dpmsstubs,$(ICONFIGFILES),$(EXT_DEFINES)) +#endif + NormalLibraryObjectRule() NormalLibraryTarget(xnest,$(OBJS)) InstallManPage(Xnest,$(MANDIR)) DependTarget() Index: xc/programs/Xserver/hw/xnest/Init.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xnest/Init.c,v retrieving revision 1.3 diff -u -2 -0 -r1.3 Init.c --- xc/programs/Xserver/hw/xnest/Init.c 21 Jun 2004 13:40:25 -0000 1.3 +++ xc/programs/Xserver/hw/xnest/Init.c 5 Mar 2005 20:13:04 -0000 @@ -143,45 +143,20 @@ void OsVendorInit() { return; } void OsVendorFatalError() { return; } void ddxBeforeReset(void) { return; } /* this is just to get the server to link on AIX */ #ifdef AIXV3 int SelectWaitTime = 10000; /* usec */ #endif -#ifdef DPMSExtension -/************************************************************** - * DPMSSet(), DPMSGet(), DPMSSupported() - * - * stubs - * - ***************************************************************/ - -void -DPMSSet(int level) -{ -} - -int -DPMSGet(int *level) -{ - return -1; -} - -Bool -DPMSSupported() -{ - return FALSE; -} -#endif Index: xc/programs/Xserver/os/utils.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/os/utils.c,v retrieving revision 1.11 diff -u -2 -0 -r1.11 utils.c --- xc/programs/Xserver/os/utils.c 25 Nov 2004 12:48:21 -0000 1.11 +++ xc/programs/Xserver/os/utils.c 5 Mar 2005 20:13:05 -0000 @@ -636,40 +636,43 @@ #endif #ifndef NOLOGOHACK ErrorF("-logo enable logo in screen saver\n"); ErrorF("nologo disable logo in screen saver\n"); #endif ErrorF("-nolisten string don't listen on protocol\n"); ErrorF("-noreset don't reset after last client exists\n"); ErrorF("-reset reset after last client exists\n"); ErrorF("-p # screen-saver pattern duration (minutes)\n"); ErrorF("-pn accept failure to listen on all ports\n"); ErrorF("-nopn reject failure to listen on all ports\n"); ErrorF("-r turns off auto-repeat\n"); ErrorF("r turns on auto-repeat \n"); #ifdef RENDER ErrorF("-render [default|mono|gray|color] set render color alloc policy\n"); #endif ErrorF("-s # screen-saver timeout (minutes)\n"); #ifdef XCSECURITY ErrorF("-sp file security policy file\n"); #endif +#ifdef XPRINT + XprintUseMsg(); +#endif ErrorF("-su disable any save under support\n"); ErrorF("-t # mouse threshold (pixels)\n"); ErrorF("-terminate terminate at server reset\n"); ErrorF("-to # connection time out\n"); ErrorF("-tst disable testing extensions\n"); ErrorF("ttyxx server started from init on /dev/ttyxx\n"); ErrorF("v video blanking for screen-saver\n"); ErrorF("-v screen-saver without video blanking\n"); ErrorF("-wm WhenMapped default backing-store\n"); ErrorF("-x string loads named extension at init time \n"); ErrorF("-maxbigreqsize set maximal bigrequest size \n"); #ifdef PANORAMIX ErrorF("+xinerama Enable XINERAMA extension\n"); ErrorF("-xinerama Disable XINERAMA extension\n"); #endif #ifdef SMART_SCHEDULE ErrorF("-dumbSched Disable smart scheduling, enable old behavior\n"); ErrorF("-schedInterval int Set scheduler interval in msec\n"); #endif ErrorF("+extension name Enable extension\n"); From julien.lafon at gmail.com Mon Mar 7 17:29:47 2005 From: julien.lafon at gmail.com (Julien Lafon) Date: Mon Mar 7 11:35:28 2005 Subject: [Xprint] Re: Newer version of the combined video+print server from? In-Reply-To: <422A1660.99C8B595@nrubsig.org> References: <42255FC3.A71AC9F4@nrubsig.org> <422A1660.99C8B595@nrubsig.org> Message-ID: On Sat, 05 Mar 2005 21:28:16 +0100, Roland Mainz wrote: > Roland Mainz wrote: > > > Roland - had you time to continue your work on the combined > > > ('unified') video+print server patch yet? > > > > Unfortunately no (except the integration of the fixes you send me) ... > > almost every minute of my spare free time was consumed by my duties as > > release manager of the X11R6.8.2 release (and then I was at the > > XDevconf+LinuxWorld in Boston) ... > > Attached is a new version of the patch for testing. It deals with most > of the problems of the previous version except that there is no switch > to define a server mode yet (e.g. "video", "print", "unified"). =================================================================== > RCS file: /cvs/xorg/xc/config/cf/Imake.rules,v > retrieving revision 1.8 > diff -u -2 -0 -r1.8 Imake.rules > --- xc/config/cf/Imake.rules 1 Feb 2005 22:27:00 -0000 1.8 > +++ xc/config/cf/Imake.rules 5 Mar 2005 20:12:50 -0000 > @@ -3529,40 +3529,66 @@ The patch does not apply to XOrg head. Am I doing something wrong here? Julien -- Julien Lafon Senior Staff Engineer, Hitachi From roland.mainz at nrubsig.org Tue Mar 8 00:41:21 2005 From: roland.mainz at nrubsig.org (Roland Mainz) Date: Mon Mar 7 18:47:17 2005 Subject: [Xprint] Re: Newer version of the combined video+print serverfrom? References: <42255FC3.A71AC9F4@nrubsig.org> <422A1660.99C8B595@nrubsig.org> Message-ID: <422CE6A1.B2FDAC80@nrubsig.org> Julien Lafon wrote: > > > > Roland - had you time to continue your work on the combined > > > > ('unified') video+print server patch yet? > > > > > > Unfortunately no (except the integration of the fixes you send me) ... > > > almost every minute of my spare free time was consumed by my duties as > > > release manager of the X11R6.8.2 release (and then I was at the > > > XDevconf+LinuxWorld in Boston) ... > > > > Attached is a new version of the patch for testing. It deals with most > > of the problems of the previous version except that there is no switch > > to define a server mode yet (e.g. "video", "print", "unified"). > =================================================================== > > RCS file: /cvs/xorg/xc/config/cf/Imake.rules,v > > retrieving revision 1.8 > > diff -u -2 -0 -r1.8 Imake.rules > > --- xc/config/cf/Imake.rules 1 Feb 2005 22:27:00 -0000 1.8 > > +++ xc/config/cf/Imake.rules 5 Mar 2005 20:12:50 -0000 > > @@ -3529,40 +3529,66 @@ > The patch does not apply to XOrg head. Am I doing something wrong here? Uhm... uhm... that's likely my fault as I have dismanteled the patch and already commited smaller chunks of it to Xorg trunk (like https://bugs.freedesktop.org/show_bug.cgi?id=2653) ... either wait until I have a new patch or pull-by date (e.g. % cvs -z9 checkout -D "Fri Mar 4 23:38:24 MET 2005" xc # should pull a version of the tree where the patch applies correctly...) ... ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz@nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;) From roland.mainz at nrubsig.org Fri Mar 11 17:12:49 2005 From: roland.mainz at nrubsig.org (Roland Mainz) Date: Fri Mar 11 11:19:00 2005 Subject: [Xprint] Re: Newer version of the combined video+print serverfrom? References: <42255FC3.A71AC9F4@nrubsig.org> <422A1660.99C8B595@nrubsig.org> <422CE6A1.B2FDAC80@nrubsig.org> Message-ID: <4231C381.B5316AB6@nrubsig.org> Roland Mainz wrote: > Julien Lafon wrote: > > > > > Roland - had you time to continue your work on the combined > > > > > ('unified') video+print server patch yet? > > > > > > > > Unfortunately no (except the integration of the fixes you send me) ... > > > > almost every minute of my spare free time was consumed by my duties as > > > > release manager of the X11R6.8.2 release (and then I was at the > > > > XDevconf+LinuxWorld in Boston) ... > > > > > > Attached is a new version of the patch for testing. It deals with most > > > of the problems of the previous version except that there is no switch > > > to define a server mode yet (e.g. "video", "print", "unified"). > > =================================================================== > > > RCS file: /cvs/xorg/xc/config/cf/Imake.rules,v > > > retrieving revision 1.8 > > > diff -u -2 -0 -r1.8 Imake.rules > > > --- xc/config/cf/Imake.rules 1 Feb 2005 22:27:00 -0000 1.8 > > > +++ xc/config/cf/Imake.rules 5 Mar 2005 20:12:50 -0000 > > > @@ -3529,40 +3529,66 @@ > > The patch does not apply to XOrg head. Am I doing something wrong here? > > Uhm... uhm... that's likely my fault as I have dismanteled the patch and > already commited smaller chunks of it to Xorg trunk (like > https://bugs.freedesktop.org/show_bug.cgi?id=2653) ... either wait until > I have a new patch or pull-by date (e.g. % cvs -z9 checkout -D "Fri Mar > 4 23:38:24 MET 2005" xc # should pull a version of the tree where the > patch applies correctly...) ... Attached is the next cycle of the patch. As usual you have to compile it with - #define PrintOnlyServer NO to enable the "unified" (video+print) display and - #define DoLoadableServer NO as the Xprint DDXs are no loadable modules yet and have some dependicies (mainly the Postscript DDX which hooks deeply into the Freetype2 font module) ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz@nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;) -------------- next part -------------- Index: xc/programs/Xserver/Imakefile =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/Imakefile,v retrieving revision 1.29 diff -u -2 -0 -r1.29 Imakefile --- xc/programs/Xserver/Imakefile 5 Mar 2005 21:38:29 -0000 1.29 +++ xc/programs/Xserver/Imakefile 11 Mar 2005 15:52:15 -0000 @@ -821,48 +821,44 @@ SetUIDServerTarget(Xorg,$(XF86SERVERSUBDIRS),$(XF86SERVEROBJS) $(SERVERDEFFILE), \ $(XF86SERVERLIBS),$(XF86SERVERSYSLIBS)) #if DoLoadableServer ServerDriverSDKTarget(Xorg) #endif #ifndef ServerToInstall #define ServerToInstall Xorg #endif #endif /* XorgServer */ #if defined(XprtServer) && XprtServer XCOMM XCOMM Print Server XCOMM MFBSUBDIR = mfb CFB8SUBDIR = cfb CFB32SUBDIR = cfb32 MIDAMAGEDIR = miext/damage XPSUBDIRS = $(STDDIRS) $(MFBDIR) $(CFB8DIR) $(CFB32DIR) $(DEPDIRS) \ $(MIDAMAGEDIR) +XPOBJS = Xprint/ddxInit.o Xprint/dpmsstubs.o Xprint/miinitext.o #if PrintOnlyServer -#if BuildDPMS -XPDPMSSTUBOBJS = Xprint/dpmsstubs.o -#endif -XPOBJS = Xprint/ddxInit.o Xprint/miinitext.o $(XPDPMSSTUBOBJS) XPLIBS = PreFbLibs $(XPDDXLIBS) $(XPDDXFBLIBS) PostFbLibs #else -XPOBJS = Xprint/ddxInit.o XPLIBS = PreFbLibs PostFbLibs #endif #if (defined(SunArchitecture) || defined(SparcArchitecture)) && \ defined(SVR4Architecture) XPSYSLIBS = $(FONTLIBS) $(CBRT) $(SYSLIBS) -lw #else XPSYSLIBS = $(FONTLIBS) $(CBRT) $(SYSLIBS) #endif #if HasParallelMake MakeMutex($(XPSUBDIRS) $(XPOBJS) $(XPLIBS) $(XPSYSLIBS)) #endif #if ForceServerRemake $(XPOBJS) $(XPLIBS) $(XPSYSLIBS):: $(XPSUBDIRS) @if [ -f $@ ]; then touch $@ >/dev/null 2>&1 || exit 0; fi #endif ServerTarget(Xprt,$(XPSUBDIRS),$(XPOBJS), \ $(LIBCWRAPPER) $(XPLIBS) $(LOADABLEEXTS),$(XPSYSLIBS)) #endif /* XprtServer */ #if defined(XnestServer) && XnestServer Index: xc/programs/Xserver/Xprint/Imakefile =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/Xprint/Imakefile,v retrieving revision 1.5 diff -u -2 -0 -r1.5 Imakefile --- xc/programs/Xserver/Xprint/Imakefile 26 Nov 2004 09:00:08 -0000 1.5 +++ xc/programs/Xserver/Xprint/Imakefile 11 Mar 2005 15:52:15 -0000 @@ -13,52 +13,53 @@ #ifndef XpPostScriptDDX #define XpPostScriptDDX YES #endif SRCS1 = Init.c Quarks.c spooler.c attributes.c Util.c mediaSizes.c \ Oid.c AttrValid.c OBJS1 = Init.o Quarks.o spooler.o attributes.o Util.o mediaSizes.o \ Oid.o AttrValid.o #ifdef OS2Architecture SRCS_OS2 = os2_stubs.c OBJS_OS2 = os2_stubs.o #endif #if XprtServer #if PrintOnlyServer || defined(PrintServerExtensions) #if PrintOnlyServer PO_DEFINES = -DPRINT_ONLY_SERVER #endif +#endif #ifdef PrintServerExtensions XPEXT_DEFINES = PrintServerExtensions #else XPEXT_DEFINES = $(EXT_DEFINES) #endif -SRCS3 = miinitext.c dpmsstubs.c -OBJS3 = miinitext.o dpmsstubs.o -#endif SRCS2 = ddxInit.c OBJS2 = ddxInit.o #endif +SRCS3 = miinitext.c dpmsstubs.c +OBJS3 = miinitext.o dpmsstubs.o + SRCS = $(SRCS1) $(SRCS2) $(SRCS3) $(SRCS_OS2) OBJS = $(OBJS1) $(OBJS_OS2) #if XpRasterDDX RASTDIR = raster RASTDEF = -DXPRASTERDDX #endif #if XpColorPclDDX PCLDIR = pcl PCLDEF = -DXPPCLDDX #endif #if XpMonoPclDDX MPCLDIR = pcl-mono MPCLDEF = -DXPMONOPCLDDX #endif #if XpPostScriptDDX PSDIR = ps PSDEF = -DXPPSDDX #endif @@ -79,56 +80,54 @@ -I$(EXTINCSRC) -I$(FONTINCSRC) -I$(XLIBSRC) LINTLIBS = $(TOP)/server/dix/llib-ldix.ln $(TOP)/server/os/llib-los.ln \ $(TOP)/server/ddx/mfb/llib-lmfb.ln \ $(TOP)/server/ddx/mi/llib-lmi.ln \ $(TOP)/server/ddx/cfb/llib-lcfb.ln DEFINES = -DXPRINTDIR=\"$(XPRINTDIR)\" $(RASTDEF) $(PCLDEF) $(MPCLDEF) \ $(PSDEF) $(MKTMP_DEFINES) -UXFree86LOADER -D_XP_PRINT_SERVER_ /* Go ahead: Call me paranoid ... */ Makefiles:: RemoveFiles(Quark.c Xlcint.h Xresource.h Xrm.c XrmI.h) LinkSourceFile(Quarks.c,$(XLIBSRC)) NormalLibraryObjectRule() #if XprtServer -all:: $(OBJS2) $(OBJS3) $(OBJS_OS2) +all:: $(OBJS2) $(OBJS_OS2) $(OBJS3) #endif NormalLibraryTarget(printer,$(OBJS)) NormalLintTarget($(SRCS)) SpecialCObjectRule(ddxInit,$(ICONFIGFILES),$(PO_DEFINES) $(OS_DEFINES) $(EXT_DEFINES)) -#if XprtServer && (PrintOnlyServer || defined(PrintServerExtensions)) +#if XprtServer LinkSourceFile(miinitext.c,$(SERVERSRC)/mi) -SpecialCObjectRule(miinitext,$(ICONFIGFILES),$(PO_DEFINES) $(OS_DEFINES) $(XPEXT_DEFINES) -DXPRINT) -#if PrintOnlyServer +SpecialCObjectRule(miinitext,$(ICONFIGFILES), -DPRINT_ONLY_SERVER $(OS_DEFINES) $(XPEXT_DEFINES) -DXPRINT) LinkSourceFile(dpmsstubs.c,$(SERVERSRC)/Xext) LinkSourceFile(dpmsproc.h,$(SERVERSRC)/Xext) SpecialCObjectRule(dpmsstubs,$(ICONFIGFILES),$(PO_DEFINES) $(OS_DEFINES) $(XPEXT_DEFINES) -DXPRINT) #endif -#endif #ifdef OS2Architecture LinkSourceFile(os2_stubs.c,../hw/xfree86/os-support/os2) SpecialCObjectRule(os2_stubs,$(ICONFIGFILES),-DOS2NULLSELECT) #endif #ifdef IHaveSubdirs MakeSubdirs($(SUBDIRS)) DependSubdirs($(SUBDIRS)) MakeLintLibSubdirs($(SUBDIRS)) #endif DependTarget() InstallManPage(Xprt,$(MANDIR)) #ifdef HasDocBookTools all:: Xprt.man Xprt.html ConvertDocBookToManPage(Xprt.sgml, Xprt.man) Index: xc/programs/Xserver/Xprint/Init.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/Xprint/Init.c,v retrieving revision 1.9 diff -u -2 -0 -r1.9 Init.c --- xc/programs/Xserver/Xprint/Init.c 4 Dec 2004 00:42:50 -0000 1.9 +++ xc/programs/Xserver/Xprint/Init.c 11 Mar 2005 15:52:17 -0000 @@ -285,40 +285,52 @@ static int printScreenPrivIndex, printWindowPrivIndex, printGCPrivIndex; static unsigned long printGeneration = 0; static char *configFileName = (char *)NULL; static Bool freeDefaultFontPath = FALSE; static char *origFontPath = (char *)NULL; static Bool xprintInitGlobalsCalled = FALSE; /* * This function is responsible for doing initalisation of any global * variables at an very early point of server startup (even before * |ProcessCommandLine()|. */ void XprintInitGlobals(void) { extern char dispatchExceptionAtReset; /* defined in Xserver/dix/dispatch.c */ xprintInitGlobalsCalled = TRUE; +#ifdef DAMAGE + /* Disable DAMAGE extension for now as it does not work with + * the Postscript DDX yet (see + * https://bugs.freedesktop.org/show_bug.cgi?id=1660) ... + * (you can enable the DAMAGE extension explicitly via + * % X +extension DAMAGE ... #) ;-( */ + { + extern Bool noDamageExtension; + noDamageExtension = TRUE; + } +#endif /* DAMAGE */ + #ifdef SMART_SCHEDULE /* Somehow the XF86 "smart scheduler" completely kills the Xprint DDX * (see http://xprint.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=467 * ("Xfree86's "smart scheduler" breaks Xprt") */ SmartScheduleDisable = TRUE; #endif /* SMART_SCHEDULE */ /* Disable internal screensaver for Xprint (workaround for * http://pdx.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=567 ("Xorg * Xprt starts to consume 100% CPU when being idle for some time")) */ defaultScreenSaverTime = 0; /* Ensure that the maximum request size for the BIGREQUESTS extension * is at least 8MB (see * http://xprint.freedesktop.org/cgi-bin/bugzilla/show_bug.cgi?id=622 - "RFE: * Xprt's default BIGREQUESTS extension buffer size should be 8MB") */ maxBigRequestSize = (8*1048576)-1; /* Xprt should not reset by default when the last client exists Index: xc/programs/Xserver/Xprint/ddxInit.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/Xprint/ddxInit.c,v retrieving revision 1.4 diff -u -2 -0 -r1.4 ddxInit.c --- xc/programs/Xserver/Xprint/ddxInit.c 27 Jul 2004 20:26:47 -0000 1.4 +++ xc/programs/Xserver/Xprint/ddxInit.c 11 Mar 2005 15:52:18 -0000 @@ -64,43 +64,40 @@ * *----------------------------------------------------------------------- */ void InitOutput( ScreenInfo *pScreenInfo, int argc, char **argv) { int i; pScreenInfo->imageByteOrder = IMAGE_BYTE_ORDER; pScreenInfo->bitmapScanlineUnit = BITMAP_SCANLINE_UNIT; pScreenInfo->bitmapScanlinePad = BITMAP_SCANLINE_PAD; pScreenInfo->bitmapBitOrder = BITMAP_BIT_ORDER; pScreenInfo->numPixmapFormats = 0; /* get them in PrinterInitOutput */ screenInfo.numVideoScreens = 0; -#ifdef PRINT_ONLY_SERVER - PrinterInitOutput(pScreenInfo, argc, argv); -#endif } static void BellProc( int volume, DeviceIntPtr pDev) { return; } static void KeyControlProc( DeviceIntPtr pDev, KeybdCtrl *ctrl) { return; } static KeySym printKeyMap[256]; static CARD8 printModMap[256]; @@ -248,66 +245,57 @@ X_GETTIMEOFDAY(&tp); return(tp.tv_sec * 1000) + (tp.tv_usec / 1000); } #endif /* ddxInitGlobals - called by |InitGlobals| from os/util.c */ void ddxInitGlobals(void) { XprintInitGlobals(); } /**************************************** * ddxUseMsg() * * Called my usemsg from os/utils/c * *****************************************/ void ddxUseMsg(void) { -/* Enable |XprintUseMsg()| only if |XprintOptions()| is called - * by |ddxProcessArgument|, too (see below...) */ -#ifdef PRINT_ONLY_SERVER - XprintUseMsg(); -#endif /* PRINT_ONLY_SERVER */ } void AbortDDX (void) { } void ddxGiveUp(void) /* Called by GiveUp() */ { } int ddxProcessArgument ( int argc, char *argv[], int i) { -#ifdef PRINT_ONLY_SERVER - return XprintOptions(argc, argv, i) - i; -#else return(0); -#endif } #ifdef XINPUT #include "XI.h" #include "XIproto.h" #include "XIstubs.h" extern int BadDevice; int ChangePointerDevice ( DeviceIntPtr old_dev, DeviceIntPtr new_dev, unsigned char x, unsigned char y) { return (BadDevice); } Index: xc/programs/Xserver/dix/Imakefile =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/dix/Imakefile,v retrieving revision 1.4 diff -u -2 -0 -r1.4 Imakefile --- xc/programs/Xserver/dix/Imakefile 30 Oct 2004 01:41:45 -0000 1.4 +++ xc/programs/Xserver/dix/Imakefile 11 Mar 2005 15:52:19 -0000 @@ -10,41 +10,41 @@ #if PrintOnlyServer XPSRC = xpstubs.c XPOBJ = xpstubs.o #endif #if !HasFfs FFS_SRC = ffs.c FFS_OBJ = ffs.o #endif SRCS = atom.c colormap.c cursor.c devices.c dispatch.c dixutils.c events.c \ extension.c gc.c globals.c glyphcurs.c grabs.c \ main.c property.c resource.c swaprep.c swapreq.c \ tables.c window.c initatoms.c dixfonts.c privates.c pixmap.c $(FFS_SRC) OBJS = atom.o colormap.o cursor.o devices.o dispatch.o dixutils.o events.o \ extension.o gc.o globals.o glyphcurs.o grabs.o \ main.o property.o resource.o swaprep.o swapreq.o \ tables.o window.o initatoms.o dixfonts.o privates.o pixmap.o $(FFS_OBJ) INCLUDES = -I../include -I$(XINCLUDESRC) -I$(FONTINCSRC) -I$(EXTINCSRC) \ - -I$(SERVERSRC)/Xext -I$(SERVERSRC)/lbx + -I$(SERVERSRC)/Xext -I$(SERVERSRC)/lbx -I../Xprint LINTLIBS = ../os/llib-los.ln /* * The following configuration parameters may be set in the appropriate * .macros files or site.def in the directory util/imake.includes/: * * DefaultFontPath COMPILEDDEFAULTFONTPATH * DefaultRGBDatabase RGB_DB * * The sample util/imake.includes/Imake.tmpl will provide generic defaults. * The values in site.h are simply a last line of defense and should not be * changed. */ #ifdef DefaultFontPath DEFAULTFONTPATH = DefaultFontPath SITE_FONT_PATH = -DCOMPILEDDEFAULTFONTPATH=\"$(DEFAULTFONTPATH)\" #endif #ifdef DefaultRGBDatabase Index: xc/programs/Xserver/dix/main.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/dix/main.c,v retrieving revision 1.5 diff -u -2 -0 -r1.5 main.c --- xc/programs/Xserver/dix/main.c 7 Mar 2005 23:02:58 -0000 1.5 +++ xc/programs/Xserver/dix/main.c 11 Mar 2005 15:52:19 -0000 @@ -231,40 +231,41 @@ ~0, ~0, ~0, ~0, ~0, ~0, ~0, ~0, ~0, ~0, ~0, ~0, 3 /* 64 bits per scanline pad unit */ }; #ifndef MIN #define MIN(a,b) (((a) < (b)) ? (a) : (b)) #endif int main(int argc, char *argv[], char *envp[]) { int i, j, k, error; char *xauthfile; HWEventQueueType alwaysCheckForInput[2]; display = "0"; InitGlobals(); + XprintInitGlobals(); /* Quartz support on Mac OS X requires that the Cocoa event loop be in * the main thread. This allows the X server main to be called again * from another thread. */ #if defined(__DARWIN__) && defined(DARWIN_WITH_QUARTZ) DarwinHandleGUI(argc, argv, envp); #endif /* Notice if we're restarted. Probably this is because we jumped through * an uninitialized pointer */ if (restart) FatalError("server restarted. Jumped through uninitialized pointer?\n"); else restart = 1; CheckUserParameters(argc, argv, envp); CheckUserAuthorization(); #ifdef COMMANDLINE_CHALLENGED_OPERATING_SYSTEMS @@ -342,47 +343,46 @@ PixmapWidthPaddingInfo[1].padPixelsLog2 = answer[j][k]; j = indexForBitsPerPixel[8]; /* bits per byte */ PixmapWidthPaddingInfo[1].padBytesLog2 = answer[j][k]; PixmapWidthPaddingInfo[1].bitsPerPixel = 1; InitAtoms(); InitEvents(); InitGlyphCaching(); ResetClientPrivates(); ResetScreenPrivates(); ResetWindowPrivates(); ResetGCPrivates(); #ifdef PIXPRIV ResetPixmapPrivates(); #endif ResetColormapPrivates(); ResetFontPrivateIndex(); InitCallbackManager(); InitVisualWrap(); InitOutput(&screenInfo, argc, argv); + PrinterInitOutput(&screenInfo, argc, argv); + if (screenInfo.numScreens < 1) FatalError("no screens found"); if (screenInfo.numVideoScreens < 0) screenInfo.numVideoScreens = screenInfo.numScreens; -#ifdef XPRINT - PrinterInitOutput(&screenInfo, argc, argv); -#endif InitExtensions(argc, argv); if (!InitClientPrivates(serverClient)) FatalError("failed to allocate serverClient devprivates"); for (i = 0; i < screenInfo.numScreens; i++) { ScreenPtr pScreen = screenInfo.screens[i]; if (!CreateScratchPixmapsForScreen(i)) FatalError("failed to create scratch pixmaps"); if (pScreen->CreateScreenResources && !(*pScreen->CreateScreenResources)(pScreen)) FatalError("failed to create screen resources"); if (!CreateGCperDepth(i)) FatalError("failed to create scratch GCs"); if (!CreateDefaultStipple(i)) FatalError("failed to create default stipple"); if (!CreateRootWindow(pScreen)) FatalError("failed to create root window"); } InitInput(argc, argv); if (InitAndStartDevices() != Success) Index: xc/programs/Xserver/dix/xpstubs.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/dix/xpstubs.c,v retrieving revision 1.2 diff -u -2 -0 -r1.2 xpstubs.c --- xc/programs/Xserver/dix/xpstubs.c 23 Apr 2004 19:04:44 -0000 1.2 +++ xc/programs/Xserver/dix/xpstubs.c 11 Mar 2005 15:52:19 -0000 @@ -12,43 +12,59 @@ in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of The Open Group shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group. */ /* $Xorg: xpstubs.c,v 1.5 2001/03/08 17:52:08 pookie Exp $ */ #include "misc.h" #include "font.h" +#include "DiPrint.h" Bool XpClientIsBitmapClient( ClientPtr client) { return TRUE; } Bool XpClientIsPrintClient( ClientPtr client, FontPathElementPtr fpe) { return FALSE; } int XprintOptions( int argc, char **argv, int i) { return i; } +void +PrinterInitOutput( + ScreenInfo *pScreenInfo, + int argc, + char **argv) +{ +} +void XprintUseMsg(void) +{ +} +void XprintInitGlobals(void) +{ +} + + Index: xc/programs/Xserver/os/utils.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/os/utils.c,v retrieving revision 1.11 diff -u -2 -0 -r1.11 utils.c --- xc/programs/Xserver/os/utils.c 25 Nov 2004 12:48:21 -0000 1.11 +++ xc/programs/Xserver/os/utils.c 11 Mar 2005 15:52:23 -0000 @@ -636,40 +636,43 @@ #endif #ifndef NOLOGOHACK ErrorF("-logo enable logo in screen saver\n"); ErrorF("nologo disable logo in screen saver\n"); #endif ErrorF("-nolisten string don't listen on protocol\n"); ErrorF("-noreset don't reset after last client exists\n"); ErrorF("-reset reset after last client exists\n"); ErrorF("-p # screen-saver pattern duration (minutes)\n"); ErrorF("-pn accept failure to listen on all ports\n"); ErrorF("-nopn reject failure to listen on all ports\n"); ErrorF("-r turns off auto-repeat\n"); ErrorF("r turns on auto-repeat \n"); #ifdef RENDER ErrorF("-render [default|mono|gray|color] set render color alloc policy\n"); #endif ErrorF("-s # screen-saver timeout (minutes)\n"); #ifdef XCSECURITY ErrorF("-sp file security policy file\n"); #endif +#ifdef XPRINT + XprintUseMsg(); +#endif ErrorF("-su disable any save under support\n"); ErrorF("-t # mouse threshold (pixels)\n"); ErrorF("-terminate terminate at server reset\n"); ErrorF("-to # connection time out\n"); ErrorF("-tst disable testing extensions\n"); ErrorF("ttyxx server started from init on /dev/ttyxx\n"); ErrorF("v video blanking for screen-saver\n"); ErrorF("-v screen-saver without video blanking\n"); ErrorF("-wm WhenMapped default backing-store\n"); ErrorF("-x string loads named extension at init time \n"); ErrorF("-maxbigreqsize set maximal bigrequest size \n"); #ifdef PANORAMIX ErrorF("+xinerama Enable XINERAMA extension\n"); ErrorF("-xinerama Disable XINERAMA extension\n"); #endif #ifdef SMART_SCHEDULE ErrorF("-dumbSched Disable smart scheduling, enable old behavior\n"); ErrorF("-schedInterval int Set scheduler interval in msec\n"); #endif ErrorF("+extension name Enable extension\n"); From simon.toedt at gmail.com Sat Mar 12 16:24:49 2005 From: simon.toedt at gmail.com (Simon Toedt) Date: Sat Mar 12 10:30:58 2005 Subject: [Xprint] Where is the Xprint server on the Suse DVD? Message-ID: <9a9b8bd3050312072437f6c979@mail.gmail.com> Where can I find the Xprint/Xprt server RPM for Suse? http://ftp.suse.com/pub/suse/i386/9.2/iso/SUSE-Linux-9.2-FTP-DVD.iso seems to omit it. SImon From Matthias.Ernst at nmr.phys.chem.ethz.ch Tue Mar 15 10:28:58 2005 From: Matthias.Ernst at nmr.phys.chem.ethz.ch (Matthias Ernst) Date: Tue Mar 15 04:35:00 2005 Subject: [Xprint] Fontproblems on Solaris using Xprint Message-ID: <4236AADA.4090903@nmr.phys.chem.ethz.ch> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, I have installed the GISWxprintglue package (0.9) on our SPARC/Solaris 9 machines and we see a lot of font problems when printing from Mozilla/Firefox/Thunderbird. The newest version of Solaris 9 with (almost) the newest patch sets are installed. I can provide details on request. The rendering of the fonts is wrong, i.e., the glyphs seem to be cut up and put together in the wrong way. The Glyphs are at the correct position and the spacing seems to be okay but each glyph itself is messed up. It is difficult to describe, so I have made a postscript file which shows the problem available at http://www.nmr.ethz.ch/~maer/mozilla.ps It only happens when I use the xprint drivers but not when I use the postscript/ default driver in Mozilla/FireFox/Thunderbird. Has anybody seen this and knows what the reason for it is? I checked Suns support database for any Sun related problem and could not find any. I also did not find anybody describing similar problems. Any help or hints on how to debug the problem would be appreciated. Regards, Matthias Ernst - -- +----------------------------------------+-----------------------------------+ | Matthias Ernst | Phone: +41-44-632-4366 | | ETH Z?rich | Fax: +41-44-632-1621 | | Laboratorium f?r Physikalische Chemie | | | ETH-H?nggerberg - HCI D 227 | Email: maer@nmr.phys.chem.ethz.ch | | CH-8093 Z?rich, Switzerland | maer@scientist.com | +----------------------------------------+-----------------------------------+ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (SunOS) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFCNqrZCgETjsI23tkRAsRlAJ4sApoZ1o1E+tWHYJBbcTy3cZjF1wCfa38x GqvadCWqiglpqqiQqExLlg4= =Xdf9 -----END PGP SIGNATURE----- From ali_b750 at yahoo.com Tue Mar 15 02:40:56 2005 From: ali_b750 at yahoo.com (ali bagheri) Date: Tue Mar 15 05:47:12 2005 Subject: [Xprint] LQ-300 printing problem Message-ID: <20050315104056.51022.qmail@web40513.mail.yahoo.com> Dear Sir: I used xprint to print Persian fonts in firefox and it works fine with my laser perinter , but I need to print using an Epson LQ-300 printer , but it give strange output , please guide me how to do this using xprint or if there is any alternative for firefox multilingual printing. __________________________________ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/ From ali_b750 at yahoo.com Tue Mar 15 02:50:08 2005 From: ali_b750 at yahoo.com (ali bagheri) Date: Tue Mar 15 05:56:26 2005 Subject: [Xprint] Re: Xprint Digest, Vol 21, Issue 7 In-Reply-To: 6667 Message-ID: <20050315105008.98344.qmail@web40510.mail.yahoo.com> you can download it from its own site,http://xprint.mozdev.org/download.html, I tried it on my suse linux and it works fine , hope you can enjoy it too. --- xprint-request@mozdev.org wrote: > Send Xprint mailing list submissions to > xprint@mozdev.org > > To subscribe or unsubscribe via the World Wide Web, > visit > http://mozdev.org/mailman/listinfo/xprint > or, via email, send a message with subject or body > 'help' to > xprint-request@mozdev.org > > You can reach the person managing the list at > xprint-owner@mozdev.org > > When replying, please edit your Subject line so it > is more specific > than "Re: Contents of Xprint digest..." > > > Today's Topics: > > 1. Where is the Xprint server on the Suse DVD? > (Simon Toedt) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sat, 12 Mar 2005 16:24:49 +0100 > From: Simon Toedt > Subject: [Xprint] Where is the Xprint server on the > Suse DVD? > To: xprint@mozdev.org > Message-ID: > <9a9b8bd3050312072437f6c979@mail.gmail.com> > Content-Type: text/plain; charset=US-ASCII > > Where can I find the Xprint/Xprt server RPM for > Suse? > http://ftp.suse.com/pub/suse/i386/9.2/iso/SUSE-Linux-9.2-FTP-DVD.iso > seems to omit it. > > SImon > > ------------------------------ > > _______________________________________________ > Xprint mailing list > Xprint@mozdev.org > http://mozdev.org/mailman/listinfo/xprint > > > End of Xprint Digest, Vol 21, Issue 7 > ************************************* > __________________________________ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/ From dparsons at debian.org Tue Mar 15 23:14:05 2005 From: dparsons at debian.org (Drew Parsons) Date: Tue Mar 15 07:20:07 2005 Subject: [Xprint] LQ-300 printing problem In-Reply-To: <20050315104056.51022.qmail@web40513.mail.yahoo.com> References: <20050315104056.51022.qmail@web40513.mail.yahoo.com> Message-ID: <1110888846.32306.10.camel@pug.anu.edu.au> On Tue, 2005-03-15 at 02:40 -0800, ali bagheri wrote: > Dear Sir: > I used xprint to print Persian fonts in firefox and it > works fine with my laser perinter , but I need to > print using an Epson LQ-300 printer , but it give > strange output , please guide me how to do this using > xprint or if there is any alternative for firefox > multilingual printing. > If you're using CUPS to handle print jobs for the printer, then try to make sure you've got the best PPD (definition file) for it that you can find. If you haven't got one specific to the Epson LQ-300, then you might want to try the epson ppd (http://linuxprinting.org/show_driver.cgi?driver=epson, press on the "Generate PPD file" button). But keep in mind this driver only lists LQ-500 and others, not LQ-300 specifically, but LQ-300 docs suggest it should be compatible with LQ-570+. You could also try reducing the printer resolution used by Xprint (see /usr/share/Xprint/xserver/C/print/attributes/document). Try using 300 or 150 instead of 600. Or maybe 240 or 288, since LQ-300 is 24pin with 10 or 12 char per inch (i.e. 10x24=240 or 12x24=288 dots per inch). Drew From dhighley at highley-recommended.com Tue Mar 1 20:23:23 2005 From: dhighley at highley-recommended.com (David Highley) Date: Wed Mar 16 22:13:03 2005 Subject: [Xprint] Would like a 64bit rpm for xprint Message-ID: <200503020423.j224NNqk025244@hemlock.highley-recommended.com> "Julien Lafon wrote:" > > On Sat, 26 Feb 2005 11:33:17 -0800 (PST), David Highley > wrote: > > Would it be possible to get a 64 bit rpm for xprint? > Which distribution do you use? Some Linux distributions such as Suse > are shipping 64bit versions of the Xprint server. We are using Fedora core 3 on dual opteron systems. We run an application that only distributes via apt and apt is not able to deal with 32/64 bit rpms. So we need a 64 bit rpm for Fedora. > > Is this development connected to mozilla? > Yes, Mozilla (suite, firefox, etc.) are Xprint _clients_ which access > the Xprint _server_ (this X.org/mozdev.org project is dedicated to the > X11 print _server_) to create print jobs. > > Julien > -- > Julien Lafon > Senior Staff Engineer, Hitachi > David Highley From roland.mainz at nrubsig.org Fri Mar 25 00:11:07 2005 From: roland.mainz at nrubsig.org (Roland Mainz) Date: Thu Mar 24 18:28:48 2005 Subject: [Xprint] Unified video+print Xserver / was: Re: Modularization mailing list and initial strawman proposal References: <20050311212008.GD14002@kem.org> <423B3C84.29FCFCCF@nrubsig.org> <20050318234007.GA13433@kem.org> Message-ID: <4243490B.48C7684@nrubsig.org> Kevin E Martin wrote: > > And print drivers as the Xprint DDXs should be turned into loadable > > modules (in the long term the Xprt server is going away then[1], > > replaced by a Xorg server which can handle both video and print modules > > similar to what the Xserver in HP/UX can do today). > > > > [1]=or more correctly: Xprt isn't going away as it's still needed as > > all-in-one X print server, however sepcial-purpose DDX like the SVGprint > > DDX may only be available as loadable module. > > Interesting idea. Have you written a design document yet? These ideas > should be discussed in the Architecture Working Group. The all-in-one video-print Xserver was always there since X11R6.3. It's just hidden away in on of the build options in xc/config/cf/X11.tmpl. AFAIK it was originally debated and favored by one of {Sun, HP} but I do not remember the details anymore. One side was favoring per-user Xprint servers (e.g. one per user and therefore an integrated (or sometimes called "unified") solution) and the other side "global" ones with a seperate print server (which is less resource hungry on multiuser systems (Xterminals, SunRay etc.) and allows to run the Xprint server on the print server machine directly instead of having each workstation running it's own copy). In the meantime (e.g. since X11R6.3) HP added a third option for HP/UX - having one Xserver which can either run in video mode OR (=XOR) print mode (I am not sure whether it allows having both video and print screens running at the same time like the current Xorg code allows). We have three goals here: 1. One option should be to have a seperate standalone Xprt server with only builtin drivers (mainly for embedding purposes or in cases when not all drivers are needed (for example the SVGprint driver is huge and should only be available as loadable module)) 2. Allow Xorg to load print DDXs dynamically 3. Run the Xorg server either in video, print or a mode where a display has both video and print screens. The current status looks like this: [1] is the default since X11R6.3 [3] is mainly available since X11R6.3 except that there is currently no way to force the server into video-only or print-only mode - the Xorg server just runs with all DDXs it can initalise and that's all (e.g. we're lacking the -servermode option of HP's Xserver). [2] is the most difficult part and needs special care to avoid later ABI updates just because we forgot something (at some point HP could help here via contributing their knowledge as the Xserver in HP/UX loads the print DDX dynamically, too) Comments/suggestions/etc. welcome... :) ---- Bye, Roland P.S.: Please keep the Xprint mailinglist in the CC: as AFAIK not everyone there is subscribed to xorg-arch, too... -- __ . . __ (o.\ \/ /.o) roland.mainz@nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;) From mayfield+xprint at sackheads.org Mon Mar 28 15:37:58 2005 From: mayfield+xprint at sackheads.org (Jimmie Mayfield) Date: Mon Mar 28 15:44:24 2005 Subject: [Xprint] Xprint using the wrong font(s)? Message-ID: <20050328203757.GA59633@sackheads.org> Sorry if this is a newbie question but it doesn't seem to be addressed in the FAQ: I recently installed release 009.001 from RPM onto an RH9 machine. I've manually-configured it for 3 printers (each is a Postscript Level 2 printer). xplsprinters looks good. But while I'm able to print to these printers using Firefox, the printed font is invariably wrong. It appears that the font being printed is always b&h-lucida blackletter-. The good news is, this is a Truetype font on this machine and the resulting print quality is nice. The bad news is Xprint seems to only use this font. This seems odd since I'd think if it's able to find this particular TT font, it should be able to find any of the dozens of other TT fonts in the same directory including Arial and/or Courier (gfontsel and Firefox itself seems to find them). Does Xprint have an "always use this font" setting that I've missed somewhere? Thanks. Jimmie From eich at suse.de Sun Mar 27 11:00:58 2005 From: eich at suse.de (Egbert Eich) Date: Tue Mar 29 07:42:39 2005 Subject: [Xprint] Re: Unified video+print Xserver / was: Re: Modularization mailing list and initial strawman proposal In-Reply-To: roland.mainz@nrubsig.org wrote on Friday, 25 March 2005 at 00:11:07 +0100 References: <20050311212008.GD14002@kem.org> <423B3C84.29FCFCCF@nrubsig.org> <20050318234007.GA13433@kem.org> <4243490B.48C7684@nrubsig.org> Message-ID: <16966.30282.655109.388903@xf14.local> Roland Mainz writes: > > The all-in-one video-print Xserver was always there since X11R6.3. It's > just hidden away in on of the build options in xc/config/cf/X11.tmpl. > AFAIK it was originally debated and favored by one of {Sun, HP} but I do > not remember the details anymore. One side was favoring per-user Xprint > servers (e.g. one per user and therefore an integrated (or sometimes > called "unified") solution) and the other side "global" ones with a > seperate print server (which is less resource hungry on multiuser > systems (Xterminals, SunRay etc.) and allows to run the Xprint server on > the print server machine directly instead of having each workstation > running it's own copy). In the meantime (e.g. since X11R6.3) HP added a > third option for HP/UX - having one Xserver which can either run in > video mode OR (=XOR) print mode (I am not sure whether it allows having > both video and print screens running at the same time like the current > Xorg code allows). Having video and print active in a single threaded Xserver would force video output to wait for the print rendering to finish. Having both in separate apps would allow the system to do much more fine grained scheduling between the two. > > We have three goals here: > 1. One option should be to have a seperate standalone Xprt server with > only builtin drivers (mainly for embedding purposes or in cases when not > all drivers are needed (for example the SVGprint driver is huge and > should only be available as loadable module)) > 2. Allow Xorg to load print DDXs dynamically > 3. Run the Xorg server either in video, print or a mode where a display > has both video and print screens. > > The current status looks like this: > [1] is the default since X11R6.3 > [3] is mainly available since X11R6.3 except that there is currently no > way to force the server into video-only or print-only mode - the Xorg > server just runs with all DDXs it can initalise and that's all (e.g. > we're lacking the -servermode option of HP's Xserver). > [2] is the most difficult part and needs special care to avoid later ABI > updates just because we forgot something (at some point HP could help > here via contributing their knowledge as the Xserver in HP/UX loads the > print DDX dynamically, too) > I'd expect HP would do this if they feel this is a viable technology in the future. Cheers, Egbert. From julien.lafon at gmail.com Tue Mar 29 14:58:11 2005 From: julien.lafon at gmail.com (Julien Lafon) Date: Tue Mar 29 08:04:33 2005 Subject: [Xprint] Re: Unified video+print Xserver / was: Re: Modularization mailing list and initial strawman proposal In-Reply-To: <16966.30282.655109.388903@xf14.local> References: <20050311212008.GD14002@kem.org> <423B3C84.29FCFCCF@nrubsig.org> <20050318234007.GA13433@kem.org> <4243490B.48C7684@nrubsig.org> <16966.30282.655109.388903@xf14.local> Message-ID: On Sun, 27 Mar 2005 11:00:58 +0200, Egbert Eich wrote: > Roland Mainz writes: > > > > The all-in-one video-print Xserver was always there since X11R6.3. It's > > just hidden away in on of the build options in xc/config/cf/X11.tmpl. > > AFAIK it was originally debated and favored by one of {Sun, HP} but I do > > not remember the details anymore. One side was favoring per-user Xprint > > servers (e.g. one per user and therefore an integrated (or sometimes > > called "unified") solution) and the other side "global" ones with a > > seperate print server (which is less resource hungry on multiuser > > systems (Xterminals, SunRay etc.) and allows to run the Xprint server on > > the print server machine directly instead of having each workstation > > running it's own copy). In the meantime (e.g. since X11R6.3) HP added a > > third option for HP/UX - having one Xserver which can either run in > > video mode OR (=XOR) print mode (I am not sure whether it allows having > > both video and print screens running at the same time like the current > > Xorg code allows). > > Having video and print active in a single threaded Xserver would force > video output to wait for the print rendering to finish. Xprint applications are scheduled by the X server as normal X clients and do not behave differently. I do not see a different of having two video cards or one video card and a print screen in one Xserver. Julien -- Julien Lafon Senior Staff Engineer, Hitachi From pma at anderson.fc.hp.com Wed Mar 30 01:18:41 2005 From: pma at anderson.fc.hp.com (Paul Anderson) Date: Wed Mar 30 03:25:24 2005 Subject: [Xprint] Re: Unified video+print Xserver / was: Re: Modularization mailing list and initial strawman proposal In-Reply-To: <4243490B.48C7684@nrubsig.org> from Roland Mainz at Mar "25, " 2005 "00:11:07" am Message-ID: <200503300818.BAA21939@anderson.fc.hp.com> > Kevin E Martin wrote: > > > And print drivers as the Xprint DDXs should be turned into loadable > > > modules (in the long term the Xprt server is going away then[1], > > > replaced by a Xorg server which can handle both video and print modules > > > similar to what the Xserver in HP/UX can do today). > > > > > > [1]=or more correctly: Xprt isn't going away as it's still needed as > > > all-in-one X print server, however sepcial-purpose DDX like the SVGprint > > > DDX may only be available as loadable module. > > > > Interesting idea. Have you written a design document yet? These ideas > > should be discussed in the Architecture Working Group. > > The all-in-one video-print Xserver was always there since X11R6.3. It's > just hidden away in on of the build options in xc/config/cf/X11.tmpl. > AFAIK it was originally debated and favored by one of {Sun, HP} but I do > not remember the details anymore. One side was favoring per-user Xprint > servers (e.g. one per user and therefore an integrated (or sometimes > called "unified") solution) and the other side "global" ones with a > seperate print server (which is less resource hungry on multiuser > systems (Xterminals, SunRay etc.) and allows to run the Xprint server on > the print server machine directly instead of having each workstation > running it's own copy). In the meantime (e.g. since X11R6.3) HP added a > third option for HP/UX - having one Xserver which can either run in > video mode OR (=XOR) print mode (I am not sure whether it allows having > both video and print screens running at the same time like the current > Xorg code allows). On HP-UX, it can run in video mode OR print mode. We don't use video AND print at the same time. -paul From ajax at nwnk.net Tue Mar 29 13:49:42 2005 From: ajax at nwnk.net (Adam Jackson) Date: Wed Mar 30 08:13:21 2005 Subject: [Xprint] Re: Unified video+print Xserver / was: Re: Modularization mailing list and initial strawman proposal In-Reply-To: References: <20050311212008.GD14002@kem.org> <16966.30282.655109.388903@xf14.local> Message-ID: <200503291349.46095.ajax@nwnk.net> On Tuesday 29 March 2005 07:58, Julien Lafon wrote: > On Sun, 27 Mar 2005 11:00:58 +0200, Egbert Eich wrote: > > Having video and print active in a single threaded Xserver would force > > video output to wait for the print rendering to finish. > > Xprint applications are scheduled by the X server as normal X clients > and do not behave differently. I do not see a different of having two > video cards or one video card and a print screen in one Xserver. Then you don't understand the problem. See, for example: https://bugs.freedesktop.org/show_bug.cgi?id=1426 X's scheduler is not preemptive. When it schedules a client, that client is going to run to the completion of at least one request in its queue. With core X this is not a huge deal, because each request is simple. With GLX this can be a problem, because "one request" can be "draw these 40,000 multitextured supersampled quad strips". Oops. My understanding of Xprint is that the invoked lpd (or whatever) is not scheduled like an X client but is instead treated like an output device. Which means you can have a situation where the server has a huge chunk of data (say, a rasterised page of A4 at 600dpi), and is blocking trying to move that data out to the lpd. When you're blocked on output then you don't return to the scheduling loop in small bounded time. Which means the server appears to stall. Such is the joy of cooperative multitasking. Now if you have separate servers for print and display, then the kernel gets to schedule them, and the kernel's scheduler is preemptive. So when Xprt gets blocked waiting for the printer, the kernel switches to a process that is runnable but halted. - ajax -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mozdev.org/pipermail/xprint/attachments/20050329/6e143d83/attachment.bin From julien.lafon at gmail.com Wed Mar 30 15:35:19 2005 From: julien.lafon at gmail.com (Julien Lafon) Date: Wed Mar 30 08:41:48 2005 Subject: [Xprint] Re: Unified video+print Xserver / was: Re: Modularization mailing list and initial strawman proposal In-Reply-To: <200503291349.46095.ajax@nwnk.net> References: <20050311212008.GD14002@kem.org> <16966.30282.655109.388903@xf14.local> <200503291349.46095.ajax@nwnk.net> Message-ID: On Tue, 29 Mar 2005 13:49:42 -0500, Adam Jackson wrote: > On Tuesday 29 March 2005 07:58, Julien Lafon wrote: > > On Sun, 27 Mar 2005 11:00:58 +0200, Egbert Eich wrote: > > > Having video and print active in a single threaded Xserver would force > > > video output to wait for the print rendering to finish. > > > > Xprint applications are scheduled by the X server as normal X clients > > and do not behave differently. I do not see a different of having two > > video cards or one video card and a print screen in one Xserver. > > Then you don't understand the problem. See, for example: > > https://bugs.freedesktop.org/show_bug.cgi?id=1426 > > X's scheduler is not preemptive. When it schedules a client, that client is > going to run to the completion of at least one request in its queue. With > core X this is not a huge deal, because each request is simple. With GLX > this can be a problem, because "one request" can be "draw these 40,000 > multitextured supersampled quad strips". Oops. This seems to be an unique problem of the GLX implementation. We ran some tests this morning and there is no noticeable "stall" in the video server operation when the print extension sends the job to the spooler. > > My understanding of Xprint is that the invoked lpd (or whatever) is not > scheduled like an X client but is instead treated like an output device. > Which means you can have a situation where the server has a huge chunk of > data (say, a rasterised page of A4 at 600dpi), The Xprint drivers do not rasterise anything[1] in the server. This resembles somehow an item roland collected: http://xprint.mozdev.org/docs/Xprint_FAQ.html#id2807877 > and is blocking trying to move > that data out to the lpd. When you're blocked on output then you don't > return to the scheduling loop in small bounded time. Which means the server > appears to stall. The Xprint extension code in the server spools the PDL data to a temporary storage until XpEndDoc() is called by the client. If that command is received the server calls fork() to create a new child process from which the spooler command is launched. This operation is completely asynchronous and does not interfere with the main server thread until the child terminates which will trigger the creation of the ENDDOC event. [1] excluding OpenGL, but we take care about this issue in a separate project Julien -- Julien Lafon Senior Staff Engineer, Hitachi From ajax at nwnk.net Wed Mar 30 10:56:59 2005 From: ajax at nwnk.net (Adam Jackson) Date: Wed Mar 30 11:54:49 2005 Subject: [Xprint] Re: Unified video+print Xserver / was: Re: Modularization mailing list and initial strawman proposal In-Reply-To: References: <20050311212008.GD14002@kem.org> <200503291349.46095.ajax@nwnk.net> Message-ID: <200503301057.02651.ajax@nwnk.net> On Wednesday 30 March 2005 08:35, Julien Lafon wrote: > On Tue, 29 Mar 2005 13:49:42 -0500, Adam Jackson wrote: > > Then you don't understand the problem. See, for example: > > > > https://bugs.freedesktop.org/show_bug.cgi?id=1426 > > > > X's scheduler is not preemptive. When it schedules a client, that client > > is going to run to the completion of at least one request in its queue. > > With core X this is not a huge deal, because each request is simple. > > With GLX this can be a problem, because "one request" can be "draw these > > 40,000 multitextured supersampled quad strips". Oops. > > This seems to be an unique problem of the GLX implementation. > We ran some tests this morning and there is no noticeable "stall" in > the video server operation when the print extension sends the job to > the spooler. I'll take your word for it. Just wanted to be sure the issue was understood. > > My understanding of Xprint is that the invoked lpd (or whatever) is not > > scheduled like an X client but is instead treated like an output device. > > Which means you can have a situation where the server has a huge chunk of > > data (say, a rasterised page of A4 at 600dpi), > > The Xprint drivers do not rasterise anything[1] in the server. This > resembles somehow an item roland collected: > http://xprint.mozdev.org/docs/Xprint_FAQ.html#id2807877 Um. Then what does the raster driver do? - ajax -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mozdev.org/pipermail/xprint/attachments/20050330/225e83ed/attachment.bin From roland.mainz at nrubsig.org Thu Mar 31 02:55:59 2005 From: roland.mainz at nrubsig.org (Roland Mainz) Date: Wed Mar 30 20:02:44 2005 Subject: [Xprint] Re: Unified video+print Xserver / was: Re:Modularization mailing list and initial strawman proposal References: <20050311212008.GD14002@kem.org> <16966.30282.655109.388903@xf14.local> <200503291349.46095.ajax@nwnk.net> Message-ID: <424B4A9F.80052A8F@nrubsig.org> Julien Lafon wrote: [snip] > > X's scheduler is not preemptive. When it schedules a client, that client is > > going to run to the completion of at least one request in its queue. With > > core X this is not a huge deal, because each request is simple. With GLX > > this can be a problem, because "one request" can be "draw these 40,000 > > multitextured supersampled quad strips". Oops. > This seems to be an unique problem of the GLX implementation. One possible workaround may be to copy the design of the GLX implementation in Solaris which runs the OpenGL engine in a seperate thread (the Xserver itself doesn't need to be multithreaded for that, AFAIK only the loadable GLX module in Xsun makes sure it itself protects properly when being called from various threads). [snip] > > My understanding of Xprint is that the invoked lpd (or whatever) is not > > scheduled like an X client but is instead treated like an output device. > > Which means you can have a situation where the server has a huge chunk of > > data (say, a rasterised page of A4 at 600dpi), > The Xprint drivers do not rasterise anything[1] in the server. This > resembles somehow an item roland collected: > http://xprint.mozdev.org/docs/Xprint_FAQ.html#id2807877 Erm... no. Xprint itself does not define anything whether the print job is rasterized in the Xserver, in the printer or elsewhere. The DDX itself decides whether it generates vector data or rasterizes itself. For example the PostScript, PDF and SVG drivers are pure vector DDX (which means they generate vector data and send them to the printer) but the RASTER, MNG and GIF drivers are rasterizing within the DDX (the PCL*-drivers are a wild mixture of both vector and normal DDX). ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz@nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;) From roland.mainz at nrubsig.org Thu Mar 31 03:04:37 2005 From: roland.mainz at nrubsig.org (Roland Mainz) Date: Wed Mar 30 20:11:14 2005 Subject: [Xprint] Re: Unified video+print Xserver / was: Re:Modularization mailing list and initial strawman proposal References: <20050311212008.GD14002@kem.org> <200503291349.46095.ajax@nwnk.net> <200503301057.02651.ajax@nwnk.net> Message-ID: <424B4CA5.90F5C700@nrubsig.org> Adam Jackson wrote: [snip] > > > My understanding of Xprint is that the invoked lpd (or whatever) is not > > > scheduled like an X client but is instead treated like an output device. > > > Which means you can have a situation where the server has a huge chunk of > > > data (say, a rasterised page of A4 at 600dpi), > > > > The Xprint drivers do not rasterise anything[1] in the server. This > > resembles somehow an item roland collected: > > http://xprint.mozdev.org/docs/Xprint_FAQ.html#id2807877 > > Um. Then what does the raster driver do? See my other reply to this thread - it's doing rasterizing in the Xserver (as the decision whether vector data or bitmap data are generated is up to the print DDX). However it doesn't really harm anything since the RASTER driver operates at low resolution monocrome (1bit StaticGray) visuals (originally it was written as test implementation and can still be used for old matrix printers, but beyond that point I don't see much use for it). ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz@nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;)