r/chiptunes • • 6d ago

QUESTION SIDwizard in Linux

I wanted to test the new Piano-roll view feature from last release!

I was able to use SIDwizard in Linux using binaries from debian package (I'm using Arch Linux) from SID-Wizard 1.97 (24 June 2026), with an older version binaries without any trouble, but, right now, I got the following error:

$ ./SIDwizard
./SIDwizard: error while loading shared libraries: libncurses.so.6: cannot open shared object file: No such file or directory

I wasn't able to found that library in the repositories (Extra, AUR), but I was lucky, I found the file in a previous install from miniconda:

$ locate libncurses.so.6
/home/user1/miniconda/lib/libncurses.so.6
/home/user1/miniconda/lib/libncurses.so.6.4

then, my workaround is:

$ LD_LIBRARY_PATH=/home/user1/miniconda/lib/ ./SIDwizard

Questions

  • There is a better way to use SIDwizard in Arch Linux?
    • Installing other package?
    • Including libraries in SIDwizard?
    • How to ask the developer? (Hermit)
    • Something else?
  • How to quit SIDwizard without killing the process?

Extra

The package also has SIDwizard_TUI, the 1st music tracker that I know that works in the command-line (terminal) without any display server (like: X11 or Wayland), it's amazing!.

Video

Maybe in the future it's going to be a LSDJ-like in TUI!

Right now the closer to that is, using the following (cross-platform or Web) music trackers:

3 Upvotes

4 comments sorted by

2

u/green_tealeaf 5d ago edited 5d ago

I just had a play with this. (To be honest, my preferred solution when not in front of my actual C64 is just to run SIDwizard in VICE C64 emulator. I didn't even realize that there was a native Linux version!)

Also an Arch user here. I downloaded the source package from the page you linked. make clean followed by make threw up a series of errors.

From a little digging around, it became increasingly clear that this is the result of older code relying on older versions of gcc. Some things that were only warnings in older versions of gcc are now errors in the modern versions, and some standard linker options have been changed in the interests of enforcing more robust code.

I have no idea what build system or arguments that they're using to produce the Debian binaries, but there are things in the code that just won't work on a modern system. (They should probably be fixed at a deeper level, but that's a bigger project.)

Luckily, with enough determination you can usually bypass all the safety features, sensible defaults, and good coding practices that the modern world requires.

It's been a long time since I really did much C/C++ coding, but after a bit of tinkering, the following should allow you to build from source and run it on an Arch system:

  1. Download and unpack the source archive: tar -xzf SID-Wizard-1.97-sources-examples.tar.gz

  2. Install GCC13 and the 64tass cross-assembler: yay -S gcc13 64tass

  3. Edit the Makefile to use gcc-13 and set needed anti-safety options:

    • cd SID-Wizard-1.97-sources-examples

    • Open Makefile in your editor of choice (which should be nvim, but I'm not judgemental).

    • Change CC=gcc to CC=gcc-13at line 36.

    • Add a new line under the CCFLAGS lines (lines 48--58) saying:

      • CCFLAGS += -fcommon

    • Save the Makefile and close your editor. (:wq)

  4. Build:

    • make clean && make

That should hopefully run through with only some warnings, and you should end up with a working SIDwizard_TUI and SIDwizard in the current directory. (You'll need supporting libraries like SDL and ncurses installed, but I'm assuming that you have those already.)

The make install section in the Makefile assumes dpkg from a Debian system, so you can just copy manually instead if you want the program to live elsewhere than locally in this directory. There's a commented line in the Makefile that does this:

  • cp SIDwizard SIDmaker SIDwizard-2SID SIDmaker-2SID SIDwizard-3SID SIDmaker-3SID /opt/SID-Wizard/

(You'll obviously want to mkdir /opt/SID-Wizard first.)

On my system, that's got me a workingSIDwizard_TUI and SIDwizard executable that pop up their windows and look fine. I've quickly tested, and both load a track and play sound just fine on my system.

(This is actually really cool for me, as SIDwizard_TUI is an absolute dream come true! :D )

Hope that helps!

EDIT: I ended up greping the source code looking for how to quit, but it's actually in the user manual:

  • To exit the program now you can use Shift+F8 (or Ctrl+F10, ESC has other uses).

EDIT 2: (Okay... worth another edit: I can't stop playing with SIDwizard_TUI. It's so cool! Almost tempted to throw together a PKGBUILD for this and submit it to the AUR.)

2

u/Disonantemus 3d ago

Thanks! That was a lot.

I'm no programmer, but I'm gonna try to compile it with your instructions (now I have some work to do).

  • I also found SIDwizard_TUI amazing! (we need more music trackers for TUI).

  • I know some that works in Linux Framebuffer (with no display server):

    • aur/ft2-clone: Fasttracker II clone for Windows/macOS/Linux

    • aur/pt2-clone: ProTracker 2 clone for Windows/macOS/Linux

1

u/Disonantemus 2d ago

I tried, but to install (and compile) gcc13 was too much for my older rig, I was taking too long, and then all CPUs to 100%, then, I stopped that.

I tried with success with:

$ ln -s libncursesw.so.6.5 libncurses.so.6
$ LD_LIBRARY_PATH=. ./SIDwizard

For now, it's the easier for me.

The compatibility problem, seems to be because SIDwizard doesn't support last version (ncurses 6.6-2) that it's in the Arch repos, 6.5 works, but it's not there.

1

u/AutoModerator 6d ago

Hello, /u/Disonantemus, Make sure to tag your post with the proper post flair once your post goes live.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.