PiDP-8/I Software

Changes To OS Compatibility
Log In

Changes to "OS Compatibility" between 2019-10-02 06:34:48 and 2020-06-09 22:14:10

1
2
3
4
5

6

7
8


9




10

11
12

13

14


15
16

17

18


19

20


21





22



23
24
25
26
27
28
29
30

31
32
33
34
35
36

37

38

39
40
41
42
43

44


45

46

47


48
49


50
51
52
53
54

55
56
57
58
59
60
61
1
2
3
4

5
6
7
8

9
10
11
12
13
14
15

16
17

18
19
20

21
22
23

24
25
26

27
28
29
30

31
32
33
34
35
36
37
38

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

56
57
58

59
60
61
62
63

64
65
66
67

68
69
70

71
72
73

74
75
76
77
78
79

80
81
82
83
84
85
86
87




-
+

+

-
+
+

+
+
+
+
-
+

-
+

+
-
+
+

-
+

+
-
+
+

+
-
+
+

+
+
+
+
+
-
+
+
+








+





-
+

+
-
+




-
+

+
+
-
+

+
-
+
+

-
+
+




-
+







# The Situation

Although the core software underlying the PiDP-8/I software distribution is broadly portable, the dominance of Raspbian in the Raspberry Pi space means it gets the most attention when it comes to testing and development. This article documents what it known to work, where, today.

If you need the software to work on some platform where it currently doesn't, [we accept patches!](/doc/trunk/HACKERS.md) You can also send problem reports [to our development forum](/forum), file a [bug report](/bugs), or [discuss it on the users' mailing list][ml].
If you need the software to work on some platform where it currently doesn't, [we accept patches!][patch] You can also send problem reports [to our development forum](/forum), file a [bug report](/bugs), or [discuss it on the users' mailing list][ml].

[patch]: /doc/trunk/HACKERS.md

# Raspbian, Debian, Ubuntu

# Debian & Derivatives: Raspberry Pi OS, Ubuntu...

All instructions given for the PiDP-8/I software assume that you're running a Debian derivative where not otherwise stated. This is because the software is primarily designed to run on [Raspbian](https://www.raspberrypi.org/downloads/raspberry-pi-os/), the official OS for the Raspberry Pi.

The trunk version of this software successfully runs on Raspbian Buster (v10), released in early July 2019. It should also run on its renamed successor, Raspberry Pi OS, though that is not currently tested. We haven't made a release atop these OSes yet, so consider this a "beta" configuration for now.

The current stable release of the PiDP-8/I software distribution was built for and tested with the [Raspbian Stretch Lite](https://www.raspberrypi.org/blog/raspbian-stretch/) (v9) distribution. The software should also work well on the non-Lite version.
The current stable release of this software was built for and tested with the [Raspbian Stretch Lite](https://www.raspberrypi.org/blog/raspbian-stretch/) (v9) distribution. The software should also work well on the non-Lite version.

Prior releases were built atop the [Raspbian Jessie Lite](https://www.raspberrypi.org/blog/raspbian-jessie-is-here/) (v8) distribution, but somewhere along the line, we broke compatibility with Jessie. It's probably simple to fix the problem — we think it's a systemd version compatibility issue — but if you need to keep running on Jessie, which is now out of support, we recommend that you keep running contemporaneous versions of the PiDP-8/I software atop it. Version 2017.04.04 was the last version specifically tested atop Jessie.
Prior releases were built atop the [Raspbian Jessie Lite](https://www.raspberrypi.org/blog/raspbian-jessie-is-here/) (v8) distribution, but somewhere along the line, we broke compatibility with Jessie. If you need to keep running on Jessie, which is now out of support, we recommend that you run version 2017.04.04 of the PiDP-8/I software, the last version specifically tested atop Jessie.

Raspbian-based OSes like [pipaOS](http://pipaos.mitako.eu/) should also work, but this is not tested by the project's current developers.
Some people have successfully built and run the software on Raspbian Buster (v10), released in early July 2019. We haven't made a release atop it yet, so consider this a "beta" configuration for now.

The project's primary maintainer occasionally builds the software on x86 Debian derivatives, which works fine, since Raspbian is a Debian derivative. On such systems, the software detects the absence of the PiDP-8/I front panel hardware and works without it.

Raspbian-based OSes like [pipaOS](http://pipaos.mitako.eu/) should also work, but this is not tested by the project's current developers.


# Devuan
The project's primary maintainer occasionally builds the software on Debian and Ubuntu systems as well, which works fine, since Raspbian and Ubuntu are both derivatives of Debian. On such systems, the software is designed to detect the absence of the PiDP-8/I front panel hardware and work without it.

There is one major exception to the rule that the software works on Debian derivatives. After Debian (and thus Raspbian) moved to `systemd` many years ago, we transitioned to it as well. Thus, the current software does not run out of the box on [Devuan](https://devuan.org/), a Debian derivative that purposefully removes systemd. You can recover the old SysVInit script from the software repo with:

    $ fossil revert -r 27f585bd1b etc/pidp8i-init.in
Because of that success, we expect it will run on any other Debian derivative, too.

You will then have to make the following manual substitutions in the file:

| @VARIABLE@    | Standard replacement     |
|---------------|--------------------------|
| `@ABSPREFIX@` | `/opt/pidp8i`            |
| `@BOOTDIR@`   | `/opt/pidp8i/share/boot` |
| `@INSTUSR@`   | Either `pi` or `pidp8i`  |
The configuration script and documentation advice on installing third-party dependencies is given in terms of Debian type OSes. That makes using the PiDP-8/I software distribution on this class of OSes the most straightforward.

Copy the resulting file to `/etc/init.d/pidp8i`, then commands like `sudo service pidp8i start` should work.



# Non-Debian Linuxes

There are non-Debian type Linux based OSes for the Raspberry Pi such as [openSuSE for the Pi 3](https://en.opensuse.org/HCL:Raspberry_Pi3) and [CentOS for the Pi 3](https://wiki.centos.org/SpecialInterestGroup/AltArch/Arm32/RaspberryPi3). Since the primary developers on this project haven't tried any of these Pi Linux distros, and no one has reported on their attempts to make it work, we can only speculate on the workarounds required, if any.

Off the Pi, pretty much every Linux distribution should be able to build and run our software, once you've installed all of its prerequisites. We've built and run it successfully a few times on 64-bit Intel boxes under CentOS, for example.



# macOS

This project's current primary maintainers use macOS at home, so the PiDP-8/I software is frequently built and tested on macOS while we are working on features that do not require the PiDP-8/I front panel hardware.

Why? Because it builds 3-12 times faster than on a Pi 3, depending on what has to be built!
Why? Because it builds many times faster than on a Pi, depending on what has to be built!

Stock macOS doesn't have everything you need to make it work. We recommend installing [Homebrew](https://brew.sh/), then using that to install the third-party dependencies that the PiDP-8/I software needs.
The third party dependency advice given by the configure script and in the documentation needs to be adjusted. We recommend getting such things from [Homebrew](https://brew.sh/).



# FreeBSD

Because of our regular testing on macOS, the port to FreeBSD was straightforward. On the FreeBSD 11.2 system we did the work on, we had to install the following non-core packages:
Because of our regular testing on macOS, the software works well on x86 FreeBSD.

On FreeBSD 12, you need the following prereqs:

    $ sudo pkg install coreutils gmake perl5 python py27-pip
    $ sudo pkg install coreutils gmake perl5 python py37-pip

Note that this gets you Python 3, which currently only works with the trunk release of the software. The current stable release only works with Python 2, which was the default version on FreeBSD 11 and older.
Avoid the temptation to install the `python3` package instead: this package follows the Python project's recommendation to install the interpreter only as "`python3`" to avoid conflicts with Python 2. We try to write our Python scripts to work on both versions, but until we [cut over to requiring Python 3 only](/tktview?name=26283b9b30), we can't change our script shebang lines to work with this package.

There is a [FreeBSD build for the Pi][fbpi], but we believe it [will not work with the front-panel hardware](/tktview?name=856225858e). You are more than welcome to fix this and [send us a patch].

It is expected that the code that drives the PiDP-8/I front panel hardware will not work on [FreeBSD for the Raspberry Pi](https://wiki.freebsd.org/FreeBSD/arm/Raspberry%20Pi). We have an [open feature ticket](/tktview?name=856225858e) for that, if you want to work on it.
[fbpi]: https://wiki.freebsd.org/FreeBSD/arm/Raspberry%20Pi



# Windows

The PiDP-8/I software's build system requires a POSIX type environment, so it's far simpler to just add that atop Windows than to port our software to build natively on Windows. You have several choices:
The PiDP-8/I software's build system requires a POSIX type environment. There are several ways to add that to Windows:


## Linux VM

Currently, for maximum compatibility, your best option is to install some sort of Linux virtual machine on your Windows box.

Windows 10 Pro and up include [Hyper-V](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v), which runs Linux VMs quite well.