3.3.1 for Unix
Ian Piumarta
ian.piumarta at inria.fr
Fri Jun 7 05:50:12 UTC 2002
Folks,
3.3.1 (whatever that means) for Unix is available (as source and
binary for a few platforms) from the usual place:
http://www-sor.inria.fr/~piumarta/squeak/unix/release/
Squeak-3.3.1-src.tar.gz
Squeak-3.3.1-i686-pc-linux-gnu.tar.gz
Squeak-3.3.1-powerpc-linux-gnu.tar.gz
Squeak-3.3.1-sparc-sun-solaris2.8.tar.gz
plus a couple of images:
Squeak-3.3.1-image-3.2gamma-4881.tar.gz
Squeak-3.3.1-image-3.3alpha-4881.tar.gz
(VMMaker works fine in 3.2g, but 3.3a has a bug in the module system
that you'll have to find and correct [left as an exercise, to weed out
casual hackers] before VMM will generate BallonEngine [1].)
Note that:
i. in the above binaries all plugins are built internal except
B3DAcceleratorPlugin which is external (so that people who do not
have libGL can still run the prebuilt VMs);
ii. B3DAccel is disabled on Solaris because (at least my) openwin
doesn't have OpenGL;
iii. on Linux you'll probably need a fairly recent glibc [at least
2.2.4 on 386, or 2.2.5 on ppc] installed (if anyone needs
statically-linked binaries, let me know);
iv. binaries for BSD will arrive the next time I reboot my PowerBook;
and
v. inisqueak is now part of the image tarballs because it depends
on the image version (which is no longer the same as the VM
version).
The release notes are attached. Bug reports mailed to me will be
rewarded with a bug fix.
Enjoy!
Ian
[1] I'm not really that mean. You send me mail, I send you the
changeset [2].
[2] Or just look for `BallonModuleFix-ikp.cs' in my "devel" tree.
----8<-------- snippety --------8<-------- snip --------8<----
This VM should work with any 3.3 or earlier image.
The major changes since 3.1-pre2 are as follows:
- Lots of changes based on patches applied to the SF tree.
(See the ChangeLog file in the source distribution for a
comprehensive list of these changes and the authors of
the corresponing SF patches where relevant.)
- The VM version number (3.3.1) is now decoupled from the image
version (3.3alpha-4857) used produced the generated files, as
seems to be the case with Mac and Win32 VMs. For bug reporting
purposes, `squeak -version' reports both these version numbers.
I've no idea what Andreas and JMcI plan on doing in Win/Mac, but
for now in Unix: small bugfixes will append `p<n>' (for `patch')
to the VM release number; significant changes in the support (or
changes in the generated files) will bump the release number and
truncate any `p<n>'; only changes to Squeak's version number will
bump the VM major or minor numbers. (If you can think of a more
sensible scheme you'd better tell me about it _before_ 3.3.1p1
comes out. ;)
- Build process completely rewritten to accommodate VMMaker. (Lots
of documentation in the source distrib under platforms/unix/doc.
Plugin developers who want their code to run on Unix absolutely
must read this stuff.)
- New option: `-plugins <path>' (env: SQUEAK_PLUGINS='<path>') appends
<path> to the list of places the VM seaches for plugins. Each
occurrence of `%n' in <path> is replaced by the name of the plugin
being loaded.
To run a newly-compiled VM without first installing it, use:
.../blddir/squeak -plugins .../blddir/%n/.libs
- Modifier keys are handled more intelligently. The default is the
"traditional" Unix behaviour: mod1 is mapped to Command, Ctrl+mod1
is mapped to Option, and other modifiers are ignored. (This is
usually what GNU/Linux systems with PC hardware [mod1=Alt] want.)
- For the rest of us, two new options: `-cmdmod <n>' and `-optmod <n>'
(env: SQUEAK_CMDMOD=n and SQUEAK_OPTMOD=n). If one or both of these
are set then the X11 modifier `mod<n>' is mapped to Squeak's Command
and/or Option, respectively.
For example, to map a Sun keyboard so that the physical locations of
the modifier keys ("Alt" = mod1 and "<>" [meta] = mod4) correspond
precisely to their homologues on an Apple keyboard ("Option" and
"Command") use:
-cmdmod 4 -optmod 1
(or set `export SQUEAK_CMDMOD=4; export SQUEAK_OPTMOD=1' in your
.profile to make the change permanent). (Note that setting a modifier
for just one of these keys will entirely disable the other.)
- New option: `-swapbtn' (env: SQUEAK_SWAPBTN=1) reverses the "yellow" and
"blue" buttons which might be useful for people having two-button mice
(or who have 3-button mice and no respect for historical precedents).
- Various manual page updates (mainly for new/missing options).
- New Netscape plugin code from Bert Freudenberg. (Not tested because
my Netscape's dynamic loading is broken.)
- OSS sound rewritten from scratch. (Full-duplex is supported but the
image contains bugs which might prevent it from ever being attempted.)
Both input and output have been tested extensively on Linux 2.4.18 with
ALSA 0.9rc1 drivers (www.alsa-project.org) and the the OSS compatibility
modules (snd-pcm-oss/mixer) that come with them. (This is the only
[non-commercial] OSS implementation I've found that respects the
published OSS API sufficiently to permit any kind of serious development
work.)
With the new implementation, playing and recording should only comsume
a fraction of 1% of the CPU. Your kilometrage may vary depending on
the (quite possibly lamentable) state of your OSS drivers.
- New option: `-nomixer' (env: SQUEAK_NOMIXER=1). For people who prefer
that Squeak not arbitrarily set the input gain to 50% every time
recording is started, this turns off the mixer primitives. With this
option your external mixer program retains control of the settings
(as it should).
- Changes to gnuification should make this thing 5-10% faster on Intel.
- Major overhaul of socket code should prevent lockups. (There are
still outstanding issues but they concern very obscure situations.)
- Lots and lots of smallish changes to the X11 code. Plus some biggish
ones: responsiveness should be better and occasional crashes (or
freezes) observed when resizing the window should no longer occur.
(`-xshm -xasync' not yet extensively tested with the new code.)
- Copy/Paste problems encountered between Squeak and some applications
(probably mainly KDE and anything that uses Qt or gtk) are fixed.
- The default image name is now `squeak.image' (for compatibility with
other platforms).
- Default heap size increased to 48MB to cope with recent images.
Still to do:
- mmap()-based memory allocator (when I have time to think about
portability).
- Revisit the socket code to make a few minor tweaks for the obscure
cases and to pull connection reset detection forward into the
getSockState primitive (cf the Mac implementation).
- Add sources and support for building the VM as a Netscape plugin.
- Arrange for -USE_MMX in MpegPlugin on 386.
Don't Panic!
- Just send me mail if something is broken: ian.piumarta at inria.fr
More information about the Squeak-dev
mailing list
|