logoPuppy developer news:

from 2.11 to 2.12

left-arrow Older news

arrow-rightLater news

Puppy Linux version 2.12 released 

It's out! There are two iso files at Ibiblio, puppy-2.12-seamonkey-zdrv.iso (83.1MB) and puppy-2.12-seamonkey.iso (68.0MB). The former has the zdrv_212.sfs file in it, which is a massive collection of kernel drivers and firmware, whereas the latter has a cutdown selection of drivers on a par with previous Puppies (but the zdrv_212.sfs file can be downloaded separately and Puppy will have automatic access to all of the extra drivers).

The release notes are here:

The download page is here:

A few extra minor points to append to the release notes (please do read the Release Notes first!):
This Puppy has JWM window manager version 1.8rc4, which is very much a compromise. It fixed some bugs that were in 1.7 but unfortunately introduced some new ones. Display of the applets in the taskbar is a bit quirky, and you will have to live with that for now.
For Unleashed enthusiasts, it's all there on Ibiblio, but note that the 'createpuppy' script is not properly modified for creating a iso without the 'zdrv' file. It gets to a point where it states that it has executed 'pickmodules.sh' but doesn't do so. What you have to do, is after running 'createpuppy', do this:
# ./pickmodules.sh
# ./complete2sfs
# ./burn2dvd2iso

Anyway, have fun! Do note the closing comment in the Release Notes:
v2.12 has established a new base system that we will stick with for sometime. That is, we will stay with the same kernel version and we will keep refining the "zdrv" meachanism. So look toward the next few releases of Puppy as being consolidation of the status-quo and focussed on refinement and improvement of the user experience.

Probably should upload the devx file to ibiblio or put a link on the download page.

Downloading 212 now!

Thanks Barry!

Great - thanks, Barry!

John Doe 

Great work Barry!

Good job Barry!

Thanks for all the work you put in!

Is the USB Networking driver included in the larger release here?


Caesirian (hernan.garbarino<at>gmail.com) 
hey there, congrats Barry!

i'm downloading it now..

i really like your work and the work of the other guys who help and colaborate with puppy and the apps

greetings from Argentina and please.. take some vacations! :P

Well done Barry, connected to internet couple of clicks no problems, Puppy is number one in my book

OK the first thing I am doing Sunday morning is downloading this new and refined Puppy. Barry, you're great

What a tonic! Your commitment to the v2.12 baseline is most wise and will appeal to a wide range of converts. If it is possible to make subsequent fixes, patches and updates a simple, seemless, one-click operation it will draw in even more support. Linux has a unique window of opportunity until 30th January (pun intended). Let's use it to put the word around. PR could never be more important.

Good news Barry. Thanks for all the hard work you've put in on 212, and for all the fun we've had with the betas the past couple of weeks.


Bill St. Clair (billstclair<at>gmail.com) 






Downloaded and installed it on its own partition and grub on a floppy disk.Ut when I reboot it gives me this error....
ERROR:INVALID or Unsupported executable format
What does this mean?
I dont want to install Grub on MBR instead I used floppy option and booting via another bootloader(by PCLinuxOS)
It happened with any and all of your versions.
Any help would be appreciated.

you should ask your question on one of the forums that is up and running

it sounds like Grub can't find the kernel, vmlinuz ... check to see that it is where menu.lst says it is

212.very good job! rez 1200x800 wide ok on DELL laptop, ipw2200 wireless too! PureFTPd up/download anonymous/user OK, but have an security problem: in anonymous login limit the upper directory to /root/ftp and symlinks from this dir are inactive--OK, but on user login ftp client have read/write acces to the whole / directory tree...

Is it possible for the base ISO to activate the ethernet interface(s) if present and try to DHCP on them like other live CDs do? To avoid the need to run the connect wizard in vanilla DHCP environments (ie a lot of home broadband networks today)?

I think that would move things a bit closer to the perfect out of the box experience. Just a thought...


Bill St. Clair (billstclair<at>gmail.com) 
There are links to all my mirrored versions, along with torrents, at:


It's working for me so far, with the xfce window manager.

natonzor (nathan.abussi (gmail)) 
hey.. i have an idea for the redistribution of the zdrv file.

It is most likely that many computers (if not most) will only need some of the drivers. Would it not be possible that an app could be created, where it takes the information gathered at the autodetection at boot, find the relevant drivers, and dispose of the parts of the zdrv file that it doesnt need? Or, maybe.. have a web app where the user will submit the "Autodetect information" file (if one does not exist, one could be created), and all the processing happens on a server somewhere, so that the user does not need to download the whole zdrv file?

Just a thought...


another mirror:

I also moved all older isos from dotpups.de and htb65.de there, too.


I am trying to install a dotpup package but
nothing works. The wget is trying to point
to www.murga.org's old address which is instead of the new address
which is Am I doing something

no, there are 2 problems

1) the IP address for murga.com has probably changed, and it will take a few hours (or days) for the DNS servers to get the new address

2) the old address of John's Puppy forum was http://www.murga.org/~puppy/ ... it is now http://www.murga.org/puppy/ (without the tilde ~) ... that will break any link that points to the old forum, including all the links to download dotpup packages that are hosted on the forum

you can copy the url and remove the tilde character if you like ... for example, on my dotpups page:

copy any url link, for example, by right clicking the link ... use the link, for example, paste it in Seamonkey or Firefox's address box ... delete the tilde, that is, change ~puppy to puppy ... press enter or click the go button, or use wget to download the link ... then click the dotpup to install it

It didn't work for me, but :

yes, if the ip address for murga.org has been changed, it will take time for the DNS servers to be updated ... until then murga.org won't work

but maybe the forum will have a different domain name, then murga.org won't work anymore, ever

in either case, the /~puppy/ part is different

in any case, to download a dotpup file from a link like:
you can change it to this:
and it should work

F M Lynch (flynch1<at>se.rr.com) 
I reset my /etc/puppyversion file to 211. I also deleted the old zdrv 212.sfs file. I then ran Puppy 2.12 from CD. Modprobe prism2_usb did not return an error, but the folder WLAN was still not created in /etc with the needed files. I ran the manual install of the prism2_usb driver. Still no /etcWLAN folder. However, on impulse, I clicked on the Linux-wlan-ng pupget package (linux-wlan-ng-0.2.5.pup) I had previously downloaded from the http://dotpups.de/dotpups/Wifi/ web site to get my onboard prism2_usb module to work in Puppy 2.01, and had previously copied to the Ver 2.12. root directory. To my amazement, it installed the WLAN folder and all needed files in /etc. I used the linux-wlan-readme.txt script, also downloaded from the same web site, to configure and activate my prism2_usb module. It also worked. Now my prism2_usb wifi is automatically detected, configured and activated on boot. of Puppy 2.12. Hopefully, this process might work for other folks, if they encounter wifi configuration problems.

Spell check in Abiword does not work for me. It reports that the EN dictionary cannot be found.

The Abiword documents I copied from ver 2.01 to ver 2.12 needed some minor formatting. The new improved fonts likely caused this situation. Simply adding and removing tabs in the appropriate places fixed those documents.

I also noticed the right hand sidebar in puppylinux.com/news/ has some minor distortions, at least on my computer. The calendar dates overrun the column width. Some of the other notes also overun. Font change issues, must likely.

I am not yet ready to replace my old reliable HD install of Puppy 2.01, but I am seriously considering the possibility.

Thanks Barry , and all you other very talented contributors to this magnificent project.

I have posted a similar message on the Developers forum, however will repeat it here in case somebody has more info.
Tried to access the main forum received the following message

"Critical Information
You have been banned from this forum
Please contact the webmaster or board administrator for more information"

As a long time user and promoter of Puppy and contibutor as "aussie" can someone enlighten me as to the reason for the above message. I hope it can be sorted quickly


John Murga is the owner and administrator of the main Puppy forum. If he was going to ban you, for whatever reason, he would have notified you beforehand. There is a process that John follows, I think a first then second warning if anyone misbehaves.

idk (idk<at>operamail.com) 
Congratulations on your excellent os. I just installed 2.12 as an upgrade and all went extremelly well with one little exception. The only problem is that the DotPups which I had installed previously are no longer on the "Start" menu. I can access them from rxvt. Is there an easy fix?

I don't think this got enough attention... Barry the new fonts really are a massive step forward in the visual polish of the interface. Good work, and saving space too!


Who could possibly criticise?! But was hoping for the scsi drivers in the zdrv package! Maybe next time?

Love 2.12~
Rdesktop links to the wrong location....

Received no notification from John Murga re this "banning" fiasco. I am under a bit of pressure from the group I am associated with who are miffed by this "banning". I have posted a statement in the Developer's forum, under "General discssion about Puppy" sub heading "John's board". I sincerely hope this incident does not lead our group to leave Puppy for another distro, being West Australian's we regard Puppy as number one, however at the moment not a happy crowd.


aussie, Beem was also affected (cant login), so he registered again in the forum ("back to square one", he says). there are a lot of spammers lately and some deletion accident can happen.

Tried to re register still no joy, the last resort left is for me to email John Murga, to try and get it sorted, I realise things can go wrong, but the group I associate with feel a bit let down by this incident.


Yes, email John and ask him. This developer news blog is not the best place to be discussing this. You need to get feedback from John, then if there is still something unresolved you can send me a p.m.

All resolved have been in email contact with "flash", some misunderstanding had occurred, everything back to normal, sorry about using the developer news blog, was under some pressure to get the "banning" unbanned as quickly as possible.


More bugfixes: NTFS, USB, keyboard 

Rerwin did a frugal install of Puppy to a NTFS partition and discovered a problem with case of filenames. He manually installed pup_212.sfs (and the other files) while running Windows, but when he booted the frugal Puppy, the 'init' script in the initial ramdisk could not find 'pup_212.sfs'. Rerwin discovered that Windows had saved the file as PUP_212.SFS, as case does not matter in Windows, but it does in Linux.
GuestToo pointed out that vfat/msdos partitions can be mounted with the 'shortname=mixed' option to get around that, but the ntfs-3g driver does not have that option. So for Linux, pup_212.sfs and PUP_212.SFS are different.
I fixed the problem in the 'init' script by detecting the upper-case filename and renaming it. Here is the thread that discusses it:

Leon discovered a bug with keyboard language settings. When you boot Puppy and get the text-mode dialog window to choose keyboard layout appropriate for your country, if you choose "slovenian" then you do get the correct layout for the text-mode console, but when X graphics mode starts, the "sk" layout is used. That was my ignorance -- "sk" is Slovakian, the correct choice is "si". The script that was fixed is /usr/sbin/xorgwizard.

Many people discovered a problem with USB after installing Puppy to a h.d. (full install, not frugal). USB drives were detected as present, but could not be mounted. I have isolated the problem, and we do have a manual workaround. I need to do a bit more work on the 'modprobe' script to fix it properly though. Discussion of this problem in this thread:

+About the keyboard choices, as Puppy is English by default, would a "us" keyboard be appropriate as first choice? Thanks!

actually, in this case, on a vfat fs. the default shortname=lower would automatically fix the problem by lowercasing short names ... mixed would display the names "as-is", that is, all uppercase, which would mean the file would not be found

the thing is, depending on the options used when mounting the file system, and whether it is vfat or ntfs, short names will be stored differently (they may be converted to all uppercase, or all lowercase, or stored "as-is") and they will be displayed differently too ... so renaming a shortname file may not do what you think it should do ... you might want to try a few test cases to be sure what you are doing is actually working

and it's not just Linux ... Win 9.x and Win 2000 and Win XP each have their own way of storing shortnames

one workaround would be to make sure all such file names have more than 8 characters ... long file names should not have case problems

this is not a problem if you only use LInux file systems like ext3 ... but Puppy does not have that luxury

Well, I mounted a NTFS partition (Pmount uses the same options for ntfs-3g as does the init script) and created a short filename all uppercase then used Rox to rename it. It then appeared lowercase and passed a test in a terminal window as being lowercase.

Changing the subject, I pinpointed the cause of the hanging when trying to mount a usb drive in full h.d. installation. My modprobe script executes 'sync' and this is what hangs. I tried the non-busybox sync, same thing. When the kernel calls modprobe to load a module, it will not work if sync is there. I removed the sync and it worked.
I also redesigned modprobe script to allow reentrancy.

yeah I gotta do that one of these days...

Is it possible to pass your keyboard choice to and video settings as kernel options at boot time so we can bypass the menus if we know what we want?


Currently the boot option 'PKEYS' is accepted, for example:

To see the 2-letter choices, go to Setup -> Mouse/Keyboard Wizard and choose the "old 2-letter method" for keyboard layout.

I had run into the problem of filename case on USB flash drives:


This ugly issue promises to bite over and over again.

New drivers, various improvements 

Kirk found a source for the rtl8180-sa2400 driver that compiles with the kernel. Strange thing though, when I tried it, only one of the modules compiled as '.ko' for the 2.6 kernel. Didn't mess around, just used the modules that Kirk had already compiled. They, and the load and unload scripts are now in the 'zdrv' file.

Jason (plinej) made a couple of improvements to the Pmount drive-mounter script.

For BETA2 I "fixed" a bug in the pupget script, which it turns out causes another bug. So, I have undone the bugfix, will revisit that one sometime.

Dougal's enhanced CD-remaster script has been updated for 2.12 and will be in the live-CD.

I have recompiled the acx driver (for Texas Instruments ACXxxx wireless chips), using the latest source, 20060521 snapshot.

Jason fixed a small rendering problem with MUT. The new fonts are a bit wider and didn't fit quite right.

Puppy 2.12 Beta 2 finally booted my next door neighbours
problem computer....all others would not work.
Great work from you and all the Puppy trailblazers.
I have distributed quite a few puppies this week.
I even left one at John Howards electoral office today at
Gladesville - Sydney.
Expect a few G-Men types at your door soon brother.
Maybe Helen Coonan might enable broadband to you sooner.
Regards Chris.

Great work guys.

I see the development cycle is as fast as the OS!


I have also solved the USB problem for a full h.d. installation. It is discussed in this thread:
Let's see if I can copy my last post:

Okay, I found the problem.
I installed the latest Puppy to h.d. on my laptop, probedisk and probepart recognised a usb pen drive, but Pmount hung when I tried to mount it.
So, I used 'KP' to see what processes are running, and saw this:
[pre]/bin/sh /sbin/modprobe -q -- nls_cp437[/pre]
The kernel or the vfat driver will have issued this as the vfat/msdos filesystem requires the nls_cp437 character set.
The '-q' is okay, it just means "quiet". However the '--' seems to have flumoxed my 'modprobe' script. I don't know what purpose it serves, it isn't in the docs for modprobe.

A quick fix is to mount nls_cp437 manually:
[pre]# modprobe nls_cp437[/pre]

I also found that running the original modprobe executabel directly like this:
[pre]# modprobe.bin -q -- nls_cp437[/pre]

works fine.

So, the '--' is supposed to mean something. I will have to modify my modprobe script not to hang at least.

Marcos (marbimba<at>gmail.com) 
Umm barry youre the best!!!! dont leave this magnific project please!!!

Small bug fixed in Xorg Wizard 

GuestToo found a minor bug in /usr/sbin/xorgwizard, the Xorg Video Wizard. Fixed.
Dougal found an interesting utility program that could be helpful in improving Xorg Wizard and I will check that out for v2.13.
There is a lot more work to be done with this Wizard, targetted for 2.13. The main problem is widescreen LCD. I popped into a local PC-parts discount shop last week to buy some DVDs and saw many of the desktop LCD monitors on display are widescreen -- so, this seems to be a trend and has to be solved. I have partially solved it for the Intel video chips, but a more general solution using modelines is required.
The Xorg auto-probe and edid utility return modeline information for the monitor, but getting Xorg to use it has been the problem when I previously tried.

A few people have commented that the new fonts are rendering too big. This can be adjusted downwards by reducing the value in
Control Panel --> Set global font size
Then restart X.
The default is 84.
...should I tweak the default setting down a bit for 2.12final?

Jason Pline 
I prefer 72 but it's easy enough to change it yourself.

I like 78. At 84 the extract button on Xarchive is hidden.

PS: Betaftpd seems to be broke. I posted an alternative at:


And GuestToo posted one at:


Reducing the default font size can perhaps solve the MUT labels getting outside their boxes (?): http://www.murga.org/users/puppy/viewtopic.php?t=12733

The current font size is O.K. for 1024x768 display, but is too large for 800x600 display. Maybe a tip about how to adjust the default font size should be placed in the first-boot splash page.

ftp servers do not seem to like unionfs mounts ... they will work if the file dir is in /initrd/pup_rw, or a mounted drive

Hi Guys,

Something I wanted to mention. Ubuntu 6.1 seems to have the XOrg modelines issue sorted out. I haven't looked under the hood to try and figure out how they do it, but the final release CD correctly detects on all the PCs I've tried it on. It picks up my Radeon X800XL card and my 1280 X 1024 Samsung flat panel. Its the only distro that has properly. It also works properly on my work widescreen laptop which is an HP with 1280x768.

Since its all open source, perhaps we can figure things out by looking at what they do?

Also, is it possible to have all available ethernet interfaces dhcp by default at boot, like most distros? That way if you have naked DHCP you'll have connectivity from the outset.

The new release is working amazingly well on my machine. I can't wait to dig my teeth in to it and customize it. Great work!


A few additional questions... Is FireFox 2.0 available as a DotPup anywhere? I'm also looking for SKype and aMsn. I've seen them in screen shots but not sure where to find optimized ones for Puppy.

Also, I think XFCE has gone to version 4.4. Has Dougal or anyone else had any luck with the latest version?



PS - On an unrelated note. Audio works properly on a dell with AC97 that I test. It worked on my wife's Acer laptop but she had no volume control (soft or via hardware). It does NOT work on my main desktop which has an Audigy 2 ZS. It is identifying as an EMU10K1 chip which sounds right to me, as it works with that driver on PCLOS and UBuntu, but I'm not getting any audio even after I re-run the ASLA script. Any ideas?

Jeff: look at the XFCE- thread on the forum, I mentioned the new release there and why I haven't packaged it yet.

FWIW, I have a widescreen HDTV (1360 x 768) LCD which I use as a monitor. Puppy doesn't use the whole screen. There doesn't seem to be an option for that resolution in the Xorg wizard. Since this is the standard resolution for HDTV, perhaps it should be included in the Xorg wizard.




In 210 I could get betaftpd to work outside of the union, but not in 212. The pure-ftpd I compiled in 212 works in or out of the union.

Please include a patch for Slovenian keyboard layout in next version of xorgwizard.
I described it on Puppy Linux Discussion Forum.

Very impressed.

I installed Dougal's XFCE pup against the 2.12 Beta 2 build, and did some customizing, then cut my first remaster. Wow.

Boots in 55 seconds, gives me a nice XFCE desktop. My network is working now without the need to run the connect script.

However, and Dougal does warn about this, my resolution came up as 640x480 and I could not get the XVesa server to work at all at my native 1280x1024.

I did discover a very fast way to get to the proper res, if someone can explain why or if this helps, that would be great. If I run the XVesa/Xorg chooser wizard and then choose the XOrg server followed by the Resolution Changer, I can then select 1280x1024 even though I thought I was still in Vesa mode. Poof, nice 1280 desktop. However, it did not persist on the CD burn, even though I selected persistence after it happened.

A minor issue. I can't believe how fast this is. And the 55 second boot time is damn impressive. If I put my switches on properly I think that includes moving it all to RAM as well.

I'll be continuing to customize and adjust for a few weeks but I think I can achieve most of what I want. Thanks so much and I will be donating as mentioned before.


On the Skype question just unzip the version with static qt libraries and it works great.

Jeff: I think I know why it does that: XFCE doesn't know how to "listen" to Xvesa, that's why it has problems with it.
So maybe when you select the Xorg resolution, XFCE gets that info and uses it?

You should mention it on the forum thread, I think Flash never managed to solve the Xvesa problem, either..


Will do later today, just heading out the door.

Here is the strange thing.

I didn't actually SWITCH to Xorg, I just run the "within X" resolution changer. So I'm technically still on XVesa as far as I know, all I think it did (especially given how fast the res change) was poke a register I think.

Does this sound possible?


Jeff: we should be having this discussion on the forum, but since we're here... I understood you were still in Xvesa, but I don't think it matters to XFCE... maybe it just behaves according to what it's told...
As for keeping the settings when you remaster: when you get the option of looking into /tmp/root, go and copy the (hidden) directory /root/.cache into /tmp/root/ and if you're using Barry's script, also /root/.config.

Various networking issues 

A problem in BETA2 and earlier is the the file /etc/networkmodules has a list of network drivers (and descriptions) that is not up to date. This file is read by the Network Wizard.
So, I have just written a script that automatically generates the /etc/networkmodules file. This script is part of Puppy Unleashed and is executed by the 'createpuppy' script.
Entries in /etc/networkmodules look like this:
3c589_cs "pcmcia:  3Com 3c589 series PCMCIA ethernet driver"
acx "pci: Driver for TI ACX1xx based wireless cards (CardBus/PCI/USB)"
at76_usb "usb: Atmel at76c50x USB Wireless LAN Driver"

The description now identifies whether the interface is a pcmcia, pci or usb.
This improved /etc/networkmodules file will be in 2.12 final.

There was a response that the firmware for the Linux-wlan-ng driver did not install when 'modprobe prism2_usb' was executed. I tested, it installs okay. Testers need to be sure that they have followed the upgrade instructions given in the release notes. In particular, get rid of any 'zdrv_212.sfs' file that may have been copied to the h.d. when testing BETA1.

The Texas Instruments acx driver is missing its firmware. This was because I didn't know it needed any. Fortunately I have a PCI card with this chip, so I am just about to download the firmware and test it.

Caesirian (hernan.garbarino<at>gmail.com) 
hi, a few days ago i tried that beta and i had problems with the network wizard, it didnt load any module for my ethernet card... i was going to report this error but i wasnt sure if it was a bug or my mistake during the upgrade

i havent tried more things because without internet i couldnt download any package... well.. id like to have this 2.12final version

by the way.. why it is so hard to install the C compiler?(i have 2.11) could i compile my favorite apps without having any problem in 2.12? excuseme if this was already answered before.. i dont have that time to read the forum and the whole release notes

Caesirian, I presume you are running the live-CD?
A normal PCI ethernet card should have been autodetected and driver loaded.
C compiler? ...running live-CD it's the simplest thing in the world. Download devx_xxx.sfs file to same place as the pup_save.3fs file, then reboot. That's it.

Okay, I've downloaded the firmware for the acx driver.
My Netgear WG311 v2 card seems to be working, it has a ACX111 chip. I don't have any wireless signal here though.
One thing, in Rutilt when I clicked on the "Scan" button it returned:
"An error occured: can't trigger scanning. code: 11"

Puppy has acx driver dated 20051003. I've downloaded the most recent, dated 20060521, I'll try that.

The firmware for the TI acx100/111 adapters is not quite straightforward. The required radio file differs according to the adapter type (there are three radio files AFAIK).
My limited experience with the network wizard in the wireless context is that it needs a bit of a nudge at times.
BTW the new fonts make Puppy look really great.

feri (ferikenagy<at>yahoo.com) 
all puppyes not only 212: if installed without pup_save.3fs it doesn't search for other xxx.sfs files like devx_212.sfs.So for testing I gave an hole partition like /dev/hdb1 for puppy (formatted reiserfs ) put there ok the hole directory tree , after that I copyed Puppy_212.sfs an evrything works fine , exept it doesn't look and load other sfs files.I presume for using them remains only to decompress them also to /dev/hdb. I shall prefer in future to work with pup_save.3fs file because I like the modularity with xxx.sfs files
Puppy is centered on easy root use,and I agree with the idea, but for testing BetaFTP I had to create an usual user, it works Ok the download too.With this non root user I tried to launch xorgwizard but failed of course haven't enough right to acces /tmp and /etc for errlog and some config file.Maybe it is not to difficult to modify the script to have X for non root users?

I have installed all the different firmware files. The driver knows which one to load, it seems. I have a ACX111 chip and the driver loads the tiacx111c16 firmware file.

Warren S Carl (websafecomputers<at>yahoo.com) 
RLT8150.c drive for BPI usb 10/100 Ethernet Adapter- I use it on old laptops that have 16bit PCMCIA slots to get data off. I would like to use puppy( is this driver going to be in final release. Will be test 2.12 beta2 today

Caesirian (hernan.garbarino<at>gmail.com) 
actually i havent tried the live cd yet, i just downloaded the iso, then extracted the vmlinuz, puppy_212, zdrv_212 and initrd and put them in the same location where the old files was..

then rebooted, it did the upgrade, it took lake 5 minutes replacing the files and then started.. and like i said before it didnt load the module for my ethernet card.. anyway.. ill just wait for the final 2.12

about the C compiler.. i dont use the live cd, i got puppy installed, and i always had problems with the compiler, i put the devx_xxx file (i also changed the number to my puppy version) and nothing happened

motalaat (motalaat<at>yahoo.co.uk) 
Warren S. Carl. I am looking everywhere for that driver you use for your BPI USB LAN adapter. Can you please tip me on where to get it from?

Puppy version 2.12BETA2 available 

This is not a general release, it is for our band of Puppy-testers only. Get the live-CD iso, the "devx" module and the patched kernel source from here:

Please do read the release notes:


Looking forward to it. Quite slow download - so a faster mirror will be good
wiki update

perreando (perreando.linux<at>hotmail.com) 
I just booted from the CD and try to setup the wireless USB but when I modprobe zd1211b it gives a "fatal error - module not found". Did zd1211b made it to version 2.12?

Thanks for all the great work!

Jason Pline 
Unfortunately I have the same problems I did with the first beta. My audio is choppy and when I play the 2barks.au it just plays in a continuous loop.

# aplay /usr/share/audio/2barks.au

I also need to remove the ehci module so my usb drive can be recognized.

# rmmod ehci_hcd
# modprobe uhci-hcd

The fonts look great though. I guess I'll have to keep using 2.11 for now.

Bill St. Clair (billstclair<at>gmail.com) 
Mirrors at:

http://s3.amazonaws.com/puppy/linux-2.6 .md5.txt

I was getting 500 KByte/sec download rates from puppylinux.com, to my web service provider's machine. Still waiting for my copy to come down over my DSL line. I checked the MD5's after download, but I haven't checked them from s3.amazonaws.com yet.

I'll test 2.12 beta 2 on my laptop later today, God willing. Have to leave this morning before the downloads complete.

Bill St. Clair (billstclair<at>gmail.com) 
Got the last link wrong:


gdcrane (gdcrane<at>bellsouth.net) 
Looks good so far Barry
did my usual thing - remove xorg and seamonkey, added opera and wine and everything works seamlessly
so next I will reboot in ram and rebuild my pup_save

Ted Dog 
Using the problemaic VIA C3 motherboard, with RT2500 wireless card, everything works out of the box (or DVD) Thanks! got a winner, gxine full screen works, clean looking fonts - THNKS
sugestion use xxmc verses xvmc, it works better on unichrome & other cards that I use.

Revolutionist (klh<at>klh.org) 
Mime-Types !

Be sure to add MU: OpenOffice mime-types please.

Great Work, nice to see T2 has 2.4 kernel...

F M Lynch (flynch1<at>se.rr.com) 
Modprobe of Prism2_usb did not return an error, but wlan folder in /etc was not created. Therefore the wlanctl-ng configuration commands are not recognized. ??

The new fonts are very sharp. Thanks!!

Bill St. Clair (billstclair<at>gmail.com) 
My ipw2200 wireless interface now works out of the box.

Everything else I've tried works good. I'm set for doing my work tomorrow in Puppy 2.12 beta 2.

Emacs, Firefox, Thunderbird, my VPN client, Gnumeric, XChat, Gaim, J-Pilot (haven't synched yet), Ruby, rsync, sshd. All appear good.

The free memory applet was scrunched when I first booted. Restarting X fixed it.

Works well so far, like the fonts although they default to huge on 800x600.

Ralink 2570 (D-Link GWL122 rev B1) not yet detected out of the box, module not listed to load, either. Can be loaded with modprobe. Network wizard does not succeed in setting up rausb0 interface, however it can be done by hand using ifconfig, iwconfig, and rutilt to choose network and connect. Mystifying?

Now to test frugal install and upgrade...

Regarding F M Lynch's problem: unlike most other wifi drivers, linux-wlan-ng does not use the hotplug subsystem to load its firmware.
linux-wlan-ng has its own firmware loading utility, prism2dl, which should be located in /etc/wlan along with the firmware files and a few other standard configuration files.

alienjeff (alienjeff<at>charter.net) 
2.12beta2 reflections

Ran from Live CD on both desktop machine and lappy.

Desktop: Tyan mobo, 600MHz Pentium-III, 384M RAM.

Lappy: Gateway Solo 5150, 233MHz Pentium-II, 288M RAM, 3Com ethernet and wifi cards

Observation: from the cli, top reports that 2.12beta2 uses nearly 15% more RAM than v2.11 does, regardless of running from Live CD or from a full HD install. Though not an issue for the 1Gb RAM crew, it [i]will[/i] matter to the older, less robust systems.

Gxine: this seems to be a holdover from 2.11 and perhaps earlier -- the brightness control does nothing, nor do the other "video" adjustments in Gxine. Full screen seems to have been fixed somewhere between 2.11 and 2.12beta2, though.

MUT: for some odd reason, the box borders around the word "mount" are smaller than needed. The right edge of the border box covers the letter "t" of "mount." Also, when I clicked mount of an external HDD, the system locks up tighter than Fort Knox ... seems to render the mouse inoperable. This is particularly odd, as this is unique to the 2.12 version; all other versions I've tried, numbering about 10, have not had this problem.

NETWORK: though 2.12beta2 "sees" my wifi card when booting up, there's still no driver support for a very popular 3Com card (3CRWE62029A). Configuring the 3Com ethernet card went well, though several false hits showed during config.

BTW, no luck compiling a driver for the wifi card under 2.11. Sigh. Haven't given up yet, though.

That's it for now. Perhaps more later after further testing.

Best regards.

Bill St. Clair (billstclair<at>gmail.com) 
Running Puppy from the Parallels Virtual Machine inside a MacBook running OSX. Works well, and is about as fast as my Dell laptop running Puppy on the bare metal.

alienjeff, I presume you mean the Swallow/Poldhu driver from http://www.xs4all.nl/~bvermeul/swallow/
This is not a standard kernel module, so you need to lobby Barry if you want it included.
But it's quite an old driver, and won't compile under the latest kernels. I see here http://forums.gentoo.org/viewtopic-t-13
that someone wrote a patch for this driver back in the days of the 2.6.3 kernel, but there have been significant changes to the kernel since then, especially in the area of PCMCIA devices ... so you will have to wait until someone writes an updated patch.

Rob2306 (robert.stewart<at>iqconnect.net.au) 

Have been running Puppy 2.10 (HD install) on Pentium 651 MHz desktop machine with 515 M Ram & upgraded to Puppy 2.12 without a hitch. Love the look, but when I try to access flash drives, Mut and Puppy drive mounter both freeze up. I have to kill Mut/Puppy drive mounter, but then I can't re-boot or shut down, have to turn the machine off.

Before I turn the machine off, everything else still seems to work okay.Note: I could access the flash drives with Puppy 2.10.

I use a generic USB 4 port hub - USB version 1.10 (Alcor) and the flash drives are a Lexar Plug drive - USB version 1.10 (128M) and an unnamed 512M USB storage device with USB version 2.0 (from Trend PC-Cillin promotion).


I'm puzzled, if you had typed "modprobe prism2_usb" it should have also loaded all the firmware and executables from the zdrv file, including /etc/wlan.
...okay, I have discovered a bug in the modprobe script that
is messing this up, won't even load the module.

perhaps you need to examine if there are different usb modules loaded compared with the earlier Puppy. In 2.12 you can use 'PupScan', in older Pups you can use 'lsmod' in a terminal.

This thread is a bit long, individual bug reports will need to be continued in one of the forums.

John Murga 
Off topic ...

Forum is down currently as my hoster has suspended my account due to a DOS attack. They have also suspended all my e-mail accounts.

Hopefully it'll be resolved soon and we'll be on a new server.


John, sorry to learn about all your hassles with the host, DOS, etc.

For anyone reading this, please continue feedback on 2.12BETA2 on the Developer Forum:
To post, you have to register, and it requires email verification -- sometimes people have spam filters that bounce the verification email, so you may need to set an email from 'bkaulerATgooseeDOTcom' in the filter whitelist.

Just a little extra note, I'm working on the 'createpuppy' script in Puppy Unleashed. It will be easy to choose to build a iso file without a zdrv file and with a usable set of modules like before, if you are into building small puppies. The zdrv file can still be provided later on the h.d. and Puppy will automatically find it, for extra modules if needed.

Jason and others, I would like to work on your problems, much easier if you can start individual threads in the Developer Forum thanks.

John Murga 
Forum is back

But will be offline soon as we move it to a whole new server ... Hopefully it'll improve things dramatically.


Brad C (Coulthard<at>ieee.org) 

usb and touchpad at same time

This one is a work of art..

Barry Kauler 
Yeah, it's a funny thing, i810-family video was always troublesome, now for widescreen lcd it is working the best.

Just shows how important good feedback is on non-working hardware. If Barry doesn't have the hardware, how else can he add Puppy support for it?

Hi, good job.Works perfect just fonts too big and
during using cdrecord losing fonts at some places.

Is anyone else having trouble with USB thumb drive installations (using the Puppy wizard) and 2.12beta2? I'm getting kernel module errors early on in the boot process, and then the usb device cannot be found so the OS load hangs.

The shortlist is shrinking 

The shortlist that I made up for 2.12BETA2 is almost all done. Now I will do some testing for a day or two.

There was a bug in PupGet, I'm surprised noone reported it. I chose to install 'opera-9.02_STATIC_QT' package, but PupGet installed two packages, 'opera-9.02' and 'opera-9.02_STATIC_QT'. The script looked for packages of the correct name and accepted any name with a subset of the full string. Fixed.

When I release 2.12BETA2 I will also release 'devx_212.sfs' and the patched kernel source, so if anyone wants to try and compile the rtl8180 driver then go for it. Though probably the kernel source will not be required as the 'devx_212.sfs' module has the kernel header files and config files.

I got to play with the tarball of openoffice_cutdown.tar.gz because it won't install via pupget (in 2.10+ ?), and MU was kind enough to help me with installing it directly - the result is an openofc.sfs that I used with barebones 2.00 (that in turn has Opera9.02_static_qt on it).

Barry, a couple questions:
1. Is there a way that Puppy could get to use the vanilla kernel sans patches?

2. Exactly which version of the r8180-sa2400 driver did you have your bad experience with? You didn't accidentally type "make disaster" did you?

The kernel in Puppy has the minimum number of patches and Puppy will not work without those patches. Well, the squashfs patch anyway. There are only two other patches, adjustment of the default loglevel and a shutdown fix for Via chips and these are extremely minor patches. So, the kernel in Puppy is virtually pristine.

As I commented, I tried the same rtl8180 version as provided on the forum, exactly same tarball filename except that I downloaded it from somewhere else.

Thanks Barry, when you make the devx_212.sfs available I will see if I have any luck building the r8180-sa2400 driver.

Regarding the patches, it would be reasonable to expect that squashfs and the VIA patch will make it into the kernel tree at some stage, not so? And the loglevel can be set at boot instead of in the kernel.


Artie (arthur.engh<at>gmail.com) 
Since you mention Opera when I install it the fonts in the bar on top of the screen with File Edit etc are ugly. That got anything to do with version or anti-aliasing or anything you can do? Which version and from where do you recommend? By the way, thanks for Puppy. Fiddling with it takes up a lot of my spare time and has almost become an obsession...

Ted Dog 
As to kernel question. I found it easy to upgrade kernel in a full install of 2.11 to HD. I was testing patches to fix UDF packet writing on 2.6.19 RC3 - mm version. Puppy init scripts only needed a single correction. I think the new ideas Berry has like the zdrv.sfs are as genuis as the multisession to CD-R was to the early 1.01 series. I currently can switch back and forth between bleeding edge but plain kernel (no unionfs or squashfs: no need on full HD install) and kernel for 2.11

Barry, in the past I had problems of PupGet removing some of my packages that had similar names to built-in packages and I remember Nathan pointing out that PupGet searches for a string and doesn't expect a full-word match.
That means that "my-program-1.0.0" would have been found when searching for "my-program"
I assume this is what you fixed?

One request for the new Puppy: please add the application "paste".
It was there in 2.00 and is gone in 210!

I can't even remember what 'paste' is. Something to do with the clipboard I suppose. But, where did I get it from?

jorma p (jorma.piiroinen<at>danpat.fi) 
Driver for Intel 3945 wlan?

I think "paste" is one of the core-utils. It takes two files and outputs them as one file with two coloumns

Barry Kauler 
I don't recall putting 'paste' into an earlier puppy... maybe it got into a "devx" file? ...yeah, probably that is what happened, as the old pre-T2 devx file was constructed in an ad-hoc fashion, mostly just heaps of files dragged from Vector.
Whatever, yes, it is in core utils and it is only 15K, so why not... it will be in 2.12final.

Test post, using HV3 alpha13.

More kernel modules compiled 

I have compiled the sis7019 sound driver, Linux-wlan-ng (USB only) and rt73 drivers.

The sis7019 driver is needed for the Norhtec MicroClient Jr. The chip is 1039:7019. Note, there is already an ALSA driver, snd_trident, for chip 1039:7018 and I wonder if that would work on the 7019 chip.

The Linux-wlan-ng and rt73 are wireless networking drivers and they also have associated firmware and executables that I have included in the "zdrv" file.

I attempted to compile the rtl8180-sa2400 driver, but failed. It was weird, running 'make' caused the entire source directory to self-destruct -- totally erasing itself -- I breathed a sigh of relief that it's destructive urge was contained.

Mr Doolie 
While you are compiling, please add support for Core Duo CPUs (i686?).
I read that using a 386 kernel will burn out the motherboard because only one CPU will be taking all the load.


I've posted the source for the rtl8180-2400a here:


I compiled it in 200 and 202.

Note, the 'modprobe' script in 2.12BETA has a few bugs. It should not matter if you do 'modprobe -vn snd-trident' or 'modprobe -vn snd_trident' -- modprobe treats the '-' and '_' as equivalent. The 'modprobe' script in 2.12BETA does not have that independence, so you have to type the exact module name, in this example:
# modprobe -vn snd-trident
...this will fetch the module and all it's dependents and you can then load it and find out if it works for the Norhtec PC.

The tarball that I tried to compile has the same filename as your download.

Barry, you wrote:

"I attempted to compile the rtl8180-sa2400 driver, but failed. It was weird, running 'make' caused the entire source directory to self-destruct -- totally erasing itself -- I breathed a sigh of relief that it's destructive urge was contained."

This sounds ultraweird. I've built this driver under stuff like Vector before now, and taken no casualties in the process.

It's also bad news, masses of wireless cards use the RTL8180 and RTL8185 - I have 3 here. I would be sooo delighted to have them working "out of the boot" with Puppy.

Aside to Mr Doolie (if that is your real name : I have often run Puppy on single processor machines without burning out the motherboard, sounds like someone has been pulling your leg.

Interesting 'feature' of echo 
I am still debugging the full h.d. installer.
The /etc/rc.d/rc.sysinit script has this line:
mount /proc

But at bootup it causes an error message that /etc/mtab cannot be written to as it is a read-only filesystem.
So, I changed it to this:
mount -n /proc

The '-n' option tells mount not to write to /etc/mtab.
But, I still got the error message.

Hmm. /bin/mount is my script, a wrapper for the normal 'mount' executable. So, I examined the script, and that was when I discovered something that astounded me...

How often I have put 'echo "$@" | ' into a script to pipe the commandline through for further processing. What is the commandline in the above example: '-n /proc'.

Create a little script to test this, call it 'test.sh' and put this in it:
echo "$@"

then run it like this:
# ./test.sh -n /proc

...what output do you expect? ...compared with what you get?

Now modify the script:
echo " $@"

And test again:
# ./test.sh -n /proc

...hmm, can you explain this? It works the same for Busybox echo and full echo.

Okay, I fixed the bug for my 'mount' and 'umount' scripts, but I wonder how many other scripts are potentially broken.
echo has other options, '-e', '-E' (and the full echo also has '--help' and '--version') -- can these also potentially cause trouble?

Ted Dog 
-n is for drop the newline.
echo "$USER's current directory is $PWD"
echo -n "$USER's current directory is $PWD"

SYSV3 environmental variable controls this behavior in some unix versions


Ted Dog 
if [ "X$1" = "X-n" ]; then
echo " $@"
echo "$@"

Ted Dog 
That should be:
if [ "X[i][b]$[/b][/i]1"=

Ted Dog 
if [ "X[b]$[/b]1" = "X-n" ]; then
echo " $@"
echo "$@"

Bill St. Clair (billstclair<at>gmail.com) 
echo "$*" does the trick.

With echo "$@", your command line is equivalent to:

echo "-n" "/proc"

With echo "$*", it's the same as:

echo "-n /proc"

The former has two args, the first of which is -n, which is interpreted by echo as "do not output the trailing newline". The latter has one arg, the entire string that you want echoed.

See: http://www.gnu.org/software/bash/manual/bashref.html and http://www.die.net/doc/linux/man/man1/echo.1.html

I always wondered what the difference was between $@ and $*. Now we all know.

i'm not exactly sure what you are trying to do, but i think in your example, you are trying to make test.sh behave like echo ... in other words it is a wrapper script

i would expect

echo "$@"

to work most of the time ... what "$@" does is the same thing as "$1" "$2" "$3" etc etc, normally delimited by spaces, and the variables are processed so that unnecessary leading and trailing spaces are removed
in other words,
test.sh -n /proc
would be the same as
echo "-n" "/proc"
echo -n /proc

echo " $@"

would probably not work
this would be the same as typing
echo " -n" "/proc"
because the space is in a quoted string, ash/bash thinks that the space is significant and does not strip it out, so the string " -n" gets printed as a string

echo "$*"

would not work either ... this is the same as
echo '-n /proc'

if you want to be really really sure that the variables are working the way you think they should, you could write the script like this:

echo "$p1" "$p2" "$p3" "$p4"

this does about the same thing that "$@" does

it can really help to run a script with the debug option:

sh -x test.sh
or bash -x test.sh

(sh and bash behave slightly differently)

that's how i found out that gettext was converting utf-8 strings to iso-8859-1 strings in my dotpup script

there probably should be a wiki page created for tips and tricks

for example, Busybox's pidof, killall, and which, do not work properly if there is a file or dir in the working dir, with the same name as the executable you are trying to find/kill ... this can cause bugs that are hard to find

ok, where you see "" "" "" etc etc i wrote "dollar-sign1" "dollar-sign2" etc etc ... and p1="dollar-sign1" etc etc

Barry Kauler 
Yes guys, I fully understand what '-n' means to 'echo. G2 came the closest to ansering the question, which was why it made a difference doing 'echo " <dollar>@"' or 'echo "<dollar>@" -- that is, with or without the space. Still, I'm really bothered by this.

Also, G2, your solution does not work. The same problem exists. 'echo "<dollar>P1" "<dollar>P2" etc' will still treat the first param as a option for echo if it is '-n'.

I think we need a wrapper for echo that makes it behave "properly". The error is in the bash interpreter when it does the substitution of "<dollar>@" -- you can do 'echo "-n /proc"' in a terminal and it behaves properly.
The double-quotes should be telling Bash to treat everything within as a string and not behave differently if there is a leading space or not.

Barry Kauler 
Hey, Bill is right! $* fixes it!

You have two options, right? Make a wrapper to globally modify the behavior, or find every one and fix it?

You can always delay the release if you want, to ferret these things out.

I looked for "$@" with Turma , found 13 items in /bin with it (Busybox had 91 instances). In etc there were piles of them, at least Turma said so.

Problem with changing "$@" globally, is there may be some scripts where "$@" is used legitimately.

Another thing to do would be to leave it for a 2.13 project. We've survived a long time with this; should be able to go one more release.

Here is the official info, from the Advance Bash Scripting Guide, http://tldp.org/LDP/abs/html/internalva

All of the positional parameters, seen as a single word


"$*" must be quoted.

Same as $*, but each parameter is a quoted string, that is, the parameters are passed on intact, without interpretation or expansion. This means, among other things, that each parameter in the argument list is seen as a separate word.


Of course, "$@" should be quoted.[/pre]
But, this still does not anser the question why that space makes a difference.
Anyway, it looks like I will have to fix some scripts, replace $@ with $*.

[quote]this still does not anser the question why that space makes a difference[/quote]
as i said, "-n" is treated as an echo parameter option ... "<space>-n" is treated as a string to be printed ... the leading space makes bash think that it is a string, not a parameter
that is:
"-n" = -n = a parameter
" -n" = ' -n' = a string

whether you would use "<dollar>@" or "<dollar>*" depends on whether you want "-n" to be treated as a parameter or as part of the string '-n /proc'

running sh -x test.sh shows you what bash is thinking as it expands variables

Thanks G2, yes, that '-x' is helpful.

Ken Yap 
The solution is simple, in your wrapper script, when you echo $@ to a pipeline, do:

echo '' "$@" | ...

This makes the empty string the first argument to echo and prevents any interpretation of leading hyphens in $@

That guide noted, "The $* and $@ parameters sometimes display inconsistent and puzzling behavior, depending on the setting of $IFS."

I tried to see what $IFS defaulted to with "echo $IFS|cat -vte" but got nothing. Same result if I set it to " ".

Release schedule for 2.12 

I'm putting together a final to-do list and thinking when the final 2.12 can be released. Version 2.12 is basically "frozen" now, nothing new except for the following:

1. I have improved the h.d. install, need to test it.
2. A few more kernel drivers to compile for "zdrv" file.
3. *Maybe* recompile kernel with Ted Dog's Via patch.
4. Bill's hotplug fix to make some drivers work.
5. Update Jason's apps to latest versions.
6. Apply Dougal's patch for man script.
7. Improve edid handling in Xorg Wizard.
8. There's a bug in pupget, fix that.

This morning I worked on the full h.d. installer, fixed a couple of bugs. Also fixed a subtle bug in rc.shutdown that pakt discovered -- thanks for that.

Anything more than that will be targetted for v2.13.

If no serious hiccups, the above should take me another 3 - 4 days, so expect 2.12BETA2 by the end of the week. I would like to get the final out promptly, so I propose we do a very quick testing of BETA2, just a couple of days ...if nothing serious is discovered then 2 - 3 days after, we can release 2.12final.

well, if you like, you could put my latest dotpuprox.sh script in 212 beta2 ... i only changed MSG=gxmessage to MSG="gxmessage -encoding utf-8", and added a couple of quote marks that i thought should be there, so i don't think i introduced any bugs

if Puppy does not come with gxmessage already installed, it would not matter much anyway, because it could be installed when the language files were installed (so far, just de and fr)

the only thing i changed was the dotpuprox.sh script ... i have a package for translators here:
the package installs gxmessage in my-applications/bin, but it also installs (without registering with pupget) /usr/local/share/pixmaps/gxmessage.png and /usr/local/share/locale/*/LC_MESSAGES/gxmessage.mo

so you might prefer to just unzip the dotpup package somewhere, instead of clicking it to install the package

or i can upload just the script somewhere

John Doe 
I don't know if anyone has mentioned this, but I noticed the gxine/mozilla plugin was broken.


i found that the dotpup handler script was cheerfully converting UTF-8 text to ISO-8859-1 ... so i had to put this line in the script:

export OUTPUT_CHARSET="utf-8"

so i uploaded a new version with this change ... it seems to work properly

it might be easier to use "MU's method" of sourcing homemade lang files to import message translations ... it's not as powerful a tool as gettext, but it would be easier, and would require no dependencies

the dotpup script with gettext support was an experiment ... so far, it's seems to work properly, but it hasn't been extensively tested ... it should work in English anyway

the connect icon which launches the dialup modem utility doesn't
work for me. I tried both a Lucent modem (using the ltserial driver)
and a serial external modem. While wvdial works (at least it can
connect) the gkdial doesn't work. It cannot connect and I can't
hear the modem dialling. I do not know any alternatives other than
kppp I used to use under SUSE. The other problem with wvdial is
that 6-7 seconds after it gets connected it hangs up saying
connection lost exit code -2, examine files in /var/log and
it tries to dial once again. But it can't stay connected.

Hope there is really a bug in there,
and it is not a problem related to
my hardware!


i added [b]export OUTPUT_CHARSET="utf-8"[/b] because it seemed to be necessary to prevent gettext from converting text from utf-8 to iso-8859-1

then it occurred to me that this might cause trouble for the dotpup.sh script in the dotpup package when it is run ... or not ... so just to be safe, i unset the varariable before calling dotpup.sh

then it occurred to me that maybe, that variable might be set to something, and that unsetting it might not be a good idea ... so i unset it, then i export the original value, but only if there was one

so i think that should work ... i have only made minor changes to the script to get it to display utf-8 text properly ... the changes should not have affected English (ascii/ansi) text

so if you want to put the newest version in 212beta2, i uploaded it to the forum ... and there are de, fr, es, ja, and it translations, if you want them

if you don't want to put in the newest version, it's easy to install from a dotpup package, so it's not really important

doc (edoc7<at>verizon.net) 
"it might be easier to use "MU's method" of sourcing homemade lang files to import message translations ... it's not as powerful a tool as gettext, but it would be easier, and would require no dependencies"

May I say that this was music to my ears?

After Stormix, SuSE, RedHat, Debian, and others I grew impossibly
frustrated with endless dependencies.

The degree to which Puppy avoids dependencies at every possible
turn is the degree to which it remains a) more easily understood
and maintained, b) less vulnerable to obsolescence because of
changes elsewhere, c) less complex to the new or less-technical
user, d) smaller, e) more stable, ...

Just had ot say that and THANKS! I sure appreciate all of you and
wish I had the technical skill to assist other than via testing and
breaking things!

I will load 2.12BETA on a desktop here, frugal of full HD install as
you prefer, and try to break it. Lemme know.

doc in Florida

Wait for BETA2, it will be out soon.

Refined handling of NTFS partitions 

These days we have full write access to NTFS partitions, courtesy of the ntfs-3g driver. One problem we have had though is ntfs-3g will not mount a NTFS filesystem if it determines that it is 'dirty'. The most common cause of a 'dirty' NTFS f.s. is failing to shut Windows down properly -- unfortunately I know of cases where people are unable to shutdown properly so they have no choice in the matter -- in their case the Windows installation needs to be repaired or reinstalled.

Anyway, the ntfs-3g driver can be forced to mount a 'dirty' f.s., so I have done this as a fallback in my mount script, but a warning message will popup. My 'Pmount' drive mounter utility (see File managers menu) uses 'mount' to mount partitions, so you will get the warning.

A 'dirty' NTFS f.s. is a problem at first shutdown when choosing a partition in which to create the pup_save.3fs file. previously, a dirty f.s. was rejected, but now it is available but a warning message is displayed, advising not to use it and to fix it first. The rc.shutdown script in /etc/rc.d has been modified.

Barry Kauler 
Just a little note about my new Acer Aspire laptop: it came with XP Home preinstalled, but ...and this is what really surprised me... it is a FAT32 filesystem.

I too noticed this on 2 Acer laptops earlier this year.
My belief is that Acer may have had warranty problems,from
XP being harsh on hard drives, so they went Fat32.
Anyway it makes it simpler for ordinary bods
to boot a Win98 bootdisk and fix things if there is a problem.
The great thing with recent Puppys is being able to copy files
from the first hidden partiton if needed.

I have purchased two Acer [b]desktops[/b] earlier this year. Both had similar configurations. Must be current Acer policy.

Paul M

Ted Dog 
How does multisession DVD work on the laptop? laptops are very problematic with older HW and DVD (CD) multisession on reboot.

Barry Kauler 
I haven't tried multisession on my laptop yet.
One thing though, the DVD-burner drive is specified to handle dvd+r, dvd+rw and dvd-rw, but [i]not[/i] dvd-r.
All of my testing so far has been dvd-r's as that's what I bought a bulk pack of. Now I have got as far as purchasing 50 dvd+r's but not yet done any multisession testing with them on my laptop.

Gxmessage now in Puppy 

GuestToo has been suggesting that Gxmessage be included in Puppy, and has been patiently reminding me about this every now and again.
I did look at it way back, don't recall when, but I think that I wasn't entirely happy with it. But, the latest version 2.6.2 looks really good. It's a GTK2 clone of 'xmessage' (which just uses the XLIB library) and has a very high degree of compatibility plus some extra features.
It's very small and the antialiased fonts plus the enhanced features really do mean it's the way to go. In other words, take it that from Puppy 2.12 onwards gxmessage will be there, so scripts can be written assuming that.
There will also be a help document, just type "man gxmessage".

Looking at the gradually improving appearance of Puppy, now with JWM and GTK2 apps using the Bitstream Vera fonts, and the possibility of migrating xmessage-based scripts to gxmessage, the one thing on the desktop that is starting to stand out as lagging behind -- is Rox-Filer.
The most immediately noticeable thing is the non-antialised text underneath the desktop icons.

Well, I won't do anything about Rox-Filer for 2.12 as that is really frozen now. But for 2.13 I am prepared to take a look at upgrading Rox-Filer -- is there are recent DotPup and notes on installation and caviats for Puppy anywhere?

Has anyone tried IDesk in Puppy?

Pizzasgood did extensive testing of 2.4 of Rox for Puppy 1.09CE
. . . as expected it was too slow

Note there also is a "hacked for Puppy" (by Nathan Fisher and others) version of Xdialog2.
Forum is down, but program available:

Works with PupGet!

I use it as default in Muppy, seems to be very stable


for simplicity, i used xmessage/gxmessage to display messages in the dotpups script ... i added language translation capability (as an experiment) using gettext, but xmessage does not seem to support utf-8 ... so i would either need to use gxmessage for translated messages, or rewrite the script to use gtk-dialog or similar program that does support utf-8

i don't remember whether i said anything about MS core fonts or not ... i think they were created by Bitsteam anyway
i think the license allows them to be used for public use, but i don't know if the license allows them to be included in a distro in a ready-to-use form ... it would be easy to write a simple "import fonts" wizard ... KDE has an import fonts wizard

the latest stable version of Rox filer is 2.5 ... there's a dotpup package on my dotpups page ... http://puppylinux.org/wikka/DotPups
but it is hosted on John Murga's forum, which is down right now ... i have a copy of the package on my hard drive, if it's needed

Rox 2.5 is prettier, with antialiased fonts for menus, file names, and desktop icons ... the desktops fonts are more configurable (size, type, colours) and are antialiased ... the wallpaper is easy to configure ... you can click anywhere on the icon, including the invisible background (with Rox 1.2, you have to click on the foreground of the icon) ... the menus are antialiased ... there are extra features, but Rox 1.2 has most of the basic functions that 2.5 has ... Rox 2.5 displays recently modifed files and dirs in bold text, which makes them easy to see and find ... app dirs have more features, like support for translated menus and Summary (tool tip) and About (properties) etc etc ... for example, in the Rox 2.5 menu (right click the icon) you can enable/disable the pinboard:

<Item option="-p=/root/Choices/ROX-Filer/PuppyPin">
<Label>Enable pinboard</Label>
<Label xml:lang="hu">Pinboard engedélyezése</Label>
<Label xml:lang="es">Habilitar el pinboard</Label>
etc etc

another feature is that desktop icons can be add/removed from a script using SOAP (simple object protocol)

in short, Rox 2.5 is prettier and has many nice features, and is not much bigger than Rox 1.2 ... i have Rox 2.5 installed on Puppy 212B, the executable is 192k, Rox 1.2's executable is 312k, but i upx'ed the 2.5 executable so that is not a valid comparison

but Rox 2.5 requires the shared-mime-database ... the entire database does not have to be distributed with Puppy, just the package configuration files, because the database can be built from the config files ... the config files are about 673k, but gzipped they are about 99k

so Rox 2.5 is bigger, but not as big as you might think

Rox 2.5 is a little slower than 1.2, but not much slower ... there is very little difference in speed on my 900mhz machine, hardly noticeable ... maybe a 1/4 second slower popping up a Rox window when clicking on the Home icon, and no noticeable difference when actually using Rox

one caveat ... Rox 2.5 has a nice easy-to-use and very configurable background setter ... but it takes over the desktop background, and you can't disable the feature ... it uses a higher level than the root display for the background, so other wm's or programs might set the wallpaper, but you will only see Rox's wallpaper, and if you run aterm with pseudo transparency, it will show the root background, not Rox's background ... this can be confusing, especially to a newbie ... i think MU's wallpaper setter automatically sets the root display and Icewm's background and Rox 2.5's background all to the same wallpaper anyway, to avoid confusion

bottom line: Rox 2.5 is nicer and has some useful features ... it's a bit bigger, but not as large as you might think (my dotpup package is about 596k) ... a little slower but not significantly slower (well, i haven't tried it on a 33mhz 386)

my dotpup package installs to my-applications and /root (shared-mime-info), is easy to uninstall (right click the icon to uninstall) and does not interfere with Rox 1.2 (you can use them both at the same time, for example to compare windows) ... my package is hosted on the Murga forum, so is not available while the forum is down, but i have a copy of the package if you want to try it

if you compile your own, i hacked the source slightly, 2 trivial changes ... i disabled the Running As Root message, and i disabled the window that pops up complaining if you use the -o option

also, Rox 2.5 supports UTF-8 text, for file system names and icons and menus ... and it has built into language support for a lot of languages

yes, my backgroundsetter sets:
1.) the rootwindow (that is visible if you use JWM/Rox 1.2)
2.) it also saves the background inclusive all modifications like scaling/tiling as /root/Choices/ROX-background.jpg and restarts Rox 2.x to force it to use it.
Rox 2x has a less "brutal" method of setting the background from external programs, but afaik that requires Python.
3.) If available, it runs wmsetbg with this saved picture.
This is required by fluxbox or xcompmgr (shadows for windows).

Rox2x would be a good choice because of UTF, so that it could display vietnamese/russian etc.

The cons are that it uses a clientwindow as background, covering tools like Torsmo (though there are hacks I think, but they also might require Python, don't remember exactly).
But while there might be hacks for some programs, it gets problematic with other windowmanagers like Enlightenment, that uses its own clientwindow.

So for Muppy, I will stay with 1.2, but add a program that allows to Rox 2.5 from GuestToo in the Toolbox, with hints about the pros/cons.

So anybody who wants to tweak his desktop is not hindered by Rox 2x, but all users depending on UTF have a easy way to update, if they think the standard desktop (Icewm) is ok for them.


btw., the combination of setting rootwindow and then using wmsetbg is the only way I know to use xcompmgr without a clientwindow.
All other backgroundsetters fail here, because xcompmgr seems to have timingproblems, displaying the background totally distorted.
Desktops like KDE simply work around this issue by covering the rootwindow with a clientwindow.

Concerning idesk:
I think it has no utf-support, and displays only icons.
You have no drag'n'drop or integrated filemanager, so it is out of discussion for me (because of the last 2 points).
I think one of the advantages of Puppy is the easy to understand drag'n'drop mechanism.
In this point it has even advantages over KDE, that internally uses .desktop files for Icons, making it very hard to understand for people, that switched from windows (though that concept has advantages, too).

no, SOAP does not require Python, just a few lines in a script ... read the Rox manual for the features that are supported (Rox 1.2 supports SOAP too)

yes, rox 2.5 takes over the background whether you like it or not, and whether you use the pinboard or not ... and this can interfere with other programs (wms especially) that try to control the background too ... this is Rox 2.5's most annoying feature

i don't use Torsmo, and i usually run Icewm, so i have don't have problems with Rox 2.5

the Rox developers really should allow you to configure Rox so it will not try to take over the desktop, but there seems to be no political will to do that

Rox 2.5 and Rox 1.2 can be installed at the same time, and can even run at the same time (you can have a Rox 1.2 window and a Rox 2.5 window on the screen at the same time), if anyone making a Puppy flavour wants to include both versions in their iso ... they should not interfere with each other (but i've never tried running both pinboards at the same time ... i think Rox 2.5's pinboard would just cover the 1.2 pinboard)

that's interesting.
In the past, I had problems, that Rox 2.x converted some XML-files to a newer version, breaking v1.2.

I will try to add it to Muppy in the next days in addition to 1.2.
Now off to work.
Thanks, Mark

gdcrane (gdcrane<at>bellsouth.net) 
My vote would certainly go to Rox 2.5

I usually like to use a newer Rox (used ro be 2.4, now 2.5) especially because of the UTF support, but also since it gives you some more config options (like setting the number of items at which display changes to small icons).

However, I must disagree with G2 and admit it's much slower -- it's just unnoticed when it doesn't have to do a lot of work...

On my 450MHz machine entering /usr/lib can leave me waiting for 5-10 seconds before I can do anything.

I'm not saying this is unbearable, especially since you don't normally have to go to directories like that, but it's a matter of what your priorities are...

Barry: A few weeks ago I had the idea of possibly improving pupRox. I thought of looking for the versions where various options were implemented and trying to insert them into pupRox and see if I can make them work. I haven't gotten around to it (downloaded a whole lot of changelogs from sourceforge though...), but maybe that's an idea to use? Maybe you can't implement the antialiasing without GTK2 or something, I don't know, but it might be worth looking up.

What about porting other GTK1 apps in Puppy to GTK2?

I think maybe 2.13 could be named "face-lift" or something and have us concentrate on making Puppy look better.

Better idea: maybe WE will handle those kind of things and make you suggestions and you (Barry) just sit back and choose what you want to add? (If MU cooperates with me we might have something for you soon.)

I'm sure Barry's Famous Notebook has plenty of things listed in it that need to be taken care of...

Hey, Dougal, this shows in Barry's dictionary: "sit back - not found".

Am excited though by the new Guten printing (formerly gimp-print).

As to alternative to Rox, will Emelfm2 be good? http://www.murga.org/~puppy/viewtopic.p

Last time I looked at IDesk it was not activelly developed. I liked it, it is light and out of your way but as was mentioned no drag'n drop is a big drawback.

As for Rox look and feel, with some minor modifications It looks quite better:
- Change the Icons
- Change the GTK theme (fonts and colours)

These changes should not add to much to the base Puppy size and may be worth it.

Rox 1.2 puts the config files in /root/Choices ... Rox 2.5 puts the config files in /root/.config/rox.sourceforge.net ... so they play well together now

they both use PuppyPin in /root/Choices (called from .xinitrc), but that seems to be ok

if you put both versions in Puppy, they should probably both be put in /usr/local/apps/ ... maybe renamed ROX-Filer2 or something

it's /usr/local/bin/rox that controls which Rox would run by default (my Rox 2.5 program reinstalls /usr/local/bin/rox everytime it runs)

it's quite possible that Rox 2.5 is noticeable slower on slower machines ... i suspect there is a point where an increase in cpu speed will not have much effect, because the bottleneck is no longer the cpu speed but something else, like the hard drive speed

also, i usually run Rox with thumbnails disabled, which is faster if there are many pictures in the dir ... with Rox 2.5, you can just right click the Show Hidden icon to see the thumbnails ... with Rox 1.2 you can just press the T key

anyway, John's forum seems to be back online, so you can try my dotpup package for yourself if you like ... just edit /usr/local/bin/rox to make Rox 1.2 the default rox again ... or uninstall my package by right clicking the roxapp icon ... or just rename the roxapp temporarily

Something worth checking:
I was just looking through the Rox 2.5 code, thinking of maybe hacking it to solve the backdrop problem, when I discovered the following comment (line 2474 in pinboard.c):
"Also update root window property (for transparent xterms, etc)"

Could it be that they've fixed the problem we had with 2.4.1?

Rarsa: I've been working on improving the looks of GTK1... ;)

A consideration about to speed: Anything you install will not be in the ramdisk. Rox 1.2 is. That means it has an automatic advantage over anything you're testing. When you remaster with the newer Rox it makes a noticeable difference (or at least it did with 2.4 in 109CE). In addition to anti-aliased fonts, it also has much much better icon support. It can use more formats, and they anti-alias nicely.

The conflicts with some programs are the only reason I'd discourage it. I don't know if it would be worth including in the standard Puppy because of that.

That said, one of the first things I do when installing Puppy is install the newer rox package, even on my old 450MHz system.

I don't know if updating everything to GTK 2 would be wise. From what I've heard, GTK 2 is much slower than GTK 1. There are themes for GTK 1 that look quite nice. I usually use smooth-peachy-clean, which has a version for both and gives my system a very unified and slick appearance.

Jason Pline 
My 2 cents on the patched gtk2 xdialog and gxmessage, I've been using both for at least a month now. I made xmessage into a symlink to gxmessage and haven't noticed any problems. The only potential problem with the patched gtk2 xdialog that I've noticed is the directory selector records the directory as /path/to/directory and the gtk1 version records the directory as /path/to/directory/
That shouldn't be a problem unless you have a script that selects a directory and then later has a file selector from within that directory. When the script would be executed in the gtk2 version it could be in a line like this:

some-command `cat selected-directory``cat selected-file`

Which would turn into:

some-command /path/to/directoryselected-file

Which would of course cause errors in the script due to the missing slash. I haven't ripped a dvd with pupdvdtool since I've started using the gtk2 version of xdialog but I think at least one of my scripts would have that issue. It wouldn't be hard to fix those sections in the scripts though. All you'd have to do is change the line to:

some-command `cat selected-directory`/`cat selected-file`

You might be able to solve a problem. PupRox is Rox-Filer v1.2.2 with support for Xft, so it has some antialised font
display. This was done for me by that Japanese guy "Teki" who also added Xft support to Dillo.
You can see the antialised fonts in the icon labels in pupRox windows. Teki also added Xft support for the pinboard so the desktop labels display antialised, however Teki did not know how to get a transparent background -- so, I replaced his modified pinboard code with the original.

The source for pupRox should be at puptrix.de, where all Puppy's source is. I put both pinboard sources in it, the original and teki's modified file, I think, so it would be easy to try his. If you can solve that transparent background problem, then we are back in business with Rox 1.2....

The other more ambitious thing would be to upgrade Rox to GTK2. The next release of Rox after 1.2.2 was a migration to GTK2 but they also migrated to that enormous MIME databse thing. If we could do the GTK2 migration but not the MIME migration...

the only part of the shared-mime-database that is necessary is 99k compressed ... uncompressed and built into the full database, it is 1368k ... that's how i get Rox 2.5 in a 500k package

the database replaces the 6k file /usr/local/share/Choices/MIME-info/Standard ... there are advantages to doing this, but simplicity is not one of them

Ah, the pupRox source is here:
It is version -- I added the extra '.1' and the official Rox-Filer that it is based on is 1.2.2.
You compile it like this:
[pre]# cd ROX-Filer/src
# ./configure --enable-rox --with-platform=Linux-ix86 --build=i486-pc-linux-gnu
# make[/pre]

Nathan Fisher 
Well I misses quite a lot in the last couple days, now didn't I? I'm really glad about gxmessage being included as I have quite a lot of scripts that were written with it (has been in Grafpup for a while now). As for ROX, I wish I could have chimed in earlier. I hacked the source of ROX-2.5 a while back, including all of GuestToo's changes and a few of my own. This version doesn't give the message about runnning as root, doesn't pop up the warning about 'the -o option is no longer used', and changes all references about 'Send To' to 'Open With', including the directory path, messages, and manual. This is already going into the next Grafpup. A source tarball has been posted here for at least a month now.
About ROX-2.5, it IS slower on an older machine, but not painfully so. I am running it on a 333mhz right now and it does OK. The more files in a directory the slower it will go. The big reason for the switch, for me anyway, is that they did fix the issues with transparency. I have it runing right now in Slackware alongside Fluxbox and all transparency works. It also works with a transparent RXVT and Aterm. There is still a problem with Torsmo, but I have had enough other issues with Torsmo that I no longer use it anyway. All in all I like it better and think now would be a good time to give it a serious look.

Barry: I could look at the pupRox code, but I doubt that I can fix it if Teki couldn't...

I think, now that Nathan has confirmed that transparency is fixed in 2.5, that you should go with it.

It also occured to me that there's another important advantage in using it: coupled with the new fonts, Puppy will now be very easy to use with UTF-8 locales!
All a user will have to do is add a .utf8 locale and they'll immediately be able to see filenames with non-Latin characters (unless they're Chinese, Vietnamese etc. which I don't think those fonts support...)

I'm working on code for the xorgwizard to allow adding additional keyboard layouts, so together with the new Rox and fonts Puppy will be much more language-friendly...

unicode does support Chinese and Japanese and other characters

Do any of you guys recall some discussion awhile back on the forum about unicode fonts? It may have involved Hacao. There were some smallish unicode fonts proposed for inclusion in Puppy, but at the time I didn't follow it up as I thought the base Puppy already had too many fonts -- but now that I have reduced the scalable fonts down from 5M to 2M I am prepared to look at this again.

Also, in case anyone knows, is there anywhere on the web that discusses the relative merits of unicode versus utf8 fonts in Linux?

Hey, brilliant intro article on fonts:

I'm one of those people who think (thought) Unicode is 16-bit characters. That comes from way back in my Windows programming days. But, that is really UCS-2.
The article also makes me realise that when we talk about Unicode fonts, it can mean all sorts of things.

Barry, I think the bitstream-Vera fonts should work ok.

G2: I meant that I don't know if the above fonts support far-eastern languages. I remember reading somewhere that some fonts don't include those due to the immense size added, so they just add the "simpler" characters for Arabic, Greek, Hebrew, Russian etc.

I'll bring out 2.12 with the Bitstream Vera fonts, but I've been educating myself reading more about unicode and utf8, and will probably improve things a bit more for 2.13.
It may be better to replace Bitstream Vera with one of its derivatives, such as Hunky fonts or DejaVu fonts as these have better internationalisation support.

JWM 1.8rc4: taskbar applets problem 
This seems to be the only problem with the latest JWM. I don't want to go back to 1.7 for Puppy 2.12, so perhaps we can work around the applet bug.

With these taskbar applets, the problems seems to be that if an applet malfunctions in some way, it affects the rendering of the applets to its right.
I discovered this when ALSA was not setup right and the volume-control applet crashed. This caused the free-memory applet to render on top of the Xload applet.

The extreme-left applet is Blinky, and this seems to be the root cause of the problems. I made a change to /root/.jwmrc-tray:
		<Swallow name="blinky">
<!-- blinky -bg gray90 -->

That is, I commented-out the loading of Blinky. I exited from X, typed 'xwin' to relaunch X and JWM, and the free-memory applet displayed okay. I then opened a terminal window and typed "blinky", then dialed-up the Internet, and Blinky displayed okay.

So, this is what we might have to do. Arrange for Blinky to start a second or two after JWM has started.

Then there is the problem that when an interface goes down, Blinky's window doesn't -- it is supposed to disappear from the taskbar. This probably needs to be fixed in the source code of Blinky -- I sent an email to the author of Blinky, no reply yet. If anyone feels inspired to investigate that, go for it.

Hey, Blinky is working properly! :-)
I'm on dialup. I disconnected from the Internet and Blinky's window disappeared from the taskbar, as it is supposed to.
Surprise! ...why were we having problems before, is it now fixed because I delayed the initial launch of Blinky?

So, I dialed up the Internet again, and Blinky's window came up ...perfect!

For anyone else experiencing a problem with display of Blinky and/or the free-memory applet squashed-up or rendering incorrectly in some way, follow the procedure that I have done, let me know if that fixes it.

What we could maybe do is create a little script, 'blinkydelayed' that has this in it:
sleep 2
exec blinky -bg gray90[/pre]
...put 'blinkydelayed' into '.jwmrc-tray' in place of 'blinky'
...haven't tried this yet.

Jason Pline 
Barry, your script works just fine for me.

Also, swap the volume-control and the free-memory applets, so the volume-control is on the right.
Watching startup closely, it seems that the free-mem applet has a window that grows (it has adjustable width, depending on how much text to display). It only just starts to grow when the volume-control window pops up on its left, which throws the free-mem window into a fit and it only displays squashed-up. reversing the order seems to fix it.

Quite possibly if JWM simply had a delay before it launches each applet, going from right to left, that would fix all the problems. If it already has a delay, it isn't big enough.

I was just about to write a bug report when I read this news. Barry, I don't want to rain on your parade, but twice now while working with 2.12beta the desktop icons just disappeared. I was left with the background image and the taskbar. I've never had this before in Puppy.

Re-starting JWM didn't help but re-starting X fixed it both times. This happened on different days and on different machines - a frugal installation on one machine, running from CD on another.

Has anyone else had this problem?

Apropos blinky, I just re-start X which usually fixes the problem.

Pakt: I'm not sure if this is the same as what happened to you, but just in case...

I was wondering about filing a bug report or maybe just asking about this on the forum:
with 2.10r1 (frugal install) I've been having occational crashes of pupRox.
Once every few days it just suddenly dies on me when I try to enter a directory in a rox window (all instances of rox die, including the pinboard).(after I restart rox I can enter the same directory with no problem, so it's not the same problem I reported to you before, Barry.)

This has happened to me with more than one pup_save file.

Kal (kirbybonnie<at>dslextreme.com) 
On blinky and freememapplet. No, that didn't work all the way for me, but making a delayfreemem with sleep 1 does. On my computer, it needs both to be delayed or it puts blinky right over the top of freememapplet.

Okay, what I have ended up with, and this seems to be working okay, is the taskbar has the applets in the order:
blinky - freememapplet - volume-control - xload -time
and I have put a 1 second delay for starting freememapplet, and a 2 second delay for starting blinky.

I haven't had a problem with blinky. Add the wireless module, remove the module, blinky comes and goes, no problem.

Wonderful new fonts for Puppy! 

I have just given Puppy a total font overhaul, and along the way fixed that "squashed up" look of the text in menus, taskbar and window title-bars.

I started the investigation by looking at ~/.jwmrc, the configuration file for the JWM window manager. It uses a font called "Sans-12:regular". I found that this maps to a scalable Type1 URW font, "Nimbus Sans L", although exactly how I'm not too clear. This font has a 'condensed' and 'normal' type, but even the 'normal' looks squashed.

So, I grabbed the Bitsream-Vera and Luxi TrueType (TTF) fonts out of Vector Linux (well, that happened to be handy, could have got them from anywhere) and installed them to /usr/share/fonts/default/TTF. A few things here and there need to be adjusted so that these fonts are recognised -- there's a link from /usr/X11R7/lib/X11/fonts/ and a new FontPath entry in /etc/X11/xorg.conf. A small mod in ~/.xinitrc.

JWM and all the apps then automatically use the new TTF sans-serif font, and it looks lovely!

That's real nice, but some extra good news. These TTF fonts are about 1.5MB, the Type1 fonts are 5.0MB. But then I thought, since the TTF fonts are being used instead of the Type1 fonts, perhaps we can cutdown the Type1 fonts? I knew that the main problem would be Ghostscript, that uses Type1 fonts heavily, so I started by removing the 'Type1' directory entirely, then tried opening Postscript and PDF files in Gsview, and when it reported a missing Type1 font, I added it. I ended up with the Type1 directory just 1MB -- down from 5MB.
Gsview opens everything I have handy, but will need more testing.

The really good news is that previously Puppy had 5MB of scalable fonts, now it is 2.5MB, plus looks gorgeous!

Excellent can't wait until the next beta release of puppy.. Thanks for the hard work!

Oh yeah, I also fixed the font rendering in PupScan, my new PCI and kernel modules probe utility. It has a results display box that was variable-spacing font, when it really should have been mono-spaced.
It don't know how to apply a 'gtkrc' theme file to just one instance of gtkdialog, so did it in a really crude way -- modified /etc/gtk-2.0/gtkrc so that the display box uses a mono font, then 2 seconds after gtkdialog starts, gtkrc is changed back to what it was before.

I had no trouble in the past to use a seperate GTK-theme in Xdialog...
I don't know the exact visual output you're trying to get, but maybe this can be an option ?

Barry, if I'm not mistaken Bitstream Vera are the fonts I've been adding to Puppy for ages for a different reason: UTF-8!

So it seems Puppy now comes with UTF-8 fonts!

Dougal, that's great, another bonus!

Pakt has discovered something interesting:
...an incorrect font spec in .jwmrc.

gdcrane (gdcrane<at>bellsouth.net) 
Fonts are one of the things I have had to modify in my customization of the distros , and removing the Type1 and adding Bitstream is exactly what I do - so this is great news as it saves me one step

Thanks Barry

I' ve been installing Microsoft Truetype fonts in all my
Puppy installations. It is very easy to do so. I just need
to copy the folder corefonts from gentoo or FreeBSD to the
corresponding /usr/share/fonts folder of puppy and update
/etc/X11/xorg.conf. I do need that for being able to read
greek properly when I am browsing. The folder corefonts is 5.7MB
but it worths the trouble. If you are thinking seriously
of adding new fonts to puppy then I believe that Microsoft
truetype fonts is the best choice to make because they not only
look great (no one can doubt that) but they also enhance the
compatibility of abiword with Microsoft Office since. It happens
that .doc files written in Micorsoft Office they are very ugly when
opened from Abiword or Open Office under Linux. This issue is fixed
when one installs Microsoft Truetype fonts in Linux.
So please, think seriously Microsoft Fonts as an alternative and
as it concerns the size of puppy you can cat down some applications
like vector graphics and stuff like that that are rarely used.

Let me suggest something nice which will help you decide which
applications to keep in puppy and which to drop. Create a web-page
with all puppy apps included in the main puppy iso, and let puppy
users vote which they mostly need. Unti lChristmas it will be very
easy for you to decide which apps should be included in the final
puppy version and which should be added as an extra .pup file.

Best Wishes ...

good news :)

updated here

Related to fonts in Seamonkey the default font is a serif one (yuk) and I always have to change it to sans serif (Nimbus I think) If you recompile or alter Seamonkey please bear that in mind - it is one reason people prefer Firefox

On a separate issue. John Murga was logged into the forum earlier The forum seems to have speeded up (to early to tell) . . . hope it has . . .


Serif vs sans serif is a matter of personal taste.
I much prefer serif as being easier to read. Many others do also.

Barry Kauler 
I tweaked the font selection a bit more. Put back Dingbats, Chancery and Symbols Type1 fonts, removed Luxi TTF fonts (the TTF folder from Vector has both Bitstream-Vera and Luxi fonts, but the latter seem to be repetitions of the former except don't look as good). The total size has dropped a bit more.

I also tweaked the default font selection and sizes in Seamonkey and Opera, as the Bitstream fonts render larger than the Type1 fonts they have replaced.

Lobster, perhaps we need a forum vote about serif versus non-serif default font for Seamonkey (or Opera). As commented above, it is a matter of personal taste.

Barry Kauler 
We can't put the Microsoft fonts in Puppy for legal reasons.
However, we can create /root/.fonts symlink to the Microsoft fonts if they exist somewhere in the PC and they will be automatically used -- GuestToo created some code to automatically do that at bootup, but for now it is commented-out.

See commented-out lines 334+ in /etc/rc.d/rc.local0

I commented this out as one or two people reported some MS fonts cause trouble -- but I don't recall the details.
But, this question of MS fonts keeps coming up. Perhaps we can invite people to test this -- uncomment those lines, reboot Puppy, then use the MS fonts in various applications and report back.
If we find this time that it works okay, then I will uncomment those lines.

Barry Kauler 
I just noticed, line 348 in /etc/rc.d/rc.local0:
[pre]# if [ "`mount | grep "$FNTSMNT" | grep "ntfs"`" = "" ];then[/pre]
and the closing 'fi' (line 351) are no longer needed, as Puppy now supports writing to NTFS partitions. So leave those two lines commented out.

I wouldn't worry too much about Ghostview. It has much more serious shortcomings than problems with a few fonts. Even though that acroread dotput is by now old, and too large, it is still waaaay better than Ghostview.

'Ghostview' is an old GUI viewer for Ghostscript. Puppy uses the 'Gsview' GUI viewer.
But, they both rely on the ghostscript engine, and it is not the best for PDF rendering.
Ghostscript absolutely must be working, as it is the heart of printing postscript files to non-postscript printers. So, the minimum number of type1 fonts must be there.

JWM 1.8rc4 and TkDVD 4.0.3 

I'm pleased to report that Gxine full-screen video is perfect with JWM 1.8rc4! Thanks very much to Joe for that.
There is still a problem with the taskbar applets. Blinky seems to have a bug, unrelated to JWM -- if I take an interface down, Blinky's window stays up. Perhaps this is an issue with the new kernel? I'm also getting the freememapplet squashed up sometimes -- this seems to have some connection with Blinky misbehaving, but I'm not sure. Will do some more testing.

There was some discussion about a bug in TkDVD. We were using v4.0.1. Have upgraded to the latest -- the changelog states "Add multi session CD burning suport" for v4.0.3, which was the area that had the bug, so maybe it is fixed ...um, no, I think from memory the problem was burning to multisession DVD.

"Gxine full-screen video is perfect with JWM 1.8rc4"

Does this include resolutions greater than 1024x768? There is a bug report concerning this: http://www.murga.org/~puppy/viewtopic.php?t=12018

I also had the squashed free memory applet today. First time I've noticed it. I assumed it was to do with the combined freemem and %battery gauge I had just installed, but maybe not.

Yes that Free Memory (squashing) is odd, rebooting clears the problem.
Is there any possibility it may be associated with having a desktop with something showing at the previous shutdown?
Cheers, Wombat.

Where can be found a dotpup package for JWM 1.8rc4??

ipw2200 wireless works perfectly with puppy 2.11 but doesn't with 2.12. Modules seems to have loaded (checked with lsmod) installing ipw firmware makes no difference. Wireless does not show up with iwconfig.

This is a truly amazing distro.

I had ipw2200 working find under 2.11 and then I upgraded to 2.12. It still worked. Decided to do a clean install of 2.12 and start fresh...and now the ipw2200 doesn't work and running the pup file from Bill St. Clair still doesn't fix it. HELP!

Problem solved here with ipw2200....I had to download the net-setup-2.12-3.pup file and all is well. Hope this helps others. Just google the above filename and you should be able to get the update to the network wizard.

Widescreen fixed for Intel video chips 

Ha ha, you guys with laptops are benefitting immediately now that I also have a laptop!
My brand new Acer Aspire 3681WXMi has a 14.1 inch 1280x800 WXGA LCD screen, but I could only get Xorg to display in one of the standard VESA modes. So, I was using it in 1024x768, which is very distorted. I tried putting modelines into /etc/X11/xorg.conf but it seemed they were just ignored.
After much googling I found a little program called 915resolution, created by Steve Tomljenovic, that patches the video-BIOS. If 1280x800 is specified in xorg.conf, Xorg sees that it is not listed in the video-BIOS as one of the standard modes, so rejects it and instead uses 1024x768. 915resolution can be used to patch the video-BIOS, but does so to the RAM-image so doesn't/can't mess with the video-BIOS-ROM, but that also means it has to be executed at every boot.

915resolution works for 845G, 855GM, 865G, 915G, 915GM, 945G, and 945GM chipsets, and I have incorporated it into the Xorg Video Wizard, /usr/sbin/xorgwizard. In the Wizard, this is executed: "Xvesa -listmodes", and the Wizard script looks for the string "Intel" and if found will run the 915resolution fix. I may have to modify this if there are Intel video chips other than those listed above.
The chosen widescreen video resolution gets placed into the video-BIOS as a mode that Xorg will read and accept. In fact, if you run "Xvesa -listmodes" after the 915resolution fix, the new mode is in the list.
My laptop has the 945GM chip and the fix works great.

The Wizard creates a file /etc/resolutionfix which has the parameters required by 915resolution. At bootup, /etc/profile will read /etc/resolutionfix and execute the fixup, so Puppy will bootup in the required widescreen.

All of the above is totally transparent to the user. Just run the Video Wizard, choose your desired resolution,and you're in business.

This is great, but have you seen anyway to fix the widescreen problem with an ATI or Nvidia card?

This is great news Barry. Nice work.

I took am interested in a similar development on S3 and ATI base wide screens.

Also, did you see my offer here: http://www.puppylinux.com/news/comments.ph


Jeff, I responded to the other thread.

Widescreen for other video chips? It's funny, but the Intel chips have been troublesome for us, now I've got it working real nice and now the other chips are a problem, for widescreen anyway. It should be possible to create a modeline ...the Xorg Video Wizard does have some code for doing that. But, my very limited experience with modelines in the xorg.conf file has not been very encouraging.
At this stage, it's open for anyone with widescreen LCD to work on a solution and let me know.

Barry, I don't think the other video chipsets are quite so difficult with widescreen modes. On my 1280x800 laptop with nvidia chipset the xorg.conf does not contain any "modeline" entries, and the Screen section simply contains entries like:

Section "Screen"
Identifier "Default Screen"
Device "NVIDIA Corporation NV17 [GeForce4 420 Go 32M]"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x800"

So it looks like the nv driver can handle the 1280x800 mode natively, without needing a modeline. It probably does this by reading the clock timings straight off the chip, but we need not worry about that.

Firewall fixed 

There have been reports that the firewall does not work in 2.12BETA. I found the problem, it is the way that the Linux-Firewall script works, /etc/rc.d/rc.firewall. Only some of the required modules get fetched from the "zdrv" file, so the firewall runs but is crippled.
I solved the problem by copying all of the 'ipv4' and 'netfilter' modules into the 'pup_212.sfs' file, so they don't have to be fetched. For any modules that are essential, there is no point having them in the "zdrv" file, and these firewall modules are certainly in the essential category.

For 2.12BETA, you can manually fetch all the required modules. If you only need the firewall configured at its default setting, no manual choices, then before running the Linux Firewall Wizard do this:
# modprobe -vn ip_tables
# modprobe -vn ip_conntrack
# modprobe -vn iptable_filter
# modprobe -vn ip_conntrack_irc
# modprobe -vn ip_conntrack_ftp
# modprobe -vn ipt_REJECT
# modprobe -vn xt_state
# modprobe -vn ip_nat
# modprobe -vn iptable_nat
# modprobe -vn iptable_mangle

That will fetch, but not load, the required modules.
Then run the Wizard.
It worked for me, the firewall is running right now.

Anyway, 2.12BETA2 will have all the filter modules in the pup_212.sfs file so the problem will go away.
Yes, there are quite a few issues to resolve, so I will probably have to bring out a BETA2 for a quick check before the final release.

gdcrane (gdcrane<at>bellsouth.net) 
that did it Barry - that was the only real issue I had encountered - otherwise its is looking good so far
great job as always

Ted Dog 
One of my three VIA C3 800Mz machine errors with this same bug listed here.
found in v2.12beta1, so FYI it is NOT a puppy compile bug.
But it kills the use of one of my computers

Ted Dog 
fixed here

Bill St. Clair (bill<at>billstclair.com) 
I had a similar problem with the VPN software I use. I had to "modprobe ppp_async" to make it work.

Ted Dog, I've downloaded the patch, hopefully will be able to apply it before 2.12BETA2.

Bill, I have placed the 'ppp' modules into pup_212.sfs, so they don't have to be fetched. This should fix the dialup-related problems.

My new laptop! 

Finally, I have saved up enough pennies to purchase a laptop. This is a modest-spec. machine and very cheap, suits my needs.

It is an Acer Aspire 3681WXMi, with Celeron M 410 1.46GHz CPU, 14.1inch 1280x800 CrystalBrite LCD screen, 512MB DDR2 RAM, 60GB hard drive, Super Multi DVD-burner, 56K modem, 802.11b/g wireless, 5-in-1 card reader, PCMCIA typeII slot, 4000mAh lithion-ion battery, 3 USB2 ports, ethernet port, bluetooth port, SVGA output socket.

Mostly I nwanted this as I'm always on the go, moving mostly between my home and Perth (the capital city of Western Australia, about 350Km from home), plus planned future holidays. Also, for so long people have been reporting on the forum various laptop-related issues, and now I have one for testing Puppy. For example, I immediately realised that the Xorg Video Wizard does not properly support a 1280x800 LCD screen. I have a couple of PCMCIA cards, now finally I can get stuck into testing and developing PCMCIA support for Puppy.

I purchased this unit from Officeworks, it cost Au Dollars 988 with Au Dollars 100 cashback, bringing it to Au Dollars 888. But, when I went to the website there is an offer to get an extra 12 month manufacturer's warranty instead of the cashback, bringing it up to 24 months -- a genuine manufacturer's warranty, not one of those shonky extended warranties offered by retailers, so I accepted.
Let's see, Au Dollars 988 is about US Dollars 764, or after the cashback 687.
(note, this blog script has a problem with the dollar character, don't reply with any prices using it!)

Here is the Acer information page on the 3680 series (which includes my model):

In norway we have more or less 5 years warranty Though I don't think many people actualy utilize it

Chris (cthisbear<at>bigfoot.com) 
I bought similar for my daughter and my sister 6 months ago.
When you run Trojan Hunter 4.5 and 4.6 it picks up an
open port, this is because the cyberlink program is running.
Run msconfig and untick the services for Cyberlink in startup
and also services. The Diamond Security website in WA lets you
run Port Explorer 5 times to check this out. Another great Aussie mob.


Regards Chris

Acer build for loads of other companies. New toys are always fun

BradC (bradchuck<at>gmail.com) 
Great! I just got my first laptop about 3 months ago and it makes it is great to tear it out of the case and work on something when I have some time.

Working on a battery applet for us folks with laptops.

puppyfan (sun_is_rising_up<at>web.de) 
great news !.. i travel a lot, and due to airline regulations (weight), i took out the harddisk, battery and cd of my compaq armada e500. I run puppy from a usb-stick with wake2pup bootdisk, due to the age of the compaq-bios...and, of course, power-cable. The thing is, that this system is not only cheap, strong and lightweight, it also works great with no major problems. i really like puppy, it's one of the greatest OSs we have seen so far ! Thanks a lot Berry ! ... to hear that the notebook-support will be better in the future is great news. Last time in canada i had the need to use wireless internet, so i checked the forums and finally bought a d-link g630 wlan-pcmcia-card. After a few issues in the beginning (ndiswrapper), the whole system worked without any problems for 3 months. Maybe, someday we'll have a special "puppy-notebook-edition" which is suitable for travellers. This would be really good news, because life without reboots, power wasting components and notebooks that cost tons of money is not really fun, especially when you travel.

I use a compaq armada e500 (650mhz, 1xusb)...cheap,lightweight and has a strong case.
puppy 2.01 in canada, 2.11 today
256mb usb stick, 4xhub with an additional stick for data storage if needed
d-link g630 pcmcia
wake2pup bootdisk
..thats it...perfect..work can be fun


Good to hear, Barry, and I see you have now joined the i810 graphics chip family

Great news, Barry ! Two month ago I considered to buy a laptop. I went to a big laptop-shop and tried out several laptops with Puppy. But each laptop had another problem. I specify the problems, so you can pay attantion while you develop and test Puppy.

- USB-Mouse doesn't react
- Laptop doesn't boot if acpi is on
- Laptop boots with acpi=off, but the ventilator is always on maximum speed
- Laptop boots with acpi=on but the ventilator starts turning every two minutes for about 10 seconds. With windows the ventilator doesn't start turning at all.
- Widescreen-resolution (e.g. 1440x900) is not correct displayed, it's distorted.
- The laptop has only one CD/DVD-drive. If you boot Puppy from CD-ROM and afterwards remove the Puppy-CD, you can't mount the CD-drive with e.g. a music-CD.

I hope this is helpful to you.

Greetings from Germany


do you know what the recommended vertical refresh frequency would be for the 1440x900 laptop LCD screen?
The docs for my 1280x800 screen state 70Hz.

Ah no, Windows is running my laptop panel at 60Hz and the setup offers that as the only acceptable frequency.
It seems that the 70Hz quoted in the user manual is for an external monitor.
So, is 60Hz the standard for laptop LCD panels? ...seems to be after doing a quick look around with google.

Laptop panels do mostly seem to run at 60Hz, although I have one machine that prefers 56Hz.

The little Acers like yours are the best buys available in the laptop world right now. Quite portable, with enough performance to run any current linux distro.

Just out of curiosity, what wireless chipset did you get? I've seen these with Intel ipw2200 and with Atheros.

Also, quite a lot of laptops with 3 USB ports actually have only one port that is USB2.0, with the other 2 being USB1.1, so if you plug in external drives it's worth checking which is which beforehand.

All three are usb2.
Oli, yes, the fan comes on for awhile periodically, I haven't timed it. There's no problem with removing the Puppy CD after booting and using the drive for something else -- I played a video. I posted about a fix for widescreen -- at least for the Intel video chips.
Puppyfan, why not put a CF card in a IDE adaptor internal to the laptop? That way, nothing sticking out, and it's fast -- so pup_212.sfs does not have to be loaded to ram, freeing up ram space.

Puppy version 2.12BETA available 

This is not a general release, it is for Puppy-testers only. Release notes:

Download from:
http://distro.ibiblio.org/pub/linux/dis ... uppylinux/

There are a couple of known bugs. I upgraded the JWM window manager to version 1.8rc3 although it has some bugs. One of those is the taskbar applets do not display properly -- Blinky may not display and the free-memory applet may be misplaced or distorted. So, either Joe will fix this or we drop back to version 1.7.

After booting the new Puppy, if you look in /lib/modules/, you will find all the kernel modules have been automagically fetched for your hardware. This is of course one of the key features of the new Puppy. So, yes, it does mean that you could quite easily build a custom Puppy with drivers for specific hardware only (and dispose of the "zdrv" file).

As Pizzasgood commented recently, this new Puppy has become both smaller and bigger!

Thanks, Barry. Looks like a whole department worked on this, though of course there's only you out there!

For your info, there is a related discussion of 2.12-like characteristics at http://www.murga.org/~puppy/viewtopic.php?t=12285

Suggestion: please use Barry's developer forum for bugs and fixes http://www.puppylinux.com/forum/?Bug_reports_and_fixes

great great great!
i am sure that it will be another killer version!
i hope this one will run with the 64mb ram computer of my uncle so i can make it run again and trash w98!

Wow! Very cool. I booted up 2.12Beta put my rt2570 usb wifi card in, typed modprobe rt2570, the cd spun and then my module was loaded. I unloaded it and loaded it again, this time with the cd removed and it worked! Very nice. I ran my synaptics touch pad dotpup and a window popped up telling me to insert the cd to load the requested module, so I did and everything worked!

A couple other wifi drivers:

The rtl8180 chipset was very popular, http://rtl8180-sa2400.sourceforge.net/

Some people on the forum needed the rt73 driver (a Ralink usb card) with the usb IDs for Belkin and Dlink added. I'll post the patched source on the developer forum.

PS: Puppy 2.10 and 2.11 didn't have the cvs binary. Nice to have, lots of sources only available on cvs.

Thanks Barry!

Hi, Barry-

What do you think about including Torsmo so we can see what's going on with our PCs? I've always added this in myself but may be you'd like to put this in 'from the factory' as well?



Thanks Barry! :-)

I'm downloading it now, but I couldn't get http://distro.ibiblio.org/pub/linux/dis to work - I had to change 'http' to 'ftp' to be able to start downloading (using Puppy's 'Axel' like usual. Great little app... ;-)).

I'm using Puppy 2.12beta to write this message.

Frugal Installed to HD ..... Ok!
Having problems with freememapplet. I killed the process, then re-run the application, now it's Ok!
Gxine closes after 10 seconds running TEST.WMV
Will do more test...
It's faster than ever! :-D

Bill St. Clair (billstclair<at>gmail.com) 


Have placed mirrors and other details here
Puppy 2.12 "Bonanza" Wiki page

I can't seem to get 2.12 to work right with my usb hard drive and usb dvd burner. First off it took MUT and Pmount about 10 times longer to scan for drives and then the results didn't display my dvd burner. I clicked on mount in MUT for my usb hard drive and it gave me an error and wouldn't mount the drive. The 2barks.au file played in a continuous loop until I shut down the dillo popup. I checked the md5 on my iso and it's good, maybe I just got a bad burn. I was just curious if anyone else had any usb issues before I tried to re-burn?

F M Lynch (flynch1<at>se.rr.com) 
Blinky, the free memory applet, Gxine in full screen mode work just fine on my ECS A535 laptop. Spell check did not work in Abiword. It reported it could not find the EN dictionary.

I know you indicated you were unable to compile the Linux-wlan-ng module for Prism2_usb. I, and I am sure others could really use it. It also works for Prism54_usb chipsets.
If you find time please try again.


Second the nomination of TORSMO.
I add it to each version. Very helpful to me.
I customize it just a little and then add a few temperatures from around the country.

If you would like to test a modem and dialup, it seems that
perhaps the right ppp modules are not getting auto-fetched from the "zdrv" file ...maybe. This thread is worth a read:

Recently I have been experiencing extreme difficulties with using John's forum. So maybe discuss these 2.12BETA bugs in my Developer Forum. I've expanded it a bit with more categories:

wscarl (websafecomputers<at>yahoo.com) 
Error HD install puppylinux 2.12 beta
/user/X11R7/xwin: Line 35: /tmp/kbdextlayout.txt: Read-only file system

yeah, I forgot all about that problem, we have it in 2.11 also. You have to edit /etc/rc.d/rc.sysinit and comment-out line 54 (I think that's the correct line) -- in the partition to which Puppy is installed.

wscarl (websafecomputers<at>yahoo.com) 
NEW bug (HD install) Error ASLA isa setup can not create dir /usr/(sorry forgot path up late-will have to re-install) test 2.11 after to see if the error was in 2.11 also, but ASLA ISA configue ok in 2.11 - IN 2.12 sound test work but error shows up on boot again then no sound.
PS: Yes it is line 54 -hope it is on to do list before final release 2.12.

I'm really very impressed with Puppy. I run a small broadband ISP in the British West Indies and we are looking for a distro to leave with customers for use when viruses/spyware wreck their PC and they still need to get online.

I'm wondering it auto-detection of ethernet and auto-config of it for DHCP (like many other live distros) is in the works. That would be a huge help to us. I'd be willing to donate to the project to see this added. Also, does anyone know if the USB driver for the Morotola SB51xx series cable modems made it in to the kernel tree? I know Linspire supports it natively but I'm not sure if vanilla kernels do.

I'm also wondering if a donation could bring about a version that assumes a US english keyboard and auto configures the new XOrg server for most screens. I'd like to make it as auto-magic as possible for the typical home user to get up and running. From there I'd like to add FF2... I'm full of requests, aren't I.

I do have a $500 donation to help make it happen if that is reasonable?

-Auto configure ethernet for dhcp
-Auto configure sound (I think this is present in this beta, just downloading now)
-Auto configure Motorola USB cable modem for DHCP if feasible
-Slimmed down app list, (I can work with you on this)
-FireFox 2 as a browser with cache limits set low etc to help contain memory user (need flash and java)
-Full multi-meida support (looks like this is already there in terms of playing most extensions)

I'll check back here to discuss more. :)


That should of said five hundred US dollar donation, not zero. Doh.

Of course there are various other little things like a custom wallpaper etc, just tidying up and customizing for our locale, that I'd like too... But I have a feeling it would be fun, straightforward work for someone. Speak up if you're interested... First dibs to Barry of course.


Well, some of that is already there, such as autodetect of sound. Do you have a download url for the usb modem driver? -- I'm compiling drivers now for inclusion in 2.12beta2.
What about Opera rather than Firefox? -- reason is, it will work better on older hardware -- by better I mean faster and will run nicely in less RAM.

Apart from availability of the usb modem driver, and whether it will compile with the kernel, what you are asking for is easy. But, there is always the caviat that Puppy is not going to work on all hardware.
I suggest, we can work on it and maybe you can give a small "encouragement" donation, then a final donation if you like the end result -- which we can split up among those who are working on it.

Just saw Opera 7.54 (?) last week from pupget and put it into barebones 2, and got a 400 Mhz PC 128 MB RAM to work with 20 MB free ramspace. The PC ran fast!

Any chance of getting Opera 8+ from pupget (the earliest version without ads)? Opera 7.54 is very useful but has ads (might turn off schools at first use). Thanks!

Opera 9.02 is a PupGet. You will only see this listed in the PupGet manager if you are using Puppy 2.11.

Did a HDD Upgrade install over 2.11.

When I went to reboot I am getting a "touch" error.

I have seen this on a prior install but do not recall what was the


Various small updates 

I have updated JWM window manager from v1.7 to v1.8rc3. The mouse-clicks now seem less sensitive -- this was a problem before, especially when we clicked on the "Menu" button, the menu flickered into view then disappeared. Gxine now plays videos full-screen, but we still have an annoying flicker that is only there in full-screen -- I have reported this outstanding bug to Joe, the author.

I made small changes to the CD-remaster script /usr/sbin/remasterpup2 and the Universal Installer /usr/sbin/puppyinstaller to recognise the new 'zdrv_212.sfs' file.

Puppy 2.12BETA will have Dougal's enhanced CD-remaster script as well, but it currently does not have the fix for "zdrv". I didn't mess around with Dougal's script, he can fix it before the v2.12 final release.

Rarsa's enhanced Network Wizard script version 2.12.2 is also included.

Any chance of the script from 2.12beta being posted somewhere?
I don't think I'll get around to downloading it before the final release...

Barry Kauler 
Well, I can fix it. I only added one line to my script, to copy the "zdrv" file. (Some more mods could be done later).
Easy enough to put that line into your script.

Great new "home made" applications 

PupScan hardware and kernel-modules information. PupScan is a great little GUI-app that I knocked together to display information about the PCI interfaces and the kernel drivers (modules). This makes it very easy for those less familiar with the commandline to examine the hardware of the PC and to find out what each module is for and what module is required for each hardware interface. I put it into the "Control Panel" menu.
New CD song ripper. Jason Pline has created PBcdripper, a nifty audio CD song ripper GUI-app written in PuppyBasic. The guys reckon this is better than ripperX! You will find this in the "Multimedia" menu.
New batch file renamer. Jason has also created PBrename, a batch file renamer, also written in PuppyBasic and also a GUI-app. This is a good substitute for GPRename, a Perl application that has the overhead of the Perl-GTK1 module (which is why it is a PupGet package only, not chosen for the live-CD -- Jason's app however is very small). You will find this in the "File managers" menu.

So, when can you get hold of Puppy 2.12 and these new goodies? A few more things to do, but I think 2.12BETA will be out by the end of the week.

Nagy feri 
wonderfull news!in future can we/you put in zdrive....sfs file propietary drivers too like 'nvidia' or 'ati'or other hardware accelerated drivers? maybe the printers drivers to for lpq/lpr or cups ppd files to extend the hardware list puppy recognize?until then waiting for beta release for testing these nice innovations!

The new ways of version 2.12 generates a lot of excitement.  And it is also good to see PuppyBasic's capabilities being demonstrated by Jason ([i]plinej[/i] in the forum).

Now, will this be true about the plans for 2.12: that it will be possible to remaster the ISO with just the right drivers for one machine?

Thanks, Barry.

Yes, just the kernel modules for now, but in future will look into moving other hardware drivers to the "zdrv" file.

Also yes, the CD can be remastered with just the kernel modules you want.

Are you going to fix Gxine in 2.12?

The fix for gxine is an issue with jwm. I do see that version 1.8rc3 is out now. I haven't tried to compile it yet but maybe it's fixed in this version?

is that lsusb included?
i found is VERY useful whith some damn crappy usb pen which didn't know the chipset..

No, lsusb is not in Puppy, but then Puppy now has 'scanpci' (from v2.11) and 'PupScan' is the new GUI-app that should provide the info you require.

I haven't tried 1.8rc3 yet either...

Flash 9 API support for Linux from Adobe . . .

"No, lsusb is not in Puppy, but then Puppy now has 'scanpci' (from v2.11) and 'PupScan'..."

There is also the old standby, a screwdriver, and look at the chip.

Is this where we put in our desires? I've been wanting loop-aes to replace the long-in-tooth cryptoloop...

i seem to remember that loop-aes requires the kernel to be re-compiled with a patch, and mount, umount, losetup have to be replaced with non-standard versions

another alternative to crypto-loop is dm-crypt

i think the dm-crypt modules are available in the modules package

I just tried jwm-1.8-rc3 and the gxine full screen bug still exists.

Barry Kauler 
With regard to JWM 1.8rc3, see my later post.

The icons all disappeared when I tested 1.8rc3, something I think Pizzasgood reported awhile back with rc1?
Anyway, I removed the <Icons> tag, leaving the <IconPath> tags in .jwmrc and that fixed it. Oh, I also removed the <IconPath>$HOME/.icons</IconPath> in case the non-existent directory was causing a problem.

Hey Barry, I updated PBcdripper to 1.5 which fixes a bug dealing with spaces and adds an "eject" checkbox. http://www.murga.org/~puppy/viewtopic.php?p=75003

I'm assuming you're using PBrename-0.3 too? The first 2 had issues with spaces.

Barry Kauler 
No, the 2.12BETA only has PBcdripper 1.2. Never mind, the 1.5 (or later  ) version will be in 2.12final.

PBrename is v0.3.

wscarl (websafecomputers<at>yahoo.com) 
More boot problems with 2.11 (HD install) after editing line 54 re-booting and config kb,vesa, ALSA N/G(could not config for isa sound error can't make dir note: re-install without sound) power down and on restart hung on Keyboard config.
How about adding to the boot/grub/menu.list file the following:

Difficulties with ESS and PCTEL analog modem modules 

The ESS2898 driver package consists of 3 kernel modules, linmodem.ko, esscom.ko and esscom_hw.ko.
The PCTEL driver package consists of 3 kernel modules, linmodem.ko, pctel.ko and pctel_hw.ko.

They are very similar and the PCTEL linmodem.ko module is the same source as that for the ESS package, except a slightly later version. The problem though, is that the modules have the same name and both install to the same place. I realised afterward that the PCTEL linmodem.ko had overwritten the earlier installation of the ESS linmodem.ko.
A quick test showed that the ESS driver does not like PCTEL's linmodem.ko.

Probably I could modify the ESS source so that it uses a different module name, but it would be far easier if I could just put an entry into /etc/modprobe.conf, so that if esscom.ko or esscom_hw.ko are loaded, it will load say 'linmodem_ess.ko' instead of linmodem.ko ...anyone know if this is possible and how to do it?

Another problem, and this one is really annoying. When compiling the PCTEL source, a choice has to be made which PCTEL hardware is to be used. I chose 'pct789' as that appears to be the most common. But, this is pathetic for use in a distribution, as users will not have the other hardware support and would have to resort to compiling from source themselves.

Of course, both of the above problems would be solved by leaving out the PCTEL driver entirely.... what do you reckon?

Apart from being an absolute pain, these internal software modems are incredibly cheap - that's why proprietary boxes use them. We are talking often less than GBP5/ A$10. If you get this much grief with PCTEL, give users the best advice we all know - bin it! If they persist in using cr*p like this then let them buy another Winmodem from Lucent, Smart or ESS - even a kiddie could afford to replace a PCTEL from pocketmoney, or, better, pick one out of a skip/dumpster/local tip. Failing that, if there's one guy excluded from all other options, I will send him a pull. It really is a terrible waste of your valuable time, Barry, to pander to the greedy paranoid commercial excesses of one nation! Most folks using Puppy will have built their own PCs. Not doing so, they deserve downstream trouble. Every engineer is taught: right tools for the job. And I'm no engineer....

yea i agree
if they are bothersome to be included and after all they work with crap stuffs..
trash em..

Forget the PCTEL driver. It's sooo not worth your time and it benefits only the lowest common denominator.

I think that the problems are solved. It was a matter of finding the right stuff to put into /etc/modprobe.conf.

I have updated the Modem Wizard to support the ESS 2898 and PCTEL pct789 modem.

There is now a country-code selector, that writes a line like this into /etc/modprobe.conf:
[pre]options pctel country_code=1[/pre]

If the ESS modem is selected, this line is written to /etc/modprobe.conf:
[pre]install linmodem /sbin/modprobe -o linmodem linmodem_ess[/pre]
I renamed the linmodem.ko compiled by the ESS package to 'linmodem_ess.ko' and the above entry in /etc/modprobe.conf will cause linmodem_ess to load instead of linmodem, and also linmodem_ess will get renamed to just 'linmodem'.

Well, first test of a ESS modem is a failure. I have an old PC with the following internal PCI modem:
ESS Technology ES2838/2839 SuperLink Modem
...this info is returned by the 'scanpci' utility in Puppy 2.11.

However, it seems the ESS driver that I compiled is designed for the ES2898 chip, and I cannot get it to work with my modem.

My PupScan program is a Bash script that uses gtkdialog2 for the GUI. Problem is, gtkdialog has no way (that I know of) to set the font. There is a "Results" box that displays text in the default variable-spaced font, whereas I would prefer mono-spaced. For example, in one situation the box displays the output of 'lsmod' but it looks messy because the columns are not lined up.

Does anyone know of a simple way of formatting the text so that columns will line up? Basically, it should replace spaces with tabs. Some possibilities:
1. What about the Busybox 'printf' command?
2. I think there is a way to tell the cursor to move to a certain column number and print from there.
3. Analyse how many printable-characters and spaces and substitute the correct number of tabs for the spaces.

I'm sure that this is a problem that has already been solved somewhere.

Why did I post the above question in this thread? Dunno, wasn't paying attention.

Automatic installation of driver firmware 

A kernel module may have firmware associated with it. For example the 'ipw2100' module requires various firmware files, that are normally installed in /lib/firmware/. Or maybe one or more executables also -- for example the Smartlink modem kernel drivers require the 'slmodemd' executable.

Now the 'zdrv_212.sfs' can have all the firmware and any other support files needed by a module. The file /lib/modules/firmware.dep. located in zdrv_212.sfs has all the required information that relates a module with support files. A firmware package can even have a post-install script.

The package Puppy Unleashed now has all the infrastructure for this. It will build a zdrv_212.sfs file and by default will include it in the iso file.

What this means in practice is that a driver should install totally transparently. For example, Smartlink: If the Smartlink module is loaded, if not already installed it is copied off the zdrv_212.sfs file. It has an associated firmware package and this is also copied off, and there is a post-install script to modify /etc/modprobe.conf. It is easy to see how this works by looking in the Unleashed package (not yet released).

Note, I haven't actually tested this firmware support yet, just wrote the code for it. The additional code is in the /sbin/modprobe script.

It probably won't affect many, Barry, but I'm wondering how your new drivers strategy will affect folks like myself who change their HW at the test bench on a daily basis? Sometimes, it can be a struggle to get full installations ('type 2' in Puppy) to boot after HD swaps. [Mandriva has always fallen over on this.] I ask, because up until now we have been recommending fols with problem laptops to install to HD on a desktop using a 2.5" - 3.5" IDE adapter, and then transfer the disk back again.

fols? Or even folks!

Hmm, 'zdrv'... is that some old DOS influence I see there: 'Drive Z:\' - the last available drive letter reserved for utilities, etc ?

Looking forward to testing your creation Barry

feri nagy (ferikenagy<at>yahoo.com) 
I like very much the ideea of different sfs with drivers and firmware, the better the distro is if have much more drivers, but in memory need to be copy only the modules for current hardvare. I agrre too with an earlier oppinion that should be extended the numbers of sfs files that puppy should mount (something like in SLAX where is no practical limit of 'mo'=sfs files).Thanks for the work done!

Can this be extended to 'chubby' modules such as Openoffice? So now we just need to download an Openoffice.sfs and we'll be good to go? I'd love that! Always wanted a lighweight puppy to test out hardware, then when it works I'll put in the other stuff. Up till now installing is rather long drawn out.

Thanks, Barry!

Nathan Fisher 
Adding additional sfs modules has been suppported in Puppy for some time now, in fact the number one download from grafpup.com was for quite a while the openoffice squashfile I put together. So yes, the technique can be used. I have been working for some time on tools to add in sfs modules on the fly. The technique is quite far along with Puppy-1.x series, and getting closer to end-user ready in Puppy-2.x.

Additional loop devices to mount squashfiles can be created with the mknod command, and to get past the kernel imposed maximum of 8 loops you can specify something like "max_loop=64" at the kernel prompt. Performance does degrade with too many additional modules but I think that a limit of three is a little too conservative. The next iso I release based on Puppy will allow up to ten, most likely, although five or more is in the grey area as far as usability is concerned. I've had five mounted at one time in Grafpup and that's about when I notice the performance hit.

Thanks for the information, Nathan. I'll go check it out!

Barry, have you thought what is to happen if a driver bug is discovered, and needs to be updated? I just mean the process of making a new zdrv_212.sfs file, making it available for users, telling the boot scripts to look for the new one and reject the old one, etc. I suppose a new CD would need to be burned with the new file in the ISO. Maybe the new file should have a designation such as zdrv_212.sfs.r1 or zdrv_212a.sfs so people know which one to get, new md5sums, and so forth. Really a logistics task more than anything. Just a thought...

Great implementation idea you've cooked up though!

I might be showing my ignorance here, but if you needed a new driver, wouldn't you download and install it while running Puppy, then it would be saved to the pup_save.3fs on shutdown, then reloaded at the next start-up? No need for a new CD or new zdrv file?

Isn't the point of the Puppy structure that it takes the baseline OS and then tailors it using the pup_save file? Presumably the unionfs knows which file takes precedence. In the case of the rclocal file, the file in the baseline OS has almost nothing in it, but it is overwritten (unionfsed?) with the one in my pup_save file with the wireless settings, so the pup_save has precedence.

With this zdrv philosophy, when the user first selects things that need drivers, perhaps it creates symlinks to the driver files in the zdrv sfs file, but saves the symlinks in the pup_save file?

Or I've just shown the depths of my ignorance....

When Puppy 2.12 boots, he has access to the complete set of modules in "zdrv" and will automatically load whatever is neede for the hardware -- at least will do for all PCI-interface hardware, SCSI, PCMCIA and a few other types will need more work with the autodetection.
Once loaded, the modules are saved in the pup_save.3fs file.

After you have the hardware setup, modem or whatever, "zdrv" is no longer required. No symlinks are created to-from the "zdrv" file at any stage.

Puppy will boot from live-CD into the full graphical desktop, with mouse and keyboard working, without the "zdrv" file. The "zdrv" file can be provided if needed, either bundled on the CD or downloaded separately to h.d., Puppy will access it, then it isn't needed, unless you change the hardware.

In answer to your question about updating a module, no problem.
'modprobe' first looks to see if the module is "local", that is, is in the pup_save.3fs (or whatever is the personal storage file/partition). If not, it is copied out of the "zdrv" file. So, anyone can provide updated modules for Puppy.

I submitted a comment, then the blog software threw it away.  Guess I'll get in the habit of copying it first...

Barry, assuming for the sake of argument this is a 10MB file, then Puppy becomes an 80MB distro (at least that's what distrowatch will say).

I certainly don't mind. It's great having access to all those drivers, while not loading them all into memory. Yes, for a specific computer the driver collection can be tossed out of the ISO after the setup is done, but I'm guessing few will bother doing that. Anyway, when you want to take your Puppy flash key over to another computer, you'd better be taking your driver collection along with it. So in reality, it is part of the distro.

Yes, this blog has an annoyingly short timeout before the anti-spam image becomes invalid. I also make a copy of the text before posting!

Driver bonanza! 

Well I'll be a monkey's uncle, it worked... I have just tested an idea for the next Puppy, in which Puppy has access to all the kernel driver modules.

By separating out hardware drivers, the 'pup_212.sfs' file, which is all the applications (etc.) in Puppy, becomes smaller, so it takes up less space when loaded into RAM. Up until now, Puppy has a subset of the kernel modules, but this has been gradually growing and now is about 13MB (uncompressed) -- that really is massive, but still unsatisfactory as users always want some driver that isn't there.

So what I have done is create a file named 'zdrv_212.sfs' that has all the kernel modules compiled by the kernel source package plus a pile of others as mentioned in the last few posts to this blog. I replaced /sbin/modprobe with a script that transparently mounts 'zdrv_212.sfs' on-demand and loads the module -- once loaded, it is saved in the personal storage file/partition so it only has to happen once.
'zdrv_212.sfs' mounts onto '/', meaning that it occupies the entire filesystem, so it is not limited to just kernel drivers. Any hardware drivers can be in it, such as the Xorg drivers (but the Xorg Wizard will need to be modified to work with it).

The way it works is quite simple. The files /lib/modules/modules.dep., modules.isapnpmap. and modules.pcimap. have the information for the complete set of kernel modules. The boot script /etc/rc.d/rc.modules reads these files to determine what is needed, and executes 'modprobe' appropriately -- it is modprobe that does the hard work, locating the 'zdrv_212.sfs' file and mounting then unmounting it.
The modprobe script will find 'zdrv_212.sfs' wherever it is, it doesn't necessarily have to be on the boot media.
It is mounted by means of the 'unionctl' program, as a bottom layer, then removed after use. I have designed this to work for a full h.d. installation also, not yet tested.

The initial ramdisk still has the base modules to boot the system, so I was able to get into Xorg running without the 'zdrv_212.sfs' file.
However, I then placed it on the CD as part of the iso file, and it was automatically accessed at bootup. But if it wasn't on the CD, if it is placed on a h.d. partition Puppy will find it.

The prototype live-CD has a 'zdrv_212.sfs' file of 14MB and the total iso file is 82MB, so the live-CD without the drivers file would have been 68MB -- compare that with 73MB for Puppy 2.11 (the Xorg drivers are in pup_212.sfs in both cases).

There is a lot more to be done. For example, I would like to put firmware associated with a driver into the 'zdrv_212.sfs' file also, but will have to figure out how to associate a driver with the right firmware.

Nice work barry!

george (gdcrane<at>bellsouth.net) 
  Excellent Barry - since I normally remove a lot of these by hand when I tailor puppy for my own needs this way of doing it will make that job much easier


You da man!

I think that the next step could be to have an official driver repository on-line where the modprobe script could look if it does not find the driver in the "zdrv" file.

This will be a definitive plus for new installations.

Great to have driver sfs. Thanks, Barry.

With Puppy, it's also sfs bonanza with applications, and enthusiasts can pitch in with their choice browsers, like Tempestuous' build of Firefox: http://www.murga.org/~puppy/viewtopic.php?t=10315 . Of course MU has a ready OpenOffice sfs: http://htb65.de/puppylinux/addons/OpenOffice-2.0.4/

Download one Puppy ISO and choose application [b]sfs[/b] from Puppy repositories!

Ingenious, Barry! You keep coming up with these wonderful ideas.

Puppy just gets better and better.

Sounds great! Puppy might need to be able mount a couple more .sfs files. Right now the limit is three?

Cool. Puppy is simultaneously larger and smaller. That's exactly the kind of thing that makes me love this distro. I also noticed you're including the wireless drivers my family uses, so running Puppy back home will be that much simpler.

Many thanks, congratulations, and "oohh, awww"'s.

For me, Barry is "Albert Einstein" of the Linux world.
A very brilliant idea!

Good work with this barry,
always amazed at the novel approaches you come up with to keep puppy fast and efficient.

keep it up


Nathan Fisher 
Ha! I was working along these lines already but apparently you came up with a better system faster. Again.

I'm interested in seeing this in practice, especially since unionctl has been giving me some problems with Puppy2 in general. Adding to the union seems to work fine for me, but removing a branch seems to cause some problems. So apparently you are doing something different to what I am. In fact, this has been the chief thing holding back the next version of Grafpup since I'm working on porting my squash utility over.

But in general, this was a very good move. This means almost anything supported by the Linux kernel should now be supported in Puppy, but simultaneously the iso should run faster and lighter. Thanks again, Barry.

Nathan, er um, things are not so good. Yes, a layer can be removed if no files are in use on that layer. Initially I was very pleased, but then I started to get spurious lockups -- the CPU would become very busy. It seems that modprobe sometimes adds and removes the 'zdrv' bottom layer at some point in time that is conflicting with something else, or at least that's what I surmise.
Fortunately, the 'modprobe' script can be modified to work without the 'zdrv' f.s. as a bottom layer, just mounted somewhere and the script copies the needed files across. So, the end result is exactly the same. I'll do some more testing tonight and report back.

That is simply genious!

I guess Kirk had something to do with this idea too, now that I read back a couple of days.

You noted earlier the zd1211 driver was going to be there; I hope the zd1211b driver is also (now being used on the ubiquitous Belkin USB adapter among others).

Nathan Fisher 
Hmm...I'm still trying to figure out what goes on with unionfs myself. What has happened to me a couple times is that the branch will be removed, but the squashfile cannot be unmounted (device busy) and of course the cpu graph starts climbing. I even had it affect another branch so when I used losetup-FULL to query loop1 it cannot complete the command and locks up, and won't even obey a ctrl-c. Not sure why there's any interaction there but it happened a few times. It diesn't happen when I type the commands into the terminal, just when I run it as a script, which is killing me since the script is running from outside the union in a tmpfs.

Unionctl used to only work if script executing unionctl was outside of the union. I'd hoped that was fixed.

CUPS printing in Puppy 

Puppy has the PDQ printing system, not suited to all needs. These days CUPS (Common Unix Printing System) has been adopted by most major Linux distros. Not by Puppy though. There have been various projects to bring CUPS to Puppy, and the latest and most mature has been due to the untiring work of Puppy-enthusiast and very active contributor Paul Akterstam, known as 'pakt' on the Forum. Here is Paul's announcement:
I have released a completely self-contained dotpup that installs CUPS and a serial, parallel or network printer in Puppy 1.xx or 2.xx with basically just a couple of mouse clicks, providing a special .ppd file is not needed. (For that eventuality, instructions are also provided.) The file /etc/rc.d/rc.local is suitably modified so that printing works directly after booting.

Link to the CUPS dotpup:

This work builds on the work of rarsa and other contributors. I have spent hours refining the setup script to make it as simple and easy as possible for a beginner. Feedback in the thread shows that I have succeeded although there have been some problems in obtaining .ppd files for some printers. I don't believe I could have made the 'wizard' any simpler.

Paul would like to see his CUPS system integrated into the Printer Wizard and also Puppy upgraded to the latest Gutenprint package. Yes, well worth working toward!

Nathan Fisher 
Although I'm not sure if Puppy can take the addition of cups for printing, I'm really glad someone has been doing the work. And I agree that upgrading to gutenprint would be a good idea. But that's not without problems either, since a lot of older applications will have to be hacked a bit to find libgutenprint rather than libgimpprint, and Puppy has a lot of older applications.

On a related note recent cvs snapshots of Gimp (and I'm sure it's not the only such program) require at least gtk-2.10 in order to build the print plugin. So be prepared for some problems if you do any more version upgrades of gtk applications down the road. Complicating matters is the fact that quite a few programs compiled against gtk-2.8 will be buggy or compleltely broken if gtk is upgraded, unless the programs are also recompiled. Major growing pains there.

I already have CUPS, and it works great, thanks to a couple of earlier scripts which I assume were prepared by Paul. My question: If I download this "all-in-one" dotpup, will it mess up my current CUPS?

Al, no offense, but why would you want to install the dotpup if you've got printing working?

As to installing the dotpup over earlier scripts, there *shouldn't* be any problem. Do a backup of your save file just in case - always a good habit

The dotpup is a really just a further development of my earlier scripts, which evolved out of rarsa's original scripts/instructions.


Nathan, I think we'll need to start a new thread to discuss the advantages/problems with updating to Gutenprint.

I've been playing with a gutenprint tarball to see what advantages it may have. One thing is positive - it has 745 printer drivers compared with the 234 that the gimp-print tarball I'm using has. On the downside, that makes the file ~6 MB larger


Hi, Pakt...

The possibility is that the CUPS I've got working now may not work with future versions. So I thought that a self-contained CUPS dotpup would be good insurance. As you realize, I don't need the dotpup right now, but I'm about to "migrate" to V 2.11. If CUPS fails to work in the new version, I can be ready to throw the dotpup at the updated system....Regards.

Inititial ramdisk made smaller 

The initial ramdisk used in Puppy is on the big side, 1220K compressed. Due to future plans, I have deliberately kept it in memory after Puppy has booted, although it could in theory be removed. The problem is that it occupies about 2500K of RAM, which is quite a lot on old RAM-challenged PCs.

It may be possible to choose smaller executables in the future, but for now I have implemented compression of the executables and kernel modules. I used UPX to compress most of the executables (those over 20K) and GZIP to compress the kernel modules.
The 'insmod' program used in the initial ramdisk does not support loading gzipped modules, so I recompiled Busybox with the 'gunzip' and 'zcat' applets. Now, the 'init' script loads a kernel driver by using 'zcat' piped via stdin to the 'insmod' program.

The RAM footprint of the initial ramdisk is now 1500K, plus a bit more required for free space.

I also compiled the latest NTFS-3G driver (version 20070920-BETA) and 'fusermount' program (from the FUSER package) statically for the initial ramdisk. Every application in the initial ramdisk is static, compiled against either Dietlibc or uClibc.

Barry Kauler 
The kernel modules in the initial ramdisk are upgraded to, and I also want to include a cutdown selection of SCSI drivers ...but still not sure which ones to use. SCSI is older technology, and I don't want to go all-out supporting all SCSI hard drives, just some of the main ones -- that also is conditional that the drivers aren't too big.

This is beyond my expertise, but I wonder if scsi drivers can be collected in a separate file. Thus the standard CD simply wouldn't have them, but scsi fans could add the file to their iso. Probably, folks still on scsi will have a fair amount of computer expertise and won't be put off by having to go through some extra steps to get a bootable package.

That way you could add lots of scsi drivers and not have to pick and choose and guess which ones it makes sense to add, and worry about consuming space. Just throw them all in.

Not a scsi fan nor scsi expert, but I see great potential for redeployment of masses of expensive professional kit, now becoming available gratis. Not sure that scsi is quite obsolete, yet. The speed bonus transcends anything offered by SATA. Perfect partner to a RAM-based OS? Unix was designed to use scsi - Linus continued that choice back in '96. scsi used to be intractible under 'doze, but that was nothing to do with Linux!
Jesse and others are better able to offer advice on how to deploy scsi, drivers to select, etc.

100 U.S. Dollar donation to 'MU' 

As I indicated after receiving the 350 U.S. Dollar donation from Distrowatch, I intended to give one or more token donations to other Puppy developers. Well, I have decided to give something to Mark Ulrich. Of course there are many contributors to the Puppy project, but I decided that Mark needs an extra acknowledgement and encouragement, as he has been and continues to be an incredibly prolific developer and has also provided hosting space for Puppy packages and iso files, despite being in an extremely tight financial situation. He is also extremely helpful on the forums.

Mark's donation button is to be found at http://dotpups.de/ and the currency is in Euros, so I used an online converter and 100 Dollars converts to 79 Euros.

Here is the receipt of the transaction (email address obfuscated):
Dear Barry D Kauler,

This email confirms that you have paid MarkUlrichATgmxDOTde €79.00 EUR using PayPal.

exchange rate for this purchase is 1 USD = 0.773077EUR


Payment Details

Transaction ID: 226284290J719114U
Item Price: 79.00 EUR
Total: €79.00 EUR
Item/Product Name: Dotpups.de
Item/Product Number: 1
Buyer: Barry D Kauler

Very kind. Very well deserved.



I will keep it as a "buffer" for times when donations will not cover my internetcosts. Until now it right fitted the costs since I started the donationbutton.
Special thanks to everybody who donated. There are even 3 people who donated more than once. I will not mention them by name, as I don't know if they like that.
I already though of adding a "donation-barometer" at dotpups.de, displaying how much was donated every month. Will add that anyway.

Merci beaucoup

I just got a letter, that I get back some money from my work-agency.
This will drag me out of my deepest problems, so that I don't rely urgently on the full donation.

For this reason I share 40 US$ with Pizzasgood. I think he really can need it for his studies.
He contributed many nice tools to Puppy, and I like his friendly humour

The bill:
Angaben zum Verkäufer: pizzasgood@gmail.com

Transaktionscode: 79E97174XM523452N Ausgeführt am 21. Okt 2006
Zahlung für Menge Preis
Browser Load of Coolness 1 $40,00 USD
Zwischensumme: $40,00 USD
Umsatzsteuer: $0,00 USD
Gesamtbetrag: $40,00 USD


ohoh... this board eats dollar-signs.
Might be a security bug?

The bill contained 40 Dollar, the board replaced it (a dollar is a variable in PHP).

Yes, the bug is in the theme. The author has fixed it, but I haven't upgraded yet.

This is a good time for me to add my thanks to Barry and Mark and say "well-deserved".
I must say that I am impressed by the good will, integrity, and generosity of opensource developers.

it's a very good news!
puppy developer : good men !
with "un coeur gros comme çà!!"
puppy's world ,is a wonderfull world

Incredible fact- those who have less are more willing to share: "I share 40 US$ with Pizzasgood". Perhaps not many people realize that this phenomenon exists.

Now, this fund transfer could go on and on, so if that happens, I suggest that MU uses this paypal fund account to store fund that can be used in the future. It's an account accessible only from outside my country, so I can give access to whoever is willing to check on it.

Thanks! I was actually planning on sending you and Barry donations when I finished my project. Now it would be like giving back a present, so I'll have to find another use for it.

I will stick that 40 dollars in my separate "college money" area so I don't spend it on other stuff.


I think that's a good usage, Pizzasgood.

Very generous, Barry

That money along with the ThinkPad laptop I donated a while back (as well as donations of others) should help Mark keep out of the red.

The notebook runs very well with Puppy 211, thanks again Pakt :)
I use it at my small minijob.
Like this I can work with Puppy there :)

Wireless modules compiled 

I've compiled more modules for the kernel. This time it is wireless modules.

I was unable to compile the 'linux-wlan-ng' package.
Compiled the Texas Instruments 'acx100' driver okay.
Compiled the Admtek 'adm8211' driver.
Compiled the Atmel 'at76_usb' driver, for the at76c503a chip.
Compiled the Madwifi drivers, for the Atheros chips.
Compiled the Ralink 'rt2400', 'rt2500', 'rt2570' and 'rt61' drivers.
Compiled the Zydas 'zd1211' driver.

Thanks guys for providing the download links at http://puppylinux.org/wikka/UnderDevelopment


What do you think about having a folder on the live CD that contains drivers (modem, wifi, Xorg, etc)? That way Puppy can stay under the 70MB limit for loading to ram and have the basic drivers many people need readly available.

What Kirk says makes alot of sense.

Most of these drivers are really important when putting the puppy CD in for the first time or when you have a new piece of hardware to install, however onece the system is up and running, anything not being used is taking up valuable space, and has almost zero likelyhood of ever being used.

While i think modem and ethernet drivers are the most important thing in a ditro (cause onece they are working anyother missing drivers can easily be downloaded from the net).

Is it not possible to have a folder or sfs file that is not loaded to ram on boot, this could contain all the necesary drivers. Drivers could then by mounted and accessed as required to load new hardware (and perhapse even get copied into the main puppy file directry onece selected, to load directly next boot) and after that the drivers filesystem unmounted and not made available untill required again.



Any chance of upgrading ndiswrapper to the latest stable release? Puppy currently has 1.15; the latest is 1.26. If ndiswrapper users want to use WPA, at least 1.21 is needed.

kirk's idea is a good one.

Another folder on the live CD containing the rest of the kernel modules would also be extremely useful.

mark south 
Kirk's idea is a good one, and could be applied to other things than just drivers. One could put a whole bunch of stuff on as dotpups, for example.

I'd like to plead for as much support as possible for common wireless drivers. In addition to those listed there are notably the sa2400 set for realtek chips and the bc43xx series - the latter is supposed to be in the kernel tree now.

I've also compiled ndiswrapper v1.26.

Yes, I'll think about ways in which the drivers can be separated. I've been wanting to rethink this "loading into ram" thing for sometime.

A very nice idea - a LegoPup: download the base Puppy and the drivers/software that you need. Must be the fastest way to distribute new (while reusing old) software.

I guess that's the way to do the scsi drivers, too, Barry.

Barry, thanks for incorporating these drivers into mainstream Puppy development.
mark south is right, I forgot to mention the Realtek RTL8180 driver on the Wiki. I will do so now.
The opensource Realtek wifi driver is here http://rtl8180-sa2400.sourceforge.net/
Apparently the proprietary Realtek Linux driver is not very good.

Barry, regarding linux-wlan-ng, it's feasible that just the PCMCIA module is causing the compilation to fail.
During "make config" you can disable this module ... and also the PCI and PLX modules.
Only the USB version of this driver is important, since all other Prism2x devices are covered by a different driver: HostAP, which is a standard kernel module.

I could use having the Intel PRO/Wireless 3945ABG driver installed

Would be wonderful.

Hi Barry,

This is just a reminder that the network wizard also allows setting the wireless parameters and persisting them between boots. The description that shows in the "Wizard Wizard" indicates that it is only for wired connections. It'd be great if you can change the description for version 2.10.

As an added note. I've just updated the network wizard to include ndiswrapper management.


I will be doing some additional modifications like fully integrating the WAG/rutil functionality into the network wizard.

Currently the only thing that I'm missing is scanning networks.

I've also tried to contact the rutil developer with some requests that may simplify integrating it.

Rarsa, I clicked on the download link for the new network wizard but got "login incorrect".
Maybe you could also post it to my forum? ...have not tested posting attachments to my forum yet!

Hey Lobster,
I'm thinking, the Pup v2.12 is going to have many new drivers, not just for dialup, so maybe instead of codename "dialup special" it should be "driver special" ...or how about "driver bonanza" ... or just "bonanza"!

Link fixed in Linux Questions

Post added to your forum.

Linux kernel! 

I have compiled the kernel, plain vanilla source except with squashfs 3.1 patch and a small patch to change the default console loglevel.

Now I'm wading through compiling drivers.
Today I compiled the latest unionfs and ntfs-3g drivers.
Then I got stuck into modem drivers, which has been quite a challenge...

Compiled the ESS driver, that supports the ess2898 chip, no problem.
Could not compile the Intel 536EP driver, that I had downloaded from the Intel site. May have to find source patched for the 2.6.18 kernel. So, I gave up on Intel for now.
The Lucent modem driver would not compile, but I hacked it until it did ...a bit of a black art getting drivers to compile sometimes!
The Smartlink driver was a similar situation. I applied various patches to it, then had to hack it some more, eventually got it to compile.
Pctel driver also needed some source mods but it also compiled.

Of course, I don't know that any of the above will actually work! I have to find old internal modems to test.

So, I plan to put that lot together into the Modem Wizard. Maybe Puppy v2.12 will be our "dialup special" :-)

Good news, Barry

Been looking forward to Puppy with a kernel we can keep for some time so that modules won't have to be re-compiled for each new Puppy version. I hope this is it

Nathan Fisher 
Hey, glad to hear it. I'm more than happy to test the Lucent drivers on my ancient lappy, BTW.

A couple questions/comments. The last Puppy kernel would leave a blank console if installed to the hard drive and grub was set to use anything other than 'vga=normal', the solution being of course to compile the fbcon module right in. Any chance you might have done it that way for I'm also interested in this for a possible OneBone update. I'm also wondering if the issue with stack size has any resolution, relating to ndiswrapper.

Fine :)
Please don't forget to compile it with himem enabled, to be able to use more than 900 MB Ram.

F M Lynch (flynch1<at>se.rr.com) 
Please include the Linux-wlan-ng driver for the Prism2/3/_usb chipset.

We have a codename "Puppy Dialup" for the 212 wiki page

If you have to recompile Seamonkey can we have a sans serif
font as the default . . .
always have to change it . . .
(that might not be possible - dunno)

Ted Dog 
Enable packet write support for UDF, and could you use -mm kernel patches, it has added support for UDF writing on DVD+RW.

I'm still hoping to see the option for an encrypted pup_save in a new release. The work is already done (by Kirk), it worked when I tried it and I didn't notice a slowdown on my 700Mhz Thinkpad.
Added under 40kB. Well worth it to have a system you can carry around on a keychain (flash drive) while never having to worry about losing it and having your personal information stolen.

Great Barry,

Now that you've made modifications to the modules to be able to compile I would highly suggest you create diff files that you can distribute as patches. We could put them in the svn repository to make them easy to find.

If we have the kernel and modules compiled with the same version of the compiler that comes with puppy we will not have to maintain two different versions of puppy just to compile modules.

Well, I used the kernel config file as used for the 2.02/2.11 kernel, which I think has himem enabled.
UDF... that is enabled, didn't know there was any other setting to change in the config. Mm patch, no, I don't want to patch the kernel anymore, but someone can do that later if they want.

Full install-to-hard-drive bug, and fix 

If you install Puppy to hard drive, choosing a "full" installation, meaning puppy uses an entire partition, like any normal Linux would be installed, then v2.11 has a bug when booting.

I made a change (from v2.10) in /etc/rc.d/rc.sysinit to reduce the traffic to the console during bootup (that is, to prevent lots of messages scrolling rapidly on the screen), but we now discover that it causes bootup to fail when Puppy is installed to h.d.

The fix is simple, after installing Puppy, mount the partition and edit /etc/rc.d/rc.sysinit, and comment-out line 62.
The bug (and fix provided by 'grndoor') is discussed on the forum:

Um, the offending line in rc.sysinit is number 54.

After installing Puppy to h.d., you can then install the "devx" module. See instructions (just updated today):

WSCarl (wscarl<at>optonline.net) 
What about line 35 error??????????
PostPosted: Sun Oct 15, 2006 8:18 pm Post subject: Error HD install!!!!!!!!!!!!!!!! Reply with quote
Installed puppy 2.11 as a wipe on Dell Dimension L500CX (puppy 21.0rc1 existing OS)
after rebooting puppy failed to boot repeating the line:
usr/x11r7/bin/xwin: line 35 /tmp/kbdext layout.txt read-only file system
until I alt-cntrl-del to reboot and try to install other post 2.11 iso put it gave same error after reboot.

'xwin' is a later script.
If the bug in 'rc.sysinit' is fixed then it should work.
I have confirmed the fix and can boot into a full h.d. installation.

(c) Copyright Barry Kauler 2008. All rights reserved. http://puppylinux.com