tech-x11 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

X11 {no}retro modifications



Hi folks,

I would like to commit the attached changes. I've run with them for ages on
various machines and already presented them here quite some time ago, but
back then there was no clear consensus (or the problem remained unclear).

Why is this needed?

Xorg upstream changed the default X background from the gray stiples it
had for years to a simple dark black. This basically is good for finished,
working installs, but together with the X server hiding the mouse untill
the first client attaches, it gives a perfectly black screen when manually
running X without any configuration.

We received several bug reports about this "system hangs with black screen
when starting X", so localy restored the default background and added an
inverted "-noretro" option (retro = stiples). This is good to avoid bug
reports as above, but the upstream change was done for a reason: while
starting up X, after the display switches to the proper graphic mode, it
takes a while untill the desktop (or the window manager) are far enough in
their startup procedure to properly redrow the configured background. This
is visually a lot more pleasant if the screen stays black (after a potential
mode switch), and is most anying if the screen flickers once for the mode
switch and then gets filled with ugly gray stiples, only to be replaced
with the real background seconds later.

The attached patches keep the debug behaviour of unconfigured installs, but
provide the "noretro" style for working setups.

IMHO similar changes should be added to pkgsrc equivalents of xdm (when
installing on NetBSD and using builtin Xorg), but at least we should
get it right for the stuff we deliver in a release.

Martin
Index: xdm/dist/config/Xservers.ws.cpp
===================================================================
RCS file: /cvsroot/xsrc/external/mit/xdm/dist/config/Xservers.ws.cpp,v
retrieving revision 1.1.1.2
diff -u -p -r1.1.1.2 Xservers.ws.cpp
--- xdm/dist/config/Xservers.ws.cpp     9 Nov 2009 07:04:35 -0000       1.1.1.2
+++ xdm/dist/config/Xservers.ws.cpp     15 Jan 2012 09:25:10 -0000
@@ -9,4 +9,4 @@ XCOMM you can add them here as well.  Ea
 XCOMM look like:
 XCOMM  XTerminalName:0 foreign
 XCOMM
-:0 local BINDIR/X :0 DEFAULTVT
+:0 local BINDIR/X :0 -noretro DEFAULTVT
Index: xinit/dist/startx.cpp
===================================================================
RCS file: /cvsroot/xsrc/external/mit/xinit/dist/startx.cpp,v
retrieving revision 1.1.1.5
diff -u -p -r1.1.1.5 startx.cpp
--- xinit/dist/startx.cpp       3 Aug 2011 02:44:52 -0000       1.1.1.5
+++ xinit/dist/startx.cpp       15 Jan 2012 09:25:11 -0000
@@ -75,7 +75,7 @@ sysserverrc=XINITDIR/xserverrc
 defaultclient=XTERM
 defaultserver=XSERVER
 defaultclientargs=""
-defaultserverargs=""
+defaultserverargs="-noretro"
 defaultdisplay=":0"
 clientargs=""
 serverargs=""


Home | Main Index | Thread Index | Old Index