Running Squeak on Linux

Dino gte949e at prism.gatech.edu
Tue Apr 6 09:22:00 UTC 1999


Hi Hi!

If you use vnc to access your X desktop, you can run the vncviewer with the -cc
3 option and a depth of 16.  It seems to have fixed my vnc problem.  

Although, I don't see this being a problem if you run squeak in X11.  I run it
fine on my machine.  I'm also running 2.2.4 and libc6.  You probably have seen
me in the CoC using squeak on my seemingly exported display...

-- Dino

Göran Hultgren wrote:
> 
> Hi!
> 
> ---Ivan Brusic <ivan at cc.gatech.edu> wrote:
> > Hello fellow squeakers,
> >
> > I am unable to run Squeak on Linux.  There are two different errors
> which
> > I get when trying to run Squeak:
> >
> > 1) When using Ian's precompiled VM (SqueakVM-2.3-i386-linux-2.0.36) or
> >    using my own compiled VM (with the lastest sources) I get the
> following
> >    error:
> >    This visual class is not supported
> 
> This has to do with X Windows. I got the same problem when trying to
> get Squeak to work with VNC. After looking in the VM code (sqXwindos.c
> - see below) it showed that Squeak does not support every possible X
> configuration when it comes to colors.
> 
> I changed VNC to use PsuedoColors with 256 colors and everything works
> great. So I suggest that you check your colordepth that X uses, if its
> 256 you have to raise it to 65536 or change your color support from
> TrueColor/DirectColor to PseudoColor.
> 
> Exerpt from: ftp://alix.inria.fr/pub/squeak/unix/Squeak/src/sqXWindow.c
> ----
> switch (stVisual->class)
>     {
>     case PseudoColor:
>       if (stBitsPerPixel == 8)
>         break;
>       else
>         {
>           fprintf(stderr, "This visual class is not supported\n");
>           exit(1);
>           return;
>         }
>     case TrueColor:
>     case DirectColor:
>       getMaskbit(stVisual->red_mask,   &stRNMask, &stRShift);
>       getMaskbit(stVisual->green_mask, &stGNMask, &stGShift);
>       getMaskbit(stVisual->blue_mask,  &stBNMask, &stBShift);
>       if (stBitsPerPixel == 16)
>         {
>           stHasSameRGBMask16= (stVisual->red_mask   == (0x1f << 10) &&
>                                stVisual->green_mask == (0x1f << 5) &&
>                                stVisual->blue_mask  == (0x1f));
>           break;
>         }
>       else if (stBitsPerPixel == 32)
>         {
>           stHasSameRGBMask32= (stVisual->red_mask   == (0xff << 16) &&
>                                stVisual->green_mask == (0xff << 8) &&
>                                stVisual->blue_mask  == (0xff));
>           break;
>         }
>       else
>         {
>           fprintf(stderr, "This visual class is not supported\n");
>           exit(1);
>           return;
>         }
>     case GrayScale:
>     case StaticColor:
>     case StaticGray:
>     default:
>       fprintf(stderr, "This visual class is not supported\n");
>       exit(1);
>       return;
>     }
> 
> -----
> 
> So reading this correct I assume that 256 colors is OK in PseudoColor
> but when using TrueColor or DirectColor you need 65536 or ~2 million
> colors (16 or 32 bits).
> 
> Wll, that's my two cents.
> 
> regards, Göran
> 
> ===
> Göran Hultgren, gohu at rocketmail.com, icq#:6136722
> GSM: +46 709 472152, http://195.22.65.4
> "First they ignore you. Then they laugh at you.
> Than they fight you. Then you win." -- Gandhi
> _________________________________________________________
> DO YOU YAHOO!?
> Get your free @yahoo.com address at http://mail.yahoo.com





More information about the Squeak-dev mailing list