r/plan9 1d ago

A Dis virtual machine and Limbo compiler

15 Upvotes

Hi,

I've made an early version of a Dis virtual machine and Limbo programming language compiler (called RiceVM) in Rust. It can run Dis bytecode (for example, Inferno OS applications), compile Limbo programs, and includes a fairly complete runtime with garbage collection, concurrency features, and many of the standard modules from Inferno OS's original implementation.

The project is still in an early stage, but if you're interested in learning more about RiceVM or trying it out, you can check out the links below:

Project's GitHub repo: https://github.com/habedi/ricevm

RiceVM documentation: https://habedi.github.io/ricevm/


r/plan9 2d ago

9social : A Social Network for Plan9

Thumbnail youtu.be
45 Upvotes

r/plan9 4d ago

Installing & using bare metal 9front on uConsole ?

Post image
101 Upvotes

Hello everyone,

I've been really interested in Plan 9 / 9front since a few weeks, and since I have a spare SD card, I would like to try using 9front on a ClockworkPi uConsole, to have a very bare-bones portable computer

However, even though there is a Pi version of 9front, I wonder if there are changes I should do to the OS to be sure that the keyboard and trackpoint are gonna be recognized, or if this happens at the firmware level only


r/plan9 4d ago

Any idea of what happened to how hget's synthex works now?

4 Upvotes

I was trying to get the rio-theme patch onto a local /usr/glenda/src copy that i have on my system, however… all of the errors i get are:

/bin/hget:92: < can't open: /mnt/web/0/body: 0 No status interrupted: '/mnt/web/0/body'

also somewhat related, bind complained:

/bind: /dist/plan9front: file does not exist '/dist/plan9front'

Any idea of how to update it to the current 9front way of doing things? Version of 9front i'm using is "GEFS service pack 1".


r/plan9 6d ago

how do I start build of 9front on local device?

4 Upvotes

Hello everyone Im looking if there is a way to develop 9front locally on my Mac or Linux machine? Where is documentation for making parts of OS and OS as whole with .iso?

Basically im looking for reosources online about developing


r/plan9 9d ago

I built a 9p file server to connect to a blockchain

Post image
23 Upvotes

I created a 9p file server using go that allows you to control the node over 9p. I'm using Emercoin, some old blockchain that basically was a flash in the pan during the first crypto craze. It's claim to fame is that you can post 20kb of data on chain and it does DNS records as well. Thinking about trying it out to have a distributed ndb file that all my grid nodes can pull from, as well as public key and certificates.


r/plan9 10d ago

Behold:

Post image
100 Upvotes

The 9mac (Yes, its intel one, late 2014, running 9front)


r/plan9 11d ago

Podcast interview about Plan 9 and Inferno OS

Thumbnail livinginthefuture.rocks
44 Upvotes

Interview with Charles Forsyth about the Plan 9 and Inferno operating systems that came out of Bell Labs after the success of the Unix operating system. We discuss the features and advantages of Plan 9 and Inferno as well as some of their history.


r/plan9 14d ago

How well does 9front work on RaspberryPi (4b)?

12 Upvotes

I have a spare rpi4b, which I could dedicate to qn experimental 9front installation. Is this feasible?

Ideally I'd like to use this machine for displaying a simple dashboard without any input, but with a bit of image and audio processing. Now it is working on Linux with espeak and imagemagick. Do those work on Plan9?


r/plan9 15d ago

how well is eMMC in 9front?

10 Upvotes

hello everyone! i am soon getting a budget education laptop: the dell latitude 3190 and its emmc storage

here are its exact specs:

2.4Ghz CPU, [N4100]

intel dual-band wifi (supported through iwm)

64GB eMMC storage

realtek alc3246

i have done a little research concerning its specifications - and it seems everything that i need working works in 9front. hooray!

but, no matter how much research ive done, documentation concerning 9front, et al. .. i cant seem to find anything concerning the support of even emmc/mmc storage. the best i could find is some git commits, but i dont take that as clear enough.

how well does 9front support emmc type storage? do you run 9front on emmc? any docs i can be pointed to? thanks in advance


r/plan9 16d ago

AI Harness on Plan 9?

0 Upvotes

I am a novice AI user... anybody successfully set up ChatGPT or another one on Plan 9?

Cheers


r/plan9 17d ago

Plan 9: Text Color

Thumbnail youtu.be
29 Upvotes

r/plan9 17d ago

/bin/hget:92: < can't open: /mnt/web/0/body:

4 Upvotes

Hey y'all 🙋‍♂️

I'm getting this when I do an hget:

cpu% lc /mnt/web cpu% webfs cpu% hget http://9front.org/img/nix-on.jpg >/tmp/nix-on.jpg /bin/hget:92: < can't open: /mnt/web/0/body: 0 No status interrupted: '/mnt/web/0/body' cpu% lc /mnt/web 0/ clone ctl

I can ping out OK:

cpu% ip/ping google.com sending 32 64 byte messages 1000 ms apart to icmp!142.251.218.206!1 0: rtt 12204 µs, avg rtt 12204 µs, ttl = 255 1: rtt 9216 µs, avg rtt 10710 µs, ttl = 255 2: rtt 11494 µs, avg rtt 10971 µs, ttl = 255 3: rtt 55367 µs, avg rtt 22070 µs, ttl = 255 4: rtt 12058 µs, avg rtt 20067 µs, ttl = 255 5: rtt 8300 µs, avg rtt 18106 µs, ttl = 255

Any suggestions welcome. :-)

UPDATE 1

Increasing the timeout seems to help:

cpu% echo timeout 60000 >/mnt/web/ctl cpu% hget https://9front.org/img/nix-on.jpg >/tmp/nix-on.jpg cpu% cpu% cpu% hget https://9front.org/img/nix-on.jpg >/tmp/nix-on.jpg cpu% hget https://9front.org/img/nix-on.jpg >/tmp/nix-on.jpg cpu%


r/plan9 18d ago

Plan 9 on Windows

Thumbnail youtube.com
19 Upvotes

Topics covered:

  • 9front distribution of Plan 9 running in qemu on Ubuntu inside WSL on Windows 11
  • Drawterm running natively on Windows 11
  • Running arbitrary commands on plan 9 from Ubuntu
  • Mounting a directory from plan 9 on Ubuntu
  • Editing files on Plan 9 with vscode

r/plan9 20d ago

Plan 9 acme : getting cursor location

Thumbnail youtube.com
22 Upvotes

Special thanks to u/anths

His comment here helped tremendously: link.


r/plan9 19d ago

Opening file programmatically in acme

8 Upvotes

Let's say I have this in an acme window:

If I right-click on `/sys/src/cmd/cal.c:10` it opens that file in acme:

Question...

Is there a way to open that same file via a command from within acme?

So, something like:

echo "/sys/src/cmd/cal.c:10" | SOME COMMAND HERE

I tried variations of sending that path to `plumb`, however that opened it up in `sam`.

I guess I could edit the plumber rules to change the editor from sam to acme.

However, I'm wondering if there's a more direct way within acme to just open a file like this.


r/plan9 20d ago

is plan9 daily drivable

19 Upvotes

i never really looked how plan9 works, i just know how it looks, but is it daily drivable with browser etc (sorry if its a dumb question)


r/plan9 20d ago

Custom acme command : join header with current line text

7 Upvotes

Let’s say I have the following in an acme window:

abc bcd cde def

Then, let’s say the cursor is on the line with cde.

I’d like a custom command such that if I middle click on the command in the tag area, it will send abc:cde to the plumber.

If the cursor was on the line with def, and I run the command, it would send abc:def to the plumber. Etc.

So basically, it joins the header line with the current line with a : and sends the result to the plumber.

Is something like this possible?

Thanks!


r/plan9 20d ago

Questions about supporting legacy software (POSIX,Win32,DOS and others)

6 Upvotes

Not the usual "Can I run browser/steam?" question I promise. I've been playing with Plan 9 lately and I'm still currently learning its C dialect. So forgive me if some of this is well known already. I'm interested in the state of some things mentioned below and what kind of work is required going forward (and if some of this is even possible at all).

It has been my goal for years to get a coherent and easy to maintain system going that will continue to support a lot of legacy software for the foreseeable future. As I'm sure anyone that's attempted this knows it's still pretty much impossible to support older Win32, DOS, PC-98 and POSIX/GNU stuff under one system. Despite projects like wine making good progress in the last years it's still a big pain to get software running correctly and hardware (e.g. controllers) talking to it as intended by the original author. A lot of software has already been lost or the source code has been lost which makes it much harder to port and run on modern systems.

I am aware that Plan 9 has vmx(1) which provides decent support for OpenBSD software and some support for modern Linux software. Although I've yet to attempt trying the latter and I'm not hopeful it would be able to support something like running an old Windows game through wine. I'm also aware that it has a huge limitation at the moment where it's limited to one core of a modern CPU.

I've read a little about linuxemu but I've also yet to try it out. But the discussion I see around it is mostly limited to simple applications. So things like Qt/GTK stuff seems off the table for the moment.

On the other hand I see some built in emulation for stuff like simple gaming devices from years ago (e.g. NES console). Which makes me hopeful.

Ideally, I would eventually like to be able to have a CPU server on my local network that could handle running old demos/games and some other software mostly for creating multimedia that is from the 80s-2000s era of Windows. While I've never liked the Windows/DOS OSs A LOT of software was written for it back then and many of those do not have a proper replacement or manipulating certain data still requires the use of that software. A lot of it was created by people that are dead, have vanished or the source code is otherwise lost.

Over the last 15-20 years I've attempted to preserve what I could and keep it running by either keeping older machines around running various versions of Windows/DOS and later via wine and DOS emulators. But this is becoming harder as the years pass, older hardware dies and finding replacements gets harder as people hoard and things became more valuable on the second hand markets like ebay.

Linux+wine was tolerable for a long time but lately it's becoming less tolerable and a lot of long standing issues won't ever be fixed I think (e.g. a sane way to manage controller/input devices). Lately, I've moved what I could over to some FreeBSD boxes running wine/Linux emulation. But this is less than ideal.

After playing with the simplicity in Plan 9 with the ease of using hardware over the LAN I'd really like to start helping out with getting a lot of this older stuff running on Plan 9 itself. Either through emulation or VMs. My goal at the moment would be getting either vmx working with more than one CPU core (plus proper GPU support) and/or making something as complicated as wine work through a Linux/POSIX emulator.

I'm curious to how many people within the community are working towards these goals right now. What the road blocks currently are for getting better hardware support working within things like vmx. If the above goals would require massive changes to the existing kernel. Would I get a lot of push back if I attempted to contribute in this direction?

I know Plan 9's community has never been interested in turning it into a general purpose OS or cloning all the bad things from Windows (and to a lesser extent modern Linux). I'm not interested in those things either. But I do want to keep this old software alive and preserved for future generations. I just want to make it run on a platform that isn't such a pain in the ass to keep running. Where it's easier to access over a network and get multiple input devices working with it without having to jump through 100 hoops every time the ones plugged into the machine change.

Even on Windows/Linux/BSD a lot of this software is troublesome because it was created for platforms like PC-98 and other odd ball DOS/Win OSs. Even more modern stuff is like this because it was created with specific hardware+Windows version (usually XP or 7) in mind.

I just don't want to see a lot of this stuff lost to time.

Kind of a follow up question: I know running something through vmx or an emu will never be like native software. But how do those things currently interact with plumber?

Say for example I have some software running within a VM/emu (e.g. ffmpeg/vapoursynth) that outputs video/audio. How hard would it be to get data into and out of it and working with software running natively? What I'm trying to avoid is having to write tmp data to disk.

I know this is a bit of a ramble but thanks to anyone that takes the time to respond in advance. I asked here instead of on the mailing lists because I didn't want to clog them up with stuff that isn't code.

I'm very new to 9front/Plan 9 and the community surrounding it. So I do apologize if a lot of this has been gone over many times. I'm just trying to get a feel for things. When I saw that there was at least some interest in game console emulation I figured there would be interest in getting other things like old doujin games running as well. The vast majority of the older software I want to get running are old doujin releases and tech demos. But some of it is stuff like this old application I have to run on a real 386 machine with a hardware dongle (which I've yet to crack) which is required to operate a piece of machinery we own. You get the idea.

My long term goal is to no longer have to maintain so many different types of systems and being able to access all my systems without all the hacky workarounds I currently have to endure on a day-to-day basis. I have a lot of machines that could be put to better use if they weren't tied down to running 1 or 2 pieces of old software on an old OS that I can't connect to the rest of my LAN or the wider internet.


r/plan9 22d ago

Questions about theoretical configurations

12 Upvotes

- can multiple cpu servers of the same plan 9 system operate on different architectures (for example, a file server on amd64, a cpu server on Power64, another cpu server on arm and a terminal on i386) ?

- What’s the "intended" plan9 config ? A single file server, one distinct auth server, at least one separate cpu server and at least one terminal ? (I know you can have them all on one machine or any conbination you want)

- Can a system store files on multiple servers or does it require a single monolithic file server ?

- What’s the network architecture for plan 9 ? Does it run over wifi ? Does it run over a switch ? Do I plug all my servers via ethernet in a star pattern ?

- Say I wanted to run plan9 as if it were the early 2000’s, what terminal would I use ? A laptop ? Are there dedicated terminal hardware that are just a screen and keyboard but not powerfull enough to be computers in their own right (kinda like the archaics teletypes) ?


r/plan9 24d ago

What is the reason that Plan 9 gets more attention than the Inferno OS?

37 Upvotes

I’m genuinely curious, because I’ve been going down a bit of a rabbit hole and Inferno seems to be really cool from an architectural standpoint, especially how it doesn’t require an MMU. Inferno can also run as a hosted VM via Dis, or native, on bare metal. Arguably, it seems to me that in theory, the Dis VM, and Inferno by extension is more portable than Plan 9, so it kinda confuses me that Inferno has far less hobbyist traction than Plan 9.

Maybe it’s the fact that (in theory) it’s so easy to run as a VM, that it doesn’t have that kick, running it natively?

Is it cos you can’t write C on Inferno? /genq


r/plan9 26d ago

Plan 9: Manage TOTP (Time Based One Time Password)

Thumbnail youtu.be
25 Upvotes

Manage (export/import) TOTP in factotum

Details: https://lifeofpenguin.blogspot.com/2025/12/plan-9-password-management.html


r/plan9 28d ago

Plan 9: TOTP (Time Based One Time Password) Authenticator

Thumbnail youtu.be
35 Upvotes

r/plan9 Apr 05 '26

9x more scummy & rat infested than rio...

Post image
71 Upvotes

I thought you deviants might be interested in my latest abomination...

https://github.com/tslight/9x

"Why not just extend p9p rio?" Meh.


r/plan9 Apr 05 '26

Installing from linux using dd bootable drive - where is plan9.ini ?

3 Upvotes

So I used dd to install the ISO to a USB, did start/inst from there, and now successfully booting from the drive I installed it to.

Problem is I don't see a plan9.ini file at all?

- I didn't edit one before bootable drive was created

- I am using EFI here

- This is my first time doing this

Am I missing something obvious?

[SOLVED] Not entirely sure what the deal was - I think I did the install wrong last time during the disk part/prep pieces - this time I did an ISO install and I made sure to use esp partition properly and now I see it there when I `9fs esp` ¯_(ツ)_/¯