logoPuppy developer news:

1st half of 2005

left-arrow Older news

arrow-rightLater news

This is the News page for the "first part" of 2005. It got too big for one page

The latest 2005 News is here: News 2005 page


Puppy version 1.0.5alpha2 is released. The size of the live-CD iso file is 54M, and the developer's compiling support file usr_devx.sfs is 43M. This is not an official release, it is for the Puppy enthusiasts and developers to test. Release notes:

The main reason for bringing out this alpha2 release is so that people who want to compile applications from Puppy may do so. That aspect has become quite mature. For example, a few days ago I compiled Mozilla and Gxine. Note, you cannot compile Gnome or KDE applications, as Puppy does not support them.
A secondary reason is to preview the new-look desktop and theme.

These two files, Puppy 1.0.5alpha2 iso and usr_devx.sfs, are hosted courtesy of Normen Stengell at www.nstsoftware.com/puppy.
If you are unable to download these files, I have upgraded the Puppy Unleashed v1.0.4 CD to include puppy-1.0.5alpha2-mozilla.iso and usr_devx.sfs files. This can be ordered via the download page.


The Modem Wizard had a bug setting up the Lucent software modem. We worked this out on the Forum and I have now fixed the Wizard. Now, you download the Lucent driver, boot up Puppy and run the PupGet package manager to install it, then reboot Puppy, then run the Modem Wizard. That reboot step is essential.

To compile applications from within Puppy, just place the usr_devx.sfs file on the hard drive in the same place as the pup001/2 file. Boot Puppy and you are immediately ready to compile. This capability was pioneered with 1.0.5alpha1, further improved in the upcoming alpha2.
I have added a further useful capability: a squashfs file named usr_more.sfs will also get mounted on /usr. A use for this could be anything very big that needs to be in /usr, for example the complete collection of KDE libraries and applications -- just by placing usr_more.sfs in the same hard drive partition as pupxxx, Puppy will have all the KDE apps.

Pup 1.0.4 and probably a version or two prior, has a bug with loading keyboard layouts. When first booting, you choose a layout, say "us", but the "us.map" layout file does not load. People were able to go to the Keyboard Wizard later and choose the old two-letter technique, which worked.
This was a bug in the /usr/X11R6/bin/xwin script and also the loadkeys program needed to be updated. Fixed.


The media player Gxine has been upgraded from version 0.3.3 to 0.4.6, the latest.

I was amazed though, when it crashed on full-screen video view, the same old v0.3.3 bug. I know it's not Puppy's fault, as Kaffeine plays video DVDs in full screen without any trouble. I thought about the hypothetical grandma currently being discussed on the Forum -- she would exclaim "bother!" if the Gxine program suddenly disappeared when she chose full-screen mode (granny doesn't utter profanities). We are trying to get Puppy to the point where granny can happily use Puppy.
So, I played around with the preferences, didn't think anything important got changed, but next time I tried full-screen it worked. Sure looks nice full-screen, granny will be happy. After I have released the Alpha2 Pup, maybe someone could check this out -- what setting makes it crash. Note, Gxine uses the "xshm" video rendering interface, which is the slowest method, but running on Puppy we get a decent frames-per-second even with slow CPUs.
As sound and video, including full-screen, is working now, I'll put the ~/.gxine/config file into the gxine-0.4.6 Unleashed package, so when build the live-CD it will be preconfigured.

I changed the Mozilla theme to "littlemozilla" -- this and micromozilla themes are developed by the same guy, very similar, but littlemozilla allows the underlying GTK theme to come through better. I was thinking that the "GTK theme" choosing program could also have the option to modify the JWM theme, apply the same colurs to JWM -- maybe thoughtjourney could think about this! The theme could also apply to the desktop background, for example, the picture of the cute puppy dog with white background could be made transparent background -- if xsetroot is used to set background colour before xli is used to load the desktop image, then you would get the doggy displaying with whatever background colour you want -- this is the theory anyway.


Mozilla has been compiled from "nightly source", dated 16 August 2005, and this will most likely be in the next Puppy, and will be known as version 1.8b1.5.
The Mozilla package comes with two themes, Classic (the default) and Modern, however they are very large and I have replaced both of them with a very small theme called "micromozilla". I'm using it right now, looks okay, but if you want to apply any other theme to Mozilla it is very simple -- go to http://themes.mozdev.org, choose a theme and click on the "Install" button.

As Mozilla is built from beta source, it has some extra menu items along the top, "Debug" and "QA" -- I found out how to get rid of these. I tested the Mail module, using Composer to type this, they work fine. Navigator, the web browser also runs fine, but, the image blocker still doesn't work.

Lobster (Forum name), our most dedicated Wiki maintainer, has now created an interactive slideshow introducing Puppy. Find it here: http://www.zen45800.zen.co.uk/puppy3/

Incidentally, the 1.0.5alpha2 only has JWM, no Fvwm95. JWM works so well, and is so tiny and fast. Also, thoughtjourney (Forum name) has developed a theme switcher for JWM (see http://www.murga.org/~puppy/viewtopic.php?p=6451&highlight=#6451) and is now working on a configuration GUI ...that is something I'm very eager to see!

More work has been done on the new-look desktop, with a pastel peach theme for JWM and for GTK apps. In the latter case, the "GTK theme" menu item in the "Control Panel" menu has the new theme added to the selection.


I would like to congratulate Dan Van Wormer for the superb implementation of a trashcan, with help from GuestToo. Although I have been reading on the forum what you guys have been doing, I only today got around to actually trying it.
It sure does work well. So, it will be built-in to the new-look desktop.

For you guys hanging out for an updated usr_devx.sfs for compiling, I'll upload it early next week, along with an updated live-cd 1.0.5alpha2. This live-cd is required to use usr_devx.sfs file. It will also have the new-look desktop, and I will invite feedback.


The desktop has been overhauled, with a new set of icons and a more consistent way of managing them. Basically, they are more generic icons and labels, that do not have to be changed for different applications -- instead, there are files defining the chosen default applications.
For people on analog modem dialup, a desktop icon will be created automatically after the Modem Wizard is executed -- that's one thing I always thought would be convenient. There are also icons for help, MUT, configuration and package management.
There is also a new background image!


I've been working on a KDE version of Puppy, however I don't think I'll release a KDE-Puppy live-CD as such, maybe a PupGet package.

I did create a live-CD weighing in at only about 85M, with Koffice office suite, GuardDog firewall, KRecord audio recorder, Kate editor, KGhostview postscript viewer, KPDF PDF viewer, KMail, KNode, KPPP dialup, Konqueror, Kopete messenger, KWifiManager, K3b CD/DVD burner, Kolourpaint, Kaffeine media player, Kaboodle sound file player, Ksnapshot and Filelight disk usage viewer.
A nice lot of apps, nicely integrated too, but I had to ask hard questions about what Puppy is all about, and how performance compares to the similar-sized OpenOffice.

All the apps startup in 2 seconds or less. KWord and KSpread are nice but very disappointing in regard to importing Microsoft documents -- vastly inferior to OpenOffice, even inferior to Abiword and Gnumeric I think.
A few years ago I used to use KDE applications, and I thought they were a bit unstable ...well, guess what, I still find them unstable. They crash too often. Perhaps there's too much complexity "under the hood".

I found myself getting increasingly annoyed with Konqueror. It's quite a nice web browser, and the Adobe Flash plugin works with it. But, it's the basic "Swiss army knife" philosophy that annoys me. I want Konqueror as a web browser, I don't want a "universal viewer", with all the overhead that involves. If I want a local file manager I would rather use a separate specialised application, similarly for network file browsing. I tried to cut Konqueror down to just a web browser, but it's not easy.

Probably the direction for Puppy to take is to stay on the current track, that is, Abiword/Gnumeric, OpenOffice and Mozilla, especially OO v2 that can use GTK2 and will be more modular. OpenOffice is also sharing some code with Mozilla, which holds the promise of future space saving. Also, Abiword and Gnumeric are developing rapidly.


Bladehunter's special edition of Puppy 1.0.4 with madwifi (Atheros chipset) wireless support, nfs drivers support in kernel and XFree 4.5.0, announced on this Puppy Forum thread, with download link.


Samba has been upgraded from version 2.2.7 to 3.0.14a. Note that Puppy only has the client applications: nmblookup, smbclient, smbmnt, smbmount and smbumount. The development file usr_devx.sfs now has libsmbclient.so, required by package kdebase for Windows share browsing.


For parity with Vector, libxslt has been upgraded from version 1.0.33 to 1.1.12 and libexslt from 0.7.22 to 0.8.10. Xine in Puppy was from Mandrake 9.2, now upgraded to parity with Vector: libxine upgraded from 1.6.0 to 1.11.1.


For parity with Vector 5.1STD and Slackware 10.1, a few libraries in Puppy are upgraded. glibc is upgraded from 2.3.2 to 2.3.4, libxml2 upgraded from 2.5.11 to 2.6.16, gcc-3.3.1 upgraded to gcc-3.3.4 and libstdc++-5.0.5 upgraded to libstdc++-5.0.6.


Hey, a Puppy-powered submarine! These guys are using Puppy Linux as the control system for their submarine. See the Forum announcement.

If you need to boot an installed Puppy from floppy disk, for example your PC cannot boot from CD or USB or not setup to boot Puppy in a HD partition, booting from floppy is a solution. I wrote a page on this, My PC can't boot from USB|CD, however pakt (Forum name) has made considerable improvements to the floppy boot disk, and called it WAKEPUP. The announcement on the Forum is here: http://www.murga.org/%7Epuppy/viewtopic.php?t=1346&highlight=boot2pup.


Busybox sort has been replaced with the full version, as some package compile scripts require it.

I'm progressing with Puppy Sourcerer, a project to develop compile scripts for all the source packages used in Puppy and create the binary packages for Unleashed.
This is progressing well, but slowly. I'm compiling from within Puppy, and refining the usr_devx.sfs file as well. Soon I will release an improved usr_devx.sfs and a Puppy live-CD 1.0.5alpha2, for anyone who wants to compile apps.


Have successfully compiled the 2.4.29 kernel, and Qtwvdial, a Qt application, using my thrown-together usr_devx.sfs development file. looking good.

So, have uploaded puppy-barebones-1.0.5alpha1.iso (39M) and usr_devx.sfs (38M) to www.nstsoftware.com/puppy/ -- this is an alpha release, for testing only, not the official 1.0.5 release (a long way from it!!!).
When you burn the iso file to CD then boot the live-CD, the default boot-option creates a permanent storage file "pup002", so as not to mess around with the normal "pup001" file.
Download usr_devx.sfs to /mnt/home (the partition where pup002 is located), then reboot Puppy.

When you compile, with this general method:

# ./configure
# make
# make install &> loginstall.txt

Be sure to append that "&> loginstall.txt" so that you know where files get installed, as it must be remembered that Puppy running from live-CD only has persistence of storage for files written to /root, /etc and /usr -- if necessary, "configure" options can be used to control destination paths.

The PC that you test this on must have a Linux swap partition, or failing that heaps of RAM, as the C/C++ compiler needs a lot of space for transient storage.
As I "threw together" the contents of usr_devx.sfs, there are files in it that are not needed -- in some cases I didn't know what a file in Vector/Mandrake was for, or was uncertain, so copied it to usr_dvex.sfs just in case -- you can help here if you have experience in what packages are needed for compiling, by identifying files that are not needed. I think that there are some header files and support files for some application and library packages that don't need to be there.
At bootup, if Puppy finds /mnt/home/usr_devx.sfs exists (same place as the pupxxx file), it gets mounted on /.usr (invisible directory) and by unionfs gets mounted on /usr. So, you can see exactly what is in usr_devx.sfs by looking in /.usr (read only). You could also copy it elsewhere to experiment with modifying it and then create another usr_devx.sfs file. Say that you have copied /.usr to /mnt/home/tmp/.usr, and edited it, then you can turn that into a squashfs file like this:

# cd /mnt/home/tmp
# cp -a /.usr ./.usr
...modify .usr...
# mksquashfs .usr usr_devx.sfs
# mv -f usr_devx.sfs ../


Some very exciting news. So far, applications for Puppy have been compiled on another host distro, most recently Vector Linux 5.0STD, before that Mandrake 9.2.
Some of the regular Forum contributors, especially Peter Siag, Jesse Liley and Bladehunter, have investigated various means of compiling from within Puppy.
There has been a great deal of interest in this.

A couple of days ago I discovered that I can mount more than one squashfs file onto /usr ...well, that is interesting! Bladehunter had created a development squashfs file that he mounted on /opt/tools, but now I realised that we could put all the development files directly onto /usr, which is where they normally are expected to be.
Just to try it out, I grabbed any files out of Vector Linux that looked like they might be required for compiling a package, also grabbed some files out of Mandrake -- mix-and-match, although there is risk in this. I ended up with a 38M file named "usr_devx.sfs", and I modified Puppy so that if usr_devx.sfs is in the same location as the pup001 file (in /mnt/home) then it will get mounted automatically on /usr.
Note, this is designed to work also on Option-2 (full) hard drive installed Puppy, in which case place usr_devx.sfs at the top level, "/", in the Puppy partition.

After booting this new Puppy, yep, it worked, everything was in /usr. So, found a package, JWM source actually, ran "make" ...hey, it worked! JWM is an Xlib application, so tried Uxplor, a GTK 1.2 app., and Cgtkcalc a GTK2 app, both "configure" and "make" worked! No host distro needed to compile apps!

I know this is going to interest many people, so I will release "Pup 1.0.5alpha1" soon, along with file usr_devx.sfs. Imagine, just download one file, to /mnt/home, reboot Puppy, and you are ready to go! Nothing to setup, it just works immediately after the reboot. Note, this won't work with Pup 1.0.4, you will need the 1.0.5alpha1 Puppy.


Mathiasdm (Forum name) has announced a "puplet" (Puppy derivative) named NANOWRIMO, especially for writers. Announcement here.


GuestToo has create a download script for Puppy Unleashed: http://www.murga.org/~puppy/viewtopic.php?t=1302&highlight=
Also "torrents" for Chubby Puppy: http://www.murga.org/%7Epuppy/viewtopic.php?t=1308


Puppy Linux version 1.0.4 is released. The live-CD file is "puppy-1.0.4-mozilla.iso" and is 60.3M, available via the download page. Release notes:
Note, the directory /usr/share has some example files, including a MS Word document in /usr/share/text and a Excel spreadsheet in /usr/share/spreadsheets, handy for checking out Abiword and Gnumeric.

We have only done some basic testing of MUT so far. There may be some clash with the older Pmount program, so probably best to use one or the other, not mix them. Both MUT and Pmount are to be found in the menu at "Start -> File managers".

When you run the PupGet package manager, you will find a few OpenOffice packages to choose from. The base package is "openoffice_CUTDOWN-1.1.4", and this is all you need (size 43M). You can also install the "openoffice_gallery-1.1.4" for extra images, "openoffice_help-1.1.4" for help files, and "openoffice_dict-1.1.4" for English (British and US) and Italian dictionaries.

Both the "modules_fb-k2.4.29" and "xfbdev-4.3.0v2-xkbd" packages need to be installed. See further instructions a little further down this page.

Note that Vector Linux 5.0STD rc2 is using GTK2 version 2.6.1, in parity with Slackware 10.1. I was using Vector 5.0STD beta2 for compiling some GTK2 applications for Puppy, and that release of Vector uses GTK2 2.4.0. I'm surprised that the Vector developers have changed package versions moving from beta2 ro rc1 releases -- they have even changed some package versions moving from rc1 to rc2. Anyway, I expect to have GTK 2.6.1 in Puppy 1.0.5.

The future:
Due to ongoing limitations in sound support with some hardware, I intend to finally move up from the OSS to ALSA sound systems. I'm hoping to do this for 1.0.5.
Bladehunter is doing some tremendous work with wireless networking, and we should also have that going for 1.0.5. On the other hand, I may not do any of the above, as I had an interesting idea yesterday...

Bare-bones Puppy version 1.0.4 is released. The live-CD file is "puppy-barebones-1.0.4.iso" and is only 39.9M.
Easy to download, expand with PupGet and DotPup packages. Bare-bones is available for download at www.nstsoftware.com/puppy, courtesy of Normen Stengel of NST Software. Please read BareBones 1.0.3 release notes.

Chubby Puppy version 1.0.4 is released. The live-CD file is "puppy-chubby-1.0.4-mozilla-openoffice.iso" and is 96.1M.
A live-CD that includes the "kitchen sink", namely OpenOffice! Chubby is available for download at www.puppy.wise-guy.us, courtesy of babbs (Forum name). Release notes:

Puppy Unleashed version 1.0.4 is released. The core file is "puppy-unleashed-core-1.0.4.tar.gz" (6.8M), downloadable from ibiblio.org: see the download page.
Create your own custom live-CD. For further information, see the page Puppy Unleashed.


Nduanetesh reported a problem with the multi-session CD. At end of session, files over 5M get moved to /root/archive/ and saved to CD but are not restored at next bootup. This is a space-saving measure, except that he installed a Firefox package and the file "firefox-bin" is over 5M... so it has to be copied back off the CD at start of every session.
So, I've changed the shutdown script so that files have to be over 9M before getting moved to /root/archive/.


Someone recently reported on the Forum that they increased the size of the pup001 file, but the ext2 filesystem had not increased (as reported by "df"). Note, the menu "Utilities -> Resize /root filesystem" is a script to increase the pupxxx file by 64M, 128M, 256M or 512M -- this is your personal storage, a complete ext2 filesystem in a single file saved on the hard drive.
Okay, I checked it out, and was able to reproduce the bug, and I have also fixed it. What happens now is that the actual resizing of the filesystem to fill the file takes place at boot-time, by code in the rc.sysinit boot script -- this gets around the previous "illegal" method of resizing a mounted partition.

There were some howto instructions posted about this recently on the Wiki, for resizing the pup001 file on an NTFS partition. The howto still applies, but Puppy will now automatically detect if the pup001 filesize is bigger than the ext2 filesystem inside the file and increase the f.s. to fill the file -- done at bootup, so no need to rerun the Resize script as instructed in the howto.


Paul Addis (Blackadder) informed me that the latest at76c503 Atmel usb wireless driver has better device support than the version currently in Puppy (v0.11). So, I downloaded the latest by CVS. These drivers are installed into /lib/modules/2.4.29/net/wireless/at76c503/ and documentation, such as how to use, can be found on the author's home site: http://at76c503a.berlios.de/.

A company called Devon IT has installed Puppy Linux on one of their "thin terminals", and they absolutely loved it, so much so that they have sent me a complementary thin terminal, model NTA-6010A -- a gift, "no strings attached". I haven't got a good picture of it, but here is the URL: http://www.ntavo.com/ntaterminal.php.
It uses a 433MHz VIA Eden CPU, no fan, and Puppy is installed on an internal 128M Compact Flash card.
No hard drive (though there does seem to be a bracket that would take a laptop hard drive), no CD drive.
Sure is neat.


Skype Unleashed/PupGet package upgraded to version

GuestToo created a great little enhancement to Rox, that added "script" and "Web page" to the right-click "New" menu. I have now incorporated this into the Rox package.

I have created a menu entry for WvDial, with a simple script to run wvdialconf to detect the modem and wvdial to dialout. So, the Network menu now has Gkdial, Xeznet and WvDial, three different ways to dialout!
Note that WvDial is currently only usable with hardware serial modems on ttyS0 - ttyS3 (COM1 - COM 4), no good for ttyS4 (internal PCI hardware modem), ttyLT0 (Lucent linmodem) or ttySL0 (SmartLink linmodem).
I have also fixed the clash between Gkdial and WvDial.

The boot script /etc/rc.d/rc.sysinit had code to mount a squashfs read-only file named opt_cram.fs on /opt at bootup, however GuestToo pointed out that some applications write to /opt. Therefore, I have modified rc.sysinit so that if a squashfs file named "opttools.sfs" exists (in the same place as usr_cram.fs) then it will get mounted on /opt/tools/.
Note, Bladehunter is proposing /opt/tools for his gcc development system, so it will be easy to have it auto-mount at bootup.

In fact, I've generalised the code in rc.sysinit so that any number of squashfs files can be mounted automatically. The requirement is that they must be located at the same place as usr_cram.fs and they must have the file format "opt*.sfs", where the * is the name of the subdirectory under /opt at which the file will be mounted.
It is not essential, but I would prefer that the filename be within the old 8.3 format.
So, file "opttools.sfs" will mount on /opt/tools/, file "optooo.sfs" will mount on /opt/ooo/.

Then I thought, why not also get the rc.sysinit script to look for a configuration file, like "puppy.config", after the squashfs file has been mounted. This config file could execute at every bootup, and do stuff like set environmnent variables. Just a thought, haven't actually done it.

This is an interesting mechanism, an alternative to the packaging system. Like bladehunter, you could create an enormous file of gcc compiler development packages, and make it available as a file. The user only has to download it and place it in the same location as usr_cram.fs and they are in business. As it is read-only, it can sit on a usb card in the case of a usb installation of Puppy, and not cause excessive writes to the card.

Note, although I made OpenOffice v1.1.4 into a PupGet package, I'm thinking that the above technique might be a better choice in the future. Anything very large and read-only is a candidate.


I am not placing support for framebuffer video into the official live-CD. Instead, there will be the framebuffer kernel modules in PupGet package "modules_fb-k2.4.29" and the Xfbdev Kdrive framebuffer X server in package "xfbdev-v4.3.0v2-xkbd".

Thus, you will need to download and install these packages. If the default Xvesa X server works okay, even if the available resolutions are not too good, then fine, you can get onto the Internet and use the PupGet package manager to install them. After installing them, restart the window manager, and "Xfbdev Video Wizard" will appear in the "Setup" menu -- the Wizard can also be run without X, from the prompt, just by typing "framebufferwizard".

At bootup, the boot script /etc/rc.d/rc.local0 executes "/usr/sbin/framebufferwizard boot", which will load the appropriate framebuffer module, thus switching the console into the chosen graphics mode (at chosen resolution, bit-depth and screen refresh frequency). The framebuffer modules, if modules_fb-k2.4.29 package is installed, are in /lib/modules/2.4.29/video/ and the documentation for these modules is in /usr/share/doc/framebuffer/.
The script framebufferwizard does need some more work. I have it working nicely with the sisfb.o module (SiS chip), on my main test PC, but I got peculiar results when testing on a PC with Trident video chip -- it may be a matter of supplying better parameters when loading the tridentfb.o module -- hence the supplied docs for users to study.
There are some modules, such as matroxfb.o, that the Wizard does not even test for, as I don't have the hardware. So, there are projects here. You can examine the Wizard code, it's fairly simple, and see how it can be adapted to detect your  video chip and then load the appropriate framebuffer module (with appropriate parameters). If it works, send me the mods to the Wizard.

One small technical detail: /lib/modules is not persistent between reboots, so the modules_fb-k2.4.29 package actually installs the modules to /usr/lib/modules/video/. Puppy will automatically copy the modules to /lib/modules/2.4.29/video/ at bootup, and depmod does not have to be run, as it was run when the iso was created with the modules in the correct place.


I've created tentative Unleashed packages for MUT, Media Utility Tool, created by Jesse Liley, and for BetaFTPD, authored by Steinar H. Gunderson (http://betaftpd.sourceforge.net/), and adapted for Puppy by papaschtroumpf (his Forum name) -- papaschtroumpf did most of the work in creating the Unleashed package, I just tweaked it slightly.
MUT is like the Puppy drive mount/unmount program Pmount, but with more bells and whistles. Currently there is a clash between these two, for example if a CD is mounted by MUT, Pmount shows it as still unmounted, and if a hard drive partition is mounted by MUT then Pmount shows it as mounted at a different mount-point. We will get this sorted out, but the situation right now is that one of these should be used, don't mix them.
BetaFTPD is a FTP server.
I wish to congratulate both of these guys -- MUT is a truly wonderful little program, written in Tcl/Tk, and the scripts that papaschtroumf has created are superb extensions to the basic BetaFTPD. I intend that both of these will be in the Pup 1.0.4 live-CD.


Puppy 1.0.4 will have my first attempt at incorporating framebuffer video support as an alternative to the Xvesa Kdrive X server. There is now Xfbdev, the framebuffer Kdrive X server, and a selection of kernel framebuffer driver modules. To manage this, there is the Framebuffer Video Wizard (Wizard almost finished, need to tweak a few things).

Framebuffer support is only being offered for Intel, SiS, Trident, Riva and NeoMagic video hardware, at least for now. These are all modules, so framebuffer mode is not launched as a kernel boot parameter -- this offers more flexibility, as the "framebufferwizard" script can run after bootup to dynamically choose the desired module, resolution and frequency settings. Yes, screen refresh frequency can be specified, with the exception of the NeoMagic driver which appears to only do 1024x768x16 at 60Hz (at least, it isn't documented, will need to test on actual NeoMagic hardware).
This first release of framebuffer support will be classed as experimental, and will no doubt get tweaked and generally fiddled with, also probably will get extended later to support more video chips, such as Matrox, Radeon and Cyber200.

Note that Bladehunter (his Forum name) has a puplet (Puppy derivative live-CD) based on Puppy 1.0.3, but with the full Xfree 4.4.0 X server, and this will probably give snappier performance on older hardware than the Kdrive X servers. We are sharing ideas, and the likely near-future scenario is that Bladehunter will upgrade his live-CD to be based on Puppy 1.0.4. So, especially if you are having problems with the video, try Bladehunter's release. Note, he also has support for the Atheros wireless hardware (using madwifi), something that I have not yet incorporated into the mainstream Puppy.
Probably the best place to learn more about Bladehunter's puplet is the Forum: http://www.murga.org/%7Epuppy/viewtopic.php?t=854


The Fvwm95 popup Start menu has the text "Puppy" displayed vertically beside the menu items. I have modified this so that it now displays the current version of Puppy, for example "Puppy 1.0.4".

For those interested in the technical side of this, perhaps to incorporate the "Puppy 1.0.4" image into another window manager, the image file is /usr/local/lib/X11/pixmaps/fvwm-menu.xpm.
Utility programs from the Netpbm package are used to create the fvwm-menu.xpm raster image from ascii text. This is done in the createpuppy script in Unleashed, when the live-CD is created.
Netpbm has other utility applications that can be used to rotate and resize the image from within a script.


The boot menu has the option to "No save to HD", meaning to not use any pupxxx file and run totally in ramdisk (which means that personal data is not saved at end of session). I have renamed this boot option to "Choose HD" and it now allows you to choose which partition has the pupxxx file and the name of the file, as well as the choice of running in ramdisk only. For example, you could choose partition /dev/hdb1 and filename pup002.
This can be very handy for experimenting, or if you would like to maintain different configurations of desktop layout, window manager and applications.


I announced on 17 June that Puppy 1.0.4 will be using the 2.4.29 kernel. I have now recompiled it to support HMAC encryption (required for Atheros wireless driver -- see the work being done by Bladehunter on the Forum), added the full set of framebuffer driver modules, and the default ramdisk size is taken up a notch, from 11264K (11M) to 12288K (12M).

I also recompiled the Xvesa, Xfbdev and Xi810 Kdrive X servers to support the X keyboard extension (which fixes the GDK spurious right-to-left text-entry bug reported below).


A new splash screen for Puppy 1.0.4, courtesy of "harry_covert", one of our Puppy enthusiasts on the Forum. "harry_covert's" real name is George Johnson -- thanks for the nice image George!

I was worried that the next release of Puppy was going to get held up indefinitely, as there is a GTK bug that I couldn't fix. Opening the Leafpad or TEA text editors, start a new file, the cursor appears on the right side, and initial text entry is right-to-left -- that is, back-to-front, almost like you're looking in a mirror! This bug occurs with GTK 2.4 and 2.6.1
Eventually I posted a query to the GTK developer's mail list, and I would like to thank Nickolay Shmyrev for responding and letting me know about a patch for this, at http://bugzilla.gnome.org/show_bug.cgi?id=164125. In Puppy's case, the problem is not that the X keyboard extension is disabled in GDK, but not supported in the Xvesa Kdrive server.

Lobster has written this great review of Puppy: http://os.newsforge.com/os/05/06/22/2031247.shtml?tid=2
He has also very kindly donated the $100 payment to me to use on the Puppy project -- I'm accustomed to getting the occasional $10, so this is kind of embarassing, getting so much -- well, it'll go straight into some hardware purchases, probably a couple more wireless cards.


Over a few days I attempted to compile OpenOffice, but was forced to give up. Instead, I focussed my attention on reducing the size of a precompiled binary downloaded from www.openoffice.org. I have got the compressed size down to about 43M -- that's wordprocessor, WYSIWYG HTML editor, spreadsheet editor, vector graphics editor, and presentation editor and player. I have made it into an Unleashed/PupGet package, but it still needs lots of testing. A picture gallery will be an extra PupGet package of about 3M and there will also be a dictionary package.


SANE backends scanner library has been upgraded to the latest, version 1.0.15, and Xsane scanner GUI application upgraded to version 0.97.


The Dillo web browser has been upgraded to version 0.8.5.


The text editor TEA, version 10.0, is now a PupGet package and will be available with the next release of Puppy. Homepage for TEA: http://tea.linux.kiev.ua/

I fiddled around with the packages and scripts for the Lucent and Smartlink software modems. There may have been anomalies introduced in changing between the 2.4 and 2.6 kernels. Puppy 1.0.1 uses 2.4.27, 1.0.2 uses, then 1.0.3 went back to 2.4.27. So, if you were unable to get one of these modems to work, try again with Puppy 1.0.4, soon.


I've got tremendous, wonderful news! The next release of Puppy will have Gnumeric, the premier Linux spreadsheet editor. This will be the latest version, 1.4.3 and will be fully-featured with all the plugins.
It was an all-night session, figuring out how to compile Gnumeric to work on Puppy. I ended up with a total package size about the same as Planmaker. However, had to move up from GTK 2.2 to GTK 2.4, and Gnumeric was compiled on Vector Linux 5.0STD. The GTK 2.4 and associated files are lifted straight out of Vector and I only had to recompile libgsf and libgnomeprint for Puppy-compatibility. Yes, had to introduce some Gnome library files: libgnomeprint, libgnomeprintui and libgnomecanvas. This upward step for GTK/GDK has increased the live-CD ISO size a little bit -- the test-live-CD I'm using right now is 60.8M.


Gxine now plays ogg/vorbis audio files, though somewhat reluctantly -- Gxine will play a file once, then refuse to play it again unless it is reopened. I also compiled Snack to support ogg/vorbis, however the Snack player only outputs noise -- so, I have disabled Snack's ability to play ogg/vorbis files.

I have modified Rox file-associations so will launch Gxine when the user clicks on a ".ogg" file.
/etc/mailcap has also been configured to launch Gxine for ".ogg" files -- /etc/mailcap is read by Mozilla and Firefox to discover file associations.

On the Forum we have been discussing playing of RealAudio and RealVideo off the Internet. I used to listen to RealAudio from the BBC, which works (it needed an extra file, cook.so.6.o, which is in Puppy 1.0.3), however, we found that two of the audio samples on this page, http://service.real.com/realplayer/test/, would not play. An extra file, sipr.so.6.0, was required, that I have now placed in Puppy.
Other files, that we call "codecs", are missing, that we need for Gxine to play the RealVideo samples on the above site. They are drv4.so.6.0 and drv3.so.6.0 -- rather than place these in the live-CD, I decided to grab the entire "extra codecs" from /usr/lib/win32 folder in Vector Linux 5.0STD and make these into a Unleashed package. This package is named "xine_extra_codecs-1" and will be available for download by the PupGet package manager when Puppy 1.0.4 is released. Note that this package is 11M uncompressed.


Happy birthday, Puppy is two years old!!! Exactly two years ago I uploaded Puppy version 0.1 to the Internet.

I have upgraded the Snack audio package from version 2.2.5 to 2.2.9.
I fixed a problem with the Snack XS sound recorder and editor -- this program has some plugins, that are supposed to be loaded at startup, except they weren't, so nobody knew about them. I modified the code so now they are loaded at startup -- some really nice things, like being able to alter pitch of a recording.
Puppy previously had XS recorder/editor, Snamp sound player and a mixer GUI. I have now added a tone generator, a levelmeter, and a new more powerful player developed by Tom Wilkinson and called tomAmp. These are all Tcl/Tk applications and designed to use the Snack library.


The kernel is upgraded from 2.4.27 to 2.4.29. This is intended to be in Puppy 1.0.4.
Although the latest release of the 2.4 series is 2.4.31, I was only able to find a NTFS patch for 2.4.29, so this has constrained the choice of upgrade. I have compiled the kernel with both framebuffer and acpi enabled.


Kirk_22 posted a bug report on the Forum, about the multi-session CD not saving at end of session, due to the directory hierarchy being too deep. Kirk also found a solution, to use the "-D" option to mkisofs, which disables "deep directory relocation".
The documentation for mkiso lists this as a bug:
"Does not properly read relocated directories in multi-session mode when adding data."
The ISO9660 standard supports directory depth of 8 only, so mkisofs relocates the deeper directories and maintains a special file, RR_MOVED, to track this. However, this does not work for multiple tracks.
The solution is the "-D" option, which turns off deep directory relocation, but this violates the ISO9660 standard. It appears to work though, so I have put the "-D" option in permanently.

Note, Kirk only got this error when he installed some of the larger PupGet packages. These get stored into /root/.usr/, and become greater than 8 levels deep.

Syslinux has been upgraded to version 3.08. This version fixes a problem that was reported on the forum when trying to boot Puppy from a particular USB drive, I think it was the Cruzer brand. This update will be in Puppy 1.0.4.


ELinks is a fantastic text-mode web browser. ELinks can run without the X server, but works very nicely in a window, with superb mouse support. ELinks has CSS, Javascript, cookies, bookmarks, frames, history, https, ftp... and more. The home page is http://elinks.or.cz.
ELinks version 0.10.5 is now in Unleashed and will be available as a PupGet package for Puppy 1.0.4.

The book-keeping program Grisbi has been upgraded from version 0.5.3 to 0.5.7. Again, this will be in Puppy 1.0.4.


A step forward for printing. Those of you who have been following the saga of printing on this news page, may recall that we developed a patch to fix Abiword's commandline text-to-Postscript file format conversion -- that patch has now become an official part of Abiword source.
However, there was still a problem of Abiword not printing some documents, and documents printing displaced upwards (causing the top couple of lines to be chopped off). I upgraded AFPL Ghostscript from version 8.11 to 8.51 in an attempt to fix this, but the situation got worse, as attempting to use Ghostscript to convert Abiword's generated Postscript to a printer-format file sometimes caused Ghostscript to crash. So, for the release of Puppy 1.0.3 I reluctantly stayed with Ghostscript 8.11.
Anyway, yesterday the Ghostscript developers provided me with a patch, and I am pleased to report that version 8.51 now does not crash.
I don't have access to a printer right now, but printing various documents to file from Abiword (which creates Postscript files), I opened them all up in GsView (the Ghostscript Postscript viewer) and they all look fine. Everything appears to be in the right place, images display nicely, no chopping of the top lines. Looking good!

The Mozilla version in Puppy 1.0.3 is compiled from the "nightly source" of 5th May. I have now downloaded and compiled the nightly source of 13th June, as a contender for Puppy 1.0.4. A bug in the "5th May" version is the image blocking manager does not work, and I was hoping the latest has cured that ...but it is still broken. So, I've filed a bug report with them.


A warning for people on a dialup connection to the Internet.
Walt H on the Forum has discovered a potential problem with Gkdial, the preferred dialup program. When you start Gkdial, there is a drop-down listbox showing your internet accounts. That is, you can have multiple Internet Service Providers, and you have to create them by clicking the "Add" button. Fine, except that the listbox already has an emtry, called "wvdial" -- please ignore this. Do not select it. It is due to the installation of the WvDial dialup package that we newly placed in 1.0.3 and are experimenting with.

Note, a problem with having different dialup applications is that they can conflict. Gkdial and eznet are good as they do not conflict at all, but as we have just discovered there is a problem with WvDial.


GuestToo has created a DotPup package to automatically download and install Puppy Unleashed version 1.0.3:
...note that I uploaded a md5sums file to ibiblio.org, but many of them are incorrect, but GuestToo has created a file with correct md5sums.


A few Unleashed packages were missing from the "pupget_packages-1" directory on the Puppy download site ibiblio.org. If you have already downloaded the Unleashed packages (as per instructions given below and on the Unleashed page), please go back and get the missing tarballs.
There is also a file "md5sums-pupget-packages.txt" with md5sums of all the Unleashed/PupGet tarballs, in case you want to check them.

GuestToo has announced this: 1.0.3 torrent here: http://linuxtracker.org/
(torrent file made by Azureus, installed on Puppy)


Puppy version 1.0.3 released. The live-CD is file puppy-1.0.3-mozilla.iso and is 60.4M. Release notes:

When a couple of people on the Forum reported that the NTFS partition on their PC had become slightly corrupted (running Puppy 1.0.2 with kernel), needing to boot Win XP to repair it, that was the last straw. The 2.4.27 kernel has an older NTFS driver patch, but seems okay writing to a "pup001" file on an NTFS partition. Some people reported that they were staying with Puppy 1.0.1 (which has 2.4.27 kernel) as v1.0.2 would not boot on their older PC -- this is a known problem with the 2.6 kernel.

So one might ask, what does the 2.6 kernel have going for it? The 2.6 kernel is much bigger, so that's a minus point. It has what is called a "preemptive kernel" which is supposed to give slightly snappier user interface response, though I experimented with it disabled and can't see any difference -- but then, Puppy doesn't have a sluggish user interface to start with, unlike many other distros. Besides, the "preemptive" feature is available as a patch for the 2.4 kernel if wanted. Improved NTFS support? -- that's a laugh. ATAPI CD/DVD burning? -- that is also backported to the 2.4 kernel. The 2.6 kernel has abandoned the UMSDOS filesystem -- another minus point. Improved USB support -- finally a plus point!

Puppy Unleashed can build a live-CD with either 2.4 or 2.6 kernel. So, we can watch 2.6 development and move up at any time. For now though, it's back to the 2.4 series.

With regard to printing, the sad story is recorded below. The problem currently is that Postscript generated by Abiword is not compatible with AFPL Ghostscript 8.11. Upgrading to Ghostscript 8.51 improved compatibility but introduced another problem with the IJS drivers. So, staying with 8.11 for now. There is a "plan of action" to tackle this, hopefully a fix will be in place for the next Puppy release. For now, if Abiword does not print, or prints wrong, open the document in TextMaker and print from there.

I would like to thank GuestToo for finding the WvDial 1.42 binary, as we can't compile it. We now have a mechanism to help people to test their modem, other than the Modem Wizard, and discover a suitable initialisation string. When Gkdial is setup, it creates a file in /etc/ppp/chatscripts/ . One of the lines in that file has this in it:
"" "ATZ"
Though, you will find something different from "ATZ" in the second field. "ATZ" is the initialisation string that works on my modem. The wrong string in here can cause your modem not to dial-out or maybe not connect after dialing. If you have trouble with dialout, try "ATZ", failing that try the wvdialconfig program.

Puppy now has three different analog modem dialers: Gkdial (GUI application), eznet (console) and Xeznet (GUI for eznet) and now wvdial (console).

Puppy "bare bones" version 1.0.3 released. The live-CD file is puppy-bare-bones-1.0.3.iso and it is only 39.0M. Bare-bones is available for download at www.nstsoftware.com/puppy, courtesy of Normen Stengel of NST Software. Release notes:
Puppy Unleashed version 1.0.3 released. The file is puppy-unleashed-core-1.0.3.tar.gz. Release notes:
The future
As mentioned above, printing is going to receive a lot of attention. The main problem is Abiword.
Just today I finally purchased some wireless networking hardware, a Billion ADSL modem and router and a Netgear PCI wireless adapter card. Now I am going to join the discussion with the guys on the Forum who are into this and we will work toward making wireless setup in Puppy a simple process.


Ha ha, I recompiled the Mozilla 1.8beta source, same source as used for the Mozilla in Puppy 1.0.2, this time without the Calendar module. The uncompressed size is now 32.9M. Compare with the sizes noted on 3June05 below -- the Calendar module is about 2.8M. So, ical is about one-fifth the size.

Well, Pup v1.0.3 is on track for release by end of this week. Probably.


For a long time I have been wondering what to do about a "calendar" application for Puppy. Puppy does have Xcalendar, which is really basic and Agenda which is a simple appointment/event reminder. The Calendar module of Mozilla is not working in the 1.8 series, besides, it seems to me to be far from intuitive (but maybe that's just me).
The current major calendar programs all have their roots in a program called ical. Mozilla Calendar can still import ical data, but I haven't checked on exporting. What's great about ical, from Puppy's point of view, is that it is written in Tcl/Tk and total size uncompressed is 690K -- which is undoubtedly much less than Mozilla Calendar (I don't even have to check -- anything is smaller than Mozilla!). Ical is also real easy to use.
So, I've created an ical package for Unleashed and it will probably be in Pup 1.0.3. It will give us a powerful calendar application that is not dependent on any browser, so it could be in an Opera build of Puppy for example.


&%$#@*, I'm feeling very frustrated right now. After all my printer upgrades, one of my test printers just prints garbage, but works fine printing from Pup 1.0.2 and earlier. Also there's a report on the forum of Pup 1.0.2 with the 2.6 kernel corrupting a NTFS partition, whereas the old Pup 1.0.1 with its 2.4.27 kernel does not.

So, I am very seriously considering using a 2.4 kernel for Pup 1.0.3, and back-pedalling the printer packages upgrades somewhat.

Regarding printing from TextMaker, the commandline displayed in the print dialog box is "lpr -r %", but in our case lpr is a link to pdq, which is a lpr-lookalike except that it can't handle the "-r" option. So, remove the option, like so: "lpr %".


Lots of news today!

Ghostscript, Gsview, libijs and Gimp-print-ijs have all been upgraded, to be able to print from Abiword ...or at least attempt. These upgrades have already been announced below. My Printer Wizard creates a PDQ configuration file that feeds the "-ProcessColorModel" option to Ghostscript, which worked for gs version 8.11, however gs version 8.51 now used in Puppy suffers from a segmentation fault. As a quick hack I removed this option, but this needs to be looked at, to restore output color control.

Printing from Abiword is still a problem, despite all the upgrades. I can print simple text files, but a simple document with a couple of small images causes Ghostscript to crash. The problem is the format of the Postcript file that Abiword is feeding to Ghostscript.
My problem file is "testdoc.doc" and is to be found in Puppy in /usr/share/text/ -- it is a little test file to confirm the a wordprocessor is able to import a MS Word file. It is also uploaded here -- as I'm going to report this to the Abiword developers.

I opened testdoc.doc in Abiword then exported it to testdoc.html (html 4.01) then opened it in Mozilla, and it printed okay. Yep, no problem with printing from Mozilla!
I fired up PupGet package manager and installed TextMaker word processor. File testdoc.doc opened up and printed okay.

I've filed a bug report with Abiword developers. For Pup 1.0.3 though, looks like printing from Abiword will still be "iffy". So, if a document won't print, open it in TextMaker and print from there!

Leafpad text editor has been upgraded from version 0.8.0 to 0.8.1. Note that in Pup 1.0.2, PRINTER environment variable is set incorrectly in /etc/profile. If set, it should be set to the printer name. However for Puppy it should not be set at all, as applications should call the "lpr" command without the "-Pprintername" option, so PDQ will use the default printer ...I don't know if there is a "printername" that would just tell lpr to use whatever is the default printer ("lp"?). I had to hack the source code of Leafpad to get this to work right -- I'll inform the developer about this.

I announced below that Bash is now in Puppy, but so still is Ash. Ash is still the default, so when you start an rxvt window, it will still be running Ash. I'm a little bit hesitant about Bash taking over fully at this stage. The technical term for this is what you Americans would call a "half-assed" installation of Bash.

Thanks to Bruce B and Jesse on the Forum, who alerted me to a problem booting the live-CD if an audio CD is also inserted in another drive. Puppy may detect the music CD as being multi-session and think that's a multi-session Puppy CD! I've modified rc.sysinit to detect this situation.

For people on dialup, the wvdialconfig program is very useful, as it can detect all sorts of stuff about a modem, including guessing suitable initialisation string. Wvdial is a PupGet package, but that's a "cart before the horse" situation. wvdialconfig is a utlity inside the wvdial package, but there is an enormous library file needed by wvdialconfig. All I really want is wvdialconfig, without that huge library, then I can put it into the live-CD. The latest wvdial, since version 1.50, has an enormous dependency library called Wvstreams -- I don't know how to compile that as static, so that wvdialconfig can just get the bits that it needs from the library. There is an older version, 1.42, that does not have the separate wvstreams library, so we would probably get a much smaller wvdialconfig ...except that I can't compile it and it is C++ and I don't understand the error message.
Any C++ wiz like to help out here? Here is the older package: wvdial-1.42.tar.bz2.


John Derrickson, known as JaDy on the forum, has a fascinating implementation of Puppy that he calls PupWin. You can download, install and start Puppy from within Windows. Only Win98 so far. Here is his URL:
-- it's an ad-supported web site, so if you object to girly pics don't go there.
JaDy is now working on a version for WinXP.


I worked with bruce B and we have tidied up the keyboard shortcuts for the console text editor MP. We now have more standard shortcuts, like ctrl-x to cut selected text, rather than MP's default of ctrl-t.

A little note about Mozilla. Version 1.7.8 GTK1 is about 40M uncompressed, 1.7.8 GTK2 is 42M and 1.8beta GTK2 is  35.7M.  They have the same features, all with Flash and Gxine plugins, but the 1.8beta build has also got SVG support.
So, you can see one reason why I want to use the 1.8.x series! I currently have 1.7.8 GTK1 build in Puppy, intended for Pup 1.0.3. Notice how much bigger the GTK2 build is! ...why? There is one file in particular, libgklayout.so that is about 2M bigger in the GTK2 build -- I have a theory about this. But anyway, 1.7.8 GTK1 is going into Puppy (I'm using it right now) -- the only slight disadvantage is non-antialised menu and dialog-box fonts ...big deal! (page rendering is still anti-aliased, which is what counts).
Note that Pup 1.0.2 has Moz 1.8beta, but the Calendar module doesn't work properly ...so now we have to wait on the developers before we can go back to 1.8 and bring Puppy's size down a bit.

When building a custom Puppy with Unleashed, there is now a choice of kernels. Currently on offer are 2.4.27, and, as used in Puppy 1.0.1 (and earlier), 1.0.2 and 1.0.3 respectively. There is currently a restriction that you must be running the same kernel when the "createpuppy" build script is run -- in other words, to build a live-CD with 2.4.27 kernel, you must be running Puppy 1.0.1 when you execute the build script.
I built a 2.4.27-based live-CD and tested that it booted, but have not tested it any further -- the intention has been that all the scripts in Puppy are supposed to detect if a 2.4 or 2.6 kernel is running and adapt accordingly, but I have been focussing all attention on 2.6 development -- anyway, if you do build a "retro Puppy" with 2.4.27 kernel just let me know if any script misbehaves.
This is in the future, 1.0.3 not yet released!


Okay, it has finally happened. I decided to put Bash into Puppy. We still have Ash, which is part of Busybox, and /bin/sh still points to Ash. However, any scripts that reference /bin/bash will now run the full Bash.
I have also replaced the Busybox cp, mkdir and mv programs with the full versions. Previously, Puppy did have the full cp, but it was named cp-FULL. I have retained the name cp-FULL so as not to break scripts that use it, but cp-FULL is now a link to cp.


Thanks to John Murga for creating a cut-down Perl package (version 5.8.0) for Puppy. See his announcement on the Forum: http://www.murga.org/%7Epuppy/viewtopic.php?t=53 . John has put it into his "Puplet" 50M build of Puppy, see announcement further down this page.
I've put it into Unleashed, so it will be installable with the PupGet package manager when Pup 1.0.3 is released.


Puppy has acquired Gtkfind, thanks to Bruce B on the forum: http://www.murga.org/%7Epuppy/viewtopic.php?t=383&highlight=gtkfind

Now that John Murga has created a small Perl package for Puppy and included it in his "Puplet" 50M Opera build of Puppy, there is an opportunity to improve printer support. Linuxprinting.org has a Foomatic printer configuration system with online database that supports PDQ but it needs a Perl program running on the local PC. I have added this as a high-priority task to the Developers page.


Mozilla has been "upgraded" to version 1.7.8. Puppy was using a beta release of version 1.8, which has a few problems, not least of which is that the Calendar module doesn't work. I know some guys on the Forum who will be mighty pleased to know that we now have a working Calendar module!

I compiled Moz 1.7.8 to use GTK1 rather than GTK2, and I also left out the Gxine plugin (Flash plugin is still there). GTK2 gives antialiased fonts, but that only applies to the menu and dialog boxes, as Mozilla still does anti-aliasing for web pages. The great advantage of using GTK1 is noticeably snappier performance.
I don't think that there is any downside to leaving out the Gxine plugin, as Mozilla will still recognise the filetypes and launch Gxine when appropriate ...but, I'm not 100% sure about what capability is lost by not having the plugin.

Another reason to go for GTK1 and leave out Gxine is for maximum flexibility for creating custom Puppies with Unleashed. However, if it turns out that users absolutely must have antialised menu fonts, then I can go back to a GTK2 Moz.


There has been much discussion recently on the Forum about choice of distro for compiling applications and kernel for Puppy, and even the idea of a "fat Puppy" with all the compiling infrastructure.
To clarify what is developing in this area, I have uploaded preliminary "How to compile applications for Puppy "and "How to compile the kernel and drivers for Puppy" pages, with advance information related to the upcoming 1.0.3 release and the new Puppy Sourcerer source code compiling environment.
I must emphasise that these pages are preliminary and will be fleshed out a bit more by the time Pup 1.0.3 is released. Also, I'm not sure, but if kernel 2.6.12 gets released soon, I'll go for that. Currently I'm testing

Just a side note, as there is still interest in the 2.4 kernel, I plan to support it in the next release of Unleashed. There will be a choice in the "createpuppy" build script, which kernel you want to use. That's the intention anyway!


Puppy enthusiast Pizzasgood has created a custom Puppy based on version 1.0.1. This version uses kernel 2.4.27, and the latest official Puppy, version 1.0.2, uses kernel Some people are experiencing trouble with the new kernel on old hardware. There also seems to be a problem with wireless networking, well 1.0.1 had troubles also, but less so!
The Forum page with download links: http://www.murga.org/~puppy/viewtopic.php?t=374


Some improvements to the PupGet script. In particular, there were some issues with uninstalling of alien packages.

Another package for Unleashed: Gambas, a Basic language programming environment.


Packages added to Unleashed are nenscript, a text file to Postscript converter, and Galculator, a scientific calculator. The former will be useful for builds of Puppy that do not have Abiword, but the conversion script "lprshell" will have to be modified -- perhaps autodetection could be added into the script, so it will use Abiword or nenscript, whatever is available.

More progress with printing. Puppy enthusiast Jonas has modified the source code of Abiword to accept a filetype override on the commandline. The problem is described further down this page. In a nutshell, Puppy uses Abiword in commandline mode to convert text files to Postscript, required for printing. The override ensures that this will always succeed. Note that script lprshell was modified to incorporate this feature.
Together with the updated Ghostscript, required to view and print the Postscript files generated by Abiword 2.2.7, things are looking good. The only thing remaining is I have to test that it does all work together, and we can actually print...


Joe's window manager JWM has been upgraded to version 0.23. This fixes a couple of bugs. JWM is tiny and fast. Joe's homepage is www.joewing.net.


For anyone keen to help out with Puppy development, we have two urgent requirements. These require someone skilled in C or C++ coding: see Puppy Developers' page.


John Murga's 50M Opera build of version 1.0.2 Puppy, unofficially codenamed "Puplet" or "Poodle" (we haven't yet settled on what it will be called) is now available. Here is John's release notice:

Well I finally released the new 50Mb Puppy ... 
It can be found at :
It is pretty late here so I'll just comment on the highlights :
  + Opera version, uses Opera for mail too, so Sylpheed is out.
  + Full set realmedia codecs (so I can watch Euronews).
  + Textmaker replaces AbiWord purely due to the enhanced Word compatibility.
  + VIM installed as default VI handler
  + PERL and a Puppy friendly version of NdisWrapper.
  + A couple of Guesttoo's packages, like "top", "undeb", "unrpm" and "torsmo".
  + Improved setting for RXVT (A decent scrollback, smaller font, etc).
  + New splash screen (that does not scare the kids any more).
  + Boot options allow booting with ACPI off (so it works on my laptop).
  + A cool background contributed by Rhino ;-)
  + It is about 1Mb below the (50Mb) Mini-CD limit !!
  + XGalaga and a few more optional packages where added.
  + All the TCL libs are included to address issues with the last build.
  + And some other stuff I cannot remember right now ...


Known issues :
   + I didn't include TCC although I think there may have been enough room.
   + Spent a lot of time trying to get Siag to work reliably, but it kept on crashing
     during use for no reason.
   + So Siag has been replaced with ABS as the spreadsheet, which really annoys me.
   + Some spelling errors

Note that John's build is what we call a "big image", in that it has the file usr_cram.fs inside file image.gz. The outcome of this is that a PC with at least 128M RAM is required to run it.


AFPL Ghostscript has been upgraded from version 8.11 to 8.51, The IJS Ghostscript printer support library to version 0.35, the Postscript to anything converter Pstoedit upgraded to version 3.40, and the Postscript and PDF viewer Gsview upgraded from 4.5 to version 4.7.

I am currently evaluating Mandrake 10.2 (aka Mandriva Limited Edition 2005) as the next compile environment for Puppy, to replace Mandrake 9.2. The above apps were compiled on Mandrake 10.2 and work okay in Puppy.

I evaluated the stock kernel from Mandrake 10.2 in Puppy, and it works except that I cannot mount USB drives. It seems that the kernel source has been patched in such a way that it needs something, I don't know what, to get USB to work properly. So, that was a dead end. Next thing I will do is see if I can compile a pristine kernel and get it to work in Mandrake.

The release notes for Pup 1.0.2 reported a problem with Ghostscript not being able to handle Postscript files generated by Abiword v2.2.7. Well, the new Ghostscript seems to be handling them fine, but I found another problem with Abiword.
Puppy has a little script called "lprshell", used to convert text files to Postscript (as we need Postscript format to print), and it uses Abiword to perform the conversion -- as Abiword can be run from the commandline only to do file conversions. However, Abiword often fails with the error message "Error importing file". Abiword has automatic file-type detection, and if I feed in, say "myfile.txt", Abiword will try to determine its filetype, but will ignore the extension. I was finding that Abiword was failing to convert plain text files, like myfile.txt. Running Abiword graphically, the file-open dialog allows an override, so I can specify that the document is plain text, then it will open. However this override is not available on the commandline.
So, I have just joined the Abiword mail list, and I will lobby them to add import filetype override to the commandline. Note, there is a "--imp-props" option that looks like it is intended for this, but the functionality has not been implemented. Anyone know an Abiword developer?


Great news. A bit further down this page I have given instructions how to download and install Puppy Unleashed. Well, GuestToo, developer of the DotPup package installer and very active contributor to the Forum, has created an Unleashed installation script that does it all automatically. For further info and download:


Puppy version 1.0.2 is released. The live-CD ISO file is named puppy-1.0.2-mozilla.iso and is 60.9M. Release notes:

In version 1.0.2RC, at bootup I used the "cdrecord" program with the "-msinfo" option to try and detect if the ISO file was burned multisession or not. The problem is, this causes odd effects on some systems, like the drive tray opening then closing and one person reported it locked up at that point. So, we need a simple little program to test if the CD is closed or open for further burning, that does not cause these "side effects". In the meantime, I have substituted the "disktype" program which will detect if the CD has more than one track stored on it... the first time the CD is booted, it will be a normal live-CD, but when running, type this in a terminal window:

# cp -f /etc/rc.d/rc.reboot-cd /tmp/rc.reboot

...when you end the session, it will be saved to CD (optionally) and from then on the CD should behave as multisession, that is, automatically read-from at bootup and save-to at shutdown. This is all assuming that you burned the ISO as multisession!
However, the multisession live-CD is still considered to be alpha-quality and under considerable development.

John Murga's 50M Opera build of Puppy should be available soon. I'll announce it here when it is available.

Puppy Unleashed version 1.0.2 released. This time it is not in the form of an upgrade file, as there are too many changes. However, it is not one big file either, but many little ones, which dialup people will appreciate.

Go to the ibiblio.org Puppy download site, and download "puppy-unleashed-core-1.0.2.tar.gz" to a spare ext2/ext3/reiserfs partition with at least 500M free space. Get rid of any existing directory named "puppy-unleashed" to avoid conflict. Expand it:

# sync
# tar -zxf puppy-unleashed-core-1.0.2.tar.gz

After expansion, you will have a directory named "puppy-unleashed" and inside that you will see a directory named "packages". The packages directory is empty, and you have to download all the files from the "pupget_packages-1" directory on ibiblio.org. You could use wget or gFTP to do this.

The above picture shows how to setup anonymous FTP using gFTP. Use your email address for the password. Right-click on the right-hand pane to select all files for download. One thing I recommend is that you do a visual check of the downloaded file-size of files in the left-pane and see that they match the sizes in the right-pane.

The local packages directory will then be full of .tar.gz files. Now expand them:

# sync
# cd puppy-unleashed/packages That is, change into the packages directory if not already.
# ./expandtarballs.sh

The file expandtarballs.sh is a script that should have got downloaded along with all the other Unleashed packages.

Unleashed is an alternative for people on dialup Internet connection, where the 61M live-CD ISO file is too much to download, with the extra great advantage that you can create your own custom live-CD. To use Unleashed however requires familiarity with the Linux commandline. Note, I still have a CD for sale with as much source as will fit on the CD, for people who just want to get it all in one go.


There are some more PupGet packages, that will be available for download when v1.0.2 is released. They are Gimp v2.0.6 (image editor), SciTE v1.63 (text editor), and Smalledit v3.17.14 (text editor). A couple of others released recently are Rebecka v0.9.15 (text editor) and Wvdial v1.53 (Internet dialup utilities -- has a great modem detection utility).


The install-to-usb script was broken, as the 2.6 kernel does not support the umsdos filesystem.
Now fixed. This will of course be in version 1.0.2 final, due out in a few days.


I'm finalising the boot code for the multisession live-CD, version 1.0.2. In particular, there is now a smooth upgrade from a previous multisession live-CD. The way it works is very simple: you download the latest ISO file, puppy-x.x.x-mozilla.iso, burn it to CD with the multisession option set in the burner program ("-multi" and "-data" checkboxes in Gcombust), then boot up with the new CD.
When the new CD boots, it will see that it is new, and will ask if you have a previous multisession CD. If you answer in the affirmative, you will be asked to insert it, and all your old personal data will get loaded into ramdisk. From then on, you use the new CD. Simple, simple, simple!

Note, the previous upgrade mechanism is still there. If you don't have a previous multisession CD, you will then be asked if you have a "pupxxx" file already on the hard drive. That would be there if you had previously been using a "normal" Puppy live-CD. If you answer in the affirmative, then all data is read from it, and from then on you will only need the multisession CD.


Puppy version 1.0.2RC has been uploaded. The "RC" means Release Candidate, and the official release will follow shortly. Version 1.0.2RC is for the Puppy-enthusiasts to test and report any problems.

The file is puppy-1.0.2RC-mozilla.iso, size is 60.9M and it is to be found at http://www.nstsoftware.com/puppy/.

When you boot this new version, one of the boot scripts, /etc/rc.d/rc.update, will purge "strange" files out of /usr/, so look in /root/tmp/USRREMOVED/ to see what got removed. Removed files are logged in the text file /root/tmp/LOGUSRREMOVED.txt.
Note, in the future, any packages that install into /usr/ may register themsleves with the PupGet package manager to avoid getting purged at a version upgrade -- I posted information about this to the Forum, in the Cutting Edge section.

Puppy is now running the kernel, and SCSI-emulation of IDE CDs does not work (it is supposed to work but is broken in this version of the kernel). Therefore, run the CD/DVD drive Wizard and disable SCSI-emulation, which will require a reboot -- after the reboot, run the Wizard again and check that the drives are chosen correctly.

Note, I consider the kernel to be temporary only, and will upgrade to the 2.6.12 kernel as soon as it is released. One reason is the broken SCSI-emulation (although that is no longer needed for burning CDs), another reason is ACPI is not fully functional.

There is no longer a separate multi-session ISO file, as they are now merged into the one ISO file. At bootup Puppy is now able to detect if the ISO file got burnt to CD as multi- or single-session. However, I need to do a bit more work on the multi-session boot scripts, so give it a miss for this "RC" release. The final version, due out hopefully in a few days, should have this sorted out.

The biggest change from the previous version is the move to the 2.6 kernel. There are so many differences in how the modules work, so there may be some issues still to sort out. Read the notes below to see other changes. Make Puppy jump through hoops, let me know what happens.


There will no longer be a separate multisession version of Puppy. That is, there will only be one ISO file, for example puppy-1.0.2-mozilla.iso, and it is made into a multisession version simply by burning to CD as multisession. At bootup, Puppy is able to determine whether the ISO file was burnt to CD as multisession or not, and behave accordingly.

The latest version of Puppy, 1.0.1, has a problem booting from live-CD on a PC with 128M RAM, no Linux swap partition and only a single NTFS partition on the hard drive. The ramdisk was getting overfilled, due to the fact that Puppy was unable to create a pup001 file and had to run totally in ramdisk. I have made the ramdisk a little bigger so v1.0.2 should boot okay.


I've been working on how files are updated when a new version of Puppy is booted. It is far from a simple situation, but I have been attempting to get it organised. There is now a specialised script, /etc/rc.d/rc.update, that carefully performs any required updates. One challenge is that /usr is now writable, and rc.update attempts to prevent clashes between packages in usr_cram.fs (read-only mounted on /usr), PupGet installed packages, and arbitrary files saved in /usr by the operator -- files seen as potentially troublesome are moved to /tmp/USRREMOVED/.

I downloaded the Mozilla nightly source of 4th May and compiled it. Apparently the Calendar module is now working, but I haven't tested it yet.

Sigh, I have had to take Beaver back to version 0.2.7. Unfortunately, v0.3.0 is too unstable -- I've been using it for about a week as my main text editor, and every now and again it crashes.


Great news, we have a new home for the Puppy Linux Discussion Forum, thanks to the generosity of John Murga (who also has developed a version of Puppy that fits in a 50M credit-card size CD). The new Forum is hosted on John's site: http://www.murga.org/~puppy.


Leafpad text editor has been upgraded from version 0.7.2 to 0.8.0. The main new feature is support for printing.


Puppy has finally embraced the Grub boot manager! Although Puppy runs fine off the live-CD, and in fact that's how I normally run Puppy myself, there is a great deal of interest in installing the Pup onto hard drive. Puppy does have an install-to-hard-drive script, but it only creates a boot floppy disk. Thus, there has been on-going discussion on the Forum on how to install and/or configure Grub or Lilo to boot Puppy on a hard drive. There have been many success stories and some HOWTOs written.
Peter Siag recently put together a little package and script to make it extra easy to install Grub, and he has contributed a HOWTO to the forum. This has inspired me to finally put something into the live-CD, so now we have the install-to-hard-drive script that can still create a boot floppy but now also can install Grub on the hard drive, meaning that the PC can boot Puppy without needing a floppy.

Peter showed how easy it is, but I also wanted a more sophisticated Grub installation and configuration tool, and I discovered Grubconfig, a Bash script written by Kent Robotti (which in turn is based on Liloconfig written by Patrick Volkerding). I hacked this script to work in Puppy and use Xdialog rather than dialog. Also, Grubconfig is integrated with the install-to-hard-drive script.
it works great -- my test PC has /dev/hda1 a vfat Windows partition, /dev/hda2 is ext2, and Grubconfig installed Grub to the MBR (Master Boot Record) of the hard drive and created a menu that recognised both partitions, almost all by just clicking on default choices. Fantastic! -- and oh man, does Puppy boot fast, like about 10 seconds from Grub menu to window manager fully loaded.

I visited a friend of mine who has an IBM Thinkpad laptop with Lucent linmodem, and tested the new modem driver modules for the 2.6 kernel. Yep, it works.

We have moved to a new Forum, at http://puppy.mypunbb.com/, but the old Forum, at http://www.goosee.com/puppy/sforum/simpleforum_pro.cgi, is still there. There's heaps of useful stuff on the old Forum, so go there but please treat it as read-only and post any questions to the new forum.
Note that we may also be setting up another specialised "developers" forum.


Dave the Administrator and I have worked out why the forum may be having trouble, so I have reinstated it and we will "keep an eye on it", see how it goes.


I have temporarily disabled the Discussion Forum, due to this email from my host:

Barry,   The SimpleForum Pro cgi script on your account is causing some big problems with the server. Several times during the day the server has been getting overloaded and the process list usually shows about 10-20 copies of the script running with a very high cpu usage. Something needs to  be done to dramatically reduce its impact as I've got other customers complaining. Recently it  has been getting severe enough to require a web server shutdown. I'm not certain how long it has  been going on, but it seems odd for it to be using that much cpu for the level of traffic.   Please let me know if you have a solution as soon as possible!   Thanks,   Dave Hagewood ArrowWeb Administrator

We have had many problems with the forum. I will be urgently checking out alternatives, and hopefully we will be up and running soon. I will try and setup all messages from the old forum as read-only, and even in a downloadable single file.


Beaver text editor has been upgraded from version 0.2.7 to 0.3.0. The change is from the GTK1 to GTK2 library, but more importantly it fixes a serious bug -- 0.2.7 could only display text files with 7-bit ASCII characters. If a a file has a character, just one character, in it that is 8 bits, that is has the 8th bit set (or bit-7 if you want to get technical), an empty window displays. Most text files are okay, but we do run into this problem occasionally, and have to resort to Leafpad.
On the other hand, 0.3.0 has one small shortcoming -- the titlebar of the window displays the name of the file, but not the full path as 0.2.7 does. A small thing maybe, but I liked to see the full path. If anyone is interested, this could be a simple project. Note that the beaver website has v0.3.1 latest, but we aren't using that as it has extra library dependencies.
Note also, GuestToo has created a DotPup package of Beaver 0.3.0, so you can try it out before Pup 1.0.2 arrives ...let us know if you discover a bug.


The install-to-hard-drive-Option-2 script has been expanded, thanks to Peter Siag who posted a Grub HOWTO along with some files on the Forum. The install-to-hard-drive script is to be found in the Setup menu, and "Option 2" in the script is to install Puppy into his own partition in the hard drive, taking over the partition entirely, with no ramdisk being needed.
Previously, the script only created a boot floppy disk for starting Puppy. Peter has a modern PC that doesn't even have a floppy disk, besides, many people would like to do a full install, perhaps with Puppy as the only operating system on the PC, and not need a floppy to boot.
The next release of Puppy will have Grub on the live-CD, and the h.d. install script will offer to install Grub -- that is, boot floppy and Grub will both be options. If you have a PC with a mission-critical XP installation, or in any way unsure, do not try to install Grub. This option is currently for the highly computer-nerdy types. Stay with the safe floppy option.
Note, I haven't actually tried it yet... I need to get hold of an old PC that I can sacrifice. "grub" is actually a commandline executable that is executed and the user can then install it -- this is an area where we can probably introduce a bit more "newbie" guidance in the future -- after Pup 1.0.2 is released, Peter and others might like to try the Grub install option and perhaps refine it.


mtPaint has been upgraded to version 0.94. There are many new features, including text insertion. mtPaint has got so good I have now made it the default paint program, instead of Xpaint (which is still there) -- now, click on an image thumbnail in Rox file manager and mtPaint will open.
mtPaint also has a screen capture feature, and this is added to the "Graphic processing" menu, joining the Xpaint screen capture -- the difference between the two is Xpaint capture has a selectable area whereas mtPaint capture takes a snapshot of the entire screen.
mtPaint is also setup as the embedded image editor for Abiword -- the next release of Puppy will have Abiword v2.2.7, and any images in a document it can be edited by mtPaint, in-place, and you can actually edit the image in mtPaint and view the changes in realtime in the document.


Bugfixes for the PupGet script. Installing packages sometimes put files in the wrong place or didn't install files, and uninstalling a package didn't always properly uninstall it. It also messed up the window manager menus, now fixed. There's improved support for installing and removing local packages, which is good for developers to test an Unleashed package before submitting it to me. The script now makes sure that the chosen download site is reachable, and if not will ask you to check your Internet connection or choose a different download site.


Gftp has been upgraded from version 2.0.9 to version 2.0.16. I was getting a segmentation fault with version 2.0.9, when I clicked on a certain very strange symbolic link on an ftp site, however that version is usually quite stable. The upgrade seems to have fixed it.

I have uploaded the following PupGet packages to Ibiblio: qt-3.3.4, libxslt-1.0.33, tcc-0.9.22. The first two are library packages required to use Scribus, VYM, Qhacc and Cutecom, that are also PupGet packages. All of these packages, with the exception of TCC, are already in the official Puppy 1.0.1 live-CD, however John Murga's special 50M live-CD doesn't have them -- no problem, just use PupGet to download and install them.
TCC is the Tiny C Compiler, introduced further down this news page. Install with PupGet and start writing C programs!

A technical note for anyone interested: if you install a PupGet package and want to know what files got installed, look in /root/.packages/, where you will find file-lists for each installed package.


Lots of fun and games getting the various serial, ps/2 and usb mice and keyboards to work with the 2.6 kernel. One problem is the change of module names from those in k2.4, also some modules no longer exist, and some have changed functionality. For example, usbmouse.ko and usbkbd.ko were modules for the full HID protocol in the 2.4 kernel, but are only the simpler HID-Boot protocol in k2.6. Module hid.o no longer exists, replaced by the more encompassing usbhid.ko. Serial mouse support was a mystery for awhile, but that got sorted out.
I had to go out an purchase a usb keyboard ...I'm quite happy with my ps/2 keyboards, but had to do this for testing purposes. Amusing, I have a usb and a ps/2 keyboard plugged in and both are working, simultaneously!


The Lucent and Smartlink linmodem (software modem) drivers have been compiled for the 2.6 kernel, and the Modem Wizard and rc.network boot script updated. These drivers are now PupGet packages.
...I know, I know, how do you install them if you can't get on the Internet? Well, you have to get on the Internet by some other means and download the software-modem package that you need, then bootup Puppy, and PupGet is able to install a package that is local -- PupGet packages don't have to be located on the Internet.


Okay, I have created a popup help window that appears whenever Gcombust is run, which provides information how to get it to work with non-SCSI-emulated IDE CD/DVD drives. it's a simple workaround, until someone hacks the source code of Gcombust.

I also went through all the wizards and scripts to make sure that they work for both the older SCSI-emulated and the newer non-SCSI-emulated situations.


There is difficulty with burning CDs with the 2.6 kernel. I compiled the kernel with support for SCSI-emulation of IDE CD drives, although this is deprecated. However, cdrecord, the commandline utility for burning to CD, refused to write data to the CD although it recognised it, and even appeared to erase it okay. So, I tried without SCSI-emulation, which is preferred for the 2.6 kernel, but Gcombust was unable to recognise the CD drive, however I did manage to get cdrecord to work directly from the commandline. I upgraded the cdrtools package (which has cdrecord) from version 2.00.3 to the latest, version 2.01. Interesting, the latest version of cdrecord outputs this warning:

Warning: There are unsettled issues with Linux-2.5 and newer.
Warning: If you have unexpected problems, please try Linux-2.4

I did get Gcombust to work, although the "Check SCSI settings" and "Detect SCSI drive" buttons do not work -- I may look at the source code, see if I can hack it so those buttons work for non-SCSI-emulated IDE CD drives.

The outcome of all of this is that SCSI-emulation is out for the 2.6 kernel. CD burning works, but Gcombust has a slight problem with its buttons.


The Linux kernel is upgraded from version 2.4.27 to However, I have kept backwards compatibility, so in Unleashed the 2.4 kernel and modules can be substituted and Puppy will still work.
Although the new kernel natively supports ALSA sound, Puppy v1.0.2 will still be using the OSS system (basically because I'm still learning how to setup ALSA). It is intended that Puppy will eventually support both ALSA and OSS for maximum sound hardware support.

The new kernel has been compiled with ACPI and APM support. The kernel will determine which of these is supported by the BIOS and activate appropriately, however I set the kernel to treat all BIOSes older than year 2001 to not be ACPI compatible, which may avoid bootup problems with older PCs.

Although the new kernel is 1344K, I am still able to create a 1440K boot floppy disk for hard drive installations of Puppy.

A technical note: Puppy is still using /etc/modules.conf, for compatibility with the 2.4 kernel, however /etc/modprobe.conf is generated at bootup from modules.conf, as required for the 2.6 kernel. So, they both exist and are equivalent, but internally have different formats.

The boot scripts and hardware detection works with both the 2.4 and 2.6 kernels. At least, so far so good.
Another technical note: One problem with USB is that the usb-uhci and usb-ohci kernel modules are renamed to uhci-hcd and ohci-hcd respectively in the 2.6 kernel, but I got around this by creating symbolic links.


mtPaint has been upgraded from version 0.50 to 0.90.


Puppy has acquired RemoteDesktop, a GUI frontend for rdesktop, which in turn is a Remote Desktop Protocol client, for running GUI applications remotely, in particular Windows applications. RemoteDesktopClient is a Tcl/Tk application, written by John Hass, of thinix.com.
Note that Puppy already has a GUI frontend to rdesktop, a little something that I whipped up sometime ago, but John's effort has many more features.

Abiword update: after consultation with Mark Tyler, the author of mtPaint, we now have mtPaint working as a embedded image editor for Abiword.


I have upgraded Abiword from version 2.0.12 to 2.2.7. There are significant improvements, including improved stability, better MSWord import, and text flow around images. I have also included more plugins: import/export Abiword documents compressed with bzip2, xsl-fo files, XHTML/HTML, WMF image support, and editing of images. Editing of images within an Abiword document is achieved by calling Xpaint -- I found that mtPaint didn't work in this mode.
Abiword 2.2.7 will be in Puppy v1.0.2.


John Murga has created a Puppy live-CD based on Opera that will fit on a 50M credit-card size CD. For further information:
Temporary download site:


BUG REPORT: We have to expect some, especially with the first release of the package managers. These are minor and you can work around them:

  1. PupGet is corrupting /root/.jwmrc, the menu configuration file for the JWM window manager. If you start JWM and have this situation (JWM will start but the menu won't work), type CTRL-ALT-BACKSPACE key combination to exit from X, then type "xwin fvwm95" at the commandline to start X with the Fvwm95 window manager (which is Puppy's default w.m.). You can fix .jwmrc by editing it -- the first line is duplicated, so just remove the duplicate line, then JWM will work properly. Actually, I thought that I had fixed this bug, but it seems not.
  2. In the "Setup" menu, you will see menu items "PupGet package manager" and "DotPup package manager". The latter opens a web page using gtkmoz, Puppy's internal HTML viewer, which is not up to the job as it can't download. Instead, choose the former menuitem (PupGet) and it has a button to the DotPup webpage using Mozilla, and that works fine. Note, you can fix this bug by opening /root/.fvwm95rc and change the "DotPup" menu line to start "mozilla" rather than "gtkmoz" or "dillo".
  3. The JWM menu has an entry "Wordprocessing -> Amaya HTML editor" which should not be there as Amaya is not installed (although can be downloaded by PupGet). If you want, you can also fix this, by editing /root/.jwmrc.
  4. There is a report that Calendar, a module in Mozilla, doesn't work properly. Nothing I can do about that now, have to hope that the Moz developers fix it soon (Mozilla does have a bug-reporting facility, as this is a beta version, so you can report any bugs direct to them).


Puppy version 1.0.1 released. The live-CD is 60.2M. Puppy enthusiasts on the Forum have been reporting extreme delight with v1.0.1rc1, and I am now pleased to announce the official release. Release notes:

There is no new version of the multi-session CD yet, it is still at v1.0.0alpha2. The Puppy download site has an upgrade for Puppy Unleashed from v1.0.0 to v1.0.1.

This time I have not uploaded various "flavours" of Puppy -- if anyone wants a special flavour, the way to go is obtain Puppy Unleashed and build your own. The special "128ram" flavour, with usr_cram.fs inside image.gz, can be built from Unleashed or the remaster-CD script can be run from the released live-CD Puppy to create it. For the Opera flavour, it also can be built from Unleashed, or the Opera package can be downloaded with PupGet.

Note, it is intended that the focus of attention for the next version will be on wireless networking, updating some of the applications, and a kernel upgrade ...but with the Puppy project, who knows what will be the next surprise? I would like to apply the Alsa sound to Puppy -- is there anyone with knowledge of Alsa on the 2.4 kernel who might be interested? -- I have compiled the Alsa modules and support utilities but got no further.


Right now I'm editing this web page with Composer, from the Mozilla suite, version 1.8b1.1 -- well, that's the version number that I have assigned it, as I compiled from "nightly source" dated 7th April, which is going to be somewhere between the official 1.8beta1 and beta2 releases.
As GuestToo reported with the official build of 1.8b1, the new Mozilla is fast, remarkably fast. The code-base of Mozilla and the separate products has now merged, and in fact the developers themselves use the Mozilla suite to compile the separate products. As well as now being as fast as Firefox, in fact faster than Firefox 1.0, the Mozilla suite has one very big advantage -- it is far far smaller than the separate products, as it shares common code. It is also better integrated than the separate products. Note however, that NVU, a standalone HTML editor that is a fork of Composer, is developed totally separately and the NVU code is not merged into Composer, at least that is my understanding.

So, I have uploaded Puppy version 1.0.1rc1, "release candidate 1", for the Puppy enthusiasts to play with. This is not the official 1.0.1 release.
The live-CD iso file is only 60.2M, yet has the full Mozilla suite, including Navigator browser, Composer WYSIWYG HTML editor, Mail/News, Addressbook, and Calendar, plus the Gxine and Macromedia Flash plugins. Also, I compiled Mozilla with support for displaying SVG vector graphics, but do note that this is still immature -- I was in two minds about this, as previous experience has been that a web page with SVG can crash a SVG-enabled Mozilla. Despite the small size of the iso, everything else is still there: Scribus desktop publishing, VYM outliner, and so on. Oh, Dillo has gone (again), as this iso has gtkmoz, which is the TestGtkEmbed application provided with the Mozilla suite -- it makes a great little internal HTML viewer.

Version 1.0.1rc1 has two amazing new package managers. They are pretty self-explanatory -- go to the menu, Start -> Setup and you will find PupGet and DotPup. PupGet is the official package manager, that is, it can install and remove packages from the Unleashed package suite. All of the Unleashed packages are now online and PupGet will download them -- try it, it's so easy! As this is "rc1", put these package managers through the hoops and report any problems.

Note that F-Prot, XF-Prot, Sane and Xsane scanner packages have been removed, but they are only a click away with Pupget. I took out F-Prot as Linux doesn't have viruses, that's a Windows problem. Puppy users use F-Prot to test a Windows system. Also, F-Prot and Sane weren't totally installed in the iso anyway -- some extra parts had to be downloaded to /root/my-applications folder -- well, that system is now (almost) history.

I mentioned at the last release, a little further down this page, that a live-CD iso of about 60M is pushing the limit. The reason for this is that I want Puppy to boot totally into ramdisk on a PC with 128M RAM and no Linux swap partition. I am pleased to report, on my test system, this 60.2M iso does! The test PC has a 1GHz Celeron CPU, and, oh so nice, Mozilla started in about one second.

Note, if you have been experimenting with using UNIONFS on Puppy, and this applies to a small number of Puppy experimenters, please delete /root/.usr/* before booting the 1.0.1rc1 CD.
Puppy addicts, burn the new iso to CD and give Puppy a whirl -- I want to upload the final v1.0.1 in less than a week from now, so kindly report any problems to the Forum promptly. Note: can someone test that the Gaim MSN module still works? (it uses SSL library from Mozilla). What about testing some SVG web pages?
Oh yeah, you will find the iso v1.0.1rc1 on ibiblio, in directory "puppy-1.0.1rc1".


I have looked at upgrading from one version to another. That is, the appropriate updating of files when boot up a live-CD or USB stick with a newer version of Puppy.
In particular, the menus need to be correct, but it is not just a matter of copying the latest .fvwm95rc and .jwmrc window manager configuration files from the CD, as the user may have installed packages using PupGet and these entries must remain in the menus ...complicated!
Anyway, /etc/rc.d/ now has a little script called fixmenus that takes care of this.


I have taken Xpaint back from version 2.7.5 to 2.7.0, as have still not resolved a bug in the latest version.

I'm working with the developer of Xpaint on this, and we will probably track it down, but anyway I'm thinking that maybe will take Xpaint out of the base live-CD iso and have it as a separate Unleashed package. The reason for this is that mtPaint is so good. The main reason that we need Xpaint is we need its commandline ability to take a snapshot of an area of the screen -- does anyone know of a small program that will do this?

The DotPup installer is now installed into Puppy. This means that you just download a ".pup" file, then from Rox just click on it and it installs and a window opens showing your installed "RoxApps" (.pup packages) all with nice icons. Then just click on one of them to run it.
DopPup is developed by "GuestToo", a Puppy enthusiast and very active contributor on the Forum and Wiki.


Puppy now has PupGet, a sophisticated package manager. There was an earlier system for downloading some package extensions, that went by the same name, but that method is now deprecated.

There is something that users of other Linux distros take for granted -- the ability to download a package, try it, then maybe uninstall it. Puppy can now do this with the entire suite of packages from Unleashed, a collection that grows almost daily. Although Puppy runs in ramdisk, with /usr directory a compressed read-only filesystem, by means of the UNIONFS we now have /usr read-write.

As well as being able to install and remove packages, there is also dependency checking. When a package is installed, entries are automatically made in the Fvwm95 and JWM menus, also in the Help index page, and these entries are removed when a package is uninstalled. There is also some support for "alien" packages, such as binary tarballs from Slackware, though more work is needed in that area. PupGet also washes the dishes and makes the coffee.

Note that PupGet has no relation with any other package management system. As usual, I reinvented the wheel, and knocked it up from scratch in two days, added a few extra bells and whistles on the third day.

There is also another neat system of package installation, called DotPup, that is best suited to casual evaluation of packages contributed by users, but not necessarily part of the Unleashed suite. DotPup packages install totally into /root/my-roxapps directory and are totally self-contained and easy to uninstall.

PupGet and DotPup will both be supported in Puppy version 1.0.1, that I am trying to fast-track for release very soon.


Puppy now has the unionfs kernel driver module, version 1.0.11.

Furthermore, there is great news: unionfs is used to make /usr directory read-write. If you know something about the structure of Puppy, you will know that /usr is really a compressed read-only file usr_cram.fs. However, with unionfs we can simulate write access to /usr -- in reality all files written to /usr are stored elsewhere. In Puppy's case, in /root/.usr hidden directory, which means that they will be saved.
What is particularly great about write-access to /usr you shall see in the next news announcement.


BUG REPORT: GuestToo on the Forum has reported some bugs in Puppy version 1.0.0. These are only small bugs, that do not affect overall usage of the current release.

  1. Puppy was upgraded to the latest Xpaint, which has a new bug -- the Save and Save as... dialog boxes have edit-boxes in which text is invisible, although they do still work. Last night I sent an email to Jean-Pierre Demailly, one of the developers of Xpaint, and he responded promptly, with version 2.7.6 attached!So, Puppy 1.0.1 will have the fix for Xpaint.
  2. The Puppy drive mounter does not display VFAT partitions. You can still mount them of course, from the commandline, for example: mount -t vfat /dev/hda1 /mnt/data. I also found some other strange behaviours in this script. It will be fixed in Puppy 1.0.1.


Puppy version 1.0.0 is released. There are three "ready-made" live-CD flavours to choose from -- the live-CD ISO file with Firefox is 58.4M, with the full Mozilla suite is 61.8M, and with Opera is 55.8M. Release notes:

If upgrading from an earlier version of Puppy, it is recommended that you run the CD/DVD drive Wizard and the Printer Wizard again. The former has improvements and the latter has an extra feature to enable Qt-based applications to print.

As usual, there are many sub-projects in-progress, but I wanted to get version 1.0.0 "out the door" by the end of March. For example, there are some ad-hoc solutions to wireless networking, reported on the Forum, but we do not yet have a refined setup or Wizard for Puppy. Note also, I had planned to upgrade Gxine, but cannot, as Puppy is currently using the GTK 2.2 libraries and the latest Gxine needs GTK 2.4 -- upgrading the GTK library is postponed for awhile.

Note, the Opera flavour does not have Gaim, instead has Xchat, Gyach and Alicq. This is because Gaim needs library files out of Mozilla/Firefox for it's MSN module. You can of course build your own flavour of Puppy with Unleashed.

Which flavour to download? The maximum size that Puppy can grow to and still load totally into ramdisk, has been reached. For a target system of 128M RAM no swap file, on my test system the Firefox and Opera versions worked fine, the Mozilla version did not. I think the iso size-limit is about 60M. If you do have a minimal system, that is, 128M no swap file, and there is a boot or running problem with Firefox or Opera flavours, check the "shared video ram" setting in the BIOS -- set it lower, to 8M, even 4M.
If unsure which flavour to choose, go for Firefox -- it is the most popular. Note that I intend to upload a lightweight flavour soon, probably with Links and Dillo, weighing in at about 35M.

I am very interested to know if VYM can be used as a general-purpose outliner, a repository of ideas, notes, links, images. It is intended as a "brainstormer", but I wonder if it could be more than that. Feedback on the Forum most welcome.
BUG: There is a minor bug in VYM, that I discovered after releasing Puppy v1.0.0. The VYM Help menu fails to open the User Manual, even though it worked when I originally tested it in Puppy. This lead to discovery of another bug: The Puppy Start -> Help has a link to the VYM User Manual, but Dillo won't open it as Dillo is not configured to open a PDF file with an external viewer. However, all is not lost: open Rox, go to /usr/share/doc/packages/vym/vym.pdf and click on the file and it will open in Gsview.

Puppy Unleashed version 1.0.0 is released. The file is puppy-unleashed-upgrade-0.9.9-to-1.0.0.tar.gz and the size is 57M. Release notes:

There is still much work to do for dependency checking in "createpuppy", the build script. Do not take reports of possible dependency problems too seriously when running the script -- especially for first-time users, just accept the defaults by pressing ENTER key at every question.

There have been many requests to include TinyCC in Puppy. Well, it still isn't in the ready-made ISOs, but is now in Unleashed. TinyCC, also known as TCC, is a GNU-C compatible C compiler. You can use it to create basic console and GTK applications, but it is not a "full" compile environment, as explained further down.

The upgrade tarball is bigger than I had intended. If you are on dialup Internet connection and find it impossible to download it, let me know -- post a message on the Forum. I can split it into two files.

Puppy multi-session CD version 1.0.0alpha2 released. The file is puppy-firefox-1.0.0alpha2-multisession.iso, size 58.5M. Release notes:

The multi-session CD has been improved, but the release is still "alpha", not yet fully synchronised with version numbers for the "normal" Puppy. That is, it is still classed as "experimental", with some fundamental issues still to be tackled -- however, it does work, see notes further down this page and user feedback on the Forum.

I discovered that the Compaq Presario R3000 laptop cannot boot from a multi-session CD if it has more than one track written on it. (Also, the Presario R3000 cannot boot from a USB device. Pathetic. Why are brand-name computers so troublesome?)

For an introduction to the concept of the multi-session CD, see the Puppy multi-session live-CD page.


Some bugs were fixed in the remaster-cd script, also some improvements.

The multi-session CD can now create a "pupxxx" backup-to-hard-drive file at shutdown, if it does not exist. Except for an NTFS partition.

Bash is now a package in Unleashed.


The QHacc personal accounting application is now a package in Unleashed.


Okay, okay, some Opera enthusiasts are asking that Opera not be left out. I guess I'll keep releasing Opera versions of Puppy.

I've made up a Opera package for Unleashed, still on version 7.54 as that is the latest stable release. I have thrown in the Macromedia Flash player and the Gxine player, and that ...grumble, grumble... Motif library. I am using Lesstif, a Motif clone, and the library is 1.3M. Note, Flash plugin is 2M.

It is interesting to compare sizes of the browsers. These are uncompressed sizes, determined using "du -k". Opera (with plugins and Motif): 11416K, Mozilla suite (with plugins): 44260K, and Firefox (without Flash plugin, only Gxine plugin): 18720K.


The Puppy drive mounter has been overhauled. Many more partitions are now handled -- previously the script only handled 1 cdrom, 2 Windows and 3 Linux partitions in a PC, now increased to 2, 3 and 4. Another improvement, a major improvement, is handling of hot-swapping of USB memory drives -- now you can unplug one USB drive and plug in another, then click the "Refresh" button in the Puppy drive mounter to show the new situation.

Note that the Puppy drive mounter is not as sophisticated as MUT, a project that Jesse Liley is working on. That has automatic refreshing and a superb GUI interface. MUT is still under development but is progressing well.


Puppy has another serial port terminal program, called CuteCom, version 0.13.0, joining picocom. The difference between them is that picocom is a commandline (console) application, whereas CuteCom is a GUI application using the Qt library.

So, how does a serial-port terminal program differ from a terminal emulator such as Rxvt? The former are interfaces that communicate directly with a serial port, such as /dev/ttyS0 (COM1). To give an example of usage, I used to teach at a university, and one of the subjects was Microcomputer Systems, in which the students programmed and designed interfaces for little microcontroller boards. The programmer interacted with these boards by a serial cable to a PC and a serial-port terminal program running on the PC.
Another use is you can send Hayes commands to a serial modem (including internal modems) to configure it or test if it is working.

Oh yes, Unleashed now has Ytree, a console file manager.


I'm astounded... no, that's an understatement. I have just tried the latest version of Opera, 8.0 beta3, and tried to get the Macromedia Flash and the Gxine plugins to work. No go. So I tried Opera version 7.54u, still no go. They are recognised, but they just don't work.

So, I did some research with Google, and found that file "libXm.so" is required, that is, the Motif library ...Motif is an old widget library, kind of the grand-daddy of GTK and Qt, and not used much anymore. It's also large, I don't recall exactly, but think it is somewhere around 2M. Opera needs this library to load plugins!!!!!

Opera themselves confirm this: http://www.opera.com/linux/docs/plugins/install/

Sorry, you guys that like Opera, but this disgusts me. I'm not going to support Opera in future releases of Puppy. There will be an Opera package in Unleashed, but it will be up to you to install libXm.so if you want to add plugins.


Great news! Xpaint version 2.7.5 has just been released. Puppy has 2.7.0 and I thought that the project had died. Not so, the developers Jean-Pierre Demailly and Torsten Martinsen are still plugging away at it. Thanks guys. Version 2.7.5 will be in the next Puppy.


I have had to put the libxslt and libexslt libraries, as well as a little application called xsltproc (which uses the aforementioned libraries), as VYM needs xsltproc to export to HTML. I seem to recall at least one other application having a compile-time option to use libxslt, that I declined -- will have to go back and check that out -- it may have been Dia.


Sylpheed has been upgraded from version 0.9.99 to the latest, version 1.0.3.


Printing now works for the Qt-based applications. Scribus was okay anyway, but VYM and TuxCards (maybe also Opera?) use the standard Qt print dialog box, which reads the list of available printers from /etc/printcap. Problem was, Puppy didn't have /etc/printcap, as Puppy uses the PDQ printing system.

So, I modified the Puppy Printer Wizard to generate /etc/printcap. It's only a dummy file, no good for anything, but it satisfies Qt and the Qt printer dialog box is able to get the name of the default printer. I think that Qt executes a command "lpr -P<printername> <postscriptfile>" and in Puppy's case lpr is a symbolic link to pdq (which works like lpr, accepts the same commandline options).

In the process of doing this, I discovered a bug in XPDQ, the GUI frontend for the PDQ printing system. When you choose "Add printer..." from the menu, the first window ask for "Printer name:" with help info that this can be any name you want -- what it doesn't say is that this name must be ONE WORD, no spaces. I have put a warning about this into the Printer Wizard.


The new Wikka Wiki is up for testing, see the Forum Announcements for URL.
I have setup the main page with code from the old Usemod Wiki.

Domain goosee.com is now working.

Heh, heh, I'm thinking will go back to Dillo as the default internal HTML viewer. Have created a package for v0.8.4.


I've created packages of VYM version 1.6.0 and TuxCards version 1.2 for Unleashed.

They are both outliners, using the Qt library. TuxCards seems to me to be too basic -- okay, it does have Rich Text Format, but doesn't have cross-linking, nor outside hyperlinking, nor image support. Personally, I would prefer to use DidiWiki.
VYM is an acronym for "View Your Mind", and this is a fascinating graphical "brainstormer" kind of outliner, similar in concept to FreeMind (FreeMind is written in Java).

VYM is very interesting, and I think that I will put it into version 1.0.0 Puppy live-CD.
VYM and TuxCards print in Postscript format, so that is no problem, in fact, VYM printout is lovely. However, I can only print to file. I will need some help here, how to setup so can print to "lpr" -- obviously, something is missing that Qt needs to choose a generic Postscript printer, output to lpr.

I got up this morning, and found that goosee.com is not working. My host has not transferred it properly. My morning here in Australia is after they have gone to bed in the USA. So, urgent emails got sent!

Hopefully goosee.com will be working soon. However, the Wiki is currently disabled, due to excessive spam attacks. I will put it up again, with access for the guys on the Forum only, and we will be checking out an alternative.


Domain goosee.com is being moved to another server, still on same host.


Some more work has been done on the CD/DVD drive Wizard. The main problem is that when a IDE drive is SCSI-emulated, it is accessed as /dev/scd0, not by its original IDE drive designation. The Wizard now clarifies this and prevents incorrect selections.

Skype Internet telephone and chat application, version, is now a package in Unleashed.


I have compiled Qt library version 3.3.4 and Scribus version 1.2.1 and created packages for Puppy Unleashed.

For anyone else interested in compiling Qt-based applications for Puppy, the How to compile applications for Puppy page now has instructions for compiling Qt v3.3.4 for Mandrake 9.2.


A package for compiling C applications has been added to Puppy Unleashed (v1.0.0, not yet released). I've adopted a monolithic approach, placing all required tools in one package. Puppy was not originally intended to be an environment for compiling applications, however there is great interest in putting something in, especially TinyCC.
So, the TinyCC (version 0.9.22) package is now in Unleashed, but it also has make, also ar, strip, nm and ranlib from the Binutils package. Also, gtk-config and enough header files to compile basic console and GTK 1.2 applications.

I found that TinyCC does have some compatibility problems when compiling packages. I was able to compile Gtkcat and Gtk-shell packages in Puppy, but ran into errors that are TinyCC-related with some other packages. For example, Gbase and uXplor gave the same error, but in the case of Gbase I successfully compiled it from the commandline, meaning that TinyCC did not like the Makefile.
The above packages have ready-made Makefiles. If a package has a configure script, there may be other issues. For example, Puppy uses the simpler Ash shell rather than Bash (though it is very easy to substitute Bash in Puppy if you wish -- see discussion on the Puppy Forum).
Yet another thing to think about is installation. Running in ramdisk, any installation is going to be lost at shutdown, also /usr is read-only. You can install in a hard drive installation (Option 2) of Puppy, that does not use a ramdisk. Or, you can create a package for Unleashed and build your own custom live-CD. Or, run the remaster-CD script. Or, just install into the /root directory (your home directory). Or, install executables into /root/my-applications/bin/ and shared library files into /root/my-applications/lib/ as these directories are in the executable and library search paths.

Previous versions of Puppy have the diff program, from the Diffutils package. I have now added cmp from that package.


Puppy multi-session live-CD version 1.0.0-alpha released. The file is puppy-firefox-1.0.0alpha-multisession.iso, size 52.5M. This is an experimental release. The final v1.0.0 release is expected to be concurrent with release of the v1.0.0 "normal" Puppy.

The Puppy multi-session live-CD saves all personal data and settings back to the CD. This is a world first. For details, see the Puppy multi-session live-CD page.

Please do read the page linked-to above. A few extra usage notes for this release:

  1. The live-CD is only mounted temporarily during bootup. During a session the CD drive may be used for other purposes. However, if you wish to mount the multi-session live-CD to view its files, I am intending that the standard mount-point will be /mnt/home, although there is no entry in /etc/fstab for this. This command will do it:  mount -t iso9660 /dev/scd0 /mnt/home
  2. During a session, note that any directory with a name starting with "tmp", for example "tmp", "tmp1", "tmp-anything", will not have its contents saved to CD at end of session. This is handy if you need a temporary scratchpad area.
  3. If you use a CD-RW to evaluate Puppy multi-session live-CD, after completing the evaluation and you then want to erase the CD-RW, do a "full" erase. A "fast" erase, at least with cdrecord, does not properly erase a multi-session CD.
  4. The multi-session live-CD does not by default create a /etc/pupxxxbackup file. See the above link for details. If you want to backup each session to hard drive, and you have an existing "pup001" file, I suggest make a copy of it, say "pup002" and use that. When the multi-session live-CD has booted, create /etc/pupxxxbackup with the content:  hda1:pup002
    where hda1 (for example) is the partition that has the pup002 file.
    The current version of multi-session live-CD does not create a pupxxx file.
  5. Although this is an "alpha" release, it works fine on my PC. The only disconcerting thing is the error messages spitted out by the ide-cdrom driver during bootup -- but these do not seem to compromise actual operation.
  6. I am not (yet) supporting USB CD drives. So far only tested with a IDE CD burner drive, not with a true SCSI drive.
  7. Please boot with the live-CD inserted in the CD/DVD-burner drive. Do not boot from any other CD/DVD drive. This is because Puppy will automatically assign that drive as SCSI-emulated, which is required for burning-to. Any decent BIOS should automatically scan the CD/DVD drives (if you have more than one) and find where the bootable CD is.


UPLOAD DELAY. I uploaded Puppy Unleashed to nstsoftware.com/puppy, but looked a little afterward and it had been deleted. Must have exceeded some quota. So, I uploaded Unleashed to Ibiblio. There was also a delay in uploading the "Mozilla flavour" of Puppy, but that is now also at Ibiblio. You can find the link to Ibiblio and other download sites at http://www.goosee.com/puppy/download/index.html

BUG REPORTS: When you start Firefox or Mozilla from the menu, it starts up with "file:///" rather than going immediately to the home page. GuestToo found out why this is happening, which we will fix soon. It's a very minor bug, just a slight annoyance as you have to click the Home button if you want the home page. Danleff found that the sane.tgz file, the scanner drivers for the Xsane program, is corrupt and won't uncompress. I have uploaded it again.


Puppy version 0.9.9 is released. There are now three live-CD flavours to choose from -- the live-CD ISO file with Firefox is 52.4M, with the full Mozilla suite is 55.3M, and with Opera is 49.6M. Release notes:

Which flavour to download? Mozilla 1.7.5 is the way to go if you need a sophisticated PIM/calendar/addressbook, but is somewhat sluggish. The Mozilla suite also has the Composer WYSIWYG HTML editor, that I am using right now. The Firefox and Opera flavours have Amaya, which is technically superior, has far better support for editing at the code level, but has ugly jagged font rendering. If you want a very fast, lean-and-mean email client, choose the Firefox or Opera flavours, as they have Sylpheed.

Note that Mozilla 1.8 code is merged with Firefox/Thunderbird, and consequently appears to have a less sluggish user interface. However, v1.8 is currently in beta only and has too many bugs to be placed into Puppy. I am hoping that Mozilla 1.8 will make it into the next release of Puppy.

Note also that the latest version of Amaya has the compile option of using OpenGL and font-antialiasing. Fonts look good, it displays animated SVG, but is woefully slow. And very big. I may offer it soon as a package for Unleashed.

To-do list:
There a quite a few mini-projects underway, that have not made it into v0.9.9. I decided that as it is about 7 weeks since v0.9.8 was released, that I had to get v0.9.9 "out the door". Some of the things that are now being targeted for version 1.0.0 are hotplugging support for USB drives (currently, unplugging or changing USB drives causes problems), and wireless networking (much of the infrastructure is in place -- I need to buy some hardware for testing).

Puppy Unleashed version 0.9.9 released. This is the first official release. Release notes:


Xine and the GUI frontend Gxine can play streaming audio from the Internet. BBC Radio offers a choice of Real Player or Windows Media streaming audio, but if the former is selected, an error message pops up that file "cook.so.6.0" is missing. I have now obtained this file from the "essential codecs" package on the Mplayer site and included it in Xine. The standard Xine in Puppy can now play both audio formats from the BBC. There is no need to install any extra codecs.

While on the subject of Xine/Gxine, Puppy has version 0.3.3 of Gxine, whereas v0.4.1 is now available. V0.3.3 is unstable when video is played full-screen, a bug apparently fixed by the latest version. Note however, v0.4.1 will be in Puppy v1.0.0, not in the upcoming v0.9.9.


The script /usr/sbin/resizepfile.sh, run from the menu "Utilities -> Resize /root filesystem", cannot resize the pupxxx file if it is on a NTFS partition. The limitation of Linux NTFS support is explained in the FAQ page.
However, there is a solution. The script now gives instructions how to boot up XP, make the pupxxx file bigger, then reboot Puppy and come back to the script and then resize the ext2 f.s. inside pupxxx to fill the file.


Puppy has a hardware detection system called libhardware, developed by Antonio Gallo. There is a program called scanmodule that accesses a database and determines what kernel driver modules need to be loaded. The main problem has been that Puppy is the only distro using this system, and the database is far from complete. Every now and again I have trawled the web looking for information to update the database. Today I downloaded a file called pcitable from Mandrake, that relates each hardware chip ID number to the required module. The format of this is not the same as used in libhardware, and it would have been a painstaking process to go through line by line and then search the several libhardware database files to see if the information is already there or needs to be added. So, I wrote a script to do most of the searching. Even so, I was sitting there for four-five hours.
The end result is improved detection for networking, usb and sound hardware.


People have reported success using the Roaring Penguin PPPOE console applications, however the GUI frontend tkpppoe gave an error message. I think that I have tracked it down. I can't test it myself, so we will see if it is truly fixed after Puppy v0.9.9 is released.


The CD-burner Wizard has been revamped and is now called the CD/DVD drive Wizard. There are some improvements to the script, also there is now selection of the DVD drive. Puppy tries to autodetect the DVD drive at bootup, but this is not always successful -- we have been investigating this recently on the Forum, and a special thanks to Just Greg for his work on this. The solution now is simple, just run the Wizard, and if Puppy was unable to guess which is the DVD drive you can choose manually, and your choice will be remembered in file /etc/dvddevice and read at next bootup to link /dev/dvd to the correct drive.


There is some progress with PCMCIA. The script /etc/rc.d/rc.modules loads the base driver modules for PCMCIA, but that alone isn't enough. Puppy also has to have the pcmcia_cs package installed, and after loading the modules, the program cardmgr has to be executed. Normally, loading of modules and execution of cardmgr is handled by rc.pcmcia, a script provided with the pcmcia_cs package, however, Puppy is not using this script. Instead, the modules are loaded by rc.modules, as mentioned above, and also I have now added code into rc.modules to execute cardmgr.
Also /etc/rc.d/rc.reboot now has code to shutdown cardmgr.


The remaster-cd script had some bugs. It did not create the live-CD ISO file correctly if the user chose to place usr_cram.fs inside image.gz. Also, the script did not work if executed from Puppy running installed on a hard drive ("Option 2" install, which is the full install of Puppy into a partition, no ramdisk). Now fixed.

Every now and again someone asks on the Forum about a midi player. Puppy doesn't have one. My understanding is that midi has declined somewhat in popularity, also midi players are very big, so I haven't placed a player into Puppy. However, I have created a TiMidity player package for Puppy Unleashed. If you need a midi player, you can create your own live-CD with TiMidity.


Puppy Unleashed automatically builds the menus for the window managers and the main Help index page, however this takes a long time. I have modified the build script so that if a live-CD iso is being rebuilt with the same selection of packages as the prevous build, then the menu rebuilding is unnecessary and is bypassed. This greatly speeds up repeat-builds when one wants to test little changes.


After a recent hard drive crash, I bought a new hard drive, and also decided to upgrade the motherboard, as it had a few problems, particularly with USB. The new board is an Asus P4S800-MX and the Ethernet interface is detected by Puppy and the sis900 module loaded.
However, I then found that the program ifplugstatus, which detects if a network is alive or dead, doesn't work. ifplugstatus is from the ifplugd package, and a little while ago I had upgraded from version 0.18 to 0.25. So, I tried the older version, and it works!
So, I've sent an email to the author, and have taken Puppy back to the older ifplugstatus (note, it was named ifstatus in the old version, but this name conflicts with other products. Anyway, I have renamed the old ifstatus to ifplugstatus).


We are having a run of exciting tiny new apps for Puppy. The latest acquisition is DidiWiki, developed by Matthew Allum, and his URL is http://didiwiki.org. This is a single executable, with built-in HTTP server. You just start it then point a web browser at it. GuestToo has been extremely helpful and has created a little script frontend, so DidiWiki can be run right off the "Information managers" menu.

DidiWiki is intended as a personal wiki. What do you use it for? Basically, it's a good place to jot down notes and links. Links can be internal, local to the PC, or remote. Images can be displayed. I have included a good help page, with the rules for editing a wiki page.

Another application that has gone into Puppy is guiTAR, and alternative to TkZip. This is another application that is maintained by Terry Loveall.


Puppy has acquired another file manager, called uXplor. This is a Windows Explorer clone, with the 2-pane layout, directories on the left pane, which refugees from Windows will feel comfortable with. The executable is only 54K. uXplor is currently maintained by Terry Loveall, at http://www.modest-proposals.com/. Terry has a tiny floppy-based Linux distro called WOAF and a fascinating collection of tiny X applications to go with it.

Note that uXplor does not replace ROX-Filer, as the latter is reponsible for maintaining the desktop shortcuts, therefore required (unless you don't want shortcut icons on the desktop). Puppy now has ROX-Filer, uXplor, MToolsFM and GTKSee, a somewhat eclectic collection, but each serving a useful and different purpose.


Puppy has the Gxset program, which is a GUI frontend to xset. This adjusts various keyboard, mouse, font and screen parameters. Gxset writes to /root/.xset.sh, which can then be executed at bootup. However, some features in Gxset are incompatible with the xset program used in Puppy. I created a wrapper script, /usr/X11R6/bin/gxsetshell, that edits and fixes /root/.xset.sh. Also, /root/.xinitrc now will execute /root/.xset.sh if it exists.
Fvwm95 does have a GUI for these parameters, however I wanted a window-manager-independent program. Gxset can be used with Fvwm95, JWM, or any other w.m.


The install to hard drive script, Option-2, had a bug. It created a regular directory /etc on the hard drive, whereas /etc should be a link to /root/.etc, as per other Puppy installations like the live-CD and USB. I think that I have fixed it. Also, when choosing an upgrade, the script will detect if a previous installation has created a regular directory /etc and fix it.

Gradually expanding the little generic GUIs to manipulate the windows and desktop. Now there is a GUI to choose a solid color for the desktop. Works for all window managers.


I whipped up a little GUI called Pdisk. This is a frontend to cfdisk and fdisk. It just adds a bit of extra convenience, as it is started from the menu and offers simple button choices prior to launching either cfdisk or fdisk.

Did I mention that I also created a little GUI to select the background image for the desktop. Although Fvwm95 does have such a tool, I want generic tools that will work for all window managers.


Puppy Unleashed Beta2 has been uploaded to www.nstsoftware.com/puppy. This is not an official release. Beta2 is for Puppy developers and enthusiasts to play with, and requires some knowledge of the Linux commandline to use. See discussion in the Cutting Edge section of the Puppy Forum for more information. Also read earlier news on this page and News 2004 page.


Bladehunter has experimented successfully with a framebuffer X server on Puppy, and a framebuffer-enabled kernel. He had a problem with an old laptop that could not run the Xvesa X server. In the future, we will probably offer a choice in Puppy, to cater for all video hardware. For more info., see the Forum, "Cutting Edge" section.


With considerable input from GuestToo, we have made some progress with X servers.

The Xvesa X server used in Puppy up until the latest version (0.9.8) has a problem with scroll mice. The wheel works, but the mouse has to be move very slightly while scrolling, else it won't scroll. Another problem is the fixed low screen refresh rate. We have a new version of Xvesa that fixes the former problem. It appears that improving the refresh rate cannot be done with Xvesa. This improved Xvesa will be in Puppy 0.9.9.

We have also put together an alternative SVGA X server, from Xfree86 version 3.3.6. This is a somewhat older X server, that suits PCs manufactured before year 2000. It does offer more configurability, including adjusting the scan rate to suit a monitor. This will not be supplied with v0.9.9, but will be in Puppy Unleashed, a new packaging system that will enable you to build your own custom Puppy. Puppy Unleashed is currently at beta1, with beta2 coming soon. The release version will probably be about the same date as 0.9.9.


As requested on the Forum, cfdisk will be in the next release of Puppy. The hard drive partition program fdisk is already in Puppy. Many people like cfdisk better as it has a somewhat nicer ncurses interface. Note, I compiled util-linux v2.12q package to get cfdisk. I updated fdisk, hwclock and fdformat from this package also.


The fully cp program has been copied from Mandrake. Busybox cp has far less options, and I badly missed the "--update" option. The Busybox cp is still in Puppy and I have named the full version "cp-FULL". Note that I have kept the Busybox cp as the docs state that its "-f" option is "always on", that is, you get "-f" regardless of whether it is there or not -- this is a worry and I'm afraid that it might break some of my scripts if I change totally over to the full cp -- not yet anyway.

cp-FULL is being used in the boot script /etc/rc.d/rc.sysinit to greatly streamline updating of files in /root when a new version is booted. The file rc.update has been completely done away with.


The build script for Puppy Unleashed now auto-generates the main Help file. When Puppy is running, clicking the Start button pops up a menu, and one of the menu items is "Help", which brings up the main help page. This page has links to all the help documentation in Puppy and on the web. The same principle is applied as for menu generation in the window managers. In this case, the package 0rootfs_skeleton-x.x.x has a post-install script pinstall.sh, that edits the main help file, /usr/share/doc/index.html. So, there will only be links to help pages that actually exist.


mtPaint has been upgraded to version 0.50. I cannot praise this application enough! The author, Mark Tyler, has done a brilliant job with coding this application. I sometimes need to scale an image down, for example, a 64x64 pixel image down to 16x16, which Xpaint cannot do -- Xpaint can crop but not scale, which is a serious shortcoming. The latest version of mtPaint adds rotation by an arbitrary angle, plus more stuff. Brilliant, and so small, only 231K, a single executable, no other files to install, with help built-in to the executable.


Okay, the automatic menu generation for Puppy Unleashed is now working. The build script doesn't actually create a menu -- what is required is that each window manager has to have a fully-populated menu in its config file, with all menu items commented-out. The build script sifts through each w.m. config file and works out what lines to uncomment. I have it working for Fvwm95, which uses a leading "#" character to make a line into a comment, and for JWM, which has an XML format config file that uses "<!-- -->" for comments. The code should be readily adaptable to other formats.

Note that beta1 does have menu generation, but only for Fvwm95. It is not a very satisfactory technique, as it requires post-install script in every package, and it only works for Fvwm95. The new technique puts the onus on each window manager -- each w.m. has its own post-install menu-build script, and all that packages have to do is supply one or more keywords.

I have also written a short document that explains simple steps to creating a package for Puppy Unleashed.

All of these improvements will be in the beta2 release of Puppy Unleashed, that I hope to upload soon.


There is now a simple mechanism for changing window managers. Currently the default when Puppy is first run is Fvwm95, and so far I have added support to change over to JWM. GuestToo on the Forum has been contributing excellent ideas on how to implement this. At the Shutdown menu there is the choice of restarting either Fvwm95 or JWM, and the choice then becomes permanent. I settled on making the choice at shutdown, as a separate window manager selection utility is then not required.

When X is not running, that is, there is just the commandline, X can be started with a specific window manager by typing "xwin jwm" for example. Typing "xwin" without a parameter starts the default window manager, which is stored in file /etc/currentwm.

The mechanism can very easily be extended to more window managers. For Puppy Unleashed I am attempting to auto-generate the menus for whatever window managers are chosen to be included in Puppy, and it will also be required to edit the choice of window managers that can be restarted, in each w.m. configuration file.


I have put Joe's Window Manager (JWM) into Puppy, as an alternative to Fvwm95. JWM is very small and fast. The author, Joe Wingbermuehle, has been extremely helpful, adding features that I have requested. I'm very impressed with the sophistication of such a tiny program.

There will be a little utility to choose which window manager you want to run.


The first beta of Puppy Unleashed has been uploaded to www.nstsoftware.com/puppy, as file puppy-unleashed-beta1.tar.gz.

Puppy Unleashed is Puppy reverse-engineered into all the approximately 242 packages, that may then be selectively reconstituted into a custom Puppy. The build script has a nice two-pane GUI for package selection and sophisticated dependency checking. The build script even auto-generates the menu for the Fvwm95 window manager. The files image.gz and usr_cram.fs are generated, as well as a live-CD ISO file.

This is not an offical release. It is the first beta release, and intended to be experimented with by the Puppy developers and enthusiasts. The place for on-going discussion is the Puppy Discussion Forum.

If you develop a package for Puppy Unleashed and want to contribute it to the official tarball, obtain a "Puppy breeders licence" from me (that's a joke) then send it in. It is intended that the first official release of Puppy Unleashed will be concurrent with release of Puppy version 0.9.9. Future releases of Puppy Unleashed will be upgrade patches -- the first release will be approx 70M, after that the upgrade tarballs will only have new and changed packages with an install script -- this will be great for people on slow dial-up connection.

From now we will start the "smallest Puppy" competition. The smallest Puppy that can surf the Internet with GUI web browser and email client, for example. This will be ongoing, and I plan to create a "page of fame" to log people's achievements. There is also the possibility of exactly the opposite, a really fat Puppy with absolutely everything.

You need a running Puppy, not another Linux distro. Note that the build script needs about 350M temporary working space on the partition (apart from the uncompressed tarball itself, which is about 160M), so you need to have a ext2, ext3 or reiserfs partition (not msdos or vfat, unless you mount it as umsdos) with over 500M free space in which to unpack the tarball.


I have put libwmf into Puppy, and the WMF plugin for Abiword. Windows MetaFile is a vector graphics format used by Microsoft. Many clipart images provided with MS Office are in WMF or EMF (Extended MetaFile) format, so if we really want to be serious about viewing MS DOC files in Puppy, we do need to be able to view WMF images also.


Welcome to the new year!

I still haven't been able to upload the bugfix release 0.9.8R2 to ibiblio.org. Their FTP server keeps timing out. You can however find it on www.nstsoftware.com/puppy and it may have found its way to other mirrors by now.

Puppy News page for year 2004