[comp.windows.x] VGA X11R4 server problems

roell@lan.informatik.tu-muenchen.dbp.de (Thomas Roell) (05/28/90)

>The latter has a monochrome monitor attached. On this machine,
>the VGA is not properly returned to text mode after leaving the
>X server; the text font is just gone. This may well be a problem
>with the 386/ix console driver and monochrome VGA monitors,

Am I ask this simple question: Do use Interactives Update X6??? I think all
problems descibed above are gone with that update.

>An interesting X implementation question on 80386 PC's is how to handle
>virtual terminal switches.  I imagine that Esix locks up the virtual
>terminals not becase they don't know how to save and restore the
>graphics display, but because all of the clients remaining active
>while the server sleeps causes too many problems.  Of course the 
>server can't remain active if the VGA is not exposed.

The soltution of this problem is quite simple. Switching the terminals is not
a problem. The real problem is how to prevent the server from writing onto
the screen. When you look at the IBM-code for the VGA you will notice that for
screen-blanking the screen is not physically blanked, but set to black color!!!
Alle routines which drawn physically to the screen are replaced by dummies.
That's the way terminal switch has to bee done.
For the User there will be some surprising effects, cause switching back to
the terminal where he(she) started X will not contain any graphics. The 
graphics will be displayed on the NEXT FREE terminal (confusing, yep ?).

But what for do you need switching to virtual terminals ??? I saw the 
posibility for switch to another terminal from the beginning, but I cann't 
guess who will need such a feature.

- Thomas

--
_______________________________________________________________________________
Thomas Roell             Inst. f. Informatik / Technische Universitaet M"unchen
                         Arcisstr. 21 / 8000 Munich 2 / Fed.Rep. of Germany
E-Mail (domain):	 roell@lan.informatik.tu-muenchen.dbp.de
UUCP (when above fails): roell@tumult.{uucp | informatik.tu-muenchen.de}
-------------------------------------------------------------------------------

gw18@prism.gatech.EDU (Williams, Greg) (05/28/90)

In <2507@tuminfo1.lan.informatik.tu-muenchen.dbp.de> roell@lan.informatik.tu-muenchen.dbp.de (Thomas Roell) writes:

>But what for do you need switching to virtual terminals ??? I saw the 
>posibility for switch to another terminal from the beginning, but I cann't 
>guess who will need such a feature.

Here's a reason.  In case X hangs for some reason and you can't do anything
in it, it would be nice to be able to switch to a virtual terminal to kill
the process.  But, of course that will never happen because X is a perfect
piece of software that never breaks.  :-)

Some other tips to get the vga stuff running:

1) If you use the gdbm libraries you should either compile them with the 
   standard compiler or use gcc -fwriteable-strings.  I used cc instead of
   gcc and things worked fine.  I didn't try -fwriteable-strings, but someone
   told me it will work as well.  Otherwise the rgb files won't be built
   properly, and showrgb and the server will crash.

2) I was in error about the Arc drawing routines.  xeyes works fine, though a
   bit slow.  Having only 4Mb may be part of that.

3) If you do a make clean and want to recompile, be sure to do
   cd mit/lib
   cp Imakefile.old Imakefile
   cd ..
   before starting.  Otherwise things won't work right.


-- 
Greg Williams
Georgia Institute of Technology, Atlanta Georgia, 30332
uucp:	  ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!gw18
Internet: gw18@prism.gatech.edu

roell@lan.informatik.tu-muenchen.dbp.de (Thomas Roell) (05/28/90)

>>But what for do you need switching to virtual terminals ??? I saw the 
>>posibility for switch to another terminal from the beginning, but I cann't 
>>guess who will need such a feature.
>
>Here's a reason.  In case X hangs for some reason and you can't do anything
>in it, it would be nice to be able to switch to a virtual terminal to kill
>the process.  But, of course that will never happen because X is a perfect
>piece of software that never breaks.  :-)

Perhaps I didn't mention it in the doc's to the server, but if you press
CTRL+ALT+DEL (looks like MS-DOZ, yep) the server will shut down.
This requires that the server is alive, which is also neccesary for switching
to another terminal.

The big question is: Do you need virtual terminals only for escape (i.e in
one direction) or for switching perhaps between multible X sessions (i.e. in
both directions, form and to) ?

I personally think that the escape via CRTL+ALT+DEL is sufficient enougth for
escaping X. But for real switching between terminals there is ABSOLUTELY NO
REASON.

- Thomas


--
_______________________________________________________________________________
Thomas Roell             Inst. f. Informatik / Technische Universitaet M"unchen
                         Arcisstr. 21 / 8000 Munich 2 / Fed.Rep. of Germany
E-Mail (domain):	 roell@lan.informatik.tu-muenchen.dbp.de
UUCP (when above fails): roell@tumult.{uucp | informatik.tu-muenchen.de}
-------------------------------------------------------------------------------

thinman@cup.portal.com (Lance C Norskog) (06/01/90)

> Thomas Roell (OUR HERO!) says:
> I personally think that the escape via CRTL+ALT+DEL is sufficient enougth for
> escaping X. But for real switching between terminals there is ABSOLUTELY NO
> REASON.

Please don't tell us how to use our computers.

I find X and pixel-ized window systems in general (SUN especially) 
to be a pain in the eyes for doing straight text work.  As the 
sole techie in sales at Streamlined Networks, I get dragooned into the troff
part of our brochures, and that's why I use X.  When I lay out stuff,
I edit it in nice big letters with VI on one screen and xtroff it on the
X screen.  Text in X is also painfully slow.

Tool makers don't tell tool users how to use tools.

Lance Norskog
Sales Engineer
Streamlined Networks
408-727-9909

bret@codonics.COM (Bret Orsburn) (06/02/90)

I suspect that before all is said and done I will be very grateful to
Thomas Roell for the extensive work he has contributed toward X11R4
for SYSV PCs. (I would be more effusive with my praise, but since I
haven't been able to make it work yet.... :-)

After spending a few days trying to make his patches work at my site
(including the time to snarf and build several Gnu tools.), I think
it is time for a 

                       *** Reality Check ***


Unless I am missing something, mit/lib/X/Berklib.c cannot compile (see
diff at end of this posting). Did nobody who has posted with praise or
blame for this code find this worthy of noting?

Also, as someone has noted, I get a "Hash Table Overflow" when the stock
make tries to tackle mit/lib/X. Unlike the previous poster, however, I
get a

              make: execve: /bin/sh: Arg list too long

from gnu make, as well. (I finally built this lib "by hand".)

Also: mit/util/scripts/makeshlib must be made executable.

And finally:
                       <<<    BEWARE    >>>

Be aware that Herr Roell's version of X11R4 violates the separation
between building and installation. The build stage tries to install
libraries -- probably *not* what you want to do if you already have
ISC's X11R3 installed, and you want to look before you leap. (And it
uses hard-coded destination directories, as well.)

                               -----

Sorry if this is petty sniping. It may appear that way to me, too, if
I get this stuff working any time soon. Perhaps this information will
save someone some of the hassles I have experienced so far.

Of course, any hints on how to get past:

                      Couldn't open any screens

                    (And the odd server core dump)

will be welcome.

BTW: I am using a generic 16-bit VGA which is really a Western Digital/Paradise
card, capable of 800x600x16 or 640x400x256 or standard VGA resolutions.

------------------------------------------------------------------------

*** mit/lib/X/.modfiles/Berklib.c	Fri Jun  1 02:33:04 1990
--- mit/lib/X/Berklib.c	Fri Jun  1 02:58:06 1990
***************
*** 1,5 ****
--- 1,6 ----
  #include "import.h"
  #ifdef SHLIB
+ extern long (* _libX11_times)() = 0;
  extern int (* _libX11_rand)() = 0;
  extern void (* _libX11_srand)() = 0;
  #endif
***************
*** 9,14 ****
--- 10,16 ----
  
  #include <sys/types.h>
  #include <sys/times.h>
+ #include <sys/time.h>
  
  /*
   * These are routines fould in BDS and not found in HP-UX.  They are
***************
*** 282,291 ****
  
    if (!offset) {
      time(&offset);
!     offset -= (times(&tms) / 100);
    }
!   tvp->tv_sec  = offset + times(&tms) / 100;
!   tvp->tv_usec = (times(&tms) % 100) * 10000;
  
    /* ignore tzp for now since this file doesn't use it */
  }
--- 284,293 ----
  
    if (!offset) {
      time(&offset);
!     offset -= (times(&buffer) / 100);
    }
!   tvp->tv_sec  = offset + times(&buffer) / 100;
!   tvp->tv_usec = (times(&buffer) % 100) * 10000;
  
    /* ignore tzp for now since this file doesn't use it */
  }
-- 
-------------------
bret@codonics.com
uunet!codonics!bret
Bret Orsburn

mouse@SHAMASH.MCRCIM.MCGILL.EDU (der Mouse) (06/02/90)

>>> But what for do you need switching to virtual terminals ??? I saw
>>> the posibility for switch to another terminal from the beginning,
>>> but I cann't guess who will need such a feature.

>> Here's a reason.  In case X hangs for some reason [...]

> Perhaps I didn't mention it in the doc's to the server, but if you
> press CTRL+ALT+DEL [...] the server will shut down.

> The big question is: Do you need virtual terminals only for escape
> (i.e in one direction) or for switching perhaps between multible X
> sessions (i.e. in both directions, form and to) ?

> I personally think that the escape via CRTL+ALT+DEL is sufficient
> enougth for escaping X.  But for real switching between terminals
> there is ABSOLUTELY NO REASON.

Tell you what.  Don't tell me what I do and don't want to do with my X
server and I won't tell you what you do and don't want to do with
yours.

I have a reason for wanting real switching among X sessions.

There are two people in my office: me and one other.  There is only one
X screen in the office.

It would be very nice if we could each have our own X session going,
with the ability to switch between sessions at the tap of a key.  There
have been various programs produced which give a rooms-like effect by
iconifying and uniconifying windows, but this isn't good enough: the
switch must also switch window managers, should switch xhost and xset
settings, everything - just as though there were two entirely different
machines.  (The console window might be an acceptable exception; xhost
and xset settings *might* be another.)

Now.  Tell me again how there is ABSOLUTELY NO REASON to want real
switching between terminals?

(Okay, so I should have said I have a reason for wanting real switching
*between* X sessions.  Don't quibble.)

					der Mouse

			old: mcgill-vision!mouse
			new: mouse@larry.mcrcim.mcgill.edu

roell@lan.informatik.tu-muenchen.dbp.de (Thomas Roell) (06/07/90)

>> Thomas Roell (OUR HERO!) says:
>> I personally think that the escape via CRTL+ALT+DEL is sufficient enougth for
>> escaping X. But for real switching between terminals there is ABSOLUTELY NO
>> REASON.
>
>Please don't tell us how to use our computers.
>
>I find X and pixel-ized window systems in general (SUN especially) 
>to be a pain in the eyes for doing straight text work.  As the 
>sole techie in sales at Streamlined Networks, I get dragooned into the troff
>part of our brochures, and that's why I use X.  When I lay out stuff,
>I edit it in nice big letters with VI on one screen and xtroff it on the
>X screen.  Text in X is also painfully slow.
>
>Tool makers don't tell tool users how to use tools.

To finish any discussions about switching to other virual terminals, I want
to say, that this feature IS implemented in the next version. Also for people,
who want to have a faster screen I/O, there is a fast monochrome mode.
(Please don't ask me when this version will be released, I will annouce it when
the time has come.)

- Thomas

--
_______________________________________________________________________________
Thomas Roell             Inst. f. Informatik / Technische Universitaet M"unchen
                         Arcisstr. 21 / 8000 Munich 2 / Fed.Rep. of Germany
E-Mail (domain):	 roell@lan.informatik.tu-muenchen.dbp.de
UUCP (when above fails): roell@tumult.{uucp | informatik.tu-muenchen.de}
-------------------------------------------------------------------------------

roell@lan.informatik.tu-muenchen.dbp.de (Thomas Roell) (06/07/90)

>And finally:
>                       <<<    BEWARE    >>>
>
>Be aware that Herr Roell's version of X11R4 violates the separation
>between building and installation. The build stage tries to install
>libraries -- probably *not* what you want to do if you already have
>ISC's X11R3 installed, and you want to look before you leap. (And it
>uses hard-coded destination directories, as well.)

This was absolutely intended. Shared libs (i.e the target library) must reside
in a wellkown path (here it is /usr/lib/X11/shlib). So these MUST be installed,
before you can use any client and the server as well. The host shared libs
are installed, too, to pervent form linking the wrong version of the lib.
I made this mistake, and it took me serveral hours to recompile the whole tape.
Sorry for the damage of your X11R3, but reinstalling X11R3 from Interactive
costs less time than recompiling the X11R4 tape.

- Thomas



--
_______________________________________________________________________________
Thomas Roell             Inst. f. Informatik / Technische Universitaet M"unchen
                         Arcisstr. 21 / 8000 Munich 2 / Fed.Rep. of Germany
E-Mail (domain):	 roell@lan.informatik.tu-muenchen.dbp.de
UUCP (when above fails): roell@tumult.{uucp | informatik.tu-muenchen.de}
-------------------------------------------------------------------------------

roell@lan.informatik.tu-muenchen.dbp.de (Thomas Roell) (06/08/90)

>I have a reason for wanting real switching among X sessions.
>
>There are two people in my office: me and one other.  There is only one
>X screen in the office.
>
>It would be very nice if we could each have our own X session going,
>with the ability to switch between sessions at the tap of a key.  There
>have been various programs produced which give a rooms-like effect by
>iconifying and uniconifying windows, but this isn't good enough: the
>switch must also switch window managers, should switch xhost and xset
>settings, everything - just as though there were two entirely different
>machines.  (The console window might be an acceptable exception; xhost
>and xset settings *might* be another.)
>
>Now.  Tell me again how there is ABSOLUTELY NO REASON to want real
>switching between terminals?

ok.

1) switching virtual terminals and starting two servers won't succed, cause
   both servers will try to open /dev/X/server.0.

2) The idea of having multible X screens (idependent with own twm) is so good,
   that I started adding some code for this. The goal is to start the server
   only one time (saves some memory) and specify how many screen there should
   be. When running you can switch via a hot-key between your differen sessions
   as same as with the normal vt's (switiching between vt's will be also
   supported). I think that's exactly what you (and perhaps many others) will
   need. I'm shure that you can live with the limit that there can be only
   32 screens parallel.
   Thanx for your good idea.

BTW do you know how I can be added to xperts mailing list ?

- Thomas


_______________________________________________________________________________
Mail:                    Thomas Roell (c/o Daniel Hernandez)
                         Inst. f. Informatik / Technische Universitaet M"unchen
                         Arcisstr. 21 / 8000 Munich 2 / Fed.Rep. of Germany
E-Mail (domain):	 roell@lan.informatik.tu-muenchen.dbp.de
UUCP (when above fails): roell@tumult.{uucp | informatik.tu-muenchen.de}
-------------------------------------------------------------------------------

bret@codonics.COM (Bret Orsburn) (06/10/90)

In article <2681@tuminfo1.lan.informatik.tu-muenchen.dbp.de> roell@lan.informatik.tu-muenchen.dbp.de (Thomas Roell) writes:
>>
>>Be aware that Herr Roell's version of X11R4 violates the separation
>>between building and installation. The build stage tries to install
>>libraries -- probably *not* what you want to do if you already have
>>ISC's X11R3 installed, and you want to look before you leap.
>
>This was absolutely intended. Shared libs (i.e the target library) must reside
>in a wellkown path (here it is /usr/lib/X11/shlib). So these MUST be installed,
>before you can use any client and the server as well. The host shared libs
>are installed, too, to pervent form linking the wrong version of the lib.

>Sorry for the damage of your X11R3, but reinstalling X11R3 from Interactive
>costs less time than recompiling the X11R4 tape.
>

No damage done.

I don't run builds with permissions set to allow changes to system
files. I consider any build which changes system files to be broken
(and potentially hostile).

But, I understand your motives. I would only ask that such exceptional
behavior in a build be prominently noted in the README file. (I don't
like to run big builds twice, either ;-)

For the record:

I hate it when software contributors get raked over the coals by ungrateful
net-oids. I hope I have in no way discouraged T. Roell from further
contributions.

Also:

I was suffering from Information Overload when I made my last posting.
It has since been pointed out to me that the Berklib.c patch that I posted
had already appeared in this group. Sorry for any offense given in that
regard.-- 
-------------------
bret@codonics.com
uunet!codonics!bret
Bret Orsburn

P88033@BARILVM.BITNET (Shlomit Rot) (06/10/90)

Can anyone give me information on X-terminal emulators for P.C ,commercial
or PD
     Thanks in advance
       Shlomit