Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Mon 20 May 2019, 15:01
All times are UTC - 4
 Forum index » House Training » HOWTO ( Solutions )
Running modern Puppy in Low RAM systems
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 2 [19 Posts]   Goto page: 1, 2 Next
Author Message
jamesbond

Joined: 26 Feb 2007
Posts: 3347
Location: The Blue Marble

PostPosted: Thu 07 Mar 2019, 22:10    Post subject:  Running modern Puppy in Low RAM systems
Subject description: As of March 2019
 

Puppy has grown in size in recent years. Questions have been asked, how does this size growth affect the ability of Puppy to run on older computers. To answer that questions, I have performed a test to run modern Puppy on low RAM systems.

Running modern Puppy in Low RAM systems
---
1. Tested: Dpup Stretch 7.5 CE (RC-4) with k4.1.48-i686-pae kernel (341MB)
2. Test environment: Qemu 3.1 (note1)
3. Simulated environment: RAM 256MB, Harddisk 512MB (note4)

Steps:
---
1. Get the it from here http://murga-linux.com/puppy/viewtopic.php?t=112125

2. Boot with pfix=nocopy (note2)

3. Boot with default video. Once inside, click "OK" to close the First Run wizard. Then click "OK" to close the Welcome message.

4. At this stage if you open terminal and run "free -h" you well see that only 61M is being used.

5. Run gparted and partition the harddisk to 2 partitions: 256MB for swap and 256MB for ext4. Then I mounted the swap using "swapon /dev/sda1".

6. I can comfortably run libreoffice and edit some of the reference documents I found from the ISO. However, I decided to save the session into a savefolder first.

7. During shutdown I was asked if I want to copy the SFS files to the disk, which I rejected (note3).

8. After I've rebooted, swap is automatically recognised, and the savefolder loaded. RAM usage still hovers around 60MB, no swap usage.

9. I launched web browser. The browser is already installed, I don't have to download first. The browser is Pale Moon. I visited youtube.com and watch a few trailers, in full screen, with sound, comfortably. The swap isn't even fully occupied (only about 128MB out of 256MB).

10. Web browsers are among the memory hog these days, so I'm quite confident that if I can run the web browsers with full screen video, most other every task will be fine too.

11. This is not to say I don't feel the memory pressure. I can definitely feel the swapping effect. The machine isn't as responsive, mouse clicks to start/stop video play back takes a while to respond, and pressing Esc to return from full screen also takes a few seconds to take effect. But the video playback itself is smooth, almost uninterrupted. Overall the impact is very minimal.

12. Of course, don't expect to do video editing on it. And don't expect to be able to open too many apps at the same time. But, for example, typing a document in Libreoffice and having the browser open for researching stuff at the same, is very workable. In fact I'm tying this in geany with web browser open in inside Dpup itself.

Notes:
---
1. The computer I used to run qemu (the "host" computer) is a 2012 i5 computer with 8GB of RAM. It is a 7-year old second-hand computer that I've got from gumtree. It's not exactly new.

2. Use pfix=nocopy if your RAM size is larger than the ISO, to tell Puppy __not__ to load its SFS into RAM (for RAM size smaller than ISO this is automatic). This way, you can use your RAM for its intended purpose - running applications.

3. I decided not to copy the SFS from the (simulated) CD ROM to the (simulated) harddisk because in Qemu both have the same access speed, and because I have only set up a 512MB disk. In real machines you may want to copy it especially if you have the space because generally harddisk is a lot faster than a CD.

4. Use a real harddisk. Don't use USB flash drive, SD card, of the likes. These flash memory devices (with exception of SSD) are __really slow__ devices. With low-RAM systems you definitely want to use swap, and you want to use the fastest device you have for it. If you have both USB flash drive and harddisk, and have to choose which one to use, do it this way: use your USB flash drive for savefile/savefolder, and use your harddisk for swap.

5. Why dpup-stretch?
- It's 341MB - a bit on the bigger side as far as Pup is concerned.
- It's very recent (Jan 2019 release).
- It's 32-bit.

6. I did similar test for Fatdog64. I couldn't get it to run comfortably with 256MB, but at 384MB I got more or less the same experience. See link here: http://murga-linux.com/puppy/viewtopic.php?p=1020472#1020472

7. Finally: in case you forget, this is a simulated test done in Qemu. I don't have a machine with 256MB or 384MB RAM anymore. The performance I've gotten from Qemu is very likely to be better than performance in real low RAM machines (since, not only they are low RAM, but also has older CPU, which is also slower), so take them with a grain of salt. The point still stands, however, that even modern Puppy can still be used on low RAM machines, even if they do look bigger than before.

---

Two last words:
- This kind of test probably needs to be done every couple of years to confirm its validity
- Dpup Stretch is a nice looking polished Puppy that I won't mind using on my older 32-bit only computers.

____________________________________________

EDIT: I also tested Upup Bionic Beaver from here: http://murga-linux.com/puppy/viewtopic.php?t=113244 which according to the post date is also dated Jan 2019. This is 260MB in size, and is also meant for 32-bit systems. The office suite is abirword+gnumeric (vs Libreoffice for Dpup Stretch); it's browser is Light (a derivative of Mozilla) (vs Palemoon in Dpup Stretch).

I used the same configuration and the same virtual disk - same swap file and sharing the same partition for its savefolder (but different savefolder for each).

All the previous notes applies, except for one thing: while I could get the same response generally for non-browser applications, once I start the Light browser the system becomes sluggish. This is because Light uses a lot more memory than Palemoon (as htop indicates). The system becomes sluggish due to swapping especially when playing video (I used the same youtube video). When I adjusted RAM up to 384MB, then everything becomes reasonably responsive again.

I'm typing this EDIT from UpupBB itself.

_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread.

Last edited by jamesbond on Thu 07 Mar 2019, 23:18; edited 2 times in total
Back to top
View user's profile Send private message 
s243a

Joined: 02 Sep 2014
Posts: 1744

PostPosted: Thu 07 Mar 2019, 22:21    Post subject:  

You post should be pinned for new users.

On another note, I was wonder if setting up a ram drive might help but only populating it with the files that use the most I/O (or maybe some raio of I/O usage to file size). To figure this out the kernal has to support iotop though. Maybe some script could be devised that would figure out witch files to populate said ram drive with based on the currently running processes.

P.S. I think choosing dpup strech was a good choice for your tests because I have found dpup stretch to have beter performance than many of the other newer pups.
Back to top
View user's profile Send private message Visit poster's website 
darry19662018

Joined: 31 Mar 2018
Posts: 409
Location: Rakaia

PostPosted: Thu 07 Mar 2019, 23:31    Post subject:  

Yes it would be interesting to have people with really old machines to give their findings on this thread.

I run Stretch on a Dell D620 and its pretty good on that. Though I have 2 gig ram it still has a pretty old processor.

Anyway added this to wiki entry here:
https://puppylinux.org/wikka/old_laptops
Back to top
View user's profile Send private message Visit poster's website 
jamesbond

Joined: 26 Feb 2007
Posts: 3347
Location: The Blue Marble

PostPosted: Thu 07 Mar 2019, 23:39    Post subject:  

s243a wrote:
You post should be pinned for new users.
Thanks. I'll leave it to Flash and others, if they think it is useful.

Quote:
On another note, I was wonder if setting up a ram drive might help but only populating it with the files that use the most I/O (or maybe some raio of I/O usage to file size). To figure this out the kernal has to support iotop though. Maybe some script could be devised that would figure out witch files to populate said ram drive with based on the currently running processes.
If you are on a low RAM system it is best to use all your RAM for your applications. Using them for a RAM disk will not help.

Another way which could help is to use "zram" as a swap device. "Zram" is compressed, so e.g. if you create a 64MB zram swap, to the system it would look like you have 128MB of swap, and this "swap" is actually still in RAM so it would be faster than swapping to harddisk. However, zram swap is still swap, and memory allocated for zram cannot be used directly by applications, so there is a cut-off where the benefit of doing so disappears. I actually tried this on my Fatdog64 test (see the link from the 1st post) and could not get it work either witn 256MB or 384MB situation (tried allocating 64MB and 128MB for zram swap). When you have comfortably enough memory (say 2GB), dedicating 512MB out of that for zram probably helps a lot; but when you're hard pressed for memory, it's better to use another device for swap and let RAM be used by the applications.

Quote:
P.S. I think choosing dpup strech was a good choice for your tests because I have found dpup stretch to have beter performance than many of the other newer pups.
I didn't know that when I started, and my choice was actually try to prove the opposite (Dpup Stretch being bigger than Upup, for example). I wanted to know what's the worst case RAM you need for large-than-normal Puppy. Your comment, however, motivated me to do another test with UpupBB, and true enough it requires more RAM to be reasonable responsive. I can point out the culprit: it's the Light browser.

darry19662018 wrote:
I run Stretch on a Dell D620 and its pretty good on that. Though I have 2 gig ram it still has a pretty old processor.
The wisdom from the old days is this: when your computer is slow, the first thing you "upgrade" is RAM, that is, add more RAM. Then (if you play games) get a better GPU. Upgrade the CPU last. I think it is still true today.

Aside, if your Dell D620 run Core 2 Duo: Core 2 Duo was one of the better CPU from Intel. It may be old but it is certainly capable (I used to have a laptop with that CPU too).

Quote:

Anyway added this to wiki entry here:
https://puppylinux.org/wikka/old_laptops
Thanks.
_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread.
Back to top
View user's profile Send private message 
p310don

Joined: 19 May 2009
Posts: 1390
Location: Brisbane, Australia

PostPosted: Fri 08 Mar 2019, 02:13    Post subject:  

Quote:
7. Finally: in case you forget, this is a simulated test done in Qemu. I don't have a machine with 256MB or 384MB RAM anymore. The performance I've gotten from Qemu is very likely to be better than performance in real low RAM machines (since, not only they are low RAM, but also has older CPU, which is also slower), so take them with a grain of salt. The point still stands, however, that even modern Puppy can still be used on low RAM machines, even if they do look bigger than before.


I have an old clunker in the garage that would suit testing for usability beyond just ram usage. I think it has 512, but maybe 256mb ram. P4 processor of some kind, maybe single core, maybe ht core.
Back to top
View user's profile Send private message 
darry19662018

Joined: 31 Mar 2018
Posts: 409
Location: Rakaia

PostPosted: Fri 08 Mar 2019, 02:27    Post subject:  

[quote="p310don"]
Quote:
7. Finally: in case you forget, this is a simulated test done in Qemu. I don't have a machine with 256MB or 384MB RAM anymore. The performance I've gotten from Qemu is very likely to be better than performance in real low RAM machines (since, not only they are low RAM, but also has older CPU, which is also slower), so take them with a grain of salt. The point still stands, however, that even modern Puppy can still be used on low RAM machines, even if they do look bigger than before.


I have an old clunker in the garage that would suit testing for usability beyond just ram usage. I think it has 512, but maybe 256mb ram. P4 processor of some kind, maybe single core, maybe ht core.[/quote

It would interesting to see how Stretch fares and Slacko 572CE and the new non-pae version of Buster.
Back to top
View user's profile Send private message Visit poster's website 
purple379

Joined: 04 Oct 2014
Posts: 124

PostPosted: Sun 28 Apr 2019, 18:03    Post subject: Perhaps create a swap file on a USB key
Subject description: I have done this long ago on a system which did not have enough RAM for Pup
 

If necessary creating the swap file with another machine.

Can you comment on the size of the swap file? I understand making it too big slows things down. I dunno.
Back to top
View user's profile Send private message 
s243a

Joined: 02 Sep 2014
Posts: 1744

PostPosted: Sun 28 Apr 2019, 19:22    Post subject: Re: Perhaps create a swap file on a USB key
Subject description: I have done this long ago on a system which did not have enough RAM for Pup
 

purple379 wrote:
If necessary creating the swap file with another machine.

Can you comment on the size of the swap file? I understand making it too big slows things down. I dunno.


Running interactive applications on swap is slow, but I think swap would be fine for background process. One issue with modern versions of linux is there is no longer any bit that one can set to prevent a file from being swapped. On the plus side newer hard drives are much faster than older hard drives.

Anyway, if one can it is better to figure out how to minimize the use of ram. However, with some applications (Internet browsers) it night not be possible on old systems to avoid using a swap file.

That said if you want to try avoiding the swap file maybe replace the browser in dpup strech with netsurf. I saw a post on this forum about a newer version of netsurf that supports javascript. I can't find the thread at the moment but perhaps the following thread will be helpful:
NetSurf 3.8
by OscarTalks


remember to remaster if you replace the browser.


Bionic32-light might be also worth a try. I think by default it comes without a browser so you can add the NetSurf browser without having to worry about re-mastering.

P.S. all my above comments assume that you have very little ram. If you have lots of ram than you probably don't have to worry about a swap file, even with the newest versions of puppylinux.
Back to top
View user's profile Send private message Visit poster's website 
Mike Walsh


Joined: 28 Jun 2014
Posts: 4960
Location: King's Lynn, UK.

PostPosted: Sun 28 Apr 2019, 21:21    Post subject:  

Watchdog's SSE-only build of PaleMoon 27.9.4 with self-contained glibc-219 'tweak' is pretty lightweight, too. It's fine with PIIIs; not sure about PIIs. (I believe they're MMX-only, so probably a no-go.)

I've turned this into a 'portable', following Fred's method with FF-Quantum, so it can be run from a separate flash drive on an old machine with low RAM and perhaps little in the way of storage.

http://murga-linux.com/puppy/viewtopic.php?p=1022606#1022606

Needless to say, despite the Dell's P4 having SSE2s, this is the one I run on there, in both Pups. It runs very, very smoothly, and is pretty snappy, too.

-----------------------------------------------

I'm currently running DPup 'Stretch' on the 'big' Compaq desktop. I'll get around to giving it a whirl on the Dell, before long; see how it performs. It certainly feels more 'stable' and just more 'solid' than the 'buntu-based Pups.


Mike. Wink

_________________
My 'Puppy' Packages
--------------------------------------

Back to top
View user's profile Send private message Visit poster's website 
tallboy


Joined: 21 Sep 2010
Posts: 1329
Location: Oslo, Norway

PostPosted: Tue 30 Apr 2019, 19:58    Post subject:  

I ran the Dpup Stretch-7.5 with 4.1.48 kernel, from a live CD-R on an old PC with a Compaq Evo D300 mainboard from 2001, P4 1.80GHz CPU, and 768Mb RAM. It has 2 harddisks, each with a swap partition, app. 2.8Gb in total. Graphics card is a Matrox G550, screen is an old 50 lbs Intergraph 19", 24 bit color at a 1280x1034 resolution. Some very CPU and RAM intensive operations are a bit slower, I guess that may be when swap is being used, but everything works exactly as intended. The CD-R has 4 saved sessions on it, all loaded at bootup. No crashes, no problems at all. Data below are recorded with no running applications other than PupSysInfo.
Personal Storage: RAM Disk
Size Used Free Use%
2.1G 342M 1.8G 17%
Memory Allocation:
Total RAM: 744 MB
Used RAM: 670 MB
Free RAM: 74 MB
Buffers: 67 MB
Cached: 502 MB
Total Swap: 2863 MB
Free Swap: 2830 MB
Actual Used RAM: 101 MB Used - (buffers + cached)
Actual Free RAM: 643 MB Free + (buffers + cached)

I also tested the same live CD-R in a session on a Dell OptiPlex GX240, also from 2001. It has a P4 1.60GHz CPU, and 512Mb RAM, and an ATI Rage 128 PRO Ultra AGP 4x graphics card. I used a 22" HP L2245w LCD screen, resolution 1680x1050. That did not work very well, it booted, but I did not manage to start X. It may work with another screen, I'll try to run with the Intergraph 19", and see if X wakes up.

I run my remastered live Lucid 5.2.8.7 from a CD-R on this old Dell right now, same screen as described above. Even if some CPU and memory intensive operations - which maybe demands heavier use of swap - can be a bit slower, the Lucid feels quite snappy, with all the programs residing in RAM. Simultaniously running Palemoon with several tabs and Thunderbird, works, but some operations are noticeably slower. I suspect that the graphics card could be the main culprit. Data below are recorded while running Palemoon 27.9.4 and PupSysInfo.
Personal Storage: RAM Disk
Size Used Free Use%
3.3G 132M 3.1G 5%
Memory Allocation:
Total RAM: 502 MB
Used RAM: 411 MB
Free RAM: 91 MB
Buffers: 18 MB
Cached: 207 MB
Total Swap: 6159 MB
Free Swap: 5878 MB
Actual Used RAM: 186 MB Used - (buffers + cached)
Actual Free RAM: 316 MB Free + (buffers + cached)

I'll retest both these PCs with frugal installs of Dpup Stretch-7.5, and report back. The live disc load the entire .iso into RAM, so if that works well, a frugal install should definitely work, but I am curious about any differences in speed.

_________________
True freedom is a live Puppy on a multisession CD/DVD.
Back to top
View user's profile Send private message 
mouldy


Joined: 04 May 2005
Posts: 600

PostPosted: Fri 10 May 2019, 21:06    Post subject:  

I recently got a Dell D420, this has coreduo processor 1.2Ghz and came with 512MB RAM. Slow old 1.8inch hard drive. I installed 32bit LXpup, the coreduo is two core, but can only handle 32bit system.

LXpup had no problems. And came with Light browser which loaded ok, but personally I need either Chromium/Iron or Firefox, something I can add extensions to block ads/scripts, etc. Well I installed latest Iron. It loaded and almost immediately crashed. Modern full browsers are RAM hogs.

The D420 has 512MB built in, and slot where it can take upto 2GB stick RAM. I am waiting on $3 generic Chinese 2GB stick RAM. Coming on slow boat from China. But digging around I found a 1GB stick RAM that fit, leftover when I upgraded some other old laptop. So right now I have 1.5GB. Iron bit slow to load but once loaded if I dont open more than two tabs, its ok. It will crash if you push it too much. Its enough to even watch youtube. But pretty much only one thing at a time.

I am curious difference it makes with the 2GB stick RAM if I ever get it and if it works, its kinda luck of the draw on that generic Chinese RAM, sometimes its fine, sometimes its not. Little confusing, from what I am reading if you put in a 2GB stick RAM, you apparently only get total of 2GB on the D420. Not sure if that was a windows thing or what, seems like should get 2.5GB, but ???? maybe it can only recognize maximum of 2GB for some reason and ignores anything above that.

Also I did boot from SSD via usb as experiment. That was little faster boot to desktop, but otherwise not noticably different.

I havent done a full uncompressed hard drive install of Puppy for lot years, but wouldnt that help some with low RAM? I havent even looked to see if thats still option. I usually just manually move Puppy files then run Grub4dos, last time I tried using the installer to do frugal install, it didnt work.
Back to top
View user's profile Send private message 
rufwoof

Joined: 24 Feb 2014
Posts: 3103

PostPosted: Sat 11 May 2019, 05:46    Post subject:  

mouldy wrote:
I havent done a full uncompressed hard drive install of Puppy for lot years, but wouldnt that help some with low RAM? I havent even looked to see if thats still option.

Still a option ... Menu, Setup, Puppy Installer, Universal Installer. I've just run that for BionicPup (I actually installed the 64 bit version but the 32 bit would be the same). Not that I did so for ram/pc reasons (running in a 1TB HDD, 4GB ram laptop).

For saving/reverting to a 'clean' setup I create a /snapshot folder in the same partition and use the following code saved to a filename /snapshot/save to create a 'save' (and very similar but with the rsync's folders reversed around for /snapshot/restore that restores the saved copy (that also has a different yad prompt)). I save/restore directly from within the live running system, but do ensure that no programs are running at the time (close browser ...etc.). Being able to revert to your 'clean' version without having to reboot is a nice feature of full install. No initrd either (when I installed I opted for the no initrd choice)

Code:
#!/bin/sh

# synchronise two directories, and in this sense dest/ can be live data
# rsync a copy to/from /snapshot/sda4-sync (assuming installed to sda4)
# a copy of sda4 (excluding the snapshot/sda4-sync folder)

yad --title "Confirm" --text="  Are you sure you want to overwrite the current clean save?  " --text-align=center
[ $? -ne 0 ] && exit

# block device where root is mounted ... i.e. sda4
DEV=`mount | sed -n 's|^/dev/\(.*\) on / .*|\1|p'`

M=0
if [ ! -d /mnt/${DEV}/snapshot ]; then
   mkdir -p /mnt/$DEV >/dev/null 2>&1
   mount /dev/$DEV /mnt/$DEV >/dev/null 2>&1
   mkdir /mnt/${DEV}/snapshot >/dev/null 2>&1
else
   M=1
fi
cd /mnt/${DEV}/snapshot
rsync -a /mnt/${DEV}/ ${DEV}-sync/ --delete --ignore-errors --exclude=/snapshot/${DEV}-sync
if [ $M -eq 0 ]; then
   cd
   sync
   umount /dev/$DEV
fi
yad --splash --no-buttons --text=" Completed " --timeout=2

for /snapshot/restore the rsync command line is reversed i.e.
rsync -a ${DEV}-sync/ /mnt/${DEV}/ --delete --ignore-errors --exclude=/snapshot/${DEV}-sync

With full install to 'load a sfs' you instead extract it, using something like

unsquashfs -f -d /mnt/sda4 some.sfs

Provided you have a saved version that you can restore to that was created before loading sfs(s), then rolling back to that is comparable to unloading the sfs(s).

There are tricks you can do with hard links so you can have multiple rsync saves but that don't involve full copies (just differences) ... but I only mention that here for info (not going to detail that here).

_________________
( ͡° ͜ʖ ͡°) :wq
Back to top
View user's profile Send private message 
jamesbond

Joined: 26 Feb 2007
Posts: 3347
Location: The Blue Marble

PostPosted: Sat 11 May 2019, 13:11    Post subject:  

@mouldy:
1. Did you use/enable swap?
2. Whether or not D240 can take more than 2GB of RAM really depends on the chipset used. Some lower-end models purposely use a chipset with lower RAM limit so as not to compete with higher-end models.

_________________
Fatdog64, Slacko and Puppeee user. Puppy user since 2.13.
Contributed Fatdog64 packages thread.
Back to top
View user's profile Send private message 
mouldy


Joined: 04 May 2005
Posts: 600

PostPosted: Sat 11 May 2019, 15:05    Post subject:  

jamesbond wrote:
@mouldy:
1. Did you use/enable swap?
2. Whether or not D240 can take more than 2GB of RAM really depends on the chipset used. Some lower-end models purposely use a chipset with lower RAM limit so as not to compete with higher-end models.


I was sure I had included a swap partition, but just ran Gparted and no I hadnt. I had left the XP install but on a very much smaller partion, that came with this laptop just if I ever had some use for it. I must have created the swap partition when I was booting from usb drive. Anyway it has a swap partition now and is using it. See if it makes any difference. With only 1.5GB RAM, sure it will be helpful... LOL

Oh the coreduo on this D420 is super low voltage version, intending to maximize battery life. Probably also why its on slow side compared to version used in larger laptops that runs higher voltage.

I was thinking about last time I ran full install, it was some ancient hardware that only had 80mb RAM. Now that was long time ago. This D420 would sure seem like high performance computer compared to that.
Back to top
View user's profile Send private message 
mouldy


Joined: 04 May 2005
Posts: 600

PostPosted: Sun 12 May 2019, 13:10    Post subject:  

Looked at yesterdays mail and there was my little 2GB RAM stick from China. Popped it in and it works. The D420 bios only recognizes max of 2GB available, though it shows 2.5GB installed. Puppy only sees 2GB available.

Anyway with 2GB RAM and the swap partition, it does amazingly well from laptop close to 15 years old. Probably an internal SSD to replace the existing mini hard drive would be icing on the cake providing faster boots and loads.
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 2 [19 Posts]   Goto page: 1, 2 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » House Training » HOWTO ( Solutions )
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1327s ][ Queries: 11 (0.0099s) ][ GZIP on ]