Hi!
---Ivan Brusic ivan@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:
- 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, Gran
=== Gran Hultgren, gohu@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
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@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:
- 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@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
None of these solutions work. I am using 32bpp depth, and Squeak still refuses to run. This is getting fustrating.
Ivan
On Tue, 6 Apr 1999, Dino wrote:
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
Gran Hultgren wrote:
Hi!
---Ivan Brusic ivan@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:
- 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, Gran
=== Gran Hultgren, gohu@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
OK! Squeak is finally up and running. Changing my display depth *down* made it work. Ack, but I like TrueColor.
Ivan
On Tue, 6 Apr 1999, Ivan Brusic wrote:
None of these solutions work. I am using 32bpp depth, and Squeak still refuses to run. This is getting fustrating.
Ivan
On Tue, 6 Apr 1999, Dino wrote:
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
Gran Hultgren wrote:
Hi!
---Ivan Brusic ivan@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:
- 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, Gran
=== Gran Hultgren, gohu@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
--
Ivan Brusic | "Computers are nothing but a perfect Graduate Student | illusion of order" - Iggy Pop College of Computing & GVU Center | Georgia Institute of Technology | E-mail: ivan [at] cc.gatech.edu
squeak-dev@lists.squeakfoundation.org