Demo repository for Ubuntu/Debian
category: offtopic [glöplog]
Hello
i'm not a scener, just a fan since the beginning of the 90's
I switched to Linux in 2008, and found it difficult to run demos made for it (like most people here)
So in 2013, I started to learn how to make a repository for myself, to solve this problem.
so, I had to patch Makefiles, and source code to make them work.
I also found a way to create a package when there is only a binary available. (and sometime guessing the dependencies when it's not automatic).
As some libraries are not available as a package, I also had to package them.
for fun, i try to update demos sometimes
migrate them to SDL2, to fix dual-screen issue, or simply add automatic resizing
I also try to fix sound issue, by switching to an opensource library.
some of them only knew OSS, not alsa
binary demo that are only fullscreen and kill my desktop are sometimes patched to windowed mode
I try to stick to the debian policy to create my packages, so i can't keep the tricks to reduce size
4k intro are bigger than 4k, and I try to unpack binary, so debian tools can discover dependencies.
I try to not change the upstream, and use patches, as the debian policy requires.
Finally, when i had to try to find a job, I ended publish it, with a minimum of a website (cause I know I would be lazy to update it) and a "blog" to keep track of the updates.
I though it would be something I could show to a recruiter, so i didn't announce it.
Now i guess it's quite mature, even if i'm not happy with everything.
Every 2 years, I rebase my repo to the current Ubuntu, and update it to the current debian policy.
but binary packages are also available for debian stable, old stable, and the old ubuntu, in multiple architectures.
I use a trick to save space. if a binary package depend on an independent architecture package, it use the one from the current ubuntu.
with the years, I added armhf, arm64 and riscv64 architectures.
it's getting faster to compile, once my patches could use the cross-compilation feature of debian packaging, instead of qemu
I have a raspberry pi 4 and a riscv board, so I tested most of them.
as my goal was also to package the demos I used to watch, back in the days,
you will find amiga, dos, and win32 demos package for linux
I started from the oldest demo on pouet, and slowly, i arrive to the present days
at the moment i'm near 2018 :)
in total there is :
landing page : https://demosdebs.org/
news/blog : https://demosdebs.blogspot.com/
browse the repo : https://demosdebs.org/repository/pool/
changelog : https://demosdebs.org/doku.php?id=changelog
just be warned that most demos "should" work
some patches are really dirty, and sometime, i don't know what i'm doing, but this fixed the problem and it work ^^
i'm not a scener, just a fan since the beginning of the 90's
I switched to Linux in 2008, and found it difficult to run demos made for it (like most people here)
So in 2013, I started to learn how to make a repository for myself, to solve this problem.
so, I had to patch Makefiles, and source code to make them work.
I also found a way to create a package when there is only a binary available. (and sometime guessing the dependencies when it's not automatic).
As some libraries are not available as a package, I also had to package them.
for fun, i try to update demos sometimes
migrate them to SDL2, to fix dual-screen issue, or simply add automatic resizing
I also try to fix sound issue, by switching to an opensource library.
some of them only knew OSS, not alsa
binary demo that are only fullscreen and kill my desktop are sometimes patched to windowed mode
I try to stick to the debian policy to create my packages, so i can't keep the tricks to reduce size
4k intro are bigger than 4k, and I try to unpack binary, so debian tools can discover dependencies.
I try to not change the upstream, and use patches, as the debian policy requires.
Finally, when i had to try to find a job, I ended publish it, with a minimum of a website (cause I know I would be lazy to update it) and a "blog" to keep track of the updates.
I though it would be something I could show to a recruiter, so i didn't announce it.
Now i guess it's quite mature, even if i'm not happy with everything.
Every 2 years, I rebase my repo to the current Ubuntu, and update it to the current debian policy.
but binary packages are also available for debian stable, old stable, and the old ubuntu, in multiple architectures.
I use a trick to save space. if a binary package depend on an independent architecture package, it use the one from the current ubuntu.
with the years, I added armhf, arm64 and riscv64 architectures.
it's getting faster to compile, once my patches could use the cross-compilation feature of debian packaging, instead of qemu
I have a raspberry pi 4 and a riscv board, so I tested most of them.
as my goal was also to package the demos I used to watch, back in the days,
you will find amiga, dos, and win32 demos package for linux
I started from the oldest demo on pouet, and slowly, i arrive to the present days
at the moment i'm near 2018 :)
in total there is :
- 147 linux demos
- 67 dos demos
- 86 amiga demos
- 83 win32 demos
landing page : https://demosdebs.org/
news/blog : https://demosdebs.blogspot.com/
browse the repo : https://demosdebs.org/repository/pool/
changelog : https://demosdebs.org/doku.php?id=changelog
just be warned that most demos "should" work
some patches are really dirty, and sometime, i don't know what i'm doing, but this fixed the problem and it work ^^
Fun!
Also: apt install amoeba :-)
Also: apt install amoeba :-)
Respect, this must have been a PITA to get working- Linux Distros do NOT care about Binary compatibility and love to break them(You're lucky if a 5 year old binary still works on a modern distro...) (This is pretty much impossible if your app used SSL)
great stuff, thanks for sharing!
Cool stuff!
Cool! Great innitiative, NaSH! Thank you for your work and motivation =).
Holy smokes, this is awesome, kudos! I'll try to see how much of this will run the @party compo machine's Ubuntu partition!
Speaking of binary compat, last year I tried to run a bunch on Windows demos at the party on the Windows partition and one of the recent patches from MS broke a whole slew of them ;( So no OS is perfect!
Speaking of binary compat, last year I tried to run a bunch on Windows demos at the party on the Windows partition and one of the recent patches from MS broke a whole slew of them ;( So no OS is perfect!
really cool work! also thanks for improving some of my ooold code by changing from fmodex to openmpt :D
Cyprex: FWIW, I took my very first demo, from 1999, and tried to run it on my Debian unstable machine. It worked first time.
(Granted, the sound was out of sync)
(Granted, the sound was out of sync)
Quote:
Also: apt install amoeba :-)
i used the debian version of amoeba to patch the vip2 invitation, and make it work with alsa ^^
Quote:
thanks for improving some of my ooold code by changing from fmodex to openmpt :D
well.. for this, chatgpt was a good assistant :')
Quote:
this must have been a PITA to get working- Linux Distros do NOT care about Binary compatibility and love to break them
surprisingly, most of them worked
once you recompile libpng1.2 for your distro, or an old glew library ^^
someone updated libaudiere to an alsa version, it also helped to run those old binaries.
the most annoying issue is when a temporary file is written in the current directory. I have to redirect it to /tmp, so it won't complain for user rights
of course, having the source code help a lot more
Excellent stuff! Thank you for sharing this, your hard work is very much appreciated.
Wonderful effort. Thank you!
This is awesome, thanks for keeping this old code working! I'm sure it wasn't easy or pleasant :D
Not sure if I'm getting what is going on here, but really appreciate any effort to preserve the old demoscene prods for the future!
sire, i appreciate your humongous effort
That of course doesn't mean that I don't appreciate it being packaged elsewhere. But I don't want to have to do it over and over again myself ;)
@kusma
Yes I saw your flatpak, that's great.
When flatpaks became a thing, I wondered if I should use them instead of making traditional packages.
but I saw it wasn't useful for old software, because there is no runtime for them... so all the work to find a "compatible way" had to be done.. .
and I saw that old runtimes are removed.
so at some point I still need to repackage/recompile them anyway.
I didn't want to restart again from the beginning, so I gave up.
I know this doesn't work on all distros, but if anyone wants to do a flatpak or rpm, the patches and dependencies might help
there's the sources package in the repository, and also my github
Yes I saw your flatpak, that's great.
When flatpaks became a thing, I wondered if I should use them instead of making traditional packages.
but I saw it wasn't useful for old software, because there is no runtime for them... so all the work to find a "compatible way" had to be done.. .
and I saw that old runtimes are removed.
so at some point I still need to repackage/recompile them anyway.
I didn't want to restart again from the beginning, so I gave up.
I know this doesn't work on all distros, but if anyone wants to do a flatpak or rpm, the patches and dependencies might help
there's the sources package in the repository, and also my github
Nice!
And you are indeed a scener.
And you are indeed a scener.
I tried installing Aurora, and it was indeed smooth and easy. (I couldn't figure out how to install the Flatpak; I've never used them and the man pages were, well, not helpful. I've used AppImages, and those are really nice!) But it was uselessly buggy, with everything being covered by very very strong (mostly red) noise. Driver issue, perhaps?
Quote:
I tried installing Aurora, and it was indeed smooth and easy. (I couldn't figure out how to install the Flatpak; I've never used them and the man pages were, well, not helpful. I've used AppImages, and those are really nice!) But it was uselessly buggy, with everything being covered by very very strong (mostly red) noise. Driver issue, perhaps?
aurora on my 1070 works well
but on my laptop, with intel graphic card (skylake) it has this very strong noise.
I also guess it's a driver issue
I don't have an AMD GPU able to use vulkan, so I don't know for it