Page 1 of 25

Next Puppy 5.0.2 29 September 2011

Posted: Sat 13 Aug 2011, 15:51
by Iguleder
Background

One of the biggest problems that followed Puppy's history is its growing memory usage and size. Even with all its eye-candy, Puppy 4.2.1 was lighter than current members of the Puppy family.

There is a good reason for this: the thumb rule that says software expands over the course of its development. This is true; most of the software packages used by Puppy indeed grew since Puppy's first appearance in 2003.

Also, Puppy gained big amounts of fat during the transition from the 4.x series to the more automated 5.x series, which is built using Woof. Many packages that were included in the early Puppy 4.x series made their way into recent Puppy versions, although they were totally unneeded.

Additionally, although the high degree of automation gave Puppy developers more control over the choice of packages shipped with each release, it also pulled in lots of unneeded files and packages from other distributions, such as distribution-specific documentation. The intimate knowledge of each and every package included in the release was gone.

About two years passed since the first Woof-built Puppy and recent Puppy releases still contain lots of bloat; much of it originates in desktop environments such as GNOME.

The most common strategy in the battle against Puppy's growing size has been the removal of functionality, for the sake of size. The best example for this is Xorg_High, a genuine piece of must-have functionality in a modern operating system. I believe this isn't the way to go.

What I do believe is that it is possible to reduce Puppy's size, using strict quality assurance tools, creativity, imagination and new ways of doing things. Good examples for this are XZ Utils and AdvanceCOMP; they were not available in the early days of Puppy.

Moreover, I believe it's possible to add functionality, while reducing size. I'm totally against all sorts of user-friendly installers (such as Quickpet) that provide easy means for installing important applications that should ship with Puppy, such a web browser. Because nearly all users would eventually download those packages, installers don't really solve the problem; they just split Puppy's download into two parts, a less functional Puppy and all the missing functionality, one click away.

The only way to bring Puppy's size down and improve its performance is re-imaging the way it is built; that's where Next Puppy steps in.

Introduction

Next Puppy is a minimalistic puplet which strives for elegance, efficiency, stability and long-term support.

It goes back to the early Puppy 5.x days and reinvents the way Puppy is developed; with its small size and great speed, it represents Puppy's true spirit.

It follows the one-application-per-task philosophy and favors minimalistic, small screen friendly applications. Each application built and included in Next Puppy is constructed automatically and goes through a quality assurance procedure and thorough optimization.

Next Puppy is based on Puppy Squeeze, a Puppy built using binary package of Debian's stable branch.

Key Features

- Low memory usage of 35 to 40 MB, longer battery life and great performance.
- Soft and smooth text rendering that is easier on the eyes, which is good for passionate writers and news addicts.
- Elegant looks.
- Good support for small screens, which is good for netbooks and old machines with 15' or 17' monitors.
- Geek-friendliness.

Included Software

Next Puppy ships with an assorted collection of snappy applications that leave you with no doubt that your hardware's true power is unleashed:
- Linux kernel 2.6.39.4, patched with the BFS scheduler by Con Kolivas to improve performance.
- The Window Maker window manager, which implements the the elegant NextSTEP user interface.
- The Firefox web browser.
- Sylpheed, a small e-mail client and news reader.
- Transmission, a small BitTorrent client.
- emelFM2, a small two-pane file manager.
- Leafpad, a minimalistic text editor.
- rxvt-unicode, a tiny terminal emulator.
- Xarchiver, a small archive manager.
- DeaDBeeF, a lightweight music player.
- rgbPaint, a basic image editor.
- MPlayer, a media player.
- Feh, a minimalistic image viewer.
- Zathura, the smallest PDF document viewer there is.
- Aumix, a small volume mixer.
- scrot, a screen capture tool.
- Trayfreq, a processor frequency and better monitor.

Note that Next Puppy lacks certain applications that are present in official releases:
- A word processor and a spreadsheet application: Abiword and Gnumeric could be easily stuffed in 2 to 5 MB, but they're not needed when comparable web applications exist. Also, most people with office needs would prefer LibreOffice.
- An IRC client; the main use for an IRC client in Puppy is its IRC channel, but it's available through Web IRC, too.
- A contact manager and a password manager: both introduce security and privacy risks, so they're not included.
- A download manager: modern web browsers ship with sufficient download managers so a separate application is nothing but duplicate functionality that harms the one-application-per-task philosophy.

Looks

Next Puppy also looks nice; its looks are comparable to the standard among major distributions that are at least five times bigger and not even close to its speed:
- The lightweight Xfce theme engine.
- The Vanilla-DMZ mouse cursor theme, which is widely accepted as the de-facto theme among major distributions.
- The Droid font, which is the default in Xubuntu and Android.
- A vanilla Fontconfig that makes text appear as in bigger distributions.
- An improved FreeType with the Infinality patches that make fonts easier to read and much smoother.

Performance

In order to improve Next Puppy's performance, it includes a number of innovative enhancements uncommon (or not existing at all) in today's Puppy releases:
- A small D-Bus package, which consumes less resources.
- A tiny Bash, which makes every shell script executed consume less precious memory.
- The non-crucial D-Bus and CUPS (which provides printing support) are included, but disabled by default.
- Tray icons are known to be big memory eaters; Next Puppy has only the free memory applet and Trayfreq.
- Support for 3D acceleration though Mesa, out-of-the-box; no need for Xorg_High.
- Next Puppy takes advantage the xz support in Squashfs in order to achieve much smaller size and faster boot times.

Size

Also, in order to keep Next Puppy slim and healthy, it is size-optimized:
- Most documentation is available online and therefore, it is removed.
- Unneeded artwork is removed.
- Support for uncommon languages is removed, but available through add-on packages.
- Unneeded libraries and packages are removed; Next Puppy has no GNOME dependencies.
- Next Puppy is optimized; all compressed files shipped with it are re-compressed, all images are optimized, binary files are stripped and so on.

Notes

- Certain applications (including Transmission) won't work out of the box, because they want D-Bus enabled. In order to enable it, go to the boot manager (System -> "BootManager configure bootup") and open the system services manager, using the button on the bottom. Then, tick the box next to "dbus" and reboot your machine.
- CUPS, which handles all printing-related functionality, is disabled by default. If you need support for printing, you can enable it through the boot manager, too.

Download

Required:

ISO: next-5.0.2.iso (93 MB)
devx module: devx_next_5.0.1.sfs (63 MB)

The devx module is required if you intend to build packages or do any sort of programming.

Extra:

Kernel sources: kernel_sources-2.6.39-4.sfs (82 MB)

MD5 hashes:

MD5 hashes for all Next Puppy files can be found here and the kernel sources' are here. Once you download a big file, calculate its hash and make sure it matches.

Future Version

- New X from Debian backports
- Openbox
- ObConf
- tint2
- wbar
- Clearlooks :lol:
- Abiword
- Gnumeric
- Osmo
- Smaller imlib2 package, without the testing programs
- D-Bus and CUPS enabled by default
- SDL
- Xpad
- Small bug fix in the menu generator
- Homebank
- Parcellite
- Gcolor2
- gtk-theme-switch replaces LXAppearance
- GdMap
- Searchmonkey
- mhWaveEdit
- Pidgin
- A menu entry for viewing the webcam using MPlayer
- Dia
- Hunspell and Enchant for spell checking in Firefox and Abiword
- PuTTY, a true must-have for remote administration (SSH and Telnet)
- Dropbear (SSH server and client)
- tcpdump (packet analyzer)

Posted: Sat 13 Aug 2011, 17:18
by pemasu
I am pleased to post first experience. I dug my dusty command line abilities and mounted my ext4 partition (first I mkdir the /mnt/sda6), then I installed from commandline petget firefox and posting from it.

Emelfm2 is great two pane filemanager. I made for my version launchers to install pet, .deb extractor was not so succesful. Would be handy for this also.

WindowMaker appearance. It gives me very nostalgic first experience. Menu is still quite a mess, a lot default, not installed menu entries, but this is preliminary introduction, not ready build.
I need to dig your specs and check a little what you have left, more difficult is to see what you have removed. But this surely boots up nicely, is fast and firefox works nicely.

And I am sure this is something like untamed, wild dog, which will be great base for barebones and build it yourself as you want.

Oh yeah. To have wireless connected, type sns in console or run command.

Posted: Sat 13 Aug 2011, 18:16
by Béèm
Installed FRUGAL Lin'N'Win.

Biggest problem is to know the commands to type.
Secondly to understand how to run a script from Emelfm2.

Activated my applications environment.
Only thing I can do is run SeaMonkey.
For the rest I have to load sfs files.
Have to find out how to do that. Probably install sfs loader on the fly.

Seems snappy tho.

Not for the average user (yet)

Posted: Sat 13 Aug 2011, 18:19
by Iguleder
The boot manager is "bootmanager". You can find out what to execute to run each application through the .desktop files.

I'm still not sure how to get menus working. The easiest way is Python, but it's in the devx so I guess I'll have to write my own tool for that.

Next Puppy 5.0.0 Alpha 1

Posted: Sat 13 Aug 2011, 21:53
by Billtoo
I did a manual frugal install.
I'm kind of lost but making a little headway.
I see now how to resize the save file but I managed it the wrong way a while ago :)
I compiled seamonkey 2.2 and am posting from it, I compiled mtpaint too but I can't get it to save a file.
Anyway, it's going to take some time to figure this one out!

edit:I installed xorg_high from lucid and now xine works,also got mplayer working,compiled seamonkey beta 2.3,smplayer,umplayer,qt473, and more.

It's working pretty well but it has done a kernel panic on shutdown a couple of times, screen full of text and needed to press and hold power button to shut down the computer.

Posted: Sun 14 Aug 2011, 16:25
by aragon
Hi iguleder,

Fur the menu maybe look at spm:http://www.murga-linux.com/puppy/viewtopic.php?t=51138

Maybe some parts are of use for you.

Aragon

Posted: Sun 14 Aug 2011, 18:58
by Iguleder
Yesterday I took a look at xdg_puppy, the package that contains Puppy's jwm-xdgmenu, icewm-xdgmenu and wm-xdgmenu, which generate the menus for various window managers.

wm-xdgmenu is used for Window Maker, but produces menus in the old format. I want to hack it this week and add a generated submenu to Window Maker's root menu (using a patch to the default configuration - replace the "Applications" menu with a dynamically-generated one).

It won't be very hard to get it to work with Window Maker's new menu format - it parses all the .desktop files, then prints a formatted string which goes into the menu as an entry - I just need to change that format.

I don't want to rush too much - I'm going to use the exact, same packages in the next build, as playdayz did in Lucid. Once I get it stable and complete, I'll probably do a rebuild with Debian's recent packages and the same kernel, since it takes time to recompile it.

Posted: Sun 14 Aug 2011, 19:09
by nooby
Next looks interesting so I give it a try.
mnt/home/ seems to be /initrd/mnt/dev_save/ instead

Hahah I had no idea that that is the place to look for


But how does one get a firefox.pet going? I guess you told us in your text but I am not used to read such text. My bad!

I wanted to install seasides SFS-exec.pet that would allow me to load Firefox without really including it in the pup save file.
But that failed. I am not sure if I managed to install anything but finally I have a Firefox 3.6 going.

Posted: Mon 15 Aug 2011, 16:52
by nooby
You can find out what to execute to run each application through the .desktop files.
So one go to .desktop files and there one know what is possible to get going.

Maybe that explains how I got firefox going then. I tried to install 5 different FF pets and none got accepted. But suddenly I got FF 3.6 going and I am using it now.

Was that one already installed then?

Edit I failed to find these .desktopfiles

there where a Desktopfiles though but that one was totally empty.
I feel very dense. Sorry

Posted: Tue 16 Aug 2011, 05:37
by scsijon
Hi, where do you want bugs?

I know i'm a little rusty but...when I tried to mount a cdrom with

mount /dev/sr0 /mnt/cdrom

expected to / should have got back something like:-

mount: block device /dev/sr0 is write protected, mounting read-only

Instead I got an error back:-

/etc/rc.d/functions4puppy4:line98 in rox: command not found

and it wouldn't, ?something missing?

looks very nice otherwise, looking forward to working with it.

regards
scsijon

Posted: Tue 16 Aug 2011, 11:56
by edoc
Puppy-Next (AKA Squeeze) 5.0.0 booted fine on my Samsung NB30 Netbook.

I like the clean look! I have always found cluttered desktops to be, well, cluttered.

The icons appear to respond best (most usefully) when right-clicked.

In the upper left corner there appears an icon with a paperclip that apparently manages workspaces.

On the upper right are three icons, a globe, a monitor, and a screwdriver.

When I right-click on the desktop (non-intuitive) I get a menu, however almost none of the menu items are populated with functional apps - or else the links are broken.

Based on the intro text I need to activate some doc apps and to grab some other apps here:
http://www.iguleder.info/puppy/next/

I will do so and report back ...

Posted: Tue 16 Aug 2011, 12:16
by Darkgame
noo! No xorg_high please! Im using an nvidia card using nvidia driver!
If nvidia driver and xorg_high are installed together, 3d accerlation will not work, as both driver will corrupt each other

Posted: Tue 16 Aug 2011, 12:33
by lithpr
Okay, I just want to note for the record that my series of posts on OSreX and ReXTSTEP were deleted by admins before you made this puplet :) Very interesting, can't wait to check it out.

Posted: Tue 16 Aug 2011, 18:04
by Iguleder
I took a second look at xdg_puppy and indeed I see a good potential here.

Gonna write a menu generator when I get home, I think I know how to do it using existing code. If it works well enough, I might add some applications to make it more complete, e.g a calculator.

Posted: Wed 17 Aug 2011, 01:28
by edoc
Just got a moment to download some apps ... pickins are thin here:

http://www.iguleder.info/puppy/next/

Is there another repository as well?

Also, do I need the scripts or just the apps?

Posted: Wed 17 Aug 2011, 04:43
by Iguleder
That's everything Next has at the moment. The "scripts" directory has just the build scripts and you don't need them - I uploaded them so you can:
1) Build your own packages too
2) See how I made Next - I believe in openness and freedom of knowledge

There are many packages here, too.

EDIT: forgot to mention. This repository has just the packages used for Next, nothing more, nothing less. Barebones!

Posted: Wed 17 Aug 2011, 09:02
by nooby
pemasu wrote:I dug my dusty command line abilities and mounted my ext4 partition (first I mkdir the /mnt/sda6),

then I installed from commandline petget firefox and posting from it.
So that is how one get firefox going or any other pet? How does the OS knows from where to take that pet? I tried to install SFS-exec.pet but that failed.

What was I supposed to do or maybe SFS-exec.pet is not compatible with "Next" ?

would it be difficult to make it compatible?

Posted: Wed 17 Aug 2011, 17:42
by Béèm
Had a second look at it.
Activated my applications environment.
To have them execute I need to load sfs files.
So with petget I installed sfs load on the fly and with this I could load the sfs files I need.

My SeaMonkey 2.2 did run. Did start it from the command line in emelfm2.
My wine e-mail client did run also. Did start from the command line in emelfm2 also.
Pidgin didn't start as the library libgtkspell is needed.
I have the .deb file, but don't see how I can install it.

Also I didn't find yet how to start a script/application when in a emelfm2 window. single-click, double-click, right-click didn't work.

Didn't find either if it is possible to start applications by their .desktop file.

As said in my first post, there is a snappy feel.

Posted: Wed 17 Aug 2011, 19:20
by Iguleder
nooby - make sure you have no missing packages required for SFS-exec. And regarding Firefox packages - any package should work as long as it's built from the official binaries.

Posted: Wed 17 Aug 2011, 20:00
by Aitch
lithpr wrote:Okay, I just want to note for the record that my series of posts on OSreX and ReXTSTEP were deleted by admins before you made this puplet Smile Very interesting, can't wait to check it out.
Any reason given for this....?

I also note that 'rexbang fully loaded' has been posted by Icyos ...??

double standards?

apologies for the aside, Iggy

Aitch :)