logoPuppy developer news:

from 2.12 to 2.13

left-arrow Older news

arrow-rightLater news

Puppy version 2.13 released 

The final release of version 2.13 has been uploaded. The live-CD iso file is 'puppy-2.13-seamonkey-fulldrivers.iso' and is 84.5MB. This build has the complete suite of kernel drivers. More compact builds with a subset of the full driver suite and different selections of applications will follow soon.

We release a new Puppy every 6 - 8 weeks, always with a huge list of new features, too much to summarise in one or two sentences. Basically though, there are major improvements in the user interface and general usability, including upgrading of fonts, ROX-Filer, Video Wizard and bootup and shutdown scripts. New applications developed by Puppy-enthusiasts are making their debut, namely Soxgui, XkbConfigurationManager and PuppyBackup. Other Puppy-applications are significantly upgraded.
Get the full story in the release notes:

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

Congrats Barry and everyone :)
mirrors and torrents here please

Congrats, Barry and contributors!

Are we headed for the PXA soon?

Ah, Xorg is much better now. However, the <OK> button is missing from the test box, requiring the 40s wait before it proceeds!

The <OK> button is deliberately missing, as on some hardware it causes the PC to hang. The dialog window now instructs you to press CTRL-ALT-BACKSPACE to end the test (which, for unknown reason does not cause a hang on that hardware).

OK, thanks, Barry. Saw the messages but assumed they were just when things went pear-shaped! One gets conditioned by expectations.


Artie (arthur.engh<at>gmail.com) 
Thanks for the iso but Ibiblio is hopelessly slow any other mirrors?


Hey, when di cvs get removed from the devx squashfile? That's aggrevating.

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


These guys are also a mirror for ibiblio:

John Roberts 
Barry, Congratulations!
Super release!!!. The UK mirror was pretty fast too (ab. 33kb/s).
The new DeJa fonts together with the new keyboard layout configurator trully rock!!! This is a super multi-lang Puppy and one more solid argument for spreading the cult

Greatest New Year's gift!!!
Many thanks

james (jamesblackwell<at>charter.net) 
Looks fabulous! Xorg works great (at least with my hardware) Looks like the test section for Xorg could use an ok button though. Either way Puppy looks like it is getting better and better! Great Work! Everyone needs a Puppy!

there were reported issues with file-associations (to launch a specific program when you click on a file in the Rox filemanager).

I made a hotfix based on what I use in Muppylinux:

Might have to be optimized.


Hi, do we get a proper "fullscreen" mode in media player now? Thanks

Gxine fullscreen? ...yes, works fine now :-)

Puppy really looks great. Already did in 2.12 version and the latest version still managed to improve it in big leap.

Barry. Did you use T2 compiling environment to compile 2.13 Puppy? I guess you did.

http://www.puppylinux.com/test/ page has a download link to T2 Puppy 2.10 version. Is there such T2-Puppy-2.13 config package available somewhere? I'd like to try to compile the whole distro using native EPIA C3 processor support. Now when EPIOS distro seems to be lagging behind, I guess it would make Puppy the only "EPIA C3" native distro

Never done "full Epia C3 processor type compilation" with any other distro, only with self-compiled applications and Kernel but never for the whole distro. This is yet-another unique feature of Puppy distro which does much more than many other distro but still being compact, easy to use and powerful.

Goble: 2.13 uses the same basic filesystem as 2.10, so that T2 link is ok. Good luck...

The base packages for Puppy were only compiled once using T2, and that resulted in Puppy version 2.10.

I have not used T2 since then. Packages that have been upgraded plus many extra packages were compiled within Puppy since v2.10.

I do plan to go back to T2 and do a complete recompile, probably when we have to do a major upgrade of the GTK libs to 2.10, Xorg to 7.1, etc. Then, I'll create another T2-package for compiling Puppy.

You can use the current T2-puppy package, but do note that it will only give you raw binary packages as used in Puppy, you won't be able to create a new Puppy without a lot of work. This is described in the T2-Puppy webpage.

Barry, when you recompile, please give a thought to the encryption packages (e.g. dm-crypt). I don't know a whole lot about this, but user John Doe might have some recommendations along that line.

the new rox is soooo great!!


PuppyBackup now reached v0.6.3 

Find out more here:

It is now zero minutes to twelve as far as releasing the next Puppy is concerned. I either upload it today while I have access to broadband, or wait another week. And I don't want to wait another week, want to get 2.13 out and start work on 2.14!

I don't want to make any further changes, in case there is some unforseen side-effect. Dougal and plinej have improved Pmount, but will hold that one over. Ditto for many other things.

Regarding getting my own broadband, I'm just waiting on the installer. He took over a year before visiting my place to measure the wireless signal strength. Now we know I need direct 2-way satellite, and I'm just waiting for him to come by my way again (I'll get on the phone and pester him some more when I get home -- maybe I should post his phone number here  )

(Now we know I need direct 2-way satellite, and I'm just waiting for him to come by my way again (I'll get on the phone and pester him some more when I get home -- maybe I should post his phone number here)

Yes a good idea!
We can just ring him up with a Happy New Year from
Puppy users.

Fred Doolie 
Yes! We'll lean on him for you.

I'm thankful for your upgrade of PuppyBackup to 0.6.3. The version 0.6 had a nearly total rewrite of code, and was buggy. Sorry for giving you the extra work with it.

After fixing a newish Compaq Craptop tonight, what a pleasure
to run Puppy 2.13 Final now here at home.
From when I burnt the ISO in Puppy 1.07, rebooted, setup the Internet, saved back a file, rebooted and now posting from Puppy..under 10 minutes complete...easy peasy
And of course I ran the Compaq with 2.13 Beta2, which ran like a champ,
unlike the Redmond OS and Mr Nortons Security special...certainly this is a case of where a DOG got eaten by a doggy.
Now go back to your kennel for a well earned rest.
Distrowatch had you up on top of the pile too.
Once again I award the gold star to BK.
Thanks Chris

Xorg Video Wizard improved (again) 

The Xorg Video Wizard in v2.13BETA2 is still not right.

One problem is that if you choose the <FIX> button and test a video mode, on at least half the PCs I tested on it hung the PC after testing.
I have now fixed that, only have access to four PCs right now, but it now works fine on them.

I also simplified the dialog window for choosing alternative screen refresh frequencies.

Raffy suggested that <FIX> is perhaps not the best name for the button. It is now named <TEST>.

Get it from:

I have tested the beta12, on a Apple-MacBook Pro. It boots but the
first problem I have noticed is that it doesn't see the wireless
driver. The driver is called Airport Extreme. I have done a little
goggle search and I found in gentoo forums something like:

a module named bcm43xx.ko. I am not sure if this is the correct one,
but even this module is missing from the list of modules suggested
by the network set up script.

I would like also to report that the network setup script is a bit
worse than the older one. What makes it worse is that it doesn't
let you set up wireless and ethernet as different choices but it
combines them to one. This is not a good idea. The Linux kernel
has different choices for wireless and different for ethernet
why the network scripts should combine them to one?

What happened to taking a little break?????

I did have a break for about half a day. Will take a longer one soon after 2.13 is out. :-)

It just isn't possible to get Xorg to automatically come up with a nice display on every possible combination of video hardware. The idea of a single window in which you choose your desired screen resolution then hit <OK> button and up she comes looking real nice ...well, that's still a dream.

So, I've made one more change to the Wizard, have restored the first dialog window to a choice between Xorg and Xvesa, as it is in Pup 2.12 and earlier. Feedback is that this is required so you can choose not to go into the Xorg probing at all.

Full sources for kernel and modules uploaded 

It's all here, courtesy of Ted Dog:


Will the full 'patched' sources for kernel and modules be included to the v2.13 Unleashed CD ..?

Barry Kauler 
The Unleashed CD has the kernel patched source (40M) but not the modules.
There isn't room for much more on the CD.
But, the modules are smaller so can be downloaded more easily individually.

Thanks Barry.. Just checked and yes the modules are much smaller..

Are they all required if I use the kernel source for compiling purposes or are they 'selective' based on what I need to compile..?

Hope you had a very enjoyable Xmas..?

Also - have you received my package to you as yet..?

And finally - happy New Year and the best of health and family for 2007..

Is this the same source as for 2.12?

Also, if you post the source as a .sfs file, it makes it very convenient for the liveCD/frugal user. But it's a bit bigger, the one I'm using from 2.12 is 53MB.

Yes, 2.12 and 2.13 use the same kernel.
Only the kernel source package is needed for compiling the kernel -- the other packages are just extra modules.

Are the wifi drivers patched to support packet injection with Aircrack-ng?.


Puppy 2.13BETA2 post-release notes 

If you tested BETA1 and then do "puppy pfix=clean" to force a simulated version update for BETA2, one thing that slips through the net is 'rxvt'. This is because its modify date is very old, compared with the rxvt script that is part of the Mrxvt package. You will need to manually copy /initrd/pup_ro2/usr/bin/rxvt to /usr/bin/rxvt.

Puppy will load a native wireless network driver at bootup, if autodetected. This is a problem if you do not want to use it and want to use Ndiswrapper instead. The Network Wizard will show the wireless interface is already claimed by the native driver.
The script /etc/rc.d/rc.modules has a variable SKIPLIST, which is a list of drivers NOT to load at bootup -- you can add to that manually. For example, my PC loads the 'acx' driver module, so I added that to the list -- make sure it is inserted with a space either side.
Probably what we need is for the Network Wizard to be able to do that automatically.

I didn't announce it before, but the Universal Installer had a bug when install to HD and create a USB 'boot disk'. The USB Flash 'boot disk' did not boot, but that is fixed in 2.13BETA2.

Do you mean having a button on the wizard to unload the module and "black list" it?

The idea of having a button to unload the module had already been floated around but I though of it as low priority as there is a workaround for that (reload the module and then click "don't save").

Under what circumnstances would the user prefer ndiswrapper to the native driver automatically loaded?

Barry Kauler 
The native driver doesn't always work.

Yes, in the Wizard you need to be able to choose to unload a native driver and use Ndiswrapper. Then the native driver would be blacklisted, which means it gets added to SKIPLIST so it will never even load at bootup.

Puppy version 2.13BETA2 available 

This is not a general release, it is for our Puppy-testers only.
Download: http://www.puppylinux.com/test/
Updated release notes: http://www.puppylinux.com/download/release-2.13.htm

Right now it's 5.30pm Sunday 31st December here in Western Australia (GMT+8.00), and I thought I would upload BETA2 as a New Year pressie for our hard-core Puppy addicts!
This is looking pretty good. If anyone wants to give it a quick spin, please do and hopefully the final can come out soon.

Please note, if you have tested BETA1 and will be using the same pup_save.2fs/3fs file, be sure to enter boot parameter "puppy pfix=clean" to force a simulated version upgrade.

Eddie Maddox (greatnessguru<at>gmail.com) 
Release notes for Puppy Linux version 2.13
SeaMonkey upgraded to v1.0.6.

v1.0.6, or v1.0.7?

I thought it was v1.0.7.


Thanks for the 'New Year pressie'

Writing from the eBox right now and running great: video (new xorgwizard) and audio working fine. Only installed Opera 9.02 to make browsing bearable

Thanks for a great year and enjoy your time off - you really deserve it


Eddie Maddox (greatnessguru<at>gmail.com) 
Ahh, yes. Found it...

Feature freeze for 2.13BETA
Wednesday, December 20, 2006, 07:33 PM
I'll compile SeaMonkey 1.0.7 tonight, ...

SM 1.0.7 it is then. Right?

Thank you,

No, 2.13 still has SeaMonkey 1.0.6.

GrumpyWolfe (grumpywolfe<at>gmail.com) 
Have it running on my box by cd. Running fine have to ajust desktop to the left. But have internet.

Thanks a hole lot Berry

Nice one, Barry. Everything - even Seamonkey - seems a lot faster. Would be even better with Opera instead.
Xorg setup is rougher than previously - ended up in 640x480 a couple of times, and the menu reset didn't work on one of those occasions. Probably nothing wrong, as such, just different and less smooth.
Knoppix 5.1 with aufs also seems to run nicely.

Eddie Maddox (greatnessguru<at>gmail.com) 
Sunday, December 31, 2006, 10:05 AM
> No, 2.13 still has SeaMonkey 1.0.6.

Then, perhaps there will be an 'official'
SeaMonkey 1.0.7 PET package? Yes?

Thanks much,

vern72023 (gdcrane<at>bellsouth.net) 
removed sm and xorg added opera and wine and at 68MB it runs very well on the neoware terminal and on the emachine using a usb drive.
soxgui is a great new addition


Eddie Maddox (greatnessguru<at>gmail.com) 
PuppyLinuxWiki : Puppy213
Final release coming soon . . .
* Upgraded SeaMonkey 1.0.7

Does this need correcting to say: "1.0.6"?

Also, this may need updating now:
PuppyLinuxWiki : SeaMonkey

Thanks again,

Barry Kauler 
Eddie, I do not maintain the wiki.

Have checked out the upgraded ndiswrapper. The bug related to adapters needing firmware downloaded is fixed
This is being posted via a DWL-650+ that did not work with ndiswrapper on 2.12.
Everything else that I have checked so far is working very nicely.

Happy New Year, Barry. Enjoy your break.
And Happy New Year to all Puppy fans too.

Eddie Maddox (greatnessguru<at>gmail.com) 
Thanks, Barry.

And, great news! I just burned and booted Puppy 2.13 on an old HP Vectra VE, 64MB with a Linux swap partition and some Linux ext3 partitions. I absolutely Love this Puppy! Much better than the earlier Puppies I tried the last 2-3 years. I'm writing this from SeaMonkey:
SeaMonkey 1.0.6
Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20061220 SeaMonkey/1.0.6

Great job, Barry!

Thanks so much,

Xorg Video Wizard improved 

I have sat in front of computers of varying degrees of antiquity today, from dawn to dusk, working on the Video Wizard.

I finally managed to get the ModeLine thingy working. If the Xorg Video Wizard is run from within a running X, via the Setup menu, one of the modules is Xvidtune, which enables real-time tweaking of the displacement and proportions of the display. You can finetune the display to look exactly right, then save the setting and write it to the /etc/X11/xorg.conf file (the Xorg configuration file).

The problem up until now is that it didn't work, but I suddenly realised what was wrong and now it works. I can think of a situation in which it might not work, so after 2.13 is released and you try it and it doesn't work, look at /var/log/xorg.0.log and see what error message it reports, then tell me.
Another thing, Xvidtune does not work with all video chips, but you will know immediately that it doesn't work as when you use it any real-time changes that you try to make to the display will have no effect.

The main thing that I've been trying to do all day though, is get the Wizard to run X with a nice display by default, without having to do any tweaking. One thing it has made me realise is how buggy the 'ddcprobe' program is, but I built workarounds into the Wizard.

Tomorrow is New Years Eve, and I'll be taking some time off, so cheers everybody!

I'm sure thousands of Puppy fans wish you a very Happy New Year.

Happy new year Barry. Thank you very much for all that you are
offering to us for free. May everything you wish comes true,
in 2007.


On the Xorg track I did a hard disk install of 2.12 yesterday and encountered one small issue.

On boot it detected my mouse as a ps2 I changed it to serial and finished the boot up. I then used the universal installer to do a hard disk install.

Reboot off harddrive reset mouse to serial again, finish boot verify all is well and reboot.

Still detects a serial mouse and will not hold the setting.
Not sure why it keeps overwriting my xorg.conf file.


James (jamesblackwell<at>charter.net) 
Have a Happy New Year and keep up the good work!

If you want, there is a upgrade of PuppyBackup with fixes for Xdialog/GTK2 issues. http://www.murga-linux.com/puppy/viewtopic.php?t=10975

The very best wishes for the new year to Barry and his Puppy friend.


Tomorrow is New Years Eve, and I'll be taking some time off, so cheers everybody!

And about time too.
For the "The hardest-working man in the OS business".
Thanks for all the enjoyment you have given in the past
to all the Puppy community users.
Have a great 2007.

Puppy New Year to all,
Puppy New Year to Barry!
This is going to be a great year for all you people of good will, hanging around free, libre, open source knowledge and creativity.
Please accept my greetings and my thankfulness for so many hours of interest and fun!

All the hard work of 2006 will turn in big results by 2007 - Puppy's popularity has a lag! Happy New Year!

Let me join into the Puppy-happy crowd's gratitude, wishing all the best to you and all the unbelievably helpful Puppy team. Woof!

Ndiswrapper now working 

I have been working through the to-do list, finally got to ndiswrapper. I read through the forum reports from BlackAdder and others and it didn't look too good. My own experiments also got the dreaded "couldn't allocate memory" error.
All you guys who have reported on the forum that ndiswrapper doesn't work in Puppy 2.12 and 2.13BETA ...well, you're right, it doesn't.

I googled around and found this error is very common. Fortunately the ndiswrapper developers have just fixed it, in v1.33 released yesterday. Their changelog makes a note that there may be another problem when we upgrade to kernels of 2.6.20 and greater, but let's not anticipate trouble!
I compiled and installed the new ndiswrapper utilities and driver, and just did the manual steps "modprobe ndiswrapper" and "iwconfig", and there was "wlan0". Running "dmesg" shows the Windows driver loaded okay, and it seems that stuff about shmmax and shmall was a red herring.

I haven't tested ndiswrapper in the Network Wizard -- Rarsa, BlackAdder and other wireless networking enthusiasts can test that.
I'm on track to get Pup 2.13BETA2 out by New Years Day.

Fingers crossed the BETA2 is okay, and we move swiftly to a final release. I'm postponing any further work on the PET package concept, as I want to have a group chat with the main people involved in the evolution of packages in Puppy, including MU, G2 and NathanF, and figure out the way ahead that is agreeable to everybody and in particular to improve the package management experience for users.

MUT fixed, Geany updated, Gcrontab Help button fixed 

MUT "Media Utility Tool" had a bug -- if a ROX-Filer window was open on a partition that MUT unmounted, Rox crashed. I fixed this.

While I was at it, I also improved the mounting of NTFS partitions. Pmount was one step ahead here -- if an NTFS partition was determined to be 'dirty' Pmount still mounted it, with a warning, whereas MUT just failed to mount it. The problem is that NTFS partitions are often 'dirty' (for example, you failed to shutdown Windows properly the last time you used it), so it is an issue of some importance (particularly if you need access to the files in a broken Windows installation).
I modified MUT to mount NTFS partitions the same way as Pmount.

Geany text editor has been updated to the latest, v0.10.

I was informed that the Help button in Gcrontab, the GUI frontend for 'crontab' and 'crond' utilities, was broken. Now fixed.

Barry Kauler 
Hmmm, rendering of this blog page has gone a bit peculiar. This happened once before, and I deleted recent posts and it came good.
The blog script is a bit odd, doesn't like some character combinations -- the one that has been most annoying is the dollar character followed by numeric digits, which gets changed to something else.
I looked through today's posts, can't see anything unusual -- but then, maybe I wouldn't, as the offending character combination would have got interpreted and not rendered as-is.

I need to find out if there's an upgrade available.
Another annoying thing -- the timeout duration for comments is far too short.

Dan Bachmann (nospam<at>danbachmann.com) 
This is great news! One of the great things about Puppy is the use as a rescue tool. Using MUT, ROX and GParted important files can be salvaged from an unbootable or expired demo version of Windows.

This improvement (able to mount dirty NTFS partitions) will be most welcome from me when that desperate moment when Windows or a hard drive starts to fail.

New Soxgui, updated Pupdvdtool and Xwget, Rox tweaked 

Jason (plinej in the forum) has created another great little GUI application, Soxgui. This is a frontend for the sox utilities and amongst other things it is a convenient audio file format converter.
This is so useful, it will be in Puppy 2.13. But puppy does not have the 'soxmix' utility so I took the liberty of removing the "Mix two audio files" button from Soxgui.

Jason has updated Pupdvdtool DVD ripper to version 0.5B. Ian has modified Xwget v0.5 to look better in Pup 2.13.

I changed ROX-Filer 2.5 to thumbnails disabled by default. This avoids a couple of bugs reported earlier in this News blog, also is better on older slower PCs. ROX-Filer 2.5 is based on GTK2 libraries whereas our old ROX-Filer 1.2.2 (as used in all previous Puppies) is based on GTK1 -- so the new Rox is a tad slower, but disabling thumbnails counterbalances that.

Rox now recognises '.log' files. Click on a '.log' file and it will open in a text editor.

Jason Pline 
Feel free to modify any of my scripts as you see fit Barry. I'm just happy to contribute any way I can.

Jason Pline 
I already noticed in Soxgui I forgot to add "ogg" to the drop down box and I included "svx" which should really be "8svx". I'll probably do some more work on it tonight and tomorrow. Since Puppy has ffmpeg I'll probably add some other audio formats and use ffmpeg for the conversion of the unsupported sox formats. For example wma, mp2, ac3, and probably some others.

Barry Kauler 
Well, as long as you don't mind about the button being removed. I would rather the buttons are all functional without having to download anything else.
But, does 'soxmix' do anything else that might justify putting it in Puppy? It's a bit large, 270K, which was why I left it out -- at the time I thought, another mixer we don't need -- but I never examined its docs.

Yes, bringing in the other conversion utilities would be very good.

I was aiming to release 2.13BETA2 on New Years Day. So if you have anything by the 31st Dec I'll put it in.

Barry, it would be good to mention that right-clicking the "show hidden" button in the new Rox enables/disables thumbnails...

Jason Pline 
Barry, I'm not sure if soxmix does anything else. I'd just leave it out.

Jason Pline 
I've got soxgui re-written with ffmpeg in there too. The version in Puppy supports the following audio formats that aren't in sox.

shn (shorten) (decode only)
wma (decode only) (newer ffmpeg versions can encode as well)
m4a (apple lossless) (decode only)

The newest version of ffmpeg has several other audio formats as well.

I'll repost it once I do a little more testing.

Gutenprint bug fixed, Puppy 2.13BETA 

Kirk reported a problem with printing with puppy 2.13BETA, so I tested it. It turned out that a file in the Gutenprint package is missing.

The way I solved it is as follows. I used the Printer Wizard and setup my Epson Stylus CX5100 all-in-one printer. From a running XPDQ print manager, I chose to print a Postscript file, /usr/share/examples/ps-pdf/colorcir.ps. It seemed to work, but nothing printed. The PDQ system keeps all the files for current print jobs in /root/.printjobs/ and I open file /root/.printjobs/001.log. This reported that Ghostscript had aborted with the error message "cannot find dither matrix file".

After sometime I found the file that Ghostscript wanted was /usr/share/gutenprint/5.0.0/xml/dither-matrix-2x1.xml, but it was missing from the Unleashed Gutenprint package. I supplied the missing file, and printing worked. The reason that I had not included it originally was that it is 375KB, and there are also two other files, dither-matrix-1x1.xml and dither-matrix-4x1.xml, that I had also left out as they are also about 370KB each.

So, I am forced to put one of them in, but the problem is I don't know what circumstances will require the other two. I cut corners wherever possible and do not want to put in 700KB of files that aren't going to be needed. If you use Gutenprint and it doesn't work, do read the PDQ log file -- if it complains of a missing log file, you will know the solution. I only plan to put 'dither-matrix-2x1.xml' in Pup 2.13-final.

I tested printing from XPDQ and from SeaMonkey, both now okay.

Kirk tested with a real Postscript printer. One difference from earlier Puppy's is that the Printer Wizard now allows selection of generic Postscript printer, Level-1 or Level-2, and this is the recommended procedure for setting up a Postscript printer, though I cannot confirm it works as I don't have one.

The file dither-matrix-2x1.xml is posted here:

sorry for the post, but I have a friend here who has an
Intel Core 2 Duo Laptop and he wants puppy. Unfortunately
puppy's kernel doesn't support mutliple cores. Could you
compile a puppy kernel with SMP support since all the new
laptops are multicore laptops? We do not want any other
Linux Distro we want puppy because we just like it more.
If you can't do that is there any way to install a custom
kernel in puppy?

Please don't let us down.

Barry Kauler 
No, not for Pup 2.13, as that is basically frozen.

The problem with recompiling the kernel is that it can potentially break all the existing kernel modules, which means the whole lot would have to be recompiled -- and that's a lot of work.
Small configuration changes should be okay though -- after 2.13 is released, I can take a look at it. There have been a few other requests for kernel config changes and we would have to gather them together and make the changes, then see if it breaks the current modules.

Gxine, JWM, PureFTPd updated, xorgwizard improved 

I upgraded Gxine multimedia player from v0.5.7 to 0.5.9. I want to avoid package version changes between the 2.13BETA and final releases, but Gxine crashes when I try to play a DVD on my laptop. I don't knoe yet whether the new version fixes that, but the changelog does state that some crashing bugs were fixed.

I also upgraded JWM window manager from v1.8rc4 to v1.8. There is feedback from the forum that the final release works okay, so I decided to go for it.

Kirk made a small modification to his PureFTPd FTP server package, so I upgraded that. The Unleashed package is now version 1.0.22-1.
Forum link: http://www.puppylinux.com/forum/?1163553598

There are a couple of bug reports for 2.13BETA that I cannot reproduce. Kirk reported that if the pup_213.sfs file is copied from the CD to the same place as the pup_save.2fs file, Puppy still used the one on the CD. However, I tried it and puppy used the pup_213.sfs that was copied to the hard drive. So, I cannot flag this as a bug.

Debernardis reported that "screen lock does not work". I presume that is referring to the "lock" icon on top-right of screen. I tested it, it works fine.
Forum link: http://www.murga-linux.com/puppy/viewtopic.php?t=13883

Thanks to Raffy and other for providing feedback on setting up Xorg. I have modified the xorgwizard script and will post it on the forum.
Forum link: http://www.murga-linux.com/puppy/viewto ... p;start=15

I had the same problem (screen lock does not work).I solved it running mrxvt and typing xlock.

ferikenagy (ferikenagy<at>yahoo.com) 
about ROX 2.5 bug: freeze on /proc, with thumbnails on, after some research it appears to me it is not an ROX bug! in /proc directory only "kmsg" file cannot be open (no cat,more...) and cannot be copy part of it with "dd if=/proc/kmsg... so it is obvious it cannot be accessed (opened) in a normal way. There was a discussion in forum how is recognized the file type in windows (after the name of file extension ) and in linux (after rhe first bytes in file ,an sort of magic number, use of 'file' command ) and the old ROX used the windows style after the file extension name .
It seems that new ROX 2.5 is upgrade to recognize the file type in linux manner by opening and reading the beginning of file , and because '/proc/kmsg' cannot be opened it is waiting (like dd if=/proc/kmsg..)in an endless loop which freeze ROX....So until now evrything is ok with ROX (not with /proc/kmsg), there is another little bug in it (no related with kmsg): if you try to 'kill' any rox windows (from right klick on menubar) it will kill also the background ROX the pinboard with descktop background image and descktop icons too...
Somebody should verify my theory...who knew ROX how works internally....
"cat /proc/kmsg" and "dd if=/proc/kmsg..." are stucked but "file /proc/kmsg" reports "/proc/kmsg: empty" interesting!

Good work, ferikenagy!
Barry, it now makes sense why they re-wrote the thumbnail code -- using magic numbers is more accurate.
Maybe something can be done about that problematic file?

BTW, I highly recommend upgrading Geany to 0.10 -- it has many improvements over 0.9.

The problem with the pup_213.sfs not being loaded from the hard drive is a SATA drive problem. If I boot with "puppy PMEDIA=satahd" boot option, then the pup_213.sfs file IS loaded from the hard drive. If I don't pass that option then it loads from the CD and sets PUPMODE=13.

Just tried booting 2.12 from the CD, same problem. I got this laptop a couple weeks ago and went straight to a frugal install of 2.12. Had the same kind of problem with PUPMODE=13, so I added PMEDIA=satahd to grub.

Here's my PUPSTATE file when booting 213B from CD:

#these directories are unionfs layers in /initrd...

If you left click on Xlock nothing happens. If you right click, you get a list of options, but not the option to set the password. As bodigi said you can type xlock from a terminal window to set the password.

"if you try to 'kill' any rox windows (from right klick on menubar) it will kill also the background ROX the pinboard with descktop background image and descktop icons too..."

Hmmm, sounds vaguely like this problem:


kirk, the Xlock bug (as several other 2.13b bugs) is caused by the use of Mrxvt masquerading as Rxvt. If you replace the Rxvt wrapper script with the real Rxvt binary, Xlock will work as before ;)


Various small fixes 

I have tidied up the /etc/rc.d/rc.shutdown script so that the personal storage file has an ext2 filesystem inside it in all circumstances, and the dialog windows all refer to 'pup_save.2fs' and 'ext2'.
Note that you can upgrade a pup_save.2fs file to pup_save.3fs with internal ext3 f.s., but there are extremely limited situations in which the ext3 journal will actually bring any advantage.

I have modified the /initrd/sbin/init script so that a filesystem check of the pup_save.2fs/3fs file is done at every boot. This only takes a couple of seconds on fast hard drive media, a bit longer on USB media.

Puppy 2.12 loads the framebuffer module for the video hardware, even though it is not used. On all the PCs I tested, this seemed harmless, however it appears in some cases the framebuffer driver is causing trouble. So, I have modified /etc/rc.d/rc.modules to skip over the framebuffer modules and not load them.

Mrxvt terminal emulator is causing problems with some scripts. Although Urxvt looks good, I decided to fall back to Rxvt. However, Mrxvt and Urxvt are now PET packages so can be installed and used by anyone.

ROX-Filer 2.5 has a curious feature called "iconified windows", in which you minimise a window to the taskbar and it also becomes an icon on the desktop. I suppose this could be useful for systems that do not have a taskbar, but in Puppy's case it is more like eye-candy gone mad. I have turned it off by default.

ROX-Filer bugs 

This is a message that I have just posted to news://news.gmane.org/gmane.comp.desktop.rox.devel newsgroup:
Using Filer 2.5. I already posted a few weeks ago about a scaling bug -- for large-thumbnails selection, small images are scaled up -- Puppy Linux has a heap of 16x16 xpm's and they all get scaled up and look really crappy.

Another bug related to thumbnails. This one got reported to me, as we are testing Puppy 2.13BETA with Filer 2.5 in it. Open ROX-Filer on the /proc directory, Rox freezes and have to restart X. Turn off thumbnails, Rox does not freeze. Look in /sys, no problem.

Both of those bugs I would say are serious, but I was very surprised to find both of them in ROX-Filer 2.4.1. I want to bring out Puppy 2.13-final soon, so I thought I would test older versions of Rox.

So, I went back further, tried Rox 2.2.0. This renders thumbnails perfectly, and just as fast it seems as the latest Rox. Even faster -- or perhaps I got that impression as a folder full of 16x16 images were rendered as-is, not scaled up. Unfortunately, v2.2.0 has a display bug, choosing "Show extra details"
crashes Rox -- from the changelog it seems that this is a problem with GTK versions >2.8.9 (Puppy has 2.8.17).

I was feeling rather frustrated by then! I thought, a version of Rox with the thumbnail rendering of v2.2.0 and the display-switching bugfix of v2.4.1 would be ideal! -- but I don't think there is any intermediate release like that.

So, I would like to request, pretty please, the next Rox, 2.5.1, could it please have the two above-mentioned bugs fixed?

We love ROX-Filer in the Puppy-world. The old 1.2.2 has been a main-stay for years, rock solid.

Barry Kauler

Filer 2.4.1 was released in December 2005, so that's how long those thumbnail bugs have been there.
I even went back to ROX-Filer 1.3.10, but it has another serious bug with the scrollbar that makes it unusable -- that also is a GTK version problem I think. It doesn't help that the GTK developers keep moving the goal posts.


Thank you for the remarkable work you and the other contributors have done to bring Puppy Linux to the masses. Puppy Linux is truly a one of a kind distribution. Looking forward to release 2.13.

Happy New Year.


Go back to 1.2.2? I am pretty used to it, and it does what I want it to do. Maybe others have need of the new features and pretty looks, I don't know...

Barry, maybe the bug with /proc has something to do with Puppy?
In the past I mentioned a bug where PupRox crashed when entering a certain directory (in the FLTK source) -- it ended being the result if a badly written xpm...

Maybe someone could check Rox 2.5 with another distro and see if the same thing hapnens?

Eyes-Only (eyesonly<at>gwi.net) 
Good suggestion Dougal! And since I'm in VL5.8 Standard Gold at the moment I opened my Rox 2.5 which I have installed in there. I went to "/proc" and...

I'm just returning from a reboot of X. LOL! I hope this helped? ;)


vern72023 (gdcrane<at>bellsouth.net) 
Personally I do not like "thumbnails" and have always turned them off in Rox.
I think that by default they shd be turned off , just as "iconified" windows shd be turned off

Anyway I have been using Rox 2.5 since I started with Puppy and I thought its adooption in 2.13 was a good step forward


Barry Kauler 
ROX-Filer 2.2.0 thumbnails work perfectly, and the /proc bug is not there. A Rox developer rewrote the thumbnails rendering for ROX-Filer 2.4.1 and that is what has stuffed things up.
I don't know why they did that, as the old thumbnail rendering works well. ...oh well, I guess they had their reasons.

I guess I'll stay with 2.5, and there should be a fixed release sometime.

Unless something else serious turns up...

Rxvt-Unicode terminal emulator looks good 

As mentioned earlier, there are problems with Mrxvt, and I planned to revert to Rxvt for Pup 2.13-final. However, instead I may go for Rxvt-Unicode, also known as Urxvt.

I'm testing Urxvt right now, it works well. It doesn't have tabs, but that is low on my priority list. More important is the support for mixed fonts, including X11-core and Xft fonts -- and what is particularly interesting is that Urxvt can mix them on the same line. You specify a base font, and if a character is needed that is not in that font, Urxvt can look in other fonts for it.

Urxvt is developed by Marc Lehmann and the project home page is:

Is there a demand for rxvt with tabs? Personally, I prefer to have separate terminal windows open making comparison and copying easier.

I have always added the '-p' switch to the script calling Geany to disable tabs for the same reason. Btw, the new Geany version uses the '-i' switch instead to disable tabs.


Yes ! Tabs in terminal is very important for some people -including me !! Blame firefox for spoiling us all with anything that can be tab-able !!

Jason Pline 
Tabs are nice but I agree mrxvt is too buggy right now and I don't know of any other terminals that wouldn't require a massive amount of libs. Hopefully the bugs get resolved.

To-do list for 2.13-final 
Version 2.13BETA is basically frozen, no upgrades of packages, nothing major, just basic bug-fixes before the final release. These are some things that I already know need to be fixed or looked-at:

1. Mrxvt problems
I may revert from Mrxvt back to Rxvt, as the former is buggy. The problem is pasting long lines, they do not always wrap properly. Also, Mrxvt is incredibly slow to shutdown sometimes. I have also been examining my usage patterns, and I don't use the tabs much anyway, mostly because I use Rox's right-click to open a terminal in the current window.

2. Modem Wizard
I have many plans to improve this, just haven't had the time. I will see what I can do before 2.13-final.

3. Serif fonts in welcome window
The initial "woof woof" welcome window displays with a Type1 serif font. Ditto for the Help window. The welcome window is using an HTML-viewer executable named 'bareview' and the Help window is using a HTML-viewer executable named 'seaview' and these use the SeaMonkey libraries. I will see if I can change to DejaVu Sans font for consistency with everything else.

4. Complete changeover to ext2
New pup_save.2fs files now have an internal ext2 filesystem, but much of the description in the shutdown dialog windows refers to pup_save.3fs and ext3 -- needs updating.

5. F.s. check at bootup
For pup_save.2fs personal storage files, I'm thinking that Puppy will do a f.s. check at every bootup, rather than the default every 25 mounts. I think that is what Puppy did way back when Pup was using ext2, just before we moved to ext3, and it doesn't slow down the bootup by much. I have to find an old Puppy and look at the code -- as I seem to recall it had some special feature to do a f.s. check then if an error do it again with forced repair, or something like that.

6. PET package dependencies
If you look in /root/.packages/packages.txt (also livepackages.txt, which is a subset of the first file, a list of PET packages that can be downloaded and installed), you will see that each entry has a dependency list. For example, here is the entry for Pupdvdtool:
"pupdvdtool-0.5" "pupdvdtool-0.5: dvd ripper" on "GTK2APPS +vamps,+vobcopy,+ffmpeg,+dvdauthor,+gtkdialog 128K" \
You can see the list of dependencies. Versioning is not required when referencing the official packages. Most important, the dependencies are hierarchical, for example '+gtkdialog' will also mean that all the dependencies of 'gtkdialog' will have to be installed, including GTK and all of its dependencies. So, you don't need a huge list of all dependencies in each entry.
Note, a minus sign before a package, for example '-somepackage' would mean this package is incompatible and must not be installed.
Also, some packages will always be in Puppy, even in a bare-bones Puppy, so will never have to be explicitly named as dependencies.
Anyway, many entries in 'packages.txt' are not fully populated with their dependencies. I will do some more work on this, but if you have repsonsibility for, or interest in, a particular package, perhaps you might like to fill-in the dependency-list and send it to me.

7. Turma has rude exit dialog
GuestToo used a hex editor to fix this, and I had his 'fixed' Turma in Puppy (I think) but that seems to have gone astray and the rude one is back.

Barry Kauler 
Lobster has started a Forum thread for reporting 2.13BETA bugs:

Number 3 is fixed. The welcome and help windows now display with DejaVu Sans-serif font. I had to edit /usr/lib/seamonkey-1.0.6/greprefs/all.js.

Was playing around with new jwm 1.8. Removed delay on blinky and added height="24" to freememapplet in the .jwmrc-tray . Everything seemed all right on the tray.

I like rxvt, never saw any problem with it. If you decide to keep mrxvt, would it be possible to keep both? rxvt as a backup in other words? Until mrxvt gets solid, anyway...

There is a bug that some users have turned up with 2.12, I wonder if you've seen it? It would be nice to get that cleaned up in 2.13 too.


Why did GuestToo have to use a hex editor? It's just a simple matter of commenting out a little bit of code -- MU did it and made a dotpup a month or two ago.

Both JWM and Geany have new versions out, BTW.

Re: Fonts and opening MS documents - Thanks for bringing up the matter of fonts, Barry. Here are some notes about OO1.1.4 that you or other Puppy developers may find useful.

The smallest OpenOffice build that we're using is 1.1.4 and this is in the PET/pupget repository. This version converts presentation fonts to narrower ones, and naturally the presentation display would be very different. Even the originally prepared fonts in OO1.1.4 tend to be narrow. Maybe just linking to the new fonts in Puppy can solve this problem, or is the solution a lot more complicated?

Hacao's friend in Hanoi also suggested that a newer version (is it 1.1.5?) of OO can handle Open Document file types.

If there is a way of adding to/replacing the fonts in OO to the new set being used by Puppy, that will be welcome, as it could even reduce the size of the OO PET package.

Maybe I'm getting mixed up with Gkdial -- G2 may have used a hex editor on that, as I think there are problems when we try and recompile it.
I think G2 did also modify Turma, but perhaps he modified the source.

I might go back to Dillo for the internal HTML viewer. The problem is that 2.13BETA has "bareview", a viewer that uses the SeaMonkey libraries, uses a lot of memory. I'm testing on an old 64MB 500MHz PC and bareview is barely able to run in that space and is very slow to start -- which is not good for the first welcome window.

Re: Seaview

Barry, I just had a good experience with Seaview - got it running when I typed "Dillo" in console. I can say that Seaview keeps separate Internet files, as Seamonkey can't use its Forum cookie.

I have started a thread about seaview at http://murga-linux.com/puppy/viewtopic.php?t=13953

It has no right-click but is fast (in my trusty old Celeron 400).

Re: Font Consistency

Based on your (Barry's) inital discussion: "the Help window is using a HTML-viewer executable named 'seaview' and these use the SeaMonkey libraries. I will see if I can change to DejaVu Sans font for consistency with everything else." - yes, this will be a very good technique which hopefully we can also use with OpenOffice. :)

Puppy version 2.13BETA 
This is not a general release, it is for our Puppy-testers only.
Download: http://www.puppylinux.com/test/
Release notes: http://www.puppylinux.com/download/release-2.13.htm

There are some things to do before the final release. I'll itemise them soon.

  Thanks Barry - looking forward to exploring it


This really is a Star release. The new Rox is speedy, very nice to use. The graphic start up screen is so much simpler and Pet is looking good.

Rarsa has some exciting news which I look forward to hearing more about. I got a PM message from someone today, offering to help on the wiki and they do not even have Puppy yet . . . Yes Puppy really is that good.

Many thanks Barry, this looks to be a very exciting release :)

F M Lynch 

2.13 found my Prism2_usb module, installed the linux-wlan-ng driver, configured, and activated the prism2_usb module automatically. I was connected to the internet on initial bootup. WOW!!

Thanks Barry

I am looking forward to exploring the other exciting new features.

It is really wonderful and works absolutely allright, quick and slick, with my preferred apps. I'll test it thoroughly and I'll make the next rudy on it. The only thing I need to bury my other distro is bluetooth support.
Thanks Barry!

  Very nice Barry
I took the pup_213.sfs and only removed SeaMonkey then merged my own apps into it ( Opera and Wine and Win32 ) and saved it back - it came out at 71MB which is really very nice and tight and I may not even remove the other elements I normally do like xorg given the size.

Then I copied the puup_213.sfs and vmlinuz and initrd and zdrv_213 onto a Lexmark usb drive I use to test the distros with.

It upgraded the existing pup_save very cleanly just the usual gotchas which i fixed from the tmp save.

The new distro works well onmy main machines, including the low memory ones; BUT even better it worked without any major driver tweaks on my wife's e-machine - which frankly had not behaved well under any of the 2.x distros - networking has been abysmal with the forcedeth drivers on 2.1 and 2.12 on this

Another great job Barry -

Thanks, Barry, and Happy Holidays!!! (Uh, hope you're having even a half-day of holiday. :) )

Notes on PETget, Dillo, HV3 

I have been testing PETget, the replacement for pupget. PETget is completely backwards compatible. We are migrating to the new .pet package format, however if you choose to install, say 'cutecom-0.13.1', PETget will firstly look to see if 'cutecom-0.13.1.pet' exists on the download site, if not will fallback to 'cutecom-0.13.1.tar.gz'.
In the case of the primary repository, http://distro.ibiblio.org/pub/linux/dis ... uppylinux/, the older .tar.gz pupget packages are in subdirectory 'pupget_packages-1' whereas the new .pet packages will be in 'pet_packages'. This is good, as there is no rush to migrate the packages.
Same thing if you download a .pet or .tar.gz to your PC first -- when you run PETget and choose 'local' button for the download repository, PETget will handle the old format as well as the new.

I did a quick test of the new dependency mechanism. Package 'cutecom-0.13.1' has 'qt' as a dependency. When I ran PETget and chose to install Cutecom, it did so, then continued and installed 'qt-3.3.6' as well.

PETget in Pup 2.13BETA will not have support for the proposed advanced features of .pet packages, as I'm just focussing on it basically working for now. Currently, a .pet package is just a .tar.gz with md5sum stuck on the end. But, we propose the 'specs' file, which among other things will be handy for alien .pet packages (not in the official Unleashed suite) as it will have the dependency list plus all the info needed to create an entry in the 'alienpackages.txt' file. I'll tackle this for the final release of v2.13 (or BETA2 if necessary).

Regarding Dillo. Many scripts assume Dillo is present, but for a particular custom build of Puppy it may not be (for example, v2.13BETA). It is not satisfactory to always have dillo as a symbolic link to whatever HTML viewer is present. Therefore, I have created /usr/local/bin/defaulthtmlviewer. For any scripts that have to launch a HTML viewer, please use that instead of Dillo.

Regarding HV3, the Tcl/Tk HTML viewer and web browser. I have setup the UNleashed package so that if you create a live-CD with only HV3, no other browser, then HV3 will automatically be setup as the 'defaultbrowser' and 'defaulthtmviewer'.

It all seems to be getting very complicated, Barry? Simplicity was (and is) the great unifying principle and one of the major attractions of your masterpiece. I'm sure you'll be able to reassure us mere users.

Complicated? Just the reverse. It is a move toward simplicity. There is a transition period, in which the old pupget packages have to be recognised. later there will only be PET packages.
Perhaps later the dotpup packages will be history also, all converted to PET packages (MU already has a tool for that).
Then there will just be one consistent and simple package format for Puppy.

Much of what I write in this blog is information for Puppy developers, so there may be detail that is confusing for users.

One tries to follow, in outline at least, what developers are doing so that there is a minimum understanding of changes when they occur and what will be required of users.
Two old maxims often appear relevant:
A little knowledge is dangerous.
Oh, ye of little faith....
Anyway, thanks for the explanation, Barry. Merry Christmas; over & out.

The "defaulthtmviewer" is a good idea. I was just thinking about something like that after you mentioned replacing Dillo with that Mozilla viewer. As MU pointed out, that viewer is dependent on Seamonkey, so now when people have a Seamonkey-less Puppy they can just change the defaulthtmviewer...

BTW, Barry, I'm quite sure the man script uses Dillo explicitly.

For 2.13BETA I kept dillo as a symlink.

PBrename, Pupdvdtool, Xwget, Geany updated 

Jason (plinej in Forum) has updated PBrename batch file renamer to v0.4 and Pupdvdtool DVD ripper tool to v0.5. Both of these are now in Puppy.

Ian (Ian in Forum!) has upgraded Xwget GUI frontend for wget to v0.5. This also now in Puppy.

The very latest Geany text editor, v0.9 is now in Puppy.

For what it's worth, the geany developer mentioned they are just about to release 0.10:


Hi, thanks. can you upgrade the games too? and put some solitarie 

Feature freeze for 2.13BETA 

As I hope to bring out Pup 2.13BETA by xmas-eve, I need to put a freeze on changes.

I'll update some packages tonight, then do testing for a couple of days. This BETA will of course not be for general release, just a treat for Puppy testers at xmas.

I'll compile SeaMonkey 1.0.7 tonight, which also means I have to recompile Gaim to be sure it's ssl plugin works. I'll update the Gimp PET package as the old one is compiled against gimp-print but we are now using Gutenprint.

There are a few other pkgs to upgrade, including some of plinej's.

I'm not going going to recompile the kernel at this stage. Some kernel config changes were suggested to support more drivers, but will have to hold that one over.

I hope you noticed my response about compiling 1.0.7 with profile roaming support....

OK nevermind.... I just read the previous posts.

S. Joanou 
At nearest convenience, an update of IPW3945 and IEEE80211 and other peripheral code would be wonderful. Currently, it freezes my SMP Dual Core Celeron machine and the update may fix the problem.

Happy Holidays!

We are still at busybox 1.01, while the latest release is 1.30 (with patches):


Normally I wouldn't care, but I found one patch they have in their system that seems to be needed for cryptsetup:


Unfortunately, John is having problems booting, very possibly because this patch is missing. If this is in fact the sticking point, it makes encryption (beyond the basic cryptoloop) work difficult, if not impossible. I suppose he or I could compile the latest busybox and press on, but it would be even more convenient if Puppy 213 had the latest.

If this is not possible, oh, well...

BTW I cannot tell if this patch is incorporated! I may have to email the developer to find out. I have found a tutorial where someone showed how to use cryptsetup and busybox together, using the initrd-style boot, so that suggests later busyboxes do have the required patch. I can't tell from the release notes though.

Now I'm thinking this was a patch to add cryptsetup itself to busybox. I don't think it's been implemented, and I don't think it's for cryptsetup-LUKS anyway. So never mind...

John Doe 
I filled PaulBx1 in on the Busybox/init issue in the encryption thread.

Also, I'll try not to drop any many more "kernel driver bombs" on you. ;-)

Regarding both these topics, maybe you should start up two threads in the developers group and we could get a couple people together who really want to grind out the modules and busybox/init upgrade. We could work it all out for 2.14.

I wouldn't mind setting a 6 week goal like that. Anyone else?

p.s. The occasional problem people have posting here is most likely the length on the session timeout. I just had it happen (thought too long I guess). Your anti-spam gif sets it's value on the server in a session variable. When the user takes longer than the session timeout to post back, their entry is invalid even if it is correct as the server has forget what the value is to validate against. Although I copied to geany before I submitted (thanks Sage).

q9f0nh5pctdvzmw (q9f0nh5pctdvzmw<at>googlemail.com) 
SeaMonkey rocks..

tic, Isomaster, PuppyBackup, PuppyMirror 

The 'tic' utility program is part of the ncurses package. It was compiled in T2 against a library that is not in Puppy, so I recompiled it. meaning it will now work.

Forum member mig21 announced Isomaster version 0.6, a tool for opening up an iso file. This has received very positive comments on the Forum. Puppy is now upgraded to this version.

Sigmund (zigbert on the Forum) has created a couple of little gems. PuppyBackup version 0.5 is now in Puppy. I have removed my old 'bkup2cd' utility from the menu as it is unmaintained and now there is just PuppyBackup in the menu.

Zigbert also created PuppyMirror version 0.1, for syncing directories, and I have also put this into Puppy. (note to zigbert: there are some error messages when run this from a terminal, which might need to be looked at).
PuppyBackup and PuppyMirror are in the "Utilities" menu.

Errormessages when running from terminal:

date: invalid date `+%s'
expr: syntax error
expr: syntax error

It is fixed for the upcoming 0.6.
For PuppyMirror I don't get any messages. Please let me know if you do.

I got those errors with PuppyMirror.
I had better check that I got it the right way round!

The error is not critical. Xdialog is getting wrong dateformat. It is the reason why Xdialog-calender shows today by default. - Not backupdate as expected. I'll guess it is nothing to rush about???

SeaMonkey, Gaim upgraded, various small issues 

I have upgraded SeaMonkey to version 1.0.6. There was a request on the Forum for the 'sroaming' extension, so I have included that, although I haven't got a clue what it does. I also added an extension for editing Cascading StyleSheets in Composer.

Gaim is upgraded to version 2.0.0beta5.

Testing Gaim brought to light another little problem with the new Xdialog. Gaim is launched via /usr/sbin/gaimshell, which in turn launches /usr/sbin/gaim-autosetup.sh (which was developed by J Marsden) which starts Gaim with automatic login to our #puppylinux channel.
The autosetup.sh script runs Xdialog, which displays a dialog to enter a nickname -- no OK button, requires pressing ENTER key to quit the dialog window, except that it doesn't work. I don't know how to tell it that ENTER key is equivalent to clicking OK button, so I modified the script so that it does have an OK button.

An interesting thing I have done with the new SeaMonkey. The source package has a demo HTML viewer called TestGtkEmbed, which is only 16KB and starts instantly. It has a very (very) basic menu, but I modified the source to not have any menu, no status bar, no nothing, just a window, and I set the default window size to what I wanted (hardcoded), and called it 'bareview' -- this is really handy to display the welcome message at first bootup. Maybe handy for other purposes, like some of the stuff MU has used Dillo for.

TestGtkEmbed has a simple text-only menu with Forward, Back, Stop, Refresh and a URL-entry box, and I tried to replace the buttons with icons ...but my GTK programming skills are not up to it -- I created something which just crashes. Really don't have time to go off at a tangent anyway.

I'm trying to get the internal modem on my laptop working. An ALSA driver kind of works, with the Smartlink daemon:
# smodemd --country=AUSTRALIA --alsa modem:0
...and amazing, I can send "ATZ" to /dev/ttySL0 and the modem responds with "OK". But, it won't dialout. So, a work-in-progress.

I was experimenting with gtkmozembed in the past, for example this Flash-based clock uses it:

The problem simply is, that it depends on all the mozilla libraries - so it will not work in puplets without seamonkey.
(versions based on firefox or opera).

For this reason I decided to use dillo for the debianinstaller, as it is very small and so can run in any puplet.


alienjeff (alienjeff<at>charter.net) 
From today's posting: [i]There was a request on the Forum for the 'sroaming' extension, so I have included that, although I haven't got a clue what it does.[/i]

With all due respect, am I the only reader who found this excerpt, uh ... a tad unsettling?

Barry I cannot find a post about this extension. And after investigating this is closed source extension, I realize that yuor keen to using the best of both worlds but I will have to protest on this.

There are many people who make great suggestions and slowing down the browser with a closed source intrusive extension is not the best idea in the world.

I have to disagree very strongly on this BK and though you may not care the user who unwittingly uses this extension by accident or curiosity might not like this either after finding out who owns the extension.
And what information is collected by google.

Google is a known cia asset and puppylinux should not participate with such agencies. http://www.infowars.com/articles/bb/goo

Google does not need to be involved with a community that is aimed towards end-users and allowing such activities would not be in puppylinux best interest. The information is not encrypted before going to google and vice-versa.

Barry: Please do not include this in puppylinux

alienjeff (alienjeff<at>charter.net) 
Before the word "paranoid" starts to be promiscuously thrown about, ask the Mozilla folks what "sroaming" is about:


amish (mail<at>aoptionalpuppylinux.com) 
just a thought... rather than subject people to closed source extensions that are hard to even find info on (sketchy...) to a foss browser (bringing you back to square one in a sense) why not include the install file in the distro, so those that WANT it attached to seamonkey can just click "install"? yeah, only useful to people that have pupfiles/remaster then... but easier to install than it is to remove?

p.s. from the book i'm currently reading (just fun coincidence?)
"deliver a gift that looks attractive, yet steals the very key to your security. sharpened over the milennia, this technique still works against everyone except the truly paranoid." - cliff stoll (i just thought it was well said)

SouthPaws (jaguar1<at>netzero.net) 
Will this help...?

Barry Kauler 
sroaming is not a closed source extension. It is in the extensions directory in the SeaMonkey source, hence open source.

extensions/sroaming/ has a README file, but it doesn't make any sense to me. Here it is:

[blockquote]This implements 4.x-like roaming.

To make the implementation vastly more simple, it has been decided that no
syncing during the session happens. The design will not allow that either
(at most sync in certain intervalls). A full-blown dynamic implementation
that immediately update the server when a data change occured requires the
cooperation of the data providers (bookmarks, prefs etc.) and is thus a huge
change that I will leave to somebody else to implement independant of this
roaming support here. alecf made such proposals a longer time ago on
n.p.m.prefs, they sounded very interesting, but unfortunately, nobody
implemented them so far.

When the users selected a profile, we will check, if it's a roaming profile
and where the data lies. If necessary, we will contact the server and
download the data as files. We will overwrite local profile files with
the downloaded ones. Then, the profile works as if it were fully local.
When the user then logs out (shuts down Mozilla or switches to another
profile), we upload the local files, overwriting those on the server.

Following Conrad Carlen's advise, I do not hook up using nsIProfileChangeStatus,
but in nsProfile directly. That just calls |nsISessionRoaming|.
Its implementation uses various protocol handlers like |mozSRoamingCopy| to
do the upload/download. These in turn may use generic protocol handlers like
the netwerk HTTP protocol to do that.

Also following Conrad's advise, I do not store the roaming prefs in the prefs
system (prefs.js etc.), because that it not yet initialized when I need the
data (of course - prefs.js, user.js etc. might get changed by us), but in
the Mozilla application registry. For the structure, see the comment at
the top of prefs/top.js.

Overview of implementation:
- transfer.js (the Transfer class and support classes) contains the
non-GUI logic to transfer files and track the progress and success.
- progressDialog.* shows the progress to the user (and also works as interface
to the C++ code)
- conflictCheck.js is the "controller", controls the overall execution flow.
It determines what has to be done (which files to transfer when etc.),
including the conflict resolution logic, and kicks off the transfers.
There is a long comment at the top describing the implementation.
- conflictResolution.* is a dialog to ask the user when we don't know which
version of a file to use.

When someone requested it (on the forum I thought), he gave a brief description that seemed harmless, though I didn't fully understand and have forgotten the bit I did understand.
Anyway, if noone comes forward and states that this is good to have, I'll recompile without it.

Barry Kauler 
Well, Eddie has posted that SeaMonkey 1.0.7 is now out, so I'll recompile tonight. Is sroaming in or out?

Eddie's post: http://www.puppylinux.com/forum/azbb.php?1166636607

Barry Kauler 
A note on Gaim. V2.0.0 is about 3.4M (uncompressed, and that's after being cutdown somewhat) compare with v1.5.0 at about 2.5M.
I'm not happy about that and will stay with 1.5.0 for Pup 2.13.
V2.0.0beta5 is a PET package though (ie, what we previously called a pupget pkg).

Here is a description what roaming is about:

Might we already have other ways to accomplish the same thing?

While there may be more paranoia than called for (if it is really open source), my personal preference would be to not complicate things this time. Maybe bring it up on the forum, see what people think about it, see if there really are any security holes there. Better to find out before installing it, than after when some (few, apparently) will have come to depend on it. Or, let individuals install it if they want it.

It was my understanding that this was a google ext. I misunderstood...

Barry do what you always which is what you do always..

I was worried for a second...

Thanks for clearing up the matter !

PaulBx1, thanks for that link, it clarifies things immensely.

I found a note in my Notebook, it was J_Rey who requested sroaming.

I might take it out. I'm not sure if I like to idea of a central server that can automatically download to my computer. I'm getting paranoid too!

Wow. I just missed this whole conversation and it looks like it may already be decided. Maybe this deserves more discussion in a forum topic but for now:

I asked to include it since Barry disabled it although it normally would be installed [b]by default[/b]. To set up profile roaming, see Edit -> Preferences... -> Roaming User to share profiles with other SeaMonkey installs (or other Gecko-based browsers with it enabled) which is easiest done as File Copy instead of setting up a server to do it. So enabling this would allow SeaMonkey to share [i]one profile[/i] between multiple OS's on one machine although if a server is used then of course would extend beyond that machine. Now, adding the support for this to be available does not mean that it will automatically use a server, it has to be specified and enabled. I do admit that the documentation for this is sparse, but the SeaMonkey developers have included by default for a time now....

Maybe I'll leave it in then!

alienjeff (alienjeff<at>charter.net) 
From Mozilla/Seamonkey's own documentation (prefs.properties) for [i]sroaming[/i]:

"12 ActivationWarning=Be warned that the roaming implementation is still new and experimental. It may accidently overwrite your roaming profile files (both on the server and locally) with a bad or empty version. Please make regular backups of your profile to prevent possible data loss. See the release notes or ask your administrator for where you can find the files. Please report any dataloss bugs you find. This warning won't be shown anymore for this profile."

And [i]please[/i] don't default to the lame excuse that it's old documentation that simply overlooked by the developers.

More on reverting to ext2 for pup_save file 

This is a continuation of a post on this Blog on December 16th.

Puppy currently creates a personal storage file named pup_save.3fs with a ext3 f.s. inside it. The only exception to that was if created on a floppy disk it will be pup_save.2fs and contain a ext2 f.s.

Ext3 is ext2 with an added journal. This journal is useful as it can repair a f.s. automatically, and that is most useful if the power goes off unexpectedly. The problem is that it doesn't work too well when the loop-device is used to mount the save-file, which is how it is done in Puppy (and how it has to be done). It does work if the underlying f.s., that is, the f.s. of the h.d. partition in which the pup_save.3fs file reside, itself has a journal (ext3 or reiserfs).
However, the journal inside pup_save.3fs is basically useless in all other situations, including (especially including) USB Flash devices.

It has also been pointed out that ext3 has a speed penalty. I will add that there is a considerable space penalty also and this is an important point for Flash devices.

So, I have implemented a solution. I have edited /initrd/sbin/init and /etc/rc.d/rc.shutdown. At first shutdown, when you get to choose where to create a pup_save file (or if you booted off a usb flash or internal h.d. partition you don't get any choice, the boot partition is used), if the host partition is ext3 or reiserfs then a pup_save.3fs file with internal ext3 f.s. is created. In all other cases a pup_save.2fs file with internal ext2 f.s. is created.

If you already have a pup_save.3fs file, and want to mount it as ext2, just rename the file to pup_save.2fs.

There is one thing undecided. For the pup_save.2fs file it would be good to run a periodic f.s. check at bootup. I'm wondering about the best way to do this. It would have to be done in the /initrd/sbin/init script, before the pup_save.2fs file is mounted, but I'm not sure how to trigger it. I don't want to run the check at every boot. What about based on the date, like once a week?
Or, if there's an error report when it gets mounted.

Can someone comment on the flash write wear-out factor as it relates to using this new ext2 method with puppy. I thought I understood how ext3 with a journal worked, guess not!

Thanks for all the hard work!

alienjeff (alienjeff<at>charter.net) 
My Gentoo box, which sees very little use as it jealously sits next to my Puppy machine, fs checks every x-number of boots. This seems to be a more logical approach than checking every x-number of days, though coding might be a tad trickier.

Another approach would be a pop-up dialog box triggered by date, boot number or whatever, with a reminder message, "do you want to check your file system now?", etc.

As AJ points out, many distros just announce that fsck will run every so many boot ups. Especially in older distros, anyone with a quick eye and a slow PC can read the relevant statement as it scrolls past. Guess there's a simple decrementer in there somewhere? 30 and 60 seem popular numbers. Not sure whether there's any statistical significance in those choices? Perhaps not. Would refer to full HD installations, of course; not sure about USB fobs, multi-RW and type 1 installs?

PS. Folks contributing here would be well advised to copy their copy to a clipboard before 'submitting'. On several occasions, some of my mindless gems have gone missing into cyberspace. No idea why - I don't do SW, but something similar can happen over on John's board if two contributors try to post simultaneously.

There is a timeout here. If you take too long, the anti-spam code at the bottom expires. At the forums, if somebody posts before you finish, when you hit submit it will warn you first so you can change the post to reflect that. If you hit submit again it will go through.

Barry, I don't know if your solution is complete. It's not that the underlying fs has to be ext3 only, but it also has to be mounted "data=journal" or "data=ordered", at least according to one of those things I found and posted in that thread. I don't think reiserfs will work unless it has those options.

Also there is the problem that all the Puppy scripts seem to be expecting .3fs pup_saves, and when they mount they are mounting as ext3 file systems (for example, I'm guessing the resize pup_save script does it, and I know the script to encrypt pup_saves does too although that is not yet released). So the ramifications might be larger than we think. Maybe a global search through the scripts would turn up all the cases...

On the fsck, I'm wondering if it makes sense to trigger that on shutdown, so as not to slow down Puppy's fast boot. That is, when you boot you are sitting there waiting for it to come up, while when you shut down you typically walk away and don't care if it takes a minute or 20 minutes. It could be more frequent too, maybe even every time. Or just have a dialog on shutdown so if someone is going through a lot of reboot cycles he can skip the fsck. Or have two shutdown commands in the menu, one with fsck and one without.

It might seem a little funny to have it on the shutdown, but then only one disk read at boot is unprotected; if people schedule them every 30 boots, that clearly is a lot worse.

Of course, if there was a crash, it might be good to be able to trigger an fsck on boot as well, since you don't have a shutdown in that case.  Maybe add a boot parameter?

Now that I re-read my own post (!) back on that thread in the forum, where I said an fsck only takes a second on a 512MB file, maybe we should just do it every time, during the boot. It's not going to slow down anything much...

The way that ext2, and ext3 file systems handle when they are to be checked is through the tune2fs command:

tune2fs man

you can use the -c switch for max counts or the -i switch for interval between checks (days, weeks etc...)

I believe the fsck will use this info and run a check or not depending on what it finds.

I'm fine with every so many boots. It's still much faster than the scandisk on Win98SE, and it never starts over halfway through.

Barry Kauler 
Question, does tune2fs store the information about periodic checks in the filesystem itself?
Puppy first boots in the initial ramdisk, which cannot store anything permanently, it is just the initrd.gz file.
So, any instruction re f.s. checking would have to be done at shutdown when the pup_save file is created and stored in the f.s. itself.

Barry Kauler 
It makes no difference if ext2 or ext3, Puppy writes to the usb drive every 30 minutes regardless. That was an arbitrary choice, could be made more or less than 30 mins.

The info about FS checks is definitely in the FS. I remember I used to see the message about "need to run fsck" in Puppy in the past -- you get them when the FS gets mounted.

I don't really have an opinion in this Ext2/Ext3 business, but I think it is important to try and not complicate the init script too much… so I hope using both won't add too much needless complexity.

If Ext2 is used, maybe-- besides the periodic check -- when pup_save is mounted, /etc/.XLOADED can be checked for and, if found, pup_save be unmounted and fsck-ed before remounting? Again, might add complexity.

Barry Kauler 
The simplest thing is just to go back to ext2 for all pup_save files, regardless what partition f.s. it's on. As was pointed out, even if the host f.s. is ext3 or reiserfs it still may not be correct to make a journal work in the pup_save file.

Phil Roberts (opplr<at>hotmail.com) 
Hi Folks, we recently discovered Puppy and are really happy with what it does for us. We do have a slight problem and it is related to this save file commented on in this thread.

We boot from a USB flash stick ( 1 Gb Cruzer ). We used the HP formatting program to format it with FAT 16 ( the only way this system would boot it to my knowledge ). After the format, we SYSLINUX F: it and copy the 3 puppy files to the stick. Boot up is fine. When it goes to save the xxxx.3fs file, it must corrupt something in FAT 16. The next boot hangs when searching for pupxxx appears. I can copy the contents of the flash drive to a folder on my WIN2k box, do the FAT 16, SYSLINUX and copy everything back and it will boot fine. This doesn't seem too good. Is there a method to save the pup_save as a FAT 16 file?

tune2fs saves the info in the file system itself. As the pup_save file is a file system this should not be a problem, as the info will be saved within the pup_save filesystem, and this can be checked when the pup_save file(file system) is mounted on boot, or am I missing something?

Well, I guess the fsck has to be done on an unmounted filesystem, so if it were stored inside it would have to be unmounted again if the count had gone to zero, then fsck'ed, then mounted again. Should work I guess.

I still think it makes sense to try fsck-ing these small filesystems every time we boot, at least on the first go around. It might not be time-consuming enough to worry about using tune2fs. Another concern is that tune2fs would need to be added to initrd; though maybe that's not a big deal.

John Doe 
Correct me if I'm wrong, but regardless of how puppy chooses to save in the future, he's backed into a corner as far as how he chooses to load. Ext2 and Ext3 will have to both be supported because some ext3 users will have to upgrade.

PETget package manager 

This is really just the old pupget script with a few changes and a new name. /usr/sbin/pupget is now /usr/sbin/petget.

When Pup v2.13 is released, I will create a new directory on ibiblio.org, 'pet_packages' to replace 'pupget_packages-1', but will leave the old directory there to cater for older versions of Puppy (although I will have to check how much space ibiblio has now allotted to me). The new repository will have .pet packages, replacing the .tar.gz packages.

petget accepts stuff on the commandline, same as the old pupget but more:
# petget +xbubble-0.2.4 (install official .pet package)
# petget -xbubble-0.2.4 (uninstall pkg)
# petget /full/path/xbubble-0.2.4.pet (install local .pet package)
# petget http://domain/xbubble-0.2.4.pet (install .pet package)
# petget ftp://domain/xbubble-0.2.4.pet (install .pet package)

.pet packages are the same as the old .tar.gz packages except have a 32-byte md5sum appended onto the end of the file. In fact, tar can be used to expand them directly, there will just be a warning about extra bytes on end of file.

I decided not to be too ambitious about expanding petget to handle non-official repositories. MU is doing excellent work and is covering that side of things. His PSI could either use petget or Nathan's pkgtool with some enhancements.

The next thing I want to do is consider a new specification file to go inside the .pet tarball. Currently there is the 'keyword' file, but I'm thinking of a file called 'specs' which can have any arbitray data in it, but let's make it in bash-compatible format. For a start, it could have:
PETKEY=Xbubble #keyword
PETDESC='' #description on one line
PETDEPS='+tk,+sqlite3' #only list those not builtin to livecd.
#versioning not needed if referencing an official pet pkg.

In the case of an alien .pet package, this info can be used to create an entry for /root/.packages/alienpackages.txt also for xbubble-0.2.4.keyword. The petget script can take care of this.

So, if you download an 'unofficial' .pet package, just click on it and it will install and a correct entry will get created in alienpackages.txt. Dependencies will also get installed if missing, as long as they are from the official .pet repository.

However, if PSI calls pupget, perhaps there needs to be a special instruction to pupget not to do dependency checking, as PSI does it?

This 'specs' file is not yet implemented and if anyone wants to comment please go for it.
Lobster, what about PET being an acronym for Puppy's Enhanced Tarballs?

Just a reminder that "uninstalling" built-in packages would be nice (maybe with a separate button though). Also, it might be better if the dependencies part could include all of them, because a custom Puppy might not have things that the standard Puppy would. It wouldn't help with puplets from the remaster script (unless the person doing it fixed the list by hand), but it would for the ones from Unleashed.

>However, if PSI calls pupget, perhaps there needs to be a special instruction to pupget not to do dependency checking, as PSI does it?

I think it would be better to remove the dependency-check from PSI, if an official .pet is installed.
PSI cannot yet automatically install missing dependencies, just display them.
So your approach is more advanced, and I will prefer to use that :)

You still could run the PSI dependency-check manually with a buttonclick, if a program will not run.
This might happen with external .pets, where your dependency-resolution might fail.

In the next version, I'll try to replace the pkgtool-calls with petget.


Barry, I just updated the pmount file again:

"Lobster, what about PET being an acronym for Puppy's Enhanced Tarballs?" Sounds like the Dogs Boll**** to me (meaning woof woof in cockney)

I am glad that MU is integrating his PSI ideas and I agree that Nathans ideas are very welcome. It would be great if Muppy and Grafpup and Puppy all use the .Pet standard. It would also be a natural development of dotpup, which we can still use and upgrade from.

Muppy is simply a blown up Puppy, so it inherits all systemutilities and programs from it.
Grafpup was different, because it relied on a new Gtk when that was not available yet for Puppy. So it had to replace some system-libraries.
So Grafpup was "different" concerning compatibility (though many grafpup-packages should work in newer versions of Puppy).

This still might be an issue in future, as according to Nathan for example the newest Gimp requires Gtk 2.10 (Puppy has 2.8).

But of course the packagetools as such are independent of the Gtk-issues.

pizzasgood, yes, we would have to decide what is the bottom-line, packages that will always be in Puppy, even the most cut-down barest-bones version. Then those dependencies would not have to be listed in each package's dependency list.
Well, it's hierarchical anyway, so if a package lists 'gtk+' as a dependency, it doesn't have to list the dependencies under that, as the gtk+ package will have it's own dependency list. So usually dependency lists can be quite short.

Barry, thus way is probably simpler (and easier to maintain):

Nathan Fisher 
Hey, sounds like good news overall Barry. I was wondering if I could have some access to the tools you described in your previous post so I can use them and this information to update pkgtool (I finally have some time with a winter break now).

A couple observations now.

The description field in the specs could easily be more than one line and it would be quite useful to have it be so. The tools can just do a "cat $PKGNAME/spec | grep PETDESC | cut -f 2 -d '='" and get the complete multi-line description only. My idea with pkgtool was to add some flexibility in use and design of package management tools, and this is a feature I'd like to be able to use, where the info can be displayed on the command line or in a popup dialog if a gui tool is designed around it. However, if Petget is not able to cope with more than one line there is no sense building the capability into pkgtool.

Being able to download from additional repos is not that difficult, and we have a few working schemas for doing so. It's more of a problem to add the extra packages into the list.

The legacy code still from Pupget runs incredibly slow on older hardware, while it is sorting out the package lists to create the package selection dialog. This is getting to be even more of an issue the more packages are available. This has been one of the chief complaints about puget for a while now.

Also slow is the mandatory dependency checking, which is probably not necessary if we're already resolving deps using a fully populated packages.txt.

None of this is meant to be criticism, just reminders and clarification about where it could still be improved.

Unrelated to the package manager, compatibility with Grafpup has been brought up again. I never promised to maintain complete binary compatibility, as Grafpup has different needs. I am seriously considering a move to gtk-2.10 because of the printing issue, and there are some even more basic issues like the kernel (I plan to have some multimedia patches applied as well as framebuffer support compiled in, and some more exotic things like wacom tablet support). So if any of you want grafpup packages you might consider using grafpup. Even basic things like configuration scripts and init are being heavily modified for Grafpup-2.0, which is one of the reasons it's taking so long to produce.

Barry Kauler 
I posted the PET tools to the Developer Forum:

I was thinking that PETDESC could be a one-line description, but the 'specs' file could also contain a multi-line description, maybe called PETLONGDESC.

The one-line description is intended to be very terse, to fit into the alienpackages.txt file.

You can add any extra fields that you want into the 'specs' file, but perhaps keep the convention of variables all starting with 'PET...", to minimise clashes with other variables in a script.

Barry Kauler 
I have done some work to make petget a bit faster, but it is still going to be very slow on old hardware. So, there is definitely a niche there for a lean and mean and fast 'pkgtool', that will do an install of a .pet package with minimum fuss and delay.

Note on the 'keyword' file and 'specs' file. probably best to keep backwards compatibility, so if there is a 'keyword' file use that (and copy it to /root/.packages/packagename.keyword). If there is a 'specs' file, use that and copy that to /root/.packages/packagename.specs.

Nathan Fisher 
Thanks, Barry. I plan to get to work on my things around the end of the week.

Some support utilities for .pet files 

truncate size-in-bytes filename
This will truncate any file to the specified length. Returns 0 if success, otherwise returns 1. The 'embutils' suite of small utility apps has truncate, but it doesn't work so I wrote one myself, a simple C program.

tgz2pet something.tar.gz
This appends a 32-byte md5sum to the file and renames it to something.pet.

pet2tgz something.pet
Strips the 32-byte md5sum off the end of the file, checks that the md5sum is correct, renames the file to something.tar.gz. Returns 0 if okay, otherwise returns 1.

Barry Kauler 
Have also implemented handling of .pet files in ROX-Filer. Click on a .pet file launches pupget, which then installs the .pet.
I'm using ROX 2.5 ...I am no longer thinking of backwards support for ROX 1.2, simply because the new ROX is addictive and I don't want to loose it's features.

What I want to do next is expand pupget to handle other .pet repositories. For now, it only handles the 'official' pupgets.
In theory, the new pupget has package dependency checking and if you were to click on a package in ROX, it would then install, then if any dependency is missing it would also attempt to install that -- currently pupget will offer to get them from the official repositories or a local dir. ...but dependency info is got out of livepackages.txt so you can't specify an unofficial dependency.
I have other stuff to do tomorrow morning, so will work more on it in the afternoon.

Gee, I just had a thought, maybe the PupGet package manager should be renamed as PetGet!

SouthPaws (jaguar1<at>netzero.net) 
Hey Barry...How 'bout naming it Fetch instead?

Fetch is already taken.
Fetch FTP

CRUD! OK...what about GoFetch or if not that maybe...GoGet???

Great names, great ideas . . .


and program
Puppy Extra Treats


Xdialog GTK2-version fixed 

Thanks to fantastic detective work by Dougal, a bug with our new GTK2 version of Xdialog is fixed:

Can you provide a link to the source code? I'd love to user a GTK2 version of Xdialog _outside_ of Puppy.

Reverting to ext2 f.s. for pup_save personal file 

I'm thinking of reverting the pup_save personal storage file from ext3 to ext2. We may not be getting any advantages with ext3, and instead getting some disadvantages. See forum thread discussion of this:

It is very easy to revert. The naming scheme for the file is 'pup_save.3fs' for ext3 and 'pup_save.2fs' for ext2. I can have it in Pup 2.13 so that new pup_save files will always be ext2. But even existing pup_save files can be simply renamed from pup_save.3fs to pup_save.2fs and Puppy will then mount them as ext2 -- due to the fact that ext3 is just ext2 with a journal added.

If anyone would like to contribute to discussion on this, please do!

ext3 has caused some problems with full (type2) installation. Can't see any advantage of a journaled fs for a fast small OS, often used from CD. Although I don't understand much of the discussion, clearly there are issues with ext3. KISS!

Dan Bachmann (nospam<at>danbachmann.com) 
I have also had problems booting after awhile on a dedicated ext3 partition. For me, ext3 would not be missed. I would be curious if anyone would miss ext3 in Puppy.

Ben Wise (pb122006.20.wiseowl<at>spamgourmet.com) 
I would miss the fast reboots from the occasional crash... the journalling ext3 filesystem doesn't keep you waiting for ages while it gets checked and repaired.

nice thought. One year ago, I had written a C++ program which
dumps large arrays on disk. Starting from a few MBs and reaching
up to 600MBs. I had tested all the file systems I had in mind.
ext2, ext3, jfs, xfs, reiserfs, vfat, ntfs, ufs ...

I was benchmarking how fast it dumps the files on the disk and
how fast it erases files from disk.

I can send you plots of the performance. The result was:

ext2 is extremely faster than ext3. If you want I can send you
an email with the binary and the command line such that you can
see for yourself.

When will be puppy 2.13 released?

P.S. Please think once again 64bit puppy. All the new PCs
are 64bit capable. In a few years 32bit hardware will be history.
Why shouldn't you provide a separate image with everything compiled
for 64bit systems? We need it as much we need puppy for 32bit.

you have to have in mind though that when power is off then
ext3 is almost insensitive to repairs e.t.c. On the other hand
ext2 needs fsck to be repaired e.t.c. It is a matter of how
important is stability for puppy.

as I use pup_save files from 500 to 3000 MB, I'd be glad if ext3 remains optional.
I still sometimes use Puppy 108 for tests, and the filesystemchecks are anoying.

Folks, be aware that this is only an issue with pup_saves. Installed Puppys should work fine with either ext2 or ext3.

Maybe it would be best to make this a user selection (if possible), while recommending ext2 pup_saves for speed and safety. That way those who are used to crashing a lot can keep using ext3.

I have a feeling the warnings given in those posts do not always come true. There may be some systems, some hardware maybe, that will not cause journal recovery to flop. Or some systems have the underlying filesystem mounted data=journal or data=ordered. But we can't expect everyone to have this situation.

I haven't noticed any problems with ext3 on the pup_save file so far and I've crashed my puppy many many times. I wouldn't put much stock in what the 1oop-aes developer says. This is the same guy who says cryptoloop is "backdoored", just nonsense. I'd want to have other reasons.

Dan Bachmann (nospam<at>danbachmann.com) 
From the posts from other users, it looks like ext3 is important enough to keep. The unrecoverable crash on my Puppy ext3 partition must have been something unrelated (quite possible).

PaulBx1 is correct. Whilst not understanding the niceties, I observe that ext2 is reliable on virtually all hardware, ext3 is not. Speed penalties are not relevant; running fsck is no more arduous than scandisk. Indeed, ext3 can cause failure to install, type 2 - I never use nor recommend it for this reason. Those advocating ext3 seem to be IT experts who are quite capable of adding in or recompiling/remastering whatever they desire. One would expect MU to incorporate all options in Muppy. For basic Puppy, only those items that work reliably in a majority, if not all, situations need be present.

Actually kirk, if you google you will find it is not just the loop-aes developer talking about it. It's been noted all over the place. It really has nothing to do with cryptography per se.

Another way to guage this is to see if there are any other persons disputing this point. The closest thing I found to a dispute is this:
...and that was not a case where the fellow was saying the whole thing was hogwash, but only that he got details wrong about the issue.

John Doe 
If possible, why not get the best of both worlds.

For vfat/msdos/16/32 or ext2 save partions use ext2 and for ext3 or ntfs save partions use ext3.

rrolsbe (newsgrou<at>gmail.com) 
I have been using puppy 2.12 for about 5 weeks and the main reason I tried puppy is the way writes are handled on flash media. I think it is a REAL good idea to not actively write to a flash mounted file system; likewise, AFAIK the current pup_save.3fs file on a FAT16 USB flash drive works or at least it does on all the systems I have tried. By default the only time the journal is updated is every 30 Min or at shutdown; therefore, I believe the only time the file system could get corrupted is during these update periods, correct?

BTW, I hardly ever boot my WinDoze disk because running puppy from my USB flash drive works so well.


Aufs, anyone? Apparently, Klaus' selection for 5.1.

Hardware profiling for Xorg 

If you have a USB Flash drive or multisession DVD, there is a problem with booting on different PCs. Well, many problems, but one major problem is the differing video hardware. I also have this problem as I have a computer chassis to which I connect different monitors.

I am gradually making Puppy truly portable. Mouse and keyboard are examples of some degree of success here. For video however, the "solution" has been to use Xvesa. However, I have developed a hardware profiling system for Xorg that seamlessly achieves hardware portability.

The way it works is when the Xorg Video Wizard is run, it calculates a hardware-profile-string that is inserted into /etc/X11/xorg.conf (the configuration file for Xorg). A copy of xorg.conf with the profile-string appended to the filename, /etc/X11/xorg.conf.<profile> is also created.
The X startup script, /usr/X11R7/bin/xwin, checks that the profile embedded in xorg.conf matches the actual video hardware, if not, renames xorg.conf to xorg.conf.<old-profile> and looks to see if there is an appropriate existing profiled xorg.conf.<profile> file and if so copies that to xorg.conf. If there is no matching profiled xorg.conf.<profile> file, then the Wizard /usr/sbin/xorgwizard is run.

This is great for me personally. I run my PC at home on a 19 inch CRT plug-n-play monitor, but when in Perth I use a el-cheapo 14 inch CRT monitor. Up until now I just set xorg.conf to the lowest-common-denominator, 800x600@60Hz, but now I can have the 19 inch running at higher resolution and frequency.

For the end-user it is extremely simple. At bootup if there is new video hardware the Xorg Wizard will automatically run. But, if you change the video hardware back to something that you had used earlier, Puppy will remember and automatically use the correct profile.
So, Puppy booting off a USB Flash stick can be used on several different PCs and you only have to run the Video Wizard once each time.

The hardware profile is just a string based on the detected video chip and the monitor (if it's a plug-and-play type). I have not taken it any further, for example adding a profile-string for the input device ...I'll leave it as-is for now. We can get some experiences with this and then consider expanding to support input devices later.

Brilliant Barry

Can't wait to try 2.13 and your new xorgwizard


AtR (ar<at>ez.no) 
Great work Barry, looking forward to testing 2.13!

Could you please add some more info on the pacakge page, most important which of them is needed for bare-bone and one-bone puppy!

This is excellent!!

Peter McC 
Hmm, ....

I have tried ver 2.13 and found that mozedit which I use
to trim HTML files for archiving appears to work

I am still using 2.00 as well: for some reason Xine
plays DVDs faster in that version.

One of the problems I have is that I have onboard
video which the Bios wont let me disable, the
xorgwizard does not work in that scenario so I
use /usr/X11R7/bin/xorgconfig instead. version 2.13
detects my use of a different xorg.conf and overwites
it. I got around this by copying /usr/X11R7/bin/xwin
from version 2.12 to 2.13. Perhaps an extra option
such as xwin -nocheck would be of benefit?

Many thanks

petermc AT dnet DOT co DOT uk

Peter, yes, one other person had that problem and ended up editing the 'xwin' script -- the post is on the forum somewhere.

PuppyMoney now a PupGet 

Ian's PuppyMoney personal finance management application written in Tcl/Tk and using Sqlite for storage is now in the Unleashed suite. Meaning that it could be built into a iso file or available as a PupGet package. This is version 03-2, where the '-2' is for a mod Ian sent me yesterday.
Ian has given notice that he will start work on a "Pro" version in 2007, suited to businesses.

Ian is also the author of Xwget, a GUI for wget (see Internet menu). He is working on an improved version, so if you have any gripes about it, let him know. His nickname in the main Forum is "Ian".

Changing the subject:
Pupget packages have the extension '.tar.gz' but I am thinking of changing that. '.pet', '.pup' are taken, but is '.get' claimed by anyone? Does anyone know of any other file format with '.get' extension?

never heard of .get before.

However, .pet just exists as 2 prototypes.
I don't know, if Nathan already implemented it in the next grafpup, but as he is busy, he might not.

So if you now plan a advanced package-format, you might choose .pet, it might be good to finally see a good usage for this suffix.

Or should it remain a "codename" for a comunity-based packageformat?
We need some opinions by others involved into it.

Myself, I stopped my .pet activities, because I meanwhile follow different concepts based on .pup and PSI.


Nathans dotpet-handler:

Is dotpet dead?

I think they summarize more or less the current status.


'get' is Swedish for 'goat' :-)

Sorry, couldn't resist...

Xwget (fast and reliable - use it a lot) needs to tell people it is running and have a dialogue box - at least for where downloads are to be saved.

.pet is a good name and should be used in the new pupget. I suggest that once .pet is in 2.13 MU should be allowed to tweak / modify for inclusion in Muppy and possibly 2.14. That way we only have one developer at a time . . .

How about "Barby" as a code name for 2.14

I have been playing with pkgtool, dotpet-handler and dotpet-creator.
Is there a forum post that explains Nathan's thinking for what the .pet format should have in it? The dotpet-creator creates something that looks about the same as the current PupGet .tar.gz pkgs.

I thought about the idea of embedding the .tar.gz file inside another folder, so extra stuff could be included. But, I don't want to get into anything complicated. Just renaming the .tar.gz is the easiest.
But one think that I played with is appending a md5sum onto the end of the file -- that is onto the end of a .tar.gz file (or whatever extension it has). It's easy to append it and remove it.

One thing I'm planning for the pupget script is for it to work like the '-install' option in pkgtool. I already have the '+<pkgname>', but I thought if the commandline has a full path to the package,
# pupget /full/path/to/packagename
then it will just be installed, no need to ask about downloading it.
I think when you click on a file in Rox, the full path is sent as well as the actual filename.

Nathan, your thoughts on this are most welcome!

BarryK wrote "But one think that I played with is appending a md5sum onto the end of the file -- that is onto the end of a .tar.gz file (or whatever extension it has)."

It should be enough to add just the last 4 or 5 digits of the md5sum to the file name.

From Google:
[begin quote]
GET, pronounced dotGET, combines the best features of IRC (@find/@locate, fserves, xdcc bots, kryptnet, dcc transfers, etc) with the ease of use of Napster ...

.pget has no such existing usage.

Have you thought about the quite obvious ".pupget" ? the three characters extension was a limitation of DOS, there is no reason to carry it to Linux.

All the documentation refering to pupgets could stay the same.

I really like the idea of giving them their own extension, tar.gz is too generic to, for example, create a mime association and allow "one click install"

Back in the topic of pupgets. I'd love to see an "official path" to recognizing third party pupgets. Of course I understand "official" to be, that you like the package, you trust the source and you gave your blessing to be included in the main repository.

Currently this process is quite adhoc and limits the speed at which the repository grows.

I still like the idea of dotpups for contributors to skip any formality making it clear that they are "instaler beware".

I believe that I came up with the .pet and maybe even the .pget names. You are more than welcome to use either of them as far as I'm concerned.

.pget and .pet hostory

Dvw86, thanks for that link to the origin of .pet. Raffy thanks for finding that possible prior claim on .get. Lobster also suggested that I use .pet. I guess I think of three letter extensions out of habit. I guess, if you had to store the files on a msdos f.s. then the extension part of the filename wouldn't get mangled.
Windows users still think in terms of the file extension being three letters don't they?

Okay, it's looking like I'll do a .pet installer for ROX-filer.

These .pet's will just be .tar.gz pupget's with a md5sum appended. I will include two scripts in 2.13, one to append the md5sum, another to remove it -- so that's all you need to convert between .tar.gz and .pet.

I'll also open up the pupget package manager to other repositories.

Pupget script should continue to recognise .tar.gz, but now also .pet. If it's a .pet extension, strip off the the md5sum and do a md5sum check. The rest of install and uninstall is as before.

Rutilt upgraded, thoughts on PupGet 

The Rutilt wireless configuration GUI application is now upgraded to version 0.13. Thanks to Romain Bondue for his continued work on Rutilt. Homepage: http://cbbk.free.fr/bonrom

One limitation of the PupGet package manager is that the dual-pane package selection dialog box does not categorise the packages according to function, just lists them alphabetically. I think that Nathan suggested awhile back that the entries in packages.txt, livepackages.txt and alienpackages.txt could have application categories instead of the current category system. For example:
"hv3-alpha13" "hv3-alpha13: html viewer, web browser" off "TCLAPPS +tk,+sqlite3,+tkhtml3,+combobox 756K" \
The category is 'TCLAPPS' but this could be dumped in favour of something like 'WEB-BROWSER'. Then, the dual-pane list-box could be sorted into the application groups. So, all web-browsers and all text-editors (for example) would be in the same place.

Another note: I've been reading the forum posts about Nathan's pkgtool and MU's PSI, but I'm thinking that the improvements I am making to the PupGet script may have a flow-on effect, that is may require these other tools to be updated. So I am postponing any further consideration of incorporating any of them into Puppy. After releasing Pup 2.13 we can test these other tools and see how they work with the new PupGet.

Categories would make some sense, although sometimes one is not sure what category something belongs in. Another thing that would be nice is a search tool as is available with dotpups.

For what it's worth, it never made a whole lot of sense to me that there are two package managers (with multiple confusing buttons before getting into either of those). Yeah, there may be good historical reasons, but users don't care about that! If you want to distinguish packages according to quality or some other characteristic, it should be doable within one manager. One manager should also be able to handle the two package formats without a problem.

Well, that's what I think. :-)

PSI uses Nathans pkgtool, so the basic adaptions will have to happen in this tool.
For PSI I might add some code, that will merge the categories.
It currently is based on the categories here:
But it already can use a kind of "internal aliases", so that "HTML-tools" could be displayed in "Internet" or "Development".
I agree that we should test things first after Puppy 2.13 was released.
Need to work on it anyway, and now that the serious bugs are solved in Muppy, I can take some time for it again.

All of that sounds good. One thing Barry & no offense to MU. A lot of users are finding Mu's PSI a little wierd and difficult. I am often on the chat and this is mentioned on a regular basis.

Hi Kenny,

PSI currently tries to give access to a very large amount of files, what requires categories.
This is one potential issue of confusion.
Another one might be the pictures, I might use more descriptive ones and a legend explaining them (pup is installed or not).

A third issue might be the dependency-tool.
People might need more info, what to do with the provided information.

I'm open for further suggestions to simplify it


Agenda not working: Tcl/Tk programmer wanted 

/usr/local/bin/agenda is a Tcl/Tk application to provide reminders when X starts up. Today I read a post on the forum saying how nice Agenda is, but then I looked at it and it seems to have become dysfunctional. There should be <add> and <edit> buttons but they aren't there.
I think the person was using Pup 2.10, so what has changed since then? I'm running a early 2.13alpha. Tk 8.5? -- I think that was in 2.10. Rox 2.5? JWM 1.8rc4?

wmwragg (wm.wragg<at>gmail.com) 
Just tried this on 2.12 and the <edit> and <add> buttons are there. I'll see if I can get some time to see what might be causing the problem with 2.13. Is the version of tcl/tk the same for 2.13?

Barry Kauler 
Hmmm, okay. It might be time for me to dump my pup_save.3fs file and start a pritine new one -- maybe something else I compiled is causing a problem. If that doesn't fix it, I'll be releasing 2.13BETA1 soon.


i've got a normal install of 1.08 & frugal of 2.12, and yesterday tried running agenda in pup2.12, and the add & edit buttons aren't displayed. so it's curious that wmragg's 2.12 agenda works OK & mine doesn't?

Barry Kauler 
Ahem, ...I was running on a 800x600 screen and The <add> and <edit> buttons are on the bottom and I didn't see them. Agenda has <Quit> and <Help> on the top. When I ran with a 1024x768 screen, there they were!

Sqlite3 compiled with Tcl binding, HV3 made smaller 

The Sqlite3 database package compiled in T2 and currently used in Puppy does not have the Tcl binding library. So, I have recompiled it, but then I found the binding library libtclsqlite3.so is bigger than libsqlite3.so itself, due to the fact that the the latter is linked statically inside the former. Then I recalled encountering this problem before. There is no configure option to get around this, which I think is really odd considering that Sqlite is especially intended to be small.
So, I used my initiative. After running 'make' then 'make install' I then executed this line:
gcc -shared .libs/tclsqlite.o -L/usr/lib -ltclstub8.5 -lsqlite3 -Wl,-soname -Wl,libtclsqlite3.so.0 -o .libs/libtclsqlite3.so.0.8.6BK
It now creates a libtclsqlite3.so of 36KB compared with 385KB before.

Anyway, now that Sqlite3 in Puppy has the Tcl binding library, it has various repercussions. One of those is HV3, the exciting new Tcl/Tk web browser project. This has been made up as a pupget package by forum member danielk1977 and has included the libtclsqlite3.so file. Now it doesn't have to, which knocks about 300KB off the size of the package.
I have accordingly created two Unleashed packages, tkhtml3-alpha13 and hv3-alpha13. However, this is a moving target and danielk1977 will no doubt be creating updated pupget packages. All he needs to know now is that /usr/lib/sqlite3/ has the Sqlite3 tcl binding library and it is now in Puppy.

Forum member Ian, who has been a long-time supporter of Puppy, has been working on PuppyMoney, a Tcl/Tk application that uses Sqlite3. Ian created a dotpup version 03 early in 2006, but it had lots of extra stuff in it such as libreadline and Sqlite3 that are now in Puppy. I have repackaged it but there is a lot that still needs to be updated, such as the uninstall part. Ian has probably done more work on it since the 03 release anyway. I'll send my repackaged tarball for him to look at.

Here is the Puppy Forum thread for HV3:

Improved USB mouse/keyboard detection, new Xorg keyboard configuration 

Paul (pakt in the Forum) has developed better detection for USB keyboard and mice. I have applied these improvements to the script /etc/rc.d/rc.local0. Read down to recent News Blog post for Forum link.

Omair (Dougal in the Forum) has put in considerable (and extremely skilled) effort into management of the keyboard when running Xorg.

For a start, he has completely revamped the /etc/X11/xkb directory, bringing it up to date with files from the Xorg version 7.0 as compiled in T2. This is still cutdown and only slightly bigger than before, but now works better.

Dougal then developed a configuration GUI, named XkbConfigurationManager. This is a great tool for fully configuring the 'keyboard0' section of /etc/X11/xorg.conf (the Xorg configuration file). What this does is enables you to very easily tweak the keyboard for your country and region layout and to configure various special features.

Both of Dougal's keyboard improvements are going to be in Pup 2.13. I did not put the XkbConfigurationManager into the menu directly, instead it is in the Mouse/Keyboard Wizard (in the Setup menu).

Changing the subject, I also put the firmware for the 'prism54' kernel module into the 'zdrv' file.

It looks like the upcoming Pup 2.13 is going to be a cracker version ..

Thanks for hardware donations 

I would like to thank Phil Cleaver, the Economic Development Officer for Perenjori. Phil has given me four old PCs to use for testing Puppy. Well, I think they are kind of on indefinite loan. They are four cases, one monitor. I've got three of them on the kitchen table, along with two others, making five cases, with a monitor and assorted keyboards and mice. When I need to test Puppy, I move from case to case plugging in the peripherals.
Needless to say, I no longer eat at the kitchen table!

Phil has started a blog for Perenjori:
http://perenjori.wordpress.com/2006/11/ ... /#comments
Several years ago Perenjori had the title of "fastest dying town in Australia". Phil is confident that we have turned the corner and sees many prospects for the future, including mining.

I would also like to thank Eric (ezeze5000 in the Forum) for sending me a selection of old internal analog modems. As I have been working on improving modem support but lack many to test on, Eric's contribution is most welcome. Although these are from the USA, they will probably work here, or can be made to, though for testing purposes only I hasten to add in case any govt telco regulatory authority reads this.

Finally, craftybytes informed me that he once worked at Dongara, which is in the same general area as Perenjori. But he didn't know until he looked up Perenjori on a map. Not surprising, most residents of Western Australia have never heard of Perenjori, or if they did it never registered -- so a temporary resident is even more excused!

Actually I lived in Dongara for 3 years and worked at a place just north of Mingenew which for those who don't know is 56 km east of Dongara (and about 100 km northwest of Perenjori)...

AND - for those interested if you look at a map of Australia and then Western Australia - about half way up the coast between Perth and Carnarvon is the coastal town of Geraldton .. Dongara is situated on the coast approx 74 km south of Geraldton .. then if you move east - there is Mingenew then further east Morawa - then 40 km south east of Morawa is Barry's town of Perenjori ..

And thanks Barry for the 'temporary resident' tag - must say that I did enjoy may sojourn over there in your area back in the late 70's ..

BTW - Barry, I may also have a few spare later model PCI 'winmodem' cards (plus driver CD's) that I could probably post over if you want when I can dig them out of the boxes in the garage - next few weeks hopefully...!!

Hope you never miss meals even if the table is occupied. :)

Xorg is suddenly needed for some old hardware like one 200 Mhz laptop I've come across with. But in newer hardware, Xvesa works well.

I wonder: was it "framebuffer" (?) that can handle difficult displays? Like those displays with drivers being launched from DOS? Maybe one small, generic solution for it can help free up your time for newer stuff. (Pardon my wild guess.)

Rutilt wireless configuration utility 

Puppy has Rutilt and I will be upgrading to v0.13 for Puppy 2.13.

Rarsa is our 'network wizard' who is developing the Network Wizard, and he would like to give Rutilt a higher 'profile' by integrating it into the Wizard.

Rarsa would like to get feedback on experiences with Rutilt, positive and negative. See this forum thread:

Brad C (Coulthard<at>ieee.org) 
Great progress! Lots of little things that need fixing have been fixed in Puppy. This program worked for me. Very clean nice program for Puppy.

I will be taking it apart and using it as a model for a batmon program over Christmas Break.

Terminal emulator upgraded from Rxvt to Mrxvt 

I often have 2 or 3 terminal emulator windows open at the same time, so one of these fancy ones with tabbed windows would be nice. Our trusty old Rxvt has the advantage of being very small, but also it has very limited features.
The problem with most of the choices is the dependencies, meaning that they are going to be very big. Gtkterm, Sakura, Terminal and ROXterm use the VTE library, and ROXterm also needs DBUS and something else called 'dbus-glib'. I compiled Sakura, and it is quite nice, with a convenient menu from a right-click. However, the VTE component makes them very large indeed. The XFCE project has Terminal, but that also has a great many dependencies (many more than just VTE).

So, I stayed with a Rxvt-derivative. There are a few choices here, and I like Mrxvt. It's not too big and has heaps of features. The Rxvt commandline compatibility is also important for scripts. I created a script with the name 'rxvt' and this will start Mrxvt with identical appearance to the older Rxvt. However, running 'mrxvt' directly will bring it up with tabbed windows. So, the package slots in with complete compatibility with the existing setup in Puppy.

The current maintainers are Jimmy Zhou and Gautam Iyer and the homepage for Mrxvt is here:

Mrxvt has many interesting features, but I created a ~/.mrxvtrc file with only very basic configuration options. There is also /etc/mrxvt/ with more configuration files that I left untouched. I left Mrxvt using a default bitmap non-antialiased font as it seems to look best -- actually, I don't have a scalable Sans-Mono font in Puppy right now, only a nonSans-Mono, perhaps there should be one (?). Anyway, any interested person is welcome to play with it and see if they can come up with better visual appearance and/or usability.

to get the home and end keys to work properly in my mrxvt package, i put these lines in /root/.mrxvtrc

Mrxvt.termName: xterm
Mrxvt.macro.Home: Str \e[1~
Mrxvt.macro.End: Str \e[4~

termName seems to need to be above the key macros

supposedly, the right way to do it is to fix the rxvt terminfo file, i did it the easy way and set the termName to xterm


G2, thanks for that. Rxvt has these, what do they do?

they do about the same thing, i guess ... Home/End/Backspace/Delete keys often don't work right, maybe they can be defined properly in terminfo, but Puppy doesn't have the program that compiles the terminfo files, so i just used one of the workarounds

now that i think about it, i think Puppy does have the program that compiles terminfo files ... tic ... but there is a missing library so it doesn't work ... i installed the library file, but i just applied the workaround for my mrxvt package because it was simpler

some urls:

oh. and mrxvt has the same bug that rxvt does when it shuts down ... it takes a long time, especially when you close the window by pressing ctrl+D, at least on my machine ... if you start rxvt or mrxvt using strace, it shows a lot of errors when the program shuts down ... i have seen references to the fact that rxvt does not seem to work properly with the 2.6 kernel

on my machine, anyway

aterm does not seem to have this problem

strace rxvt

(repeated hudreds of times:)
ioctl(3, FIONREAD, [0]) = 0
select(5, [3 4], NULL, NULL, NULL) = 1 (in [4])
read(4, 0x805e6a0, 8192) = -1 EIO (Input/output error)

Fix for Gxine, Pupdvdtool updated 

Jason (plinej in the forum) has updated his Pupdvdtool DVD video ripper application to version 0.4c. I have updated the Unleashed package accordingly and it will be in the next live-CD.

There is a problem when playing videos with Gxine. Every 10 minutes the screen-blanker kicks in and you have to jiggle the mouse or do a key-press to bring back the video, which is somewhat annoying. GuestToo suggested creating a script that turns off the screen-blanking before Gxine starts, then restores it afterward.
I have implemented this as a script /usr/local/bin/gxineshell, and modified the window manager menus and the /usr/local/bin/defaultmediaplayer script to launch gxineshell rather than gxine directly.

Improved USB mouse detection: testers wanted! 

Paul (pakt on forum) has tackled the problem of USB mouse detection not always working. He has found a solution, posted here:

I invite anybody with a USB mouse to try this fix, even if your USB mouse is already detected (as pakt's more generic solution will replace the current code). Kindly report back to the forum success or otherwise.
You will need to edit /etc/rc.d/rc.local0 then reboot. It would probably be a good idea to backup the original file.
Note: you should be able to copy and paste directly from the forum post to rc.local0 and avoid errors from manually typing the changes.

SimonM (simonmee<at>fairadsl.co.uk) 
Hi Paul, I now have a USB mouse under proper control thanks to your efforts. I just needed 2 spaces after HID within the brackets rather than one. Many thanks, Simon.

Tarball extraction problem 

Okay, I'm cheesed off...
Raffy reported that there is an error when try to install the 'openoffice_CUTDOWN' PupGet package. So, I thought that is probably a size problem. PupGet package manager does not have any free-space checking when installing a package, so I added extra code that does this. Great I thought, that should do it, and indeed it was good, came up with a window telling me when there was not enough space. However, when I did make enough space, OpenOffice still did not install.

I found that the fault is not in PupGet, not in the OpenOffice tarball, but in 'tar' itself:
# tar -zxf openoffice_CUTDOWN-1.1.4.tar.gz
tar: openoffice_CUTDOWN-1.1.4/usr/local/bin: Directory renamed before its status could be extracted
tar: Error exit delayed from previous errors

This is extracting inside /root/.packages/ directory. If I do it outside the union, in another partition, it WORKS.
But, is this a unionfs problem or a loop-device problem? -- I did a quick google and didn't find much but someone did report the same error with a loop-device.

Anyone got any ideas how to proceed from here?
Note, other big pupget packages do uncompress ok, for example I tested Amaya.

Changing the subject, there was a request on the forum to include the 'xauth' binary. That's part of Xorg. Okay, it's in.

Are we at tar 1.1.6? Probably not. Anyway I looked at the recent release notes, but didn't find anything. However a search on their list found 3 hits, they might help...

The change for this check was apparently added here:

Could try it in a loop device that is not a unionfs, and again in a unionfs that is not a loop device (if those are available to you - I have a hard time keeping track what is what) to see which is causing tar the problem.

I meant tar 1.16. I see from tar --version we are at 1.15.1

Jason Pline 
I left another message in the xdialog/burniso2cd thread.


Maybe it will fix the problem.

Barry Kauler 
PaulBx1, thanks for posting those links. I tried this and it works:
[pre]# tar --absolute-names -zxf openoffice_CUTDOWN-1.1.4.tar.gz[/pre]
I'll put that fix into the pupget script, though I don't quite understand what the effect of that option is. It expanded openoffice tarball nicely and the contents look okay.

I know that I may be a bit late with this ...but... the reported error I think provides a clue..:

[quote]Directory renamed before its status could be extracted[/quote]

It suggests that sometime during the 'untar' phase, the "openoffice_CUTDOWN-1.1.4/usr/local/bin:" directory (or a sub-directory) is being renamed before it's status could be extracted - I think that there maybe 2x 'same-name' directories being established and the second one overwrites the first before the first's status can be extracted so there be a clash which TAR can't handle - thus the '--absolute-names' key probably ensures that directory names / file names / directory links / etc are set to 'absolute' references and not 'relative' references therefore resolving the problem..

Starting daemon for ipw3945 wireless driver 

Puppy's "zdrv" file has the ipw3945 kernel driver and an associated firmware package. This package includes an executable, /sbin/ipw3945d. The first time that 'modprobe ipw3945' is executed, the modprobe script automatically fetches the module and firmware from the 'zdrv' file.

The problem that was reported on the forum is that the daemon has to be executed after the module is loaded. Firmware packages in the 'zdrv' file can have a post-install script, so I added a post-install script that appends the following to /etc/modprobe.conf:
install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; /sbin/ipw3945d
The affect of this is to cause the ipw3945d daemon to be executed immediately after the module has loaded.

Awesome. Thank you. Fingers crossed the next release will be out very soon with this enhancement.

Barry Kauler 
A note on 'xdialog', our new GTK2 patched version. It's still not right. In listboxes, the left column, the tags, are truncated.
To see this, run 'burniso2cd' and look at the choose-burner-drive dialog window.

Regarding wireless, I demonstrated Puppy v2.12 to a local farmer. He has a Vaio laptop. I booted the CD and everything got autodetected, including wireless -- to my great surprise. The laptop needs the 'ipw2200' wireless driver and from other forum feedback this driver is working well. Yes, I can confirm that! I ran rarsa's enhanced Network Wizard -- only the 2.12.2 version -- and chose auto-config then chose dhcp and we were online!
I have no experience with encrypted wireless, so it was good that his wireless network is not.

Incidentally, this particular farmer has a lucrative sideline, installing satellite Internet and TV and also wireless Internet. He represents a company here in Australia called Broadband Net, and I have been waiting for over a year for a wireless installation with those guys.
Finally, he phoned me yesterday, came out to my place, climbed on the roof and found that the wireless signal is too low. I've been waiting a year to find out what only took a few minutes!

Anyway, I have got friendly with him, helped install something on his mum's computer. He has offered direct satellite connection. A bit more expensive, well, a lot more expensive, but I might go for it.

Barry, does your farmer's company use dishes to receive the wireless signal? We had wifi installed using one of those same dishes that the satellite TV guys use. We are 25km from the transmitter.

To assist with your satellite link perhaps you could add a clear link on the puppy webpage for donations. Take a look at the discreet yet clear ArchLinux homepage link to this page. The PayPal credit card link also makes the donation simple and painless.


(Anyway, I have got friendly with him, helped install something on his mum's computer. He has offered direct satellite connection. A bit more expensive, well, a lot more expensive, but I might go for it.)

Stop being Mr Nice Guy!

Post the price and see if the Puppy sleigh stops by in Penjorie.
Think of the pollution you are saving by not making the
big round trip to your server.
So really you're doing it for the planet.

No, they don't use a dish for wireless, just a little TV-type antenna. When I spoke with Broadband Net awhile back, they told me stories about the signal reaching about 15Km and even bending over hills. But the installer-guy says we are lucky to get enough signal 3Km (2 miles) from the transmitter tower.

I have decided to go for satellite. If you are interested to see what they offer here in Australia:

I'll get the cheapest, AU 39.95 Dollars/month, just to put my toe in the water and see what it's like. Probably get a wireless router too.
Regarding finances, my income is very low for the next few years (I already mentioned it sometime ago that I get my superannuation when I reach 60, Jan 2010, though under certain circumstances I could get it earlier). I do some part-time work, but I would rather just work on the Puppy project. Anyway, for now I can afford the entry-level satellite.
I still intend to create a web page that shows all donations (yes, that Arch page is good!) and also where the money goes. Of course I put everything into equipment and Internet expenses, but it would be good to document it so everybody can clearly see where it goes.

The satellite upload speed is pretty pathetic, but then there's no cutout/time-limit to worry about. They also offer choice of capped or pay-extra for excess bandwidth. For the capped plan, it drops down to dialup speed for excess bandwidth, which I think is a pretty attractive deal.
Although they give a fixed IP address, the limited upload doesn't make it viable to set up my own server, I guess.

40 Dollars Australian is about 30 US Dollars.

Jason Pline 
Barry, I see no difference between what the gtk1 and gtk2 versions of xdialog display on the burniso2cd script.


Okay, I posted a pic too!


Very exciting news. Having a reasonable always on broadband will enable a different perspective, just as getting the Acer laptop allowed for a different understanding.

. . . we might find you on IRC more . . . or even have a developers IRC . . .

Hope your sister is well :)

Based on your current release schedule I am saying Puppy Star 2.13 is to be released towards the end of this month. Just about to try Muppy. Yesterday tried Ulteo Alpha- another Ubuntu clone. I think it looks great but the developer should have based it on Puppy when I contacted him . . . maybe the next version . . .

Really pleased you are getting broadband.

sorry to ask this here, but I never got a reply from anybody in
the Forum since early last summer.

Will there ever be a 64bit version of puppy for 64bit PCs/Laptops?
There are a lot of guys here who ask me whether or not this Barry
guy will release a 64bit version as well and I do not know what
to asnwer.


Jason Pline 
Barry, I'm not sure why you would get a display like that when it works perfectly on my system? I too used dougal's latest patches when compiling. I posted my binary in that picture thread incase you want to try it.

Jason Pline 

dougal and I have replied over at the xdialog thread.


I also updated pupdvdtool to 0.4c incase you want to put that version in 2.13. It includes several enhancements.


Barry Kauler 
No, there won't be a 64bit version in the forseeable future.
The focus is for Puppy to run on a 486 CPU upward.
Everything could be recompiled 64bit-specific but it would be a major undertaking.

Barry Kauler 
I looked at the forum thread -- won't reply there just now as once I login have to commit to reading all the "new since last visit" posts, and I have to do other stuff.

I tried the '400x200 5' instead of '0 0 5' and it makes the dialog window wider but the left tag column is still the same width, truncated text. I even tried a bit more wider, same thing.

Craftybytes (craftybytes<at>dodo.com.au) 

You might want to hold off on the satelite broadband for the moment..
As I'm not sure as to the cost difference between the 'wireless' & 'satelite' broadband options that Broadband Net offer - you haven't said - I would recommend that you re-investigate the wireless option a little more - as PaulBx1 has already suggested - using a larger 'satelite' type dish mounted on the roof will most probably improve the reception & transmission strength of the wireless signal quite significantly, AND if you add in - I recommend right on the back of the satelite dish receive point - an uhf (usually 2.4GHz) antenna pre-amp (refer to Silicon Chip magazine - newsagent or their website for further info) - you will find that even at 25km distance from Broadband Net's wireless tower you should get quite good reception / transmission using the 'satelite' dish antenna and uhf preamp combo - the wireless (wifi) option could be the more suitable (and less long term costs) option available...

I may be wrong but it seems that your farmer friend may be more interested in getting you to sign up for the 'more expensive' satelite option by advising that because the signal from their wireless tower is too low at your place the only option left for you is to take the 'satelite' option - when with a little extra on-ground work - like trying a 'satelite' type antenna dish and uhf preamp combo - the 'wireless' option could be made to work very satisfactorilly for your particular local circumstances.

BTW - articles in the Silicon Chip magazine over the past year or so suggest that the standard computer 'wifi' options can be vastly improved on by using larger 'dish' type or even larger 'TV' type YAGI antennas (even suggestions of using WOK size dishes as suitable) plus the use of extra uhf preamps to increase the signal strength to the computer's 'wifi' receiver/transmitter - from the nominal 100 meters out to possibly up to 25kms or so 'line-of-sight'..

Hope this gives you some pause for thought..

Barry Kauler 
Yes, the wireless option is a better deal, more bandwidth for the same price.

With the satellite option, couldn't I access that from anywhere? Couldn't I purchase a dish and whatever else is required and have a portable system. I was thinking when I go to Perth I could take my Internet access with me, or when I go on trips into the outback (planned for 2007).

Well yes - for accessing from even the outback - the 'satelite' option is definitely worth considering... But I thought that when one does a trip to the outback here in Aussie - one is "really" going out there to have a break from all the 'normal' day-to-day things such as work/at-home hobbies/the mass of people in general/etc/etc... not to take "WORK" with you - but if you 'need' to take your laptop with you to continue with devel work that's ok too ...:), BUT I think that most of us puppy-ites who are very into the puppy mould by now wont find it too great a challenge to to do without the week or two of NO PUPPY UPDATES because the puppy master - YOU ... Barry Kauler ... - is taking a well earned break from everything..:),... AND BTW - how many times would you take a trip to the outback during a year as against tripping to Perth or other major towns closer to you.?

Remember though that with the wireless option you can still take your laptop with you to Perth or most major towns now and still get wireless acess - plenty cafes (MacDonalds/etc) and other businesses (internet cafe's/public libraries/etc) now offer internet wireless access for a small fee - so the 'wireless' option would in my opinion be a much better one to consider...

Also - the suggestion to use a 'dish' anntenna and uhf pre-amp setup would really only apply to your particular situation at your home to get better/good access to Broadband Net's wireless services from their tower - your laptop's wireless access card should be all that you need to take with you when you trip to Perth/etc as in most cases you would be located within 20 - 50 meters when you use the services at internet cafes or MacDonalds/etc...

Hope this gives you more to think about...

I don't think the BroadbandNet installer is trying to fool me. My place is over 10Km from the wireless tower, and it isn't line of sight. My house is nestled in a bit of a valley and there's a ridge between me and the tower.
Note, in remote areas of Australia satellite installation is heavily subsidised by the govt. I don't know by how much exactly. I think the scheme is called 'hibis'. Here is info from one provider:

[blockquote]The HiBIS scheme will help us provide more affordable broadband services to regional, rural and remote Internet users. With the introduction of HiBIS, West Australian Networks's Satellite broadband has never been more affordable. Basically, if you live outside the serviced ADSL area HiBIS provides eligible customers in regional and rural Australia with services subsided by up to $3,300. This covers the cost of the satellite equipment, installation and freight, leaving you to simply pay the ongoing monthly West Australian Networks Satellite Broadband charges for the length of the contract.[/blockquote]

That subsidy is 3,300 Dollars Australian. (I must get this blog script fixed!)

I'd say you'd most probably qualify for that subsidy given your particular location and circumstances BUT (not to put any dampeners on your efforts) I'd curtainly check up on how much you may actually receive for the subsidy .. [quote]subsided by up to $3,300[/quote] ... may not necessarily mean you will actually get in-hand $3,300 BUT a 'calculated' amount based on YOUR particular case which may be a lot less than $3,300 AND be aware that that subsidy payment may take several months before you actually receive payment from the scheme.. government dept's remember !!

Anyway if this is your only REAL option for getting 'broadband' access to the internet then I'd go for it ...BUT... still would do some more checking first..

ALSO ... Broadband Net is not the only ISP provider of 'satelite' broadband services either ... so if you do finally decide on 'satelite' then I'd also check up on what the other satelite ISP's have to offer as well and not necessarily only for WA as satelite coverage is from space so ANY ISP who does satelite here in Aussie would be a potential provider for you to consider..

I'm having the same probs - that should be 3,300

I looked around, found a couple of others offering satellite here in Australia, but they are more expensive. Telstra is one of them, and I gagged when I saw the prices:
This is another:
...none of them offer capped plans, BroadbandNet is the only one.

Note, the govt subsidy goes to the provider, not me. What I get is free equipment and installation plus subsidised bandwidth.
Even so, Telstra still charges extra for installation, the govt subsidy isn't enough for them.

It is a pity that you are virtually forced into having to choose satelite over land-based broadband internet options as (in my humble opinion) the offered satelite options are much more expensive for much less bandwidth / download quotas and also if you wanted to later upgrade to a faster option the costs go up dramatically - compared with the 'wireless' options that BroadbandNet offer :- BBLite Plus 256k/64k 4GB @ $39.95 (wireless) versus BBSatLite 512k/64k 500MB @ $39.95 (satelite) ... !!!!

I'm fairly certain that the 500MB quota will be used up in the first week even with your minimum net access history to date (on dial-up) - thus it'll be more like 1 week access / 3 weeks no access unless you pay for the excess download data at probably some exorbitant fee therefore making the $39.85 cost look like peanuts compared ..

And even if you were to go to the next faster option :- BBSatLite Plus 512k/64k 2GB @ $59.95 (satelite) - this option is still 2GB less for download quota then the above 'wireless' option (BBLite Plus 256k/64k @ 4GB) .. makes you wonder if they maybe could help you with a solution to getting the 'wireless' option installed instead of the 'satelite' one - would most definitely be a better all round solution for you I believe (if you were to decide to upgrade at a later date to a faster 'wireless' option it would not cost much more :- BBPremium 512k/128k 4GB @ $49.95 ) ...

Damn - the 'dollar' signs cause a prob with this forum - here it is again fixed .....

It is a pity that you are virtually forced into having to choose satelite over land-based broadband internet options as (in my humble opinion) the offered satelite options are much more expensive for much less bandwidth / download quotas and also if you wanted to later upgrade to a faster option the costs go up dramatically - compared with the 'wireless' options that BroadbandNet offer :- BBLite Plus 256k/64k 4GB @ 39.95 (wireless) versus BBSatLite 512k/64k 500MB @ 39.95 (satelite) ... !!!!

I'm fairly certain that the 500MB quota will be used up in the first week even with your minimum net access history to date (on dial-up) - thus it'll be more like 1 week access / 3 weeks no access unless you pay for the excess download data at probably some exorbitant fee therefore making the .85 cost look like peanuts compared ..

And even if you were to go to the next faster option :- BBSatLite Plus 512k/64k 2GB @ 59.95 (satelite) - this option is still 2GB less for download quota then the above 'wireless' option (BBLite Plus 256k/64k @ 4GB) .. makes you wonder if they maybe could help you with a solution to getting the 'wireless' option installed instead of the 'satelite' one - would most definitely be a better all round solution for you I believe (if you were to decide to upgrade at a later date to a faster 'wireless' option it would not cost much more :- BBPremium 512k/128k 4GB @ 49.95 ) ...

I just looked at the Telstra link in your post above - WHOOSH -they've got a nerve charging such outrageous prices for the satelite service considering the enormous profits they make each year ...

It looks like the BroadbandNet option is the only viable one at the mo - BUT - I'd ask if there was an extra fee if in a few months you were to request an upgrade to the BBSatLite Plus 512k/64k 2GB plan if you found the lower 500MB download limit too little .?

Pity they don't have a 1GB download plan - that may have been more suitable to your needs for a workable internet broadband connection ..

No, there's no charge to upgrade to a higher plan.
Besides, the 500MB limit does not mean I get cutoff for 3 weeks, just "shaped" down to dialup speed. Actually, it drops down to 72K until 120% of the limit, then down to 33K -- considering that my current dialup speed is 26K, that's still very good --- it's all relative!

And I just had a thought. If I take a portable dish into the outback, then I have an emergency rescue system! I'll just post a message on the Puppy forum, hey guys, my car has broken down at gps coordinates such-and-such...

Yep - looks like the satelite option seems to be OK for your needs ..

Just thought you might be interested in the following web links for some info on wifi :


You might find the info interesting - especially the 'orcon.net.nz' site ..!!

As to the 'emergency' use - please don't break down ..

Barry Kauler 
Also, it's interesting to note that the BBSatLite plan at 39.95 Dollars per month actually works out cheaper than dialup. My dialup with Dodo costs about 25 Dollars per month, but in addition it costs me about 20 Dollars for local calls (35c per call with telstra landline), so I'm spending about 45 Dollars per month right now.
It's a pity Voip isn't practical for satellite (the transmission delay), otherwise I would be tempted to dump my landline!

I spoke with the local installer last night. he has stopped installing satellite Internet for now as Broadbandnet has technical difficulties. each account has a fixed IP address, however the new IP addresses are not working. BroadbandNet guys in WA can't fix it and are bringing some experts from New Zealand, arriving Monday (New Zealand?! -- are New Zealanders ahead in satellite technology or something?)

Probably more likely that BroadbandNet is owned by a NZ company thus their 'experts' have more expertise then our local guys..!!

Just my 2 pence worth...

New sound mixer, net-setup updated 

Klh informed me about Zmixer, a nice ALSA sound mixer. Yes, it is very easy to use. I have now made Zmixer the default mixer in the live-CD, replacing Xtmix.

GuestToo posted a patch for pupzip, the desktop drag-and-drop archiver frontend, to handle single bz2'ed files. The file I downloaded was zero bytes for some reason, and I think that John's forum has lost older attachments. Anyway, I figured out what is needed from G2's earlier patch for '.gz' files.

Puppy 2.12 has Rarsa's improved Network Wizard script, based on what I originally wrote but now with huge improvements especially for handling wireless. Rarsa released version 2.12.3 which didn't make it into Pup 2.12 but I have now upgraded, so it will be in 2.13.

There's another thread on this blog discussing the legal side of Puppy, which has caused me to rethink something. In the Puppy FAQ page, http://www.puppylinux.com/faq.htm, I stated that my permission is required to start another Puppy-based distro. That is a formality with the best of intentions, but I can see that some people might find it annoying. None of the restrictions listed in the FAQ conflict with the GPL and GPL-ish licences of individual products used in Puppy, however, I have removed that particular requirement from the FAQ.

Hmmm... I had forgotten that part of the statement. I guess this means I'm not a rouge developer anymore...

i did the same thing, i just used the gz code as a template

one thing that did occur to me, though ... it might be a good idea to make the popup message a little clearer ... something a bit like:

xmessage "Do you want to decompress the file here?
The original file will be deleted"

or something like that

and because bunzip2 is slower than gunzip, maybe it would be good to popup a message like:

xmessage "uncompressing $1, please wait" &
bunzip2 ...
kill PID

it wouldn't be much more complicated

i also enclosed all the code in pupzip in brackets ... xarchive will write lines directly to stderr, which erases xerrs.txt, and disconnects it from it's pipe so that error message no longer work ... this is easily fixed with a simple workaround in pupzip, like this:

# the code in pupzip
) 2> /dev/null
# end of the file

of course, this doesn't help if xarchive is run by itself, instead of being called by pupzip

or xarchive could be replaced by a wrapper script, like this:

exec xarchive-bin "$@" 2> /dev/null

GuestToo: just a little thing: the bug with the Xarchive shell wrappers doesn't disconnect xerrx.log from it's pipe… what it does is change the filetype from "ascii text" to "data", so all the xerrors that follow it **do** get appended, but in hex form…

I still think that Puppy should move on to xarchiver…

Adam H 

instead of sending xarchive.bin output to /dev/null, you could send it somewhere traceable, for example:

exec xarchive.bin "$@" 2>/var/log/xarchive.log

or somewhere else convenient for logs (sorry puppy beginner, so not totally sure of the convention yet)


yes, you can do that, it does work, but the results would be the same as what happens to the xerrs.log file ... the wrapper/plugins/extensions write directly to stderr, and usually the error log file is overwritten with a single line, followed by some nul characters, so that the log file looks like it has 1 line in it, and nothing after that line will be displayed ... you can see the rest of the file in a hex editor, or by displaying the file by typing cat

so it would be easy to do, but maybe pointless

ROX-Filer upgraded 

Puppy has been using ROX-Filer version 1.2.2 for the last couple of years. This was the last GTK1 release, also the last that used its own small mime handling mechanism.

GuestToo and NathanF did some patching of ROX-Filer version 2.5 to suit Puppy and I have used that source. I have reduced the size of the Unleashed package mostly by reducing the number of icons and deleting unecessary files from the MIME-handling directory /usr/share/mime/.

The new Rox has many nice features. Antialiased fonts on the desktop look nice. A couple of problem areas though:

1. Thumbnails are resized to fit the designated space. I set the default display to "large icons", but Rox displays all thumbnails at that size also, including smaller images. A 16x16 pixel image is sized up, and as it was not intended to be displayed 3 or 4 times bigger than 16x16, it looks crappy. This looks to me like a big step backwards from v1.2.2, and I can't find anywhere to turn off this behaviour.

2. Rox has now taken over the root window. As many distros have their own management of the root window, this is also a big step backwards. There should be an option to turn this totally off.
I don't know what to do in Puppy's case ...I see the root image briefly flicker on the screen before getting overwritten by Rox. Nathan mentioned that the image can be copied somewhere to get recognised by Rox, but this is messy as Rox's own background setter can change this path.

Rox 2.5 definitely has some nice features ... especially for power users ... but there are disadvantages too

I think if you set the background using MU's background setter, it automatically sets the same background for Rox and Icewm and qiv ... so there should be no flicker when X starts, and a pseudo transparent app like aterm should show the same background as the desktop ... i think

i have noticed that Rox 2.5 seems to run faster, especially when displaying a dir with a lot of files in it, if /tmp is ram instead of in the save file ... not sure why, i guess Rox uses /tmp

yes, Rox takes over the desktop background, and uses a higher layer than the root layer ... it is probably the most annoying feature ... i have not looked at the source to see if i could disable it, but others have, and have said it would be difficult to disable ... i don't know if that is true or not, it probably is

one nice thing, you can click on the transparent background of a desktop icon, and it works

one useful feature is that you can add/remove desktop icons from a script using SOAP ... this can be used to make a desktop icon appear when a drive is mounted, for example

i like being able to type something like *.jpg to select files ... but it's almost as easy to open an xterm window and type mv *.jpg

i find the shared database unnecessary ... i think Rox 1.2's mime info files are a lot simpler ... i can see the point of sharing the mime database with other apps ... but i don't think Puppy has many apps that use the shared database

Rox 2.5 is definitely nicer and more powerful than Rox 1.2 ... but Rox 1.2 is adequate ... it can do all the the most useful things that Rox 2.5 can do

and it's very easy to install Rox 2.5 from a dotpup package anyway

  I Think th' Current Rox File seems Sumwot Utilitarian

I had a very brief look at the ROX-Filer mail list, and saw a post, advising one solution to controlling the backdrop image is to edit ~/Choices/ROX-Filer/PuppyPin as follows:
[pre]<?xml version="1.0"?>
<backdrop style="tile">path/to/image/imagename</backdrop>[/pre]
Yes, that works, but you would have to restart the pinboard after a change.
I presume that Rox's own background setter writes to the PuppyPin file. I know nothing about that SOAP thing... is that a way to restart?

MU, if you read this, can the Puppy background setter write to PuppyPin and insert/edit the <backdrop> tag and be made to restart the pinboard somehow?

Barry Kauler 
Okay, I found some answers. Yes, Rox can be killed by "killall ROX-Filer" then restarted. Clumsy though.

SOAP is an alternative. This web page shows how:
...shows a simple shell script for setting the background image.
Mark, can we build this into your background-setter?

the backgroundsetter needs:



wms=`which wmsetbg`
if [ "$wms" != "" ];then
echo "using wmsetbg"
wmsetbg /root/Choices/ROX-background.jpg &

if [ -d ~/Choices20 ];then
echo "using rox2"
rox -p /root/Choices/ROX-Filer/PuppyPin
exit 0

if [ -d ~/.config/rox.sourceforge.net ];then
echo "using rox2"
rox -p /root/Choices/ROX-Filer/PuppyPin
exit 0

In Muppy006 (not released yet), I use a script to force rox to use this new backgroundpicture:

bg=`grep '<backdrop style=' /root/Choices/ROX-Filer/PuppyPin`

if [ "$bg" == "" ];then
PB-configfunctions3 -insert /root/Choices/ROX-Filer/PuppyPin ' <backdrop style="Stretched">/root/Choices/ROX-background.jpg</backdrop>' '<pinboard>'
sed -i -e 's#.*<backdrop style=.*# <backdrop style="Stretched">/root/Choices/ROX-background.jpg</backdrop>#' /root/Choices/ROX-Filer/PuppyPin

kill `pidof ROX-Filer`

cd ~
rox -o -p /root/Choices/ROX-Filer/PuppyPin &

Oh Barry, that script is nice!
I must work soon, but will modify later
to use it!

You could modify it yourself of course, it looks simple.
So just forget my former message!


ok, that is simple.

create /usr/local/bin/setrox2backdrop

It is the script from

Now modify


wms=`which wmsetbg`
if [ "$wms" != "" ];then
echo "using wmsetbg"
wmsetbg /root/Choices/ROX-background.jpg &

if [ -d ~/.config/rox.sourceforge.net ];then
echo "using rox2"
setrox2backdrop /root/Choices/ROX-background.jpg &
exit 0


Thats's all

I just see, there is a timing-problem, if you use wmsetbg too.
wmsetbg is needed for fluxbox or xcompmgr.

This modification seems to work:



wms=`which wmsetbg`
if [ "$wms" != "" ];then
echo "using wmsetbg"
wmsetbg /root/Choices/ROX-background.jpg
if [ -d ~/.config/rox.sourceforge.net ];then
rox -p /root/Choices/ROX-Filer/PuppyPin

if [ -d ~/.config/rox.sourceforge.net ];then
echo "using rox2"
setrox2backdrop /root/Choices/ROX-background.jpg


So if we use wmsetbg (only then), we must restart rox (no need to kill it though).

I thought this was settled a few weeks ago...

When I looked at the code there was a part where it sets the root window to be the same as the rox pinboard... Nathan confirmed that it worked ok with transparency, too.

MU, Great, but why copy the image to /root/Choices? The SOAP solution for Rox2 doesn't need that, the original image can be used.

There's also the 'style' parameter, fixed at 'stretch' in the SOAP script, but your background-setter has choices.

the backgroundsetter can do this:

choose a background, color only.
Then choose a small picture, centered.
Now it is displayed in the center, surrounded by your previously selected color.
To be able to use that in Rox 2, the whole picture must be exported, and displayed stretched.

The picture is not copied, but directly saved by the C-program, that generates it.
As it is saved as jpg, this works fast.
This picture is also needed by other external tools like wmsetbg.


i think SOAP will automatically add the background parameter to the pinboard config file (PuppyPin) if it is used to set the background.

Choices20 was a dir i used for an early version of Rox 2, to keep the config files separate from Rox 1's config files ... they were not compatible ... but Rox 2 switched to using ~/.config/rox.sourceforge.net, so i did not need Choices20 anymore ... i think i removed the dotpup package anyway, so i don't think you need to consider Choices20 ... i think it's a legacy package that does not need to be supported

also, i think the right way and the easy way to test to see if Rox 1 or Rox 2 is installed as the default Rox is like this:

if rox -v 2> /dev/stdout | grep -q 'Filer 1'
# Rox 1 is installed
# Rox 2 is installed

to repeat what Dougal said just above: i think Dougal is saying that the latest Rox 2.5 automatically sets the root window to the same picture that is used by the pinboard ... so with Rox 2.5, you do not need to bother setting the root window yourself to match the pinboard, that bug, or feature, has been fixed

if you just kill X, it may not save configuration changes that were made that would normally be saved when Rox shuts down ... i reboot Puppy from a script, and one of the things i do in the script is shut down Rox gracefully before X is killed, something like this:

rox -p=
rox -D /
# other stuff
sleep 1
exec wmreboot

and if SOAP is used to set the Rox background or to create or remove a desktop icon, it is not necessary to restart Rox

Mu, G2, thanks for the feedback. Pup 2.12 has puppybackground-2.1.1 and I have created that SOAP script plus modified the rox-restart script as your advice MU, and upgraded the Unleashed pkg to 'puppybackground-2.1.2'.

I guess I should bring out a 2.13alpha soon, so this and other stuff can be tested.

it seems, it would be a good idea to replace the lines in .xinitrc to launch the backgroundsetter and rox like this:
rox1=`rox -v 2>&1 |grep 'Filer 1'`
rox2=`rox -v 2>&1 |grep 'Filer 2'`
if [ "$rox1" != "" ];then
/usr/local/Puppybackground/puppybackgroundmenu saved &
/usr/sbin/fixPuppyPin /root/Choices/ROX-Filer/PuppyPin #v1.0.7
rox -o -p /root/Choices/ROX-Filer/PuppyPin
if [ "$rox2" != "" ];then

/usr/sbin/fixPuppyPin /root/Choices/ROX-Filer/PuppyPin #v1.0.7
rox -o -p /root/Choices/ROX-Filer/PuppyPin
if [ ! -f /root/Choices/ROX-background.jpg ];then
setrox2backdrop /usr/share/backgrounds/pawrings3.jpg

Then you don't need to add
to the iso.

Do NOT(!) create a symlink /root/Choices/ROX-background.jpg (!)
The backgroundsetter would overwrite the picture, where the symlink points to.

The code above requires, that
PuppyPin contains this by default in the iso:
<backdrop style="Stretched">/usr/share/backgrounds/pawrings3.jpg</backdrop>

some other things:

GuestToos dotpup has

you can symlink
PuppyPin and globicons to the ones in /root/Choices/ROX-Filer.

Same with

Then you can switch among 1.2 and 2.5.
You need
exec /usr/local/apps/ROX-Filer/AppRun "$@"
[ -x /root/my-roxapps/ROX-Filer/AppRun ] && exec /root/my-roxapps/ROX-Filer/AppRun "$@"
[ -x /usr/local/apps/ROX-Filer25/AppRun ] && exec /usr/local/apps/ROX-Filer25/AppRun "$@"
exec /usr/local/apps/ROX-Filer/AppRun -o "$@"

cd /usr/local/bin

rm -f rox
ln -s rox12 rox

kill `pidof ROX-Filer`

cd ~
rox -o -p /root/Choices/ROX-Filer/PuppyPin &
and setrox2

cd /usr/local/bin

rm -f rox
ln -s rox25 rox

kill `pidof ROX-Filer`

cd ~
rox -o -p /root/Choices/ROX-Filer/PuppyPin &

Now you can switch with "setrox1" or "setrox2".
Only the shared mime-info require another step.
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/pup">
<comment>Dotpup package file</comment>
<comment xml:lang="de">Dotpup Paket</comment>
<glob pattern="*.pup"/>

then run "update-mime-database" and "setrox2".
Maybe I forgot 1 more file, must look tomorrow, too tired now.

i think you could do this:

if rox -v 2>&1 |grep -q 'Filer 1';then
/usr/local/Puppybackground/puppybackgroundmenu saved &
/usr/sbin/fixPuppyPin /root/Choices/ROX-Filer/PuppyPin #v1.0.7
rox -o -p /root/Choices/ROX-Filer/PuppyPin
/usr/sbin/fixPuppyPin /root/Choices/ROX-Filer/PuppyPin #v1.0.7
rox -o -p /root/Choices/ROX-Filer/PuppyPin
if [ ! -f /root/Choices/ROX-background.jpg ];then
setrox2backdrop /usr/share/backgrounds/pawrings3.jpg

but it's your program ... do it the way you want

i think you can do things like this too:

rox -v 2>&1 |grep -q 'Filer 1' && ROX1=true
$ROX1 && echo Rox 1 is installed
$ROX1 || echo Rox 1 is not installed

Xampp does something like that:

case $LANG in
de*) de=true ;;
$de && echo 'Grüße'
$de || echo 'Hello'

i once put a symlink in Choices to link PuppyPin to a file in .config ... but Barry started writing directly to the PuppyPin file using sed, which replaced the symlink with the PuppyPin file ... so i just used PuppyPin in Choices for both Rox 1.2 and 2.5 ... which is no problem, that's what it does anyway, from the line in xinitrc that starts the pinboard ... Rox 1.2 does not care if the background configuration is in the PuppyPin file

if the symlink is in .config, not in Choices, i think it would work ... but it does not matter, the pinboard file is set in .xinitrc anyway

Barry: something occurred to me… the flicker you mentioned when starting X shows you didn't remove the puppy-background-setter line from xinitrc -- which you should.

If you're using a new Rox it operates as the background-setter and MU's GUI only needs to control what the Rox background is -- there's no need to use qiv.


where is rox 2.5.pup?


my Rox 2.5 package is here:

you should be able to download it directly from the forum ... the urls to the attachements on the forum have all changed since the forum was updated, so the links on my webpage, and the corresponding links in the dotpup downloader, will not work until they are fixed on my webpage

G2, I used the source from Nathan's grafpup site, I presume it is your source with a couple of extra mods. I think Nathan said he changed the "Send To..." in the menu to "Open with...".

i made as few changes to the Rox source as possible ... i removed the Running As Root message, and i commented the code that pops up an error message if the -o option is used (to make it more compatible with Rox 1.2 which uses the -o option)

i did not change Send To to Open With because:

1) i wanted to alter Rox as little as possible
2) Windows also has Send To in the menu anyway

so Nathan's code probably has all the changes you would want

I also modified the AppRun script ... there was a lot of autocompiling and zero-install stuff in AppRun that i took out

you could use the stock standard source and it would run ok in Puppy ... i think that the few minor hacks in Nathan's code are not necessary but they are nice to have

Small script improvements 

Dougal suggested that if /proc/acpi directory does not exist, then the PC does not have ACPI, therefore load the apm module. I have implemented this in /etc/rc.d/rc.modules.

Plinej has updated various scripts. Updates dated 27th Nov. 2006 for PBrename, Jwmconfig and MUT. Jason also made some improvements for the Pmount script.

John Doe suggested that the problem with freememapplet in the taskbar with JWM 1.8rc4 can be fixed by adding a width parameter:
<Swallow name="freememapplet" width="48">
<!-- freememappletdelayed -->

I have implemented this, but haven't tested it yet. Note, I have commented-out the script that launches freememapplet with a delay, gone back to running the application directly.

Note, I have upgraded Syslinux to version 3.31. A new powerful boot menu system was introduced with version 3.30, however I only glanced briefly at it and couldn't understand it, so still using the old menu system.

Jason Pline 
I'm working on rewriting pupdvdtool right now. Just have to finish a couple more scripts and do some testing. I'll probably have a 0.4 version out by Tuesday. I added several new things and improved the layout. I just wanted to improve on those scripts since it was basically the first thing I put together and have learned quite a bit since then.

Barry, I added new functions to /sbin/init.

Maybe this mechanism could be added to Puppy in future, it uses basically functions from you, slightly modified.

Small bug:
I pup_ro3 is always reserved for mupp_212.sfs, even if there is none.
I must add a counter, that checks it.
Final version available next weekend I think, but this one already works fine in my first tests.


Removing the delay on freememapplet puts blinky right on top of the freememapplet in tray, as before. With the delay and adding the width or not having "exec" in freememappletdelayed works correctly on my computer. This problem occurs on the x restart.

PupGet script getting an overhaul 
I have limited Internet access right now. My eldest sister is in hospital and I am staying at her place, minding the house and the dog. The dog is Muti, a Blue Heeler (Australian cattle dog) -- the same dog I once reported that Puppy had an interest in. This sister never made it to the computer age, has no interest whatsoever. I could probably dialup my ISP from her place, but I don't yet have my laptop internal modem working with Puppy. Anyway, it's fine just working on the laptop, no Internet. A couple more days, then she'll be out of hospital and I'll head home.

I'm at another relative's place right now posting this. Sitting at my sister's place, I have been busy. Continued to improve the Xorg Video Wizard. Then got stuck into the PupGet package manager script -- that is most neglected, has a few bugs. I'm reading through the whole thing, tweaking, improving. Making it faster too.

The Unleashed/PupGet package structure has always supported package dependency. It is built into the structure of the 'packages.txt', 'livepackages.txt' and 'alienpackages.txt' files, for example an entry like:
"gxine-0.5.7" "gxine-0.5.7: multimedia player" on "GTK2APPS +xine 800K" \
The '+xine' is a dependent package, but this can be a comma-delimited list of dependencies. It's hierarchical, as those packages can in turn have their own dependencies. I had not bothered much with this mechanism in the past, now taking it more seriously, putting more dependency info into 'packages.txt' and full dependency chaecking into the PupGet script. The dependencies can have full version qualification if required, such as '+xine-1.0'.
This is a work-in-progress right now.

Note, this dependency checking now works for alien packages, any package that registers in 'alienpackages.txt'. It can have a dependency list in the format '+dep1,+dep2,+dep3' and these can be any other alien or Unleashed/PupGet package.

...anyway, I'll head back to my sister's place and get back onto working on it!

Great news Barry. Having a big red notice come up in the face of a newbie saying he`s created a mess and somehow has to clean it up is very ofputting.Thats why i used tkzip, it may be old but it works and there was instructions by someone in one of the posts.

Well take it easy & get some rest see the family.

When you do get a chance how bout taking a look at Nathan F. pkgtool a cli app for pupget ?

And is there any chance of getting the xdg-menu system from rarsa into the system ?

Thanks & take it easy, I do hope that zmixer made a good impression on you.

alienjeff (alienjeff<at>charter.net) 
I'm sure your sister appreciates you helping out, Barry.

Here's wishing her a brief hospital stay, speedy and complete recovery, and a sedate Muti upon her return home.

If blue heelers are anything like border collies, that last wish may be a bit of a stretch ... heh.


Nathan Fisher 
Hey, I'm really happy you're putting more dependency info into packages.txt, that works well with what I have been tinkering with. Klh mentioned pkgtool, and I thought I'd bring up the fact that as it stands already the script is able to use that info to install the dependent packages, but it has been limited up to now because of the fact that the information has been nowhere near complete. Unfortunately I haven't progressed much further than this because of limited time lately (a lot of extra work plus I'm back in college now), but I will probably do some more on it over the holidays.


Great! Attempting to use PupGet on my sister's computer was so slow it hurt. Then when it didn't work because I forgot she didn't have a 1GB save-file like I use, I had to run it again. But, it thought I had already installed them, so I had to exit it, fix the files manually, and then run it yet again! Very lengthy

A more graceful exit mid-process would be very nice.

Also, you might want to consider implementing support for the file-list for uninstalling built-in packages. That would make PupBeGone unnecessary. (The new PupBeGone uses that list now, thanks for letting me know about it )

Hope you will find out why pupget fails to install OpenOffice Cutdown 1.1.4.

To cheer you up (and hopefully your sister too), here's a URL for Puppy's first roadshow:

Look after your sister, hope it's nothing serious, family is the best thing. My sister supports me all the time, and me her.

Barry Kauler 
Funny how things sometimes happen all at once. My eldest sister has cancer and the operation did not quite get it all out, so now she has to have radiation therapy. My second-eldest sister is now in hospital -- yesterday she was cleaning her scooter (the classical italian motorised type) and she revved it up and it accidenteally shot forward -- I haven't got the exact details yet, but she fell on her back and broke a shoulder and a leg. They operated on her last night and she will have to be in a wheelchair for 6 weeks. She never married, but fortunately she has sisters and one brother and we are all rallying around. I have just driven home, now it looks like I might have to go back to Perth soon.

I know what you mean. Five years ago my parents got divorced and I wound up halfway across the country. Then over the next two years my cat, grandpa, nephew, and cousin died. Plus a bunch of other crap, such as thinking I had cancer, and going from an excellent to a horrible school system. All I wanted was a chance to catch my breath, but it turns out life doesn't have a pause button.

So you go do what you need to do. We'll feed and walk your Puppy while you're away

Barry Kauler 
Yeah, years go by, nothing happens. It wasn't just the two sisters. Last week my daughter slammed her car door on her little finger, crushed the tip.

Well, pizzasgood, I hope the "exciting events" in your life have subsided...

I'm reminded of a few years ago. I had two cars, and suddenly everything started to go wrong with them. Batteries failed on both. One blew a head gasket. Can't recall what else.
Lobster probably has an explanation for this phenomena.

The bad ones, yes, but I still haven't caught that breath. I got close, but then I went and graduated from highschool. Oh well. My dorm has a fast internet connection and there's no kitty litter to clean. 

Xorg Video Wizard improved 

I have rewritten most of the Video Wizard script, /usr/sbin/xorgwizard, to be faster and easier to use.

There were various problems. One of those was after the first dialog window when you chose to use Xorg rather than Xvesa, you got a blank screen for many seconds, leaving you wondering what is happening -- and this blank screen could be there for quite a long time with a slow old CPU. I have made this part of the code much faster, but also there is a message and a progress indicator so you know something is happening.

Another problem is the number and content of the dialog windows. I made the list-box dialog windows consistent (as done in the shutdown script, see last Blog post) so the SPACEBAR key is not required. I also streamlined the steps so that the Wizard may only display one window.
That is, if the Wizard is able to autodetect both monitor and video-card settings, then you will get just one window, to choose the required video resolution and color-depth. This window has two buttons, <OK> and <TEST>, so you can just go straight into using the chosen resolution or if you choose <TEST> you can go into all the X testing and tweaking stuff.

If you have a non-Plug-n-Play monitor, then the Wizard will present you with two dialog windows, the first to chose your monitor type, the second to choose resolution and color depth.

I have also attempted to improve handling of LCD screens for laptops, which have one native resolution and may have one recommended refresh frequency. In that case, the resolution-chooser dialog window will offer that only.

Right now, I'm still testing the script. I have to go to a selection of different PCs and see how it performs and further refine the code if required.

Thanks to Dougal who found the 'ddcprobe' application and informed me about it. I located the source and compiled it. It's very interesting, as it probes the video card BIOS and returns the supported modes, and does an EDID probe of the monitor -- and all the probed information is presented in a simple easy-to-use format.

So, I've incorporated ddcprobe into the Xorg Wizard. Puppy already has 'read-edid', which does an EDID probe of the monitor. I did use read-edid in the Wizard, now using ddcprobe. I also used the Xvesa server, 'Xvesa -listmodes', to probe the video BIOS, but now have setup the Wizard so that if Xvesa not present then will use the info returned by ddcprobe.

  Very welcome. Very well done. As usual Puppy moves ever closer to 'just works'

Excellent Barry - That was really needed :)

Looking forward to testing it on my machines.

great i cant wait to be able to use puppy again on my oldie lap!!!
i was wondering in case everything fails if was possible to add a default resolution and refresh in order to allow ppl to start anyway and then edit xorg.conf (for example 800x600, or 640x480, 56hz, 8bit)

JohnRoberts (johnroberts_abroad &lt;at&gt; yahoo.com) 

Great Job!!! Puppy is the exact definition of what minimalism in a modern OS is... (and proves how big a fraud Win$ is...) The DejaVu fonts were indeed a big big BIG necessity for all the international users who need bilingual support (US and something else...). This stands also for correct depiction of foreign lanuage webpages. This is a crucial obstacle to overcome for broader Puppy acceptance. Also I saw Dougal is working on a tool to enable bilingual keyboard layout. Could you please include the option in the X config script for 2.13? (Please!!!). I am ref. this link:

...It would be nice, especially for newbs NOT having to edit xconf by hand...A small GUI app or a script at least would be far better...

All the best

Barry Kauler 
Note, I also added a "EXIT" button in the Xorg Wizard. For my laptop, the Wizard displays just one window, with OK, TEST and EXIT buttons along the bottom. The reason for this, is many people have asked for it -- X doesn't work and they want to work on it from the text-mode console (perhaps run the old xorgconfig program), or they just don't want to start X for some reason.

Michael Belless (circle<at>utahweb.com) 
I just spent hours with an odd instability with Xorg and Gkdial in Puppy 2.12. I choose the highest stable level of resolution, 24 color, in Xorg available for Puppy 2.12. I have onboard graphics on a Gateway computer made in 2001. I have a huge monitor that I was discarded from I guess a hospital. The fellow who gave it to me said its original price was four grand. 19 inches diagonally. I have a Pentium 4, 1.5 Ghz, 756 MB RAM.

Puppy starts just fine. Gkdial would not dial in. Got up to the point where it would check the password on a dial up external serial modem. Then not connect.

Naturally changing the resolution size in Xorg was the last thing I tested for.

I thought that I would tell you the experience, in case someone else has a similar complaint.

Barry. Puppy is wonderful. 212 seems faster than the other versions.

Keyboard-layout selection improved 

This has been such a long time coming! Every now and again raffy and others have reminded me that it needs to be improved.
New Puppy users will now find the keyboard layout selection dialog window to be a pleasant experience. I have placed the USA item at the top, as that will be the most common choice. The countries are now sorted alphabetically and each item has the full name of the country, not just the two-letter abbreviation. I also added a couple more layouts (Israel and Latin America).

The script that was edited is /usr/X11R7/bin/xwin.

Thanks, Barry, it's a much-anticipated development.


Please say that you included fr_CH, pleeeeeeease!

Thanks! This is most appreciated! (A Latinamerican talking here...)

Barry Kauler 
Well, 'fr_CH' is a locale setting, not a keyboard layout setting.
For keyboard layout, there are two independent systems in Linux, for the console and for Xorg. The dialog window presents you with all the avilable layouts for the console-keyboard -- these are to be found in /usr/share/kbd/keymaps/i386/.

When Xorg starts, the 'xwin' script reads the chosen console keyboard layout and selects a matching layout for Xorg. The Xorg layouts are to be found in /etc/X11/xkb/symbols/.

Both of these directories are cutdown.

So, if you find that the dialog window is not offering you with a suitable choice for your country, you may be able to locate the appropriate keymap file and we can put it into /usr/share/kbd/keymaps/i386/. For example, in Slackware you will find more files in this directory.

Ditto for /etc/X11/xkb/. If you do add a new console-layout file, you will then need to examine /usr/X11R7/bin/xwin and see how it translates that to a choice in /etc/X11/xkb/. It defaults to a one-to-one choice, so if you chose 'fi' console layout, xwin will chose 'fi' layout for Xorg. Sometimes though, the Xorg equivalent may have a different name.

In the case of 'fr', Puppy only has 'fr.map' console-layout file. But, I notice that Slackware has 'fr.map', 'fr-latin1.map', 'fr-latin9.map' and 'fr-pc.map' -- you would need to look at these and decide if one of them is more appropriate for you (they are text files). Then you would need to determine the equivalent for Xorg.
Then test that they work in Puppy. Then let me know.

...so, this has become a bit of a tutorial!

Barry, thanks fo your substantial reply to my request. I believe that the /etc/X11/xkb/keymap/ settings are deprecated by X.org, and that X.org should respect the system keymap settings.

Incidentally, my Ubuntu system has the same keymaps as you mention above under /usr/share/keymaps/i386/azerty/, as well as a few other fr* keymaps. However, there is also a fr_CH keymap, as well as fr_CH-latin1 under /usr/share/keymaps/i386/qwertz. The Swiss keyboards, including the french one, are designed around the german QWERTZ keyboard to facilitate switching between the country's two main languages. So there is a keymap called fr_CH (present in Ubuntu at least) and it is not an AZERTY map like the other french ones, which are very different in layout (which is why I keep asking for it


Sine Nomine 
Hi Barry

On two different computers when I saved puppy fs3 & rebooted the

keyboard has problems. q=a a=q m=, semi colon=m z=w w=z the numeric

row of keys above the keyboard are ² & é " ' ( § è ! ç à ) -

other keys seem to be for non english letters. Both times the file

was saved to FAT32 partition.

I tried to select us from keyboard wizard, but it was no help!

Any ideas...

Sine Nominee

Sine Nomine, you seem to have an AZERTY keymap ... as opposed to a QWERTY keymap ... look in /etc/X11/xorg.conf ... do you have "us" set, like this:

Option "XkbLayout" "us" #xkeymap0

[quote]Puppy only has 'fr.map' console-layout file. But, I notice that Slackware has 'fr.map', 'fr-latin1.map', 'fr-latin9.map' and 'fr-pc.map'[/quote]
xkb in Puppy 212 is a newer version than is in Puppy 1.x, and seems to have some differences

the older xkb had keymaps like "en_US" and "us_intl" ... the newer xkb does not seem to have these keymaps ... instead, the standard us keymap seems to have variants in the file ... for example, you can put these configuration choices in xorg.conf:

Option "XkbLayout" "us" #xkeymap0

Option "XkbLayout" "us" #xkeymap0
Option "XkbVariant" "basic"

Option "XkbLayout" "us" #xkeymap0
Option "XkbVariant" "intl"

Option "XkbLayout" "us" #xkeymap0
Option "XkbVariant" "alt-intl"

Option "XkbLayout" "us" #xkeymap0
Option "XkbVariant" "dvorak"

Option "XkbLayout" "us" #xkeymap0
Option "XkbVariant" "rus"

for the fr keymap, there are these variants:

Option "XkbLayout" "fr" #xkeymap0

Option "XkbLayout" "fr" #xkeymap0
Option "XkbVariant" "basic"

Option "XkbLayout" "fr" #xkeymap0
Option "XkbVariant" "Sundeadkeys"

Option "XkbLayout" "fr" #xkeymap0
Option "XkbVariant" "sundeadkeys"

Option "XkbLayout" "fr" #xkeymap0
Option "XkbVariant" "nodeadkeys"

Option "XkbLayout" "fr" #xkeymap0
Option "XkbVariant" "latin9"

Option "XkbLayout" "fr" #xkeymap0
Option "XkbVariant" "latin9_Sundeadkeys"

Option "XkbLayout" "fr" #xkeymap0
Option "XkbVariant" "latin9_sundeadkeys"

Option "XkbLayout" "fr" #xkeymap0
Option "XkbVariant" "latin9_nodeadkeys"

Option "XkbLayout" "fr" #xkeymap0
Option "XkbVariant" "dvorak"

see: http://www.murga-linux.com/puppy/viewtopic.php?t=13233
and: http://www.murga-linux.com/puppy/viewtopic.php?t=12380

by the way, Puppy 212 already has a "ch" keymap ... variants:

Option "XkbLayout" "ch" #xkeymap0

Option "XkbLayout" "ch" #xkeymap0
Option "XkbVariant" "basic"

Option "XkbLayout" "ch" #xkeymap0
Option "XkbVariant" "de"

Option "XkbLayout" "ch" #xkeymap0
Option "XkbVariant" "de_Sundeadkeys"

Option "XkbLayout" "ch" #xkeymap0
Option "XkbVariant" "de_sundeadkeys"

Option "XkbLayout" "ch" #xkeymap0
Option "XkbVariant" "de_nodeadkeys"

Option "XkbLayout" "ch" #xkeymap0
Option "XkbVariant" "fr"

Option "XkbLayout" "ch" #xkeymap0
Option "XkbVariant" "fr_Sundeadkeys"

Option "XkbLayout" "ch" #xkeymap0
Option "XkbVariant" "fr_sundeadkeys"

Option "XkbLayout" "ch" #xkeymap0
Option "XkbVariant" "fr_nodeadkeys"

i guess Sun refers to SunOS

Xdialog and dialog updated 

Xdialog is a GTK GUI dialog system for scripts and dialog is the same thing in text-mode.

Dougal and plinej did some work and have fixed the GTK2 version of Xdialog. I have upgraded to version 2.3.1 using patches provided by Dougal. The author is Thierry Godefroy and this is the homepage:
The version of dialog used in Puppy until now is quite old, but has always done the job. I did consider upgrading to v1.0 about a year ago, but found a bug, but the author was responsive and fixed it. So, I have now got around to upgrading to version 1.0-20060221. The author is Thomas Dickey and the homepage is:

Puppy makes use of dialog at bootup and shutdown. The new dialog has extra features, such as allowing a third button. I have gone through the 'rc.shutdown' script and refined all the dialog windows. Having three buttons on a dialog window reduces the number of windows. I also examined the content of each window and attempted to make the shutdown steps clearer and simpler. For example, there was inconsistency in list-boxes, as the list-box for selecting a partition for the "pup_save" file required using the up/down arrow keys then pressing space key to select an entry then press enter key to finish. Whereas the list-box for selecting the size of the "pup_save" file did not need that extra space-bar press. I have made all list-boxes the same as the latter, that is, no space key press required. It looks and is easier to use.

Now I have to do the same overhaul of the bootup dialogs...

klhrevolutionist (klh<at>klh.org) 
Good to see some more upgrades. I am a big fan of your new startup & shutdown dialogs. Now I can understand some of what is happening at boot & shutdown. I think this will also help windows converts and will help them by seeing and believing that linux can be just as easy as windows.

Oh dear. I found that the new patched Xdialog is still broken with the dual-pane dialog window. Testing PupGet, I highlighted a package in the left pane, clicked the "Add" button, but nothing happened -- it is supposed to move over to the right side.
So, for now have gone back to the old GTK1 version.

Jason Pline 
Yes, you are correct. Must've broke after Dougal's last patch. I just messaged him to see if he can figure out why.

I'll have a look at it today. I think I know what might have caused it (just a matter of having "tidied up" things a little..)

Here it is:

Jason Pline 
Pupget and the directory selector work just like the gtk1 version with your new patch Dougal, thanks again.

Barry Kauler 
Great! Thanks for fixing it so promptly.

modprobe script improved 

It was reported on the forum that the latest Puppy is noticeably slower to bootup. I think that the modprobe script may be the main culprit, so I have modified it so that it will be "slow" on the first bootup (and at version upgrade) but much faster on subsequent boots.

The reason for the slowness is that a search is conducted to see if the module is local. If so, it is then loaded. If not, a search is conducted to see if it is on the 'zrdv' file and if so it is fetched then loaded.
The script is now optimised so that this searching only has to occur once for any unique commandline.

An advantage of this new script is that it eliminates the multiple 'missingmods<pid>.txt' files that get created in /tmp.
Note: on my PC I only got 4 of those created, but others on the forum reported they kept increasing. I would like to know what is going on there. Something is repeatedly calling modprobe. The kernel could do this, but I don't know why it would repeatedly do so.
If anyone would like to solve this mystery, just insert a line into /sbin/modprobe, at the beginning:
echo "${*}" >> /tmp/modprobes.log
...let us know if you discover anything interesting!

feri (ferikenagy<at>yahoo.com) 
so I insert in modprobe script "$ {*}"... and modified /etc/puppyversion to start with a new upgrade for 212 the result:
at first boot only an few 'module' missing text, (21 at my computer) on the second boot -the same (21) but after I run the LAN conect wizzard apperars more 4 and after I runned several times GXINE on different files(avi,mpeg...) list was growing to almost 40 . I have attached the file list "ls -l /tmp" to be more specific..... on Murga's forum: http://www.murga-linux.com/puppy/viewtopic.php?t=13097
subject "for Barry: modprobe script testing"

gdcrane (gdcrane<at>bellsouth.net) 
yes I am up to 113 of these files. so I will try adding the line above and see what is happening

i think tkppoe does modprobes ... and some firewall scripts do modprobes (i sometimes run a different firewall script to open ports for a program, like a torrent client, for example)

i fixed the modprobe script in Puppy 212, properly ... what is happening is that a missingmods$$.txt script is being created, but not being deleted before an exec modprobe ... i added a rm -f /tmp/miissingmods$$.txt line before each exec modprobe ... this fixes the problem ... not rm'ing the temp file before an exec modprobe is an error, a bug that should be fixed

see SP212: http://www.murga-linux.com/puppy/viewtopic.php?t=12907

I wonder about boot times on diskless machines, where the pup_save (and thus /tmp) is on a USB flash for example. If a lot of this small file creation is going on, that's a lot of traffic on the bus. Would it make sense to create a small extra ramdisk during boot to hold such things? Then at the boot end the ramdisk is (optionally) wiped out by uncommenting a line in rc.local?

If this is done, you wouldn't have to fiddle with modprobe. Let it create the files, they will disappear when the small ramdisk is eliminated.

ted dog 
Wow George!!
OK running NVIDIA script on a full HD install errors out on installing new modules.

gdcrane (gdcrane<at>bellsouth.net) 
adding that line before the modprobes works as intended on my usb boot, and no issues so far that i can see


i'm not sure, but i think /tmp is in ram when the pup_save file is on a usb drive anyway ... i think it just updates the usb drive every 15 minutes or so

i usually boot Puppy as a frugal install from a hard drive, so /tmp IS in the save file ... i prefer /tmp to be in ram (Puppy seems to run better, and i have a lot more space in /tmp for downloading, etc etc) ... so i put this in rc.local to make /tmp a tmpfs:

cp /tmp/* /tmp$$
mount-FULL -t tmpfs -o size=700M tmpfs /tmp
cp /tmp$$/* /tmp
rm -rf /tmp$$

this overlays a tmpfs over /tmp ... since the files that were already in /tmp will no longer be accessible, i copy them to a temp dir, mount the new /tmp, then copy them back (you could do it other ways) ... this could be a problem when upgrading to a newer version of Puppy, so i disable it if i upgrade

-o size=700M sets the maximum size for /tmp (so it won't accidently swamp my swap space)

to be sure Puppy shuts down properly, i unmount /tmp in wmreboot

another advantage: /tmp is no longer in the unionfs file system, so i don't have any problems with unionfs bugs in /tmp

Barry Kauler 
Thanks for the feedback guys.
G2, you are posting right now, fixed the bold-text problem, but I deleted gdcrane's post that caused the problem.

Okay, the situation is clear now.


these are not extracted when needed.
Xorg loads them automatically, if xorg.conf includes a line
load "dri"
But it can't, as they are not available.
So in Muppy 005 (based on Puppy 2.12), I added them to pup_212.sfs.


ted dog,
Yes, I just had the same problem when running the nVidia installer. The module builds successfully, but then the installer tries to test whether the module will load, and whatever method it uses to load the module crashes my computer.
So I used an alternative install method, and am about to send Mark the final nVidia packages to include in his 3D-Control-Centre.

Okay, I added some code to /etc/rc.d/rc.modules.
It gets the xorg driver name out of xorg.conf (for example 'sis')
and it then fetches 'sis.ko' from the zdrv file.
The problem is, there is not always a one-to-one name equality with xorg driver name and what is in the 'drm' modules directory.

I wanted to avoid fetching all of them.

yes, that's problematic.

Ati radeon cards are detected as
driver "ati" in xorg.conf.
But the corresponding Kernel drm-module is called "radeon".

I have set up the new 3DControl-Center for Puppy 2.12 to install the kernelmodules in addition to avoid any problems (the way it did in older versions, too).


Oh well, I've put in a fix for ati -> radeon, but of course there will be others.

JustGreg (greg-majewski<at>worldnet.att.net) 
I am having the problem with the modprobe missing text files. I did the script change as suggested. On my system it seems ppp is generating them. Here is the text from modprobes.log
-q -- net-pf-10
-n snd-mixer-oss
-n snd-seq-oss
-n snd-pcm-oss
-q -- sound-slot-0
-q -- sound-service-0-0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- tty-ldisc-3
-q -- ppp-compress-21
-q -- ppp-compress-26
-q -- net-pf-10
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
Going to add zdrv to see what happens
-q -- block-major-11-0
-q -- block-major-11-1
-q -- block-major-11-2
-q -- block-major-11-3
-q -- block-major-11-0
-q -- block-major-11-1
-q -- block-major-11-2
-q -- block-major-11-3
-q -- block-major-11-0
-q -- block-major-11-1
-q -- block-major-11-2
-q -- block-major-11-3
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- net-pf-10
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
-q -- ppp0
I hope this helps. Enjoy life Just Greg

Improved printing with Gutenprint 

Up until now, Puppy has used the Gimp-Print IJS printer drivers and the PDQ printer management system. I have now upgraded Gimp-Print 4.2.7 to Gutenprint 5.0.0 -- these are the same product, it is just that the project had a name-change to avoid conflict with Gimp. Gutenprint 5.0.0 is the latest stable release and has support for about 300 printers, many more than Gimp-Print.
I also examined the Printer Wizard script /usr/sbin/printerwizard.sh, and made a few improvements. There was a bug for USB printers -- the wrong kernel module was loaded ('printer' module, but should be 'usblp' module -- a leftover from the 2.4 kernel).

Gutenprint is about 1MB, compared with Gimp-Print at about 0.8MB, so not much bigger. I have not yet considered getting Gutenprint to work with CUPS (please read down this Blog for a report on the Puppy-CUPS project). So far I just targetted upgrading the PDQ system to using Gutenprint, as this is the most compact approach.
Next step is I plan to study the Foomatic system.

Homepage for Gutenprint:

hura!...I hope I'shall print from puppy to my Brother 1430, won't be necessary to switch to Suse...proposal: if space required for all printer drivers or ppd files is to big for puppy, trimmed drivers should be inserted in 'zdrv_...sfs'....Thanks

These are the Brother printers supported by Gutenprint 5.0.0:

Brother DCP-1200 Brother HL-4Ve Brother HL-10V Brother HL-10h Brother HL-630 Brother HL-660 Brother HL-760 Brother HL-960 Brother HL-1040 Brother HL-1050 Brother HL-1060 Brother HL-1070 Brother HL-1240 Brother HL-1250 Brother HL-1260 Brother HL-1270N Brother HL-1440 Brother HL-1660e Brother HL-2060 Brother MFC-6550MC Brother MFC-8300 Brother MFC-9500 Brother MFC-9600

All the drivers are in Puppy, in the afformentioned 1MB, and I won't put anything out to the 'zdrv' file. This is the simple system as used in previous Puppies. Support for Foomatic and/or CUPS is a different matter, much bigger.

Will the new Gutenprint 5.0.0 for Puppy Linux work with the HP 5610v Officejet?

Side note: I am new to Linux, and thus far have only used Live CD Distributions, but must say Puppy Linux is by far the best.

Thank you.

Here is the complete list, first column is the driver, then description:
[pre]"pcl-apollo-p2100" "Apollo P-2100" \
"pcl-apollo-p2150" "Apollo P-2150" \
"pcl-apollo-p2200" "Apollo P-2200" \
"pcl-apollo-p2250" "Apollo P-2250" \
"pcl-apollo-p2500" "Apollo P-2500" \
"pcl-apollo-p2550" "Apollo P-2550" \
"pcl-apollo-p2600" "Apollo P-2600" \
"pcl-apollo-p2650" "Apollo P-2650" \
"pcl-apple-4100" "Apple Color StyleWriter 4100" \
"pcl-apple-4500" "Apple Color StyleWriter 4500" \
"pcl-apple-6500" "Apple Color StyleWriter 6500" \
"pcl-apple-lw360" "Apple LaserWriter Select 360" \
"brother-dcp-1200" "Brother DCP-1200" \
"brother-hl-1040" "Brother HL-1040" \
"brother-hl-1050" "Brother HL-1050" \
"brother-hl-1060" "Brother HL-1060" \
"brother-hl-1070" "Brother HL-1070" \
"brother-hl-10h" "Brother HL-10h" \
"brother-hl-10v" "Brother HL-10V" \
"brother-hl-1240" "Brother HL-1240" \
"brother-hl-1250" "Brother HL-1250" \
"brother-hl-1260" "Brother HL-1260" \
"brother-hl-1270n" "Brother HL-1270N" \
"brother-hl-1440" "Brother HL-1440" \
"brother-hl-1660e" "Brother HL-1660e" \
"brother-hl-2060" "Brother HL-2060" \
"brother-hl-4ve" "Brother HL-4Ve" \
"brother-hl-630" "Brother HL-630" \
"brother-hl-660" "Brother HL-660" \
"brother-hl-760" "Brother HL-760" \
"brother-hl-960" "Brother HL-960" \
"brother-mfc-6550mc" "Brother MFC-6550MC" \
"brother-mfc-8300" "Brother MFC-8300" \
"brother-mfc-9500" "Brother MFC-9500" \
"brother-mfc-9600" "Brother MFC-9600" \
"bjc-30" "Canon BJ-30" \
"bjc-1000" "Canon BJC-1000" \
"bjc-2000" "Canon BJC-2000" \
"bjc-2010" "Canon BJC-2010" \
"bjc-210" "Canon BJC-210" \
"bjc-2100" "Canon BJC-2100" \
"bjc-2110" "Canon BJC-2110" \
"bjc-240" "Canon BJC-240" \
"bjc-250" "Canon BJC-250" \
"bjc-3000" "Canon BJC-3000" \
"bjc-4000" "Canon BJC-4000" \
"bjc-4300" "Canon BJC-4300" \
"bjc-4400" "Canon BJC-4400" \
"bjc-50" "Canon BJC-50" \
"bjc-55" "Canon BJC-55" \
"bjc-6000" "Canon BJC-6000" \
"bjc-6100" "Canon BJC-6100" \
"bjc-6200" "Canon BJC-6200" \
"bjc-6500" "Canon BJC-6500" \
"bjc-7000" "Canon BJC-7000" \
"bjc-7100" "Canon BJC-7100" \
"bjc-80" "Canon BJC-80" \
"bjc-8200" "Canon BJC-8200" \
"bjc-85" "Canon BJC-85" \
"canon-cp100" "Canon CP-100" \
"canon-cp200" "Canon CP-200" \
"canon-cp220" "Canon CP-220" \
"canon-cp300" "Canon CP-300" \
"canon-cp330" "Canon CP-330" \
"canon-gp_335" "Canon GP 335" \
"canon-ir_330s" "Canon imageRunner 330s" \
"bjc-iP4000" "Canon iP4000" \
"canon-lbp-1000" "Canon LBP-1000" \
"canon-lbp-1260" "Canon LBP-1260" \
"canon-lbp-1760" "Canon LBP-1760" \
"canon-lbp-430" "Canon LBP-430" \
"canon-lbp-4sx" "Canon LBP-4sx" \
"bjc-s100" "Canon S100" \
"bjc-s200" "Canon S200" \
"bjc-s300" "Canon S300" \
"bjc-s400" "Canon S400" \
"bjc-s450" "Canon S450" \
"bjc-s4500" "Canon S4500" \
"bjc-s500" "Canon S500" \
"bjc-s600" "Canon S600" \
"bjc-s630" "Canon S630" \
"bjc-s800" "Canon S800" \
"canon-cp400" "Canon SELPHY-CP-400" \
"canon-cp500" "Canon SELPHY-CP-500" \
"canon-cp510" "Canon SELPHY-CP-510" \
"canon-cp600" "Canon SELPHY-CP-600" \
"canon-cp710" "Canon SELPHY-CP-710" \
"citizen-projet_ii" "Citizen ProJet II" \
"dec-1800" "DEC 1800" \
"dec-ln17" "DEC LN17" \
"epson-actl_1100" "Epson ActionLaser 1100" \
"epson-actl_ii" "Epson ActionLaser II" \
"epson-acl_c2000" "Epson AcuLaser C2000" \
"epson-acl_c2000ps" "Epson AcuLaser C2000PS" \
"epson-acl_c8500" "Epson AcuLaser C8500" \
"epson-acl_c8500ps" "Epson AcuLaser C8500PS" \
"epson-acl_c8600" "Epson AcuLaser C8600" \
"epson-acl_c8600ps" "Epson AcuLaser C8600PS" \
"escp2-cl700" "Epson CL 700" \
"escp2-cl750" "Epson CL 750" \
"escp2-cl760" "Epson CL 760" \
"escp2-e100" "Epson E 100" \
"escp2-e150" "Epson E 150" \
"escp2-e200" "Epson E 200" \
"escp2-em900c" "Epson EM 900C" \
"escp2-em930c" "Epson EM 930C" \
"epson-epl-5200" "Epson EPL-5200" \
"epson-epl-5200plus" "Epson EPL-5200+" \
"epson-epl-5700" "Epson EPL-5700" \
"epson-epl-5700ps" "Epson EPL-5700PS" \
"epson-epl-5800" "Epson EPL-5800" \
"epson-epl-5800ps" "Epson EPL-5800PS" \
"epson-epl-5900" "Epson EPL-5900" \
"epson-epl-5900ps" "Epson EPL-5900PS" \
"epson-epl-6100" "Epson EPL-6100" \
"epson-epl-6100ps" "Epson EPL-6100PS" \
"epson-epl-7100" "Epson EPL-7100" \
"escp2-mc10000" "Epson MC 10000" \
"escp2-mc2000" "Epson MC 2000" \
"escp2-mc5000" "Epson MC 5000" \
"escp2-mc7000" "Epson MC 7000" \
"escp2-mc9000" "Epson MC 9000" \
"escp2-mj5100c" "Epson MJ 5100C" \
"escp2-mj6000c" "Epson MJ 6000C" \
"escp2-mj8000c" "Epson MJ 8000C" \
"escp2-mj930c" "Epson MJ 930C" \
"escp2-picmate" "Epson PictureMate" \
"escp2-picmated" "Epson PictureMate Deluxe" \
"escp2-pm10000" "Epson PM 10000" \
"escp2-pm2000c" "Epson PM 2000C" \
"escp2-pm2200c" "Epson PM 2200C" \
"escp2-pm3000c" "Epson PM 3000C" \
"escp2-pm3300c" "Epson PM 3300C" \
"escp2-pm3500c" "Epson PM 3500C" \
"escp2-pm3700c" "Epson PM 3700C" \
"escp2-pm4000px" "Epson PM 4000PX" \
"escp2-pm5000c" "Epson PM 5000C" \
"escp2-pm7000c" "Epson PM 7000C" \
"escp2-pm700c" "Epson PM 700C" \
"escp2-pm730c" "Epson PM 730C" \
"escp2-pm740c" "Epson PM 740C" \
"escp2-pm750c" "Epson PM 750C" \
"escp2-pm760c" "Epson PM 760C" \
"escp2-pm770c" "Epson PM 770C" \
"escp2-pm780c" "Epson PM 780C" \
"escp2-pm790pt" "Epson PM 790PT" \
"escp2-pm800c" "Epson PM 800C" \
"escp2-pm850pt" "Epson PM 850PT" \
"escp2-pm870c" "Epson PM 870C" \
"escp2-pm880c" "Epson PM 880C" \
"escp2-pm9000c" "Epson PM 9000C" \
"escp2-pm930c" "Epson PM 930C" \
"escp2-pm940c" "Epson PM 940C" \
"escp2-pm950c" "Epson PM 950C" \
"escp2-pm970c" "Epson PM 970C" \
"escp2-pm980c" "Epson PM 980C" \
"escp2-pma650" "Epson PM A650" \
"escp2-pma750" "Epson PM A750" \
"escp2-pma890" "Epson PM A890" \
"escp2-pma900" "Epson PM A900" \
"escp2-pma950" "Epson PM A950" \
"escp2-pmd1000" "Epson PM D1000" \
"escp2-pmd600" "Epson PM D600" \
"escp2-pmd750" "Epson PM D750" \
"escp2-pmd770" "Epson PM D770" \
"escp2-pmd800" "Epson PM D800" \
"escp2-pmg700" "Epson PM G700" \
"escp2-pmg720" "Epson PM G720" \
"escp2-pmg730" "Epson PM G730" \
"escp2-pmg800" "Epson PM G800" \
"escp2-pmg820" "Epson PM G820" \
"escp2-px5500" "Epson PX 5500" \
"escp2-px7000" "Epson PX 7000" \
"escp2-px9000" "Epson PX 9000" \
"escp2-pxa650" "Epson PX A650" \
"escp2-pxg5000" "Epson PX G5000" \
"escp2-pxg900" "Epson PX G900" \
"escp2-pxg920" "Epson PX G920" \
"escp2-pxv500" "Epson PX V500" \
"escp2-pxv600" "Epson PX V600" \
"escp2-pxv630" "Epson PX V630" \
"escp2-c20" "Epson Stylus C20" \
"escp2-c20sx" "Epson Stylus C20SX" \
"escp2-c20ux" "Epson Stylus C20UX" \
"escp2-c40" "Epson Stylus C40" \
"escp2-c40sx" "Epson Stylus C40SX" \
"escp2-c40ux" "Epson Stylus C40UX" \
"escp2-c41" "Epson Stylus C41" \
"escp2-c41sx" "Epson Stylus C41SX" \
"escp2-c41ux" "Epson Stylus C41UX" \
"escp2-c42" "Epson Stylus C42" \
"escp2-c42sx" "Epson Stylus C42SX" \
"escp2-c42ux" "Epson Stylus C42UX" \
"escp2-c43" "Epson Stylus C43" \
"escp2-c43sx" "Epson Stylus C43SX" \
"escp2-c43ux" "Epson Stylus C43UX" \
"escp2-c44" "Epson Stylus C44" \
"escp2-c44sx" "Epson Stylus C44SX" \
"escp2-c44ux" "Epson Stylus C44UX" \
"escp2-c45" "Epson Stylus C45" \
"escp2-c46" "Epson Stylus C46" \
"escp2-c48" "Epson Stylus C48" \
"escp2-c50" "Epson Stylus C50" \
"escp2-c60" "Epson Stylus C60" \
"escp2-c61" "Epson Stylus C61" \
"escp2-c62" "Epson Stylus C62" \
"escp2-c63" "Epson Stylus C63" \
"escp2-c64" "Epson Stylus C64" \
"escp2-c65" "Epson Stylus C65" \
"escp2-c66" "Epson Stylus C66" \
"escp2-c68" "Epson Stylus C68" \
"escp2-c70" "Epson Stylus C70" \
"escp2-c80" "Epson Stylus C80" \
"escp2-c82" "Epson Stylus C82" \
"escp2-c83" "Epson Stylus C83" \
"escp2-c84" "Epson Stylus C84" \
"escp2-c85" "Epson Stylus C85" \
"escp2-c86" "Epson Stylus C86" \
"escp2-c88" "Epson Stylus C88" \
"escp2" "Epson Stylus Color" \
"escp2-1160" "Epson Stylus Color 1160" \
"escp2-1500" "Epson Stylus Color 1500" \
"escp2-1520" "Epson Stylus Color 1520" \
"escp2-3000" "Epson Stylus Color 3000" \
"escp2-400" "Epson Stylus Color 400" \
"escp2-440" "Epson Stylus Color 440" \
"escp2-460" "Epson Stylus Color 460" \
"escp2-480" "Epson Stylus Color 480" \
"escp2-500" "Epson Stylus Color 500" \
"escp2-580" "Epson Stylus Color 580" \
"escp2-600" "Epson Stylus Color 600" \
"escp2-640" "Epson Stylus Color 640" \
"escp2-660" "Epson Stylus Color 660" \
"escp2-670" "Epson Stylus Color 670" \
"escp2-680" "Epson Stylus Color 680" \
"escp2-740" "Epson Stylus Color 740" \
"escp2-760" "Epson Stylus Color 760" \
"escp2-777" "Epson Stylus Color 777" \
"escp2-800" "Epson Stylus Color 800" \
"escp2-83" "Epson Stylus Color 8 3" \
"escp2-850" "Epson Stylus Color 850" \
"escp2-860" "Epson Stylus Color 860" \
"escp2-880" "Epson Stylus Color 880" \
"escp2-900" "Epson Stylus Color 900" \
"escp2-980" "Epson Stylus Color 980" \
"escp2-i" "Epson Stylus Color I" \
"escp2-ii" "Epson Stylus Color II" \
"escp2-iis" "Epson Stylus Color IIs" \
"escp2-pro" "Epson Stylus Color PRO" \
"escp2-cx1500" "Epson Stylus CX1500" \
"escp2-cx3100" "Epson Stylus CX3100" \
"escp2-cx3200" "Epson Stylus CX3200" \
"escp2-cx3500" "Epson Stylus CX3500" \
"escp2-cx3600" "Epson Stylus CX3600" \
"escp2-cx3650" "Epson Stylus CX3650" \
"escp2-cx3700" "Epson Stylus CX3700" \
"escp2-cx3800" "Epson Stylus CX3800" \
"escp2-cx3805" "Epson Stylus CX3805" \
"escp2-cx3810" "Epson Stylus CX3810" \
"escp2-cx4100" "Epson Stylus CX4100" \
"escp2-cx4200" "Epson Stylus CX4200" \
"escp2-cx4500" "Epson Stylus CX4500" \
"escp2-cx4600" "Epson Stylus CX4600" \
"escp2-cx4700" "Epson Stylus CX4700" \
"escp2-cx4800" "Epson Stylus CX4800" \
"escp2-cx5100" "Epson Stylus CX5100" \
"escp2-cx5200" "Epson Stylus CX5200" \
"escp2-cx5300" "Epson Stylus CX5300" \
"escp2-cx5400" "Epson Stylus CX5400" \
"escp2-cx5700" "Epson Stylus CX5700" \
"escp2-cx5800" "Epson Stylus CX5800" \
"escp2-cx6300" "Epson Stylus CX6300" \
"escp2-cx6400" "Epson Stylus CX6400" \
"escp2-cx6500" "Epson Stylus CX6500" \
"escp2-cx6600" "Epson Stylus CX6600" \
"escp2-cx7700" "Epson Stylus CX7700" \
"escp2-cx7800" "Epson Stylus CX7800" \
"escp2-cx8300" "Epson Stylus CX8300" \
"escp2-cx8400" "Epson Stylus CX8400" \
"escp2-d68" "Epson Stylus D68" \
"escp2-d88" "Epson Stylus D88" \
"escp2-dx3800" "Epson Stylus DX3800" \
"escp2-dx3850" "Epson Stylus DX3850" \
"escp2-dx4200" "Epson Stylus DX4200" \
"escp2-dx4250" "Epson Stylus DX4250" \
"escp2-dx4800" "Epson Stylus DX4800" \
"escp2-photo" "Epson Stylus Photo" \
"escp2-1200" "Epson Stylus Photo 1200" \
"escp2-1270" "Epson Stylus Photo 1270" \
"escp2-1280" "Epson Stylus Photo 1280" \
"escp2-1290" "Epson Stylus Photo 1290" \
"escp2-2000" "Epson Stylus Photo 2000P" \
"escp2-2100" "Epson Stylus Photo 2100" \
"escp2-2200" "Epson Stylus Photo 2200" \
"escp2-700" "Epson Stylus Photo 700" \
"escp2-720" "Epson Stylus Photo 720" \
"escp2-750" "Epson Stylus Photo 750" \
"escp2-780" "Epson Stylus Photo 780" \
"escp2-785" "Epson Stylus Photo 785" \
"escp2-790" "Epson Stylus Photo 790" \
"escp2-810" "Epson Stylus Photo 810" \
"escp2-820" "Epson Stylus Photo 820" \
"escp2-825" "Epson Stylus Photo 825" \
"escp2-830" "Epson Stylus Photo 830" \
"escp2-830u" "Epson Stylus Photo 830U" \
"escp2-870" "Epson Stylus Photo 870" \
"escp2-875" "Epson Stylus Photo 875" \
"escp2-890" "Epson Stylus Photo 890" \
"escp2-895" "Epson Stylus Photo 895" \
"escp2-ph900" "Epson Stylus Photo 900" \
"escp2-915" "Epson Stylus Photo 915" \
"escp2-925" "Epson Stylus Photo 925" \
"escp2-935" "Epson Stylus Photo 935" \
"escp2-950" "Epson Stylus Photo 950" \
"escp2-960" "Epson Stylus Photo 960" \
"escp2-ex" "Epson Stylus Photo EX" \
"escp2-ex3" "Epson Stylus Photo EX3" \
"escp2-r1800" "Epson Stylus Photo R1800" \
"escp2-r200" "Epson Stylus Photo R200" \
"escp2-r210" "Epson Stylus Photo R210" \
"escp2-r220" "Epson Stylus Photo R220" \
"escp2-r2400" "Epson Stylus Photo R2400" \
"escp2-r300" "Epson Stylus Photo R300" \
"escp2-r310" "Epson Stylus Photo R310" \
"escp2-r320" "Epson Stylus Photo R320" \
"escp2-r340" "Epson Stylus Photo R340" \
"escp2-r800" "Epson Stylus Photo R800" \
"escp2-rx400" "Epson Stylus Photo RX400" \
"escp2-rx420" "Epson Stylus Photo RX420" \
"escp2-rx425" "Epson Stylus Photo RX425" \
"escp2-rx430" "Epson Stylus Photo RX430" \
"escp2-rx500" "Epson Stylus Photo RX500" \
"escp2-rx510" "Epson Stylus Photo RX510" \
"escp2-rx600" "Epson Stylus Photo RX600" \
"escp2-rx620" "Epson Stylus Photo RX620" \
"escp2-rx630" "Epson Stylus Photo RX630" \
"escp2-rx700" "Epson Stylus Photo RX700" \
"escp2-10000" "Epson Stylus Pro 10000" \
"escp2-5000" "Epson Stylus Pro 5000" \
"escp2-5500" "Epson Stylus Pro 5500" \
"escp2-7000" "Epson Stylus Pro 7000" \
"escp2-7500" "Epson Stylus Pro 7500" \
"escp2-7600" "Epson Stylus Pro 7600" \
"escp2-9000" "Epson Stylus Pro 9000" \
"escp2-9500" "Epson Stylus Pro 9500" \
"escp2-9600" "Epson Stylus Pro 9600" \
"escp2-pro-xl" "Epson Stylus Pro XL" \
"escp2-scan2000" "Epson Stylus Scan 2000" \
"escp2-scan2500" "Epson Stylus Scan 2500" \
"fujifilm-cx400" "Fujifilm Printpix-CX-400" \
"fujifilm-cx550" "Fujifilm Printpix-CX-550" \
"fujitsu-pp_10v" "Fujitsu PrintPartner 10V" \
"fujitsu-pp_16dv" "Fujitsu PrintPartner 16DV" \
"fujitsu-pp_20w" "Fujitsu PrintPartner 20W" \
"fujitsu-pp_8000" "Fujitsu PrintPartner 8000" \
"pcl-g_4" "Generic PCL 4 Printer" \
"pcl-g_5c" "Generic PCL 5c Printer" \
"pcl-g_5e" "Generic PCL 5e Printer" \
"pcl-g_5" "Generic PCL 5 Printer" \
"pcl-g_6" "Generic PCL 6/PCL XL Printer" \
"hp-bij_2200" "HP Business Inkjet 2200" \
"hp-bij_2230" "HP Business Inkjet 2230" \
"hp-bij_2250" "HP Business Inkjet 2250" \
"hp-bij_2250tn" "HP Business Inkjet 2250TN" \
"hp-bij_2280" "HP Business Inkjet 2280" \
"hp-cij_cp1160" "HP Color Inkjet Printer CP1160" \
"hp-cij_cp1700" "HP Color Inkjet Printer CP1700" \
"hp-clj_2500" "HP Color LaserJet 2500" \
"hp-clj_4500" "HP Color LaserJet 4500" \
"hp-clj_4550" "HP Color LaserJet 4550" \
"hp-clj_4600" "HP Color LaserJet 4600" \
"hp-clj_5" "HP Color LaserJet 5" \
"hp-clj_5000" "HP Color LaserJet 5000" \
"hp-clj_5500" "HP Color LaserJet 5500" \
"hp-clj_8550gn" "HP Color LaserJet 8550GN" \
"pcl-desnj-230" "HP DesignJet 230" \
"pcl-desnj-2500" "HP DesignJet 2500CP" \
"pcl-desnj-250" "HP DesignJet 250C" \
"pcl-desnj-3500" "HP DesignJet 3500CP" \
"pcl-desnj-430" "HP DesignJet 430" \
"pcl-desnj-450" "HP DesignJet 450C" \
"pcl-desnj-455" "HP DesignJet 455CA" \
"pcl-desnj-488" "HP DesignJet 488CA" \
"pcl-desnj-700" "HP DesignJet 700" \
"pcl-750" "HP DesignJet 750C" \
"hp-desnj_750c_plus" "HP DesignJet 750C Plus" \
"hp-desnj_cp_cad" "HP DesignJet ColorPro CAD" \
"pcl-1100" "HP DeskJet 1100C" \
"pcl-1120" "HP DeskJet 1120C" \
"hp-dj_1125c" "HP DeskJet 1125C" \
"pcl-1200" "HP DeskJet 1200C" \
"pcl-1220" "HP DeskJet 1220C" \
"pcl-1600" "HP DeskJet 1600C" \
"hp-dj_1600cm" "HP DeskJet 1600CM" \
"pcl-2000" "HP DeskJet 2000" \
"pcl-2500" "HP DeskJet 2500" \
"hp-2500cm" "HP DeskJet 2500CM" \
"pcl-340" "HP DeskJet 340C" \
"hp-dj_3810" "HP DeskJet 3810" \
"hp-dj_3816" "HP DeskJet 3816" \
"hp-dj_3820" "HP DeskJet 3820" \
"hp-dj_3822" "HP DeskJet 3822" \
"pcl-400" "HP DeskJet 400" \
"hp-dj_420c" "HP DeskJet 420C" \
"hp-dj_450" "HP DeskJet 450" \
"pcl-500" "HP DeskJet 500" \
"pcl-501" "HP DeskJet 500C" \
"hp-dj_505j_plus" "HP DeskJet 505J Plus" \
"hp-dj_510" "HP DeskJet 510" \
"pcl-520" "HP DeskJet 520" \
"pcl-540" "HP DeskJet 540C" \
"pcl-550" "HP DeskJet 550C" \
"hp-dj_5550" "HP DeskJet 5550" \
"hp-dj_5551" "HP DeskJet 5551" \
"pcl-560" "HP DeskJet 560C" \
"pcl-600" "HP DeskJet 600" \
"pcl-601" "HP DeskJet 600C" \
"hp-dj_610c" "HP DeskJet 610C" \
"hp-dj_610cl" "HP DeskJet 610CL" \
"hp-dj_6122" "HP DeskJet 6122" \
"hp-dj_6127" "HP DeskJet 6127" \
"hp-dj_612c" "HP DeskJet 612C" \
"hp-dj_640c" "HP DeskJet 640C" \
"hp-dj_648c" "HP DeskJet 648C" \
"hp-dj_660c" "HP DeskJet 660C" \
"hp-dj_670c" "HP DeskJet 670C" \
"hp-dj_670tv" "HP DeskJet 670TV" \
"hp-dj_672c" "HP DeskJet 672C" \
"hp-dj_680c" "HP DeskJet 680C" \
"hp-dj_682c" "HP DeskJet 682C" \
"pcl-690" "HP DeskJet 690C" \
"hp-dj_692c" "HP DeskJet 692C" \
"hp-dj_693c" "HP DeskJet 693C" \
"hp-dj_694c" "HP DeskJet 694C" \
"hp-dj_695c" "HP DeskJet 695C" \
"hp-dj_697c" "HP DeskJet 697C" \
"pcl-810" "HP DeskJet 810C" \
"pcl-812" "HP DeskJet 812C" \
"hp-dj_815c" "HP DeskJet 815C" \
"hp-dj_816c" "HP DeskJet 816C" \
"hp-dj_825c" "HP DeskJet 825C" \
"hp-dj_830c" "HP DeskJet 830C" \
"hp-dj_832c" "HP DeskJet 832C" \
"pcl-840" "HP DeskJet 840C" \
"hp-dj_841c" "HP DeskJet 841C" \
"pcl-842" "HP DeskJet 842C" \
"hp-dj_843c" "HP DeskJet 843C" \
"pcl-845" "HP DeskJet 845C" \
"pcl-850" "HP DeskJet 850C" \
"pcl-855" "HP DeskJet 855C" \
"pcl-870" "HP DeskJet 870C" \
"hp-dj_880c" "HP DeskJet 880C" \
"hp-dj_882c" "HP DeskJet 882C" \
"pcl-890" "HP DeskJet 890C" \
"pcl-895" "HP DeskJet 895C" \
"pcl-900" "HP DeskJet 916C" \
"hp-dj_920c" "HP DeskJet 920C" \
"hp-dj_9300" "HP DeskJet 9300" \
"hp-dj_930c" "HP DeskJet 930C" \
"hp-dj_932c" "HP DeskJet 932C" \
"hp-dj_933c" "HP DeskJet 933C" \
"hp-dj_934c" "HP DeskJet 934C" \
"hp-dj_935c" "HP DeskJet 935C" \
"hp-dj_940c" "HP DeskJet 940C" \
"hp-dj_948c" "HP DeskJet 948C" \
"hp-dj_950c" "HP DeskJet 950C" \
"hp-dj_952c" "HP DeskJet 952C" \
"hp-dj_955c" "HP DeskJet 955C" \
"hp-dj_957c" "HP DeskJet 957C" \
"hp-dj_959c" "HP DeskJet 959C" \
"hp-dj_960c" "HP DeskJet 960C" \
"hp-dj_970c" "HP DeskJet 970C" \
"hp-dj_975c" "HP DeskJet 975C" \
"hp-dj_980c" "HP DeskJet 980C" \
"hp-dj_990c" "HP DeskJet 990C" \
"hp-dj_995c" "HP DeskJet 995C" \
"hp-e-printer_e20" "HP e-printer e20" \
"hp-lj_1010" "HP LaserJet 1010" \
"hp-lj_1012" "HP LaserJet 1012" \
"hp-lj_1015" "HP LaserJet 1015" \
"hp-lj_1100" "HP LaserJet 1100" \
"hp-lj_1100a" "HP LaserJet 1100A" \
"hp-lj_1150" "HP LaserJet 1150" \
"hp-lj_1200" "HP LaserJet 1200" \
"hp-lj_1220" "HP LaserJet 1220" \
"hp-lj_1300" "HP LaserJet 1300" \
"pcl-2" "HP LaserJet 2" \
"hp-lj_2100" "HP LaserJet 2100" \
"hp-lj_2100m" "HP LaserJet 2100M" \
"hp-lj_2200" "HP LaserJet 2200" \
"hp-lj_2300" "HP LaserJet 2300" \
"hp-lj_2d" "HP LaserJet 2D" \
"pcl-2p" "HP LaserJet 2P" \
"hp-lj_2p_plus" "HP LaserJet 2P Plus" \
"pcl-3" "HP LaserJet 3" \
"hp-lj_3200" "HP LaserJet 3200" \
"hp-lj_3200m" "HP LaserJet 3200m" \
"hp-lj_3200se" "HP LaserJet 3200se" \
"hp-lj_3300_mfp" "HP LaserJet 3300 MFP" \
"hp-lj_3310_mfp" "HP LaserJet 3310 MFP" \
"hp-lj_3320_mfp" "HP LaserJet 3320 MFP" \
"hp-lj_3320n_mfp" "HP LaserJet 3320N MFP" \
"hp-lj_3330_mfp" "HP LaserJet 3330 MFP" \
"hp-lj_3d" "HP LaserJet 3D" \
"hp-lj_3p_w_pcl5" "HP LaserJet 3P w/ PCL5" \
"hp-lj_3p_w_ps" "HP LaserJet 3P w/PS" \
"pcl-4" "HP LaserJet 4" \
"hp-lj_4000" "HP LaserJet 4000" \
"hp-lj_4050" "HP LaserJet 4050" \
"hp-lj_4100" "HP LaserJet 4100" \
"hp-lj_4200" "HP LaserJet 4200" \
"hp-lj_4300" "HP LaserJet 4300" \
"pcl-4l" "HP LaserJet 4L" \
"hp-lj_4m" "HP LaserJet 4M" \
"hp-lj_4ml" "HP LaserJet 4ML" \
"hp-lj_4p" "HP LaserJet 4P" \
"hp-lj_4_plus" "HP LaserJet 4 Plus" \
"pcl-4si" "HP LaserJet 4Si" \
"pcl-4v" "HP LaserJet 4V" \
"pcl-5" "HP LaserJet 5" \
"hp-lj_5000" "HP LaserJet 5000" \
"hp-lj_5100" "HP LaserJet 5100" \
"hp-lj_5l" "HP LaserJet 5L" \
"hp-lj_5m" "HP LaserJet 5M" \
"hp-lj_5mp" "HP LaserJet 5MP" \
"hp-lj_5p" "HP LaserJet 5P" \
"pcl-5si" "HP LaserJet 5Si" \
"pcl-6" "HP LaserJet 6" \
"hp-lj_6l" "HP LaserJet 6L" \
"hp-lj_6mp" "HP LaserJet 6MP" \
"hp-lj_6p" "HP LaserJet 6P" \
"hp-lj_8000" "HP LaserJet 8000" \
"hp-lj_8100" "HP LaserJet 8100" \
"hp-lj_8150" "HP LaserJet 8150" \
"hp-lj_9000" "HP LaserJet 9000" \
"hp-mopier_240" "HP Mopier 240" \
"hp-mopier_320" "HP Mopier 320" \
"hp-oj" "HP OfficeJet" \
"hp-oj_300" "HP OfficeJet 300" \
"hp-oj_330" "HP OfficeJet 330" \
"hp-oj_350" "HP OfficeJet 350" \
"hp-oj_500" "HP OfficeJet 500" \
"hp-oj_5105" "HP OfficeJet 5105" \
"hp-oj_5110" "HP OfficeJet 5110" \
"hp-oj_5110xi" "HP OfficeJet 5110xi" \
"hp-oj_520" "HP OfficeJet 520" \
"hp-oj_570" "HP OfficeJet 570" \
"hp-oj_580" "HP OfficeJet 580" \
"hp-oj_590" "HP OfficeJet 590" \
"hp-oj_600" "HP OfficeJet 600" \
"hp-oj_610" "HP OfficeJet 610" \
"hp-oj_6105" "HP OfficeJet 6105" \
"hp-oj_6110" "HP OfficeJet 6110" \
"hp-oj_625" "HP OfficeJet 625" \
"hp-oj_630" "HP OfficeJet 630" \
"hp-oj_635" "HP OfficeJet 635" \
"hp-oj_700" "HP OfficeJet 700" \
"hp-oj_710" "HP OfficeJet 710" \
"hp-oj_7110" "HP OfficeJet 7110" \
"hp-oj_7130" "HP OfficeJet 7130" \
"hp-oj_7140" "HP OfficeJet 7140" \
"hp-oj_720" "HP OfficeJet 720" \
"hp-oj_725" "HP OfficeJet 725" \
"hp-oj_d125" "HP OfficeJet D125" \
"hp-oj_d135" "HP OfficeJet D135" \
"hp-oj_d145" "HP OfficeJet D145" \
"hp-oj_d155" "HP OfficeJet D155" \
"hp-oj_g55" "HP OfficeJet G55" \
"hp-oj_g85" "HP OfficeJet G85" \
"hp-oj_g95" "HP OfficeJet G95" \
"hp-oj_k60" "HP OfficeJet K60" \
"hp-oj_k60xi" "HP OfficeJet K60xi" \
"hp-oj_k80" "HP OfficeJet K80" \
"hp-oj_k80xi" "HP OfficeJet K80xi" \
"hp-oj_lx" "HP OfficeJet LX" \
"hp-oj_pro_1150c" "HP OfficeJet Pro 1150C" \
"hp-oj_pro_1170c" "HP OfficeJet Pro 1170C" \
"hp-oj_pro_1175c" "HP OfficeJet Pro 1175C" \
"hp-oj_r40" "HP OfficeJet R40" \
"hp-oj_r45" "HP OfficeJet R45" \
"hp-oj_r60" "HP OfficeJet R60" \
"hp-oj_r65" "HP OfficeJet R65" \
"hp-oj_r80" "HP OfficeJet R80" \
"hp-oj_t45" "HP OfficeJet T45" \
"hp-oj_t65" "HP OfficeJet T65" \
"hp-oj_v40" "HP OfficeJet V40" \
"hp-oj_v40xi" "HP OfficeJet V40xi" \
"hp-psc_7150" "HP PhotoSmart 7150" \
"hp-psc_7345" "HP PhotoSmart 7345" \
"hp-psc_7350" "HP PhotoSmart 7350" \
"hp-psc_7550" "HP PhotoSmart 7550" \
"hp-psc_p100" "HP PhotoSmart P100" \
"pcl-P1000" "HP PhotoSmart P1000" \
"pcl-P1100" "HP PhotoSmart P1100" \
"hp-psc_p1115" "HP PhotoSmart P1115" \
"hp-psc_p1215" "HP PhotoSmart P1215" \
"hp-psc_p1218" "HP PhotoSmart P1218" \
"hp-psc_p130" "HP PhotoSmart P130" \
"hp-psc_p1315" "HP PhotoSmart P1315" \
"hp-psc_p230" "HP PhotoSmart P230" \
"hp-psc_2110" "HP PSC 2110" \
"hp-psc_2150" "HP PSC 2150" \
"hp-psc_2210" "HP PSC 2210" \
"hp-psc_370" "HP PSC 370" \
"hp-psc_380" "HP PSC 380" \
"hp-psc_500" "HP PSC 500" \
"hp-psc_750" "HP PSC 750" \
"hp-psc_950" "HP PSC 950" \
"hp-psc_950xi" "HP PSC 950xi" \
"ibm-4019" "IBM 4019" \
"ibm-4029_030_lp_10" "IBM 4029 030 LaserPrinter 10" \
"ibm-4312" "IBM 4312" \
"ibm-infoprint_12" "IBM Infoprint 12" \
"ibm-pp_3112" "IBM Page Printer 3112" \
"infotec-4651_mf" "Infotec 4651 MF" \
"kyocera-f-1010" "Kyocera F-1010" \
"kyocera-fs-1000" "Kyocera FS-1000" \
"kyocera-fs-1000plus" "Kyocera FS-1000+" \
"kyocera-fs-1010" "Kyocera FS-1010" \
"kyocera-fs-1050" "Kyocera FS-1050" \
"kyocera-fs-1200" "Kyocera FS-1200" \
"kyocera-fs-1600" "Kyocera FS-1600" \
"kyocera-fs-1600plus" "Kyocera FS-1600+" \
"kyocera-fs-1700" "Kyocera FS-1700" \
"kyocera-fs-1700plus" "Kyocera FS-1700+" \
"kyocera-fs-1750" "Kyocera FS-1750" \
"kyocera-fs-1800" "Kyocera FS-1800" \
"kyocera-fs-1800plus" "Kyocera FS-1800+" \
"kyocera-fs-1900" "Kyocera FS-1900" \
"kyocera-fs-3500" "Kyocera FS-3500" \
"kyocera-fs-3600" "Kyocera FS-3600" \
"kyocera-fs-3600plus" "Kyocera FS-3600+" \
"kyocera-fs-3700" "Kyocera FS-3700" \
"kyocera-fs-3700plus" "Kyocera FS-3700+" \
"kyocera-fs-3750" "Kyocera FS-3750" \
"kyocera-fs-3800" "Kyocera FS-3800" \
"kyocera-fs-5800c" "Kyocera FS-5800C" \
"kyocera-fs-5900c" "Kyocera FS-5900C" \
"kyocera-fs-600" "Kyocera FS-600" \
"kyocera-fs-600_kpdl-2" "Kyocera FS-600 - KPDL-2" \
"kyocera-fs-6500" "Kyocera FS-6500" \
"kyocera-fs-6500plus" "Kyocera FS-6500+" \
"kyocera-fs-6700" "Kyocera FS-6700" \
"kyocera-fs-680" "Kyocera FS-680" \
"kyocera-fs-7000" "Kyocera FS-7000" \
"kyocera-fs-7000plus" "Kyocera FS-7000+" \
"kyocera-fs-800" "Kyocera FS-800" \
"kyocera-fs-8000c" "Kyocera FS-8000C" \
"kyocera-fs-9000" "Kyocera FS-9000" \
"kyocera-fs-9100dn" "Kyocera FS-9100DN" \
"kyocera-fs-9500dn" "Kyocera FS-9500DN" \
"kyocera-km-1530" "Kyocera KM-1530" \
"kyocera-km-1810" "Kyocera KM-1810" \
"kyocera-km-2030" "Kyocera KM-2030" \
"kyocera-km-2530" "Kyocera KM-2530" \
"kyocera-km-3530" "Kyocera KM-3530" \
"kyocera-km-4230" "Kyocera KM-4230" \
"kyocera-km-4530" "Kyocera KM-4530" \
"kyocera-km-5230" "Kyocera KM-5230" \
"kyocera-km-5530" "Kyocera KM-5530" \
"kyocera-km-6230" "Kyocera KM-6230" \
"lexmark-4076" "Lexmark 4076" \
"lexmark-optra_e" "Lexmark Optra E" \
"lexmark-optra_eplus" "Lexmark Optra E+" \
"lexmark-vw_300" "Lexmark Valuewriter 300" \
"lexmark-z42" "Lexmark Z42" \
"lexmark-z43" "Lexmark Z43" \
"lexmark-z52" "Lexmark Z52" \
"lexmark-z53" "Lexmark Z53" \
"minolta-pp_1100" "Minolta PagePro 1100" \
"minolta-pp_6" "Minolta PagePro 6" \
"minolta-pp_6e" "Minolta PagePro 6e" \
"minolta-pp_6ex" "Minolta PagePro 6ex" \
"minolta-pp_8" "Minolta PagePro 8" \
"minolta-pp_8l" "Minolta PagePro 8L" \
"nec-ssc_1260" "NEC SuperScript 1260" \
"nec-ssc_1400" "NEC SuperScript 1400" \
"nec-ssc_1800" "NEC SuperScript 1800" \
"nec-ssc_660i" "NEC SuperScript 660i" \
"nec-ssc_860" "NEC SuperScript 860" \
"nec-ssc_870" "NEC SuperScript 870" \
"okidata-okp_10e" "Okidata Okipage 10e" \
"okidata-okp_10ex" "Okidata Okipage 10ex" \
"okidata-okp_14ex" "Okidata Okipage 14ex" \
"okidata-okp_6e" "Okidata Okipage 6e" \
"okidata-okp_6ex" "Okidata Okipage 6ex" \
"okidata-okp_8p" "Okidata Okipage 8p" \
"okidata-ol400" "Okidata OL400" \
"okidata-ol400e" "Okidata OL400e" \
"okidata-ol400ex" "Okidata OL400ex" \
"okidata-ol410e" "Okidata OL410e" \
"okidata-ol600e" "Okidata OL600e" \
"okidata-ol610e_s" "Okidata OL610e/S" \
"okidata-ol800" "Okidata OL800" \
"okidata-ol810ex" "Okidata OL810ex" \
"okidata-super_6e" "Okidata Super 6e" \
"olivetti-jp350s" "Olivetti JP350S" \
"olivetti-pg_306" "Olivetti PG 306" \
"olympus-p10" "Olympus P-10" \
"olympus-p11" "Olympus P-11" \
"olympus-p200" "Olympus P-200" \
"olympus-p300" "Olympus P-300" \
"olympus-p300e" "Olympus P-300E" \
"olympus-p300u" "Olympus P-300U" \
"olympus-p330e" "Olympus P-330E" \
"olympus-p330ne" "Olympus P-330NE" \
"olympus-p400" "Olympus P-400" \
"olympus-p440" "Olympus P-440" \
"panasonic-kx-p4410" "Panasonic KX-P4410" \
"panasonic-kx-p4450" "Panasonic KX-P4450" \
"panasonic-kx-p6150" "Panasonic KX-P6150" \
"panasonic-kx-p6500" "Panasonic KX-P6500" \
"pcpi-1030" "PCPI 1030" \
"ps" "PostScript Level 1" \
"ps2" "PostScript Level 2" \
"raven-lp-410" "Raven LP-410" \
"raw-data-16" "RAW DATA 16 bit" \
"raw-data-8" "RAW DATA 8 bit" \
"ricoh-afc_220" "Ricoh Aficio 220" \
"ricoh-afc_401" "Ricoh Aficio 401" \
"ricoh-afc_700" "Ricoh Aficio 700" \
"samsung-ml-4600" "Samsung ML-4600" \
"samsung-ml-5000a" "Samsung ML-5000a" \
"samsung-ml-6000" "Samsung ML-6000" \
"samsung-ml-6100" "Samsung ML-6100" \
"samsung-ml-7000" "Samsung ML-7000" \
"samsung-ml-7000n" "Samsung ML-7000N" \
"samsung-ml-7000p" "Samsung ML-7000P" \
"samsung-ml-7050" "Samsung ML-7050" \
"samsung-ml-85" "Samsung ML-85" \
"samsung-ql-5100a" "Samsung QL-5100A" \
"samsung-ql-6050" "Samsung QL-6050" \
"seiko-sj_200" "Seiko SpeedJET 200" \
"sharp-ar-161" "Sharp AR-161" \
"sony-ijp-v100" "Sony IJP-V100" \
"sony-updp10" "Sony UP-DP10" \
"sony-updr150" "Sony UP-DR150" \
"star-lp_8" "Star LaserPrinter 8" \
"star-ls-04" "Star LS-04" \
"tally-mt908" "Tally MT908" \
"xerox-able_1406" "Xerox Able 1406" \
"xerox-dc_400" "Xerox Document Centre 400" \
"xerox-dp_4508" "Xerox DocuPrint 4508" \
"xerox-dp_c20" "Xerox DocuPrint C20" \
"xerox-dp_n4512" "Xerox DocuPrint N4512" \
"xerox-dp_n4512ps" "Xerox DocuPrint N4512PS" \
"xerox-dp_p12" "Xerox DocuPrint P12" \
"xerox-dp_p1202" "Xerox DocuPrint P1202" \
"xerox-dp_p8e" "Xerox DocuPrint P8e" \[/pre]

Michael (re4merz<at>juno.com) 
I've downloaded and installed the gutenprint driver package. But how do I access from the print wizard? It still loads the old driver database.

Barry Kauler 
I am only supporting Gutenprint for the upcoming Puppy 2.13.
You could figure out how to install in older Puppies, but that would be up to you. Gutenprint installs into different directories than Gimp-Print so both still work. The PDQ config file created for your printer (somewhere in /etc/pdq/ghostscript I think) would need to be edited to use the Gutenprint file instead of the 'ijsgimprint' file -- I think the Gutenprint executable equivalent is 'ijsgutenprint-5.0.0' -- but you would have to check.


For what it is worth, the Brother HL 1435 works perfectly with the CUPS ppd file for the brother-hl-1270n. I suspect that if you select the Brother HL-1270N using Gutenprint and you have an HL 1435 it should work. I will download and test 2.13 out....to confirm. Thanks for all of your hard work Barry and Puppy Community!

Julie Lapointe (Julie.A.Lapointe<at>USherbrooke.ca) 
I am new with linux 6.06 on my mac OS X and I bought a new printer : brother MFC 440-CN. I downloaded mfc440cnlpr-1.0.0-9i386.rpm but it wouln<t open so I don<t know what to do to make it work.

Thank you for helping me,

Julie Lapointe

DejaVu fonts for Puppy 

Puppy is going international! I have replaced the Bitstream Vera fonts with the DejaVu sans-serif fonts. DejaVu is based upon Bitstream but with greatly expanded international language support. There are various other DejaVu fonts including serif, however I am setting the web browser to use sans-serif as it's main font, so this is the critical one. For serif and mono, the Type1 fonts are adequate.

DejaVu supports Greek, Hebrew, Vietnamese, Arabic, well, the list goes on. This link shows the main language groups:
The main groups not supported by DejaVu is Brahmic and the non-alphabetic languages such as Chinese.

Here are some language-specific testing sites:

If you look at these sites in Puppy 2.12 and earlier with the standard font-set, you will see many little rectangles where the correct font could not be rendered.

Home page for DejaVu fonts:

This is a good page to view characters in various languages, as it has bitmap snapshots alongside to show what they are supposed to look like:

Good to hear that a multilingual font will be standard. I had one guy in IRC the other day having problems installing a XPI language addon for SeaMonkey. Just wondering if you might consider changing the font size to a standard 12pt or 14pt instead of 13pt. It'd be nice if could also switch to 12pt for 800x600 or less & 14pt for higher, but I don't know how that would be implemented.... Thanks!

Nathan Fisher 
Ha! I was already adding Deja-vu for Grafpup. You beat me to it again.

Anyway, this is awesome news. I was already really happy with 2.12, mainly because of how nice the fonts were looking, but now I can't wait for 2.13.

Hacao is also going to be pleased.
Note, there is a size increase. The total size of TTF and Type1 fonts is now 3MB. But, considering that Pups 2.11 and earlier had 5MB of Type1 fonts, that's still very good.

In Puppy 2.12 I finally solved the problem with disapearing characters in Abiword when using my enhanced rendering settings in Xorg mode.
Discussion of the problem with Abiword and Xorg mode:

I was searching for the solution since Puppy 1.0.7alpha when Xorg was included in Puppy.

In Puppy 2.12 I replaced /usr/lib/libfreetype.so.6.3.8 with libfreetype.so.6.3.10 with bytecode interpreter for TrueType hinting enabled that I extracted from libfreetype6 rpm build for Mandrake.

I also changed two symlinks:
cd /usr/lib
ln -fs libfreetype.so.6.3.10 libfreetype.so.6
ln -fs libfreetype.so.6.3.10 libfreetype.so

When using my enhanced rendering settings and Webcore Fonts the font display in Puppy is comparable to font display in Windows.
Webcore Fonts:

Very useful article about fonts in Linux:

In my previous comment I didn't mentioned that you have to click the picture of the screenshot when it opens in your browser to see fonts crysp and clear.

Great news! Many thanks!

A happy Puppy User

very good news with these fonts..I hope it is not so far away that somebody will create an taskar applet for JWM for easy changing of keyboards language too, (without needing to restart X ...like in KDE) Thanks.

ferri: why do you need to restart X?? you just need to set the "XkbOptions" in xorg.conf to use some key combination to swich between layouts.

Hi Barry,

Having the international fonts is a big step forward. And using the "de facto" standard linux fonts is even better.

The next step should be standardizing on internationalization for Puppy.

Several "teams" are already working on localizing puppy to different languages but the task is not too productive if it has to be repeated for each version of Puppy.

It would be great if Puppy included the already internationalized scripts and applications so people only needed to localize in the corresponding dictionaries instead of the scripts themselves.

If we start including the gettext in all the scripts, would you be open to synchronize your changes with those internationalized scripts (think subversion)?.

If we do that we could create packages for different languages for the base puppy.

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