this post was submitted on 04 Oct 2024
185 points (98.4% liked)
technology
23313 readers
448 users here now
On the road to fully automated luxury gay space communism.
Spreading Linux propaganda since 2020
Rules:
- 1. Obviously abide by the sitewide code of conduct.
Bigotry will be met with an immediate ban
- 2. This community is about technology. Offtopic is permitted as long as it is kept in the comment sections
- 3. Although this is not /c/libre, FOSS related posting is tolerated, and even welcome in the case of effort posts
- 4. We believe technology should be liberating. As such, avoid promoting proprietary and/or bourgeois technology
- 5. Explanatory posts to correct the potential mistakes a comrade made in a post of their own are allowed, as long as they remain respectful
- 6. No crypto (Bitcoin, NFT, etc.) speculation, unless it is purely informative and not too cringe
- 7. Absolutely no tech bro shit. If you have a good opinion of Silicon Valley billionaires please manifest yourself so we can ban you.
founded 4 years ago
MODERATORS
That screenshot was actually taken running on bare metal (an old laptop)! Everything works great as long as you don't need a modern web browser or WiFi for anything. I've also gotten it running on a bunch of other random hardware I've had laying around, it's very portable and works fairly well on everything I've messed around with so far. I'm also currently waiting for my 10 gig NIC to arrive so I can use an old machine running 9 I have laying around as a router!
You'll definitely not be doing any hardware accelerated graphics shenanigans on 9, there isn't really any graphics drivers or anything of that sort, you just get a basic framebuffer and a library to draw basic 2D graphics which can still be plenty if you do some old school software rasterization.
For hardware support you can see an incomplete list for 9front here: https://fqa.9front.org/fqa3.html I'd say you're probably safe to just pick up an old Dell Optiplex and some cheap generic USB peripherals and it'd probably work out of the box. I'd just double check the Ethernet situation so you can have networking since that's kind of the whole appeal of 9. Raspberry Pis are also supported and work fairly well in my testing and 9front provides images for them on their website.
Btw, you may be interested to know people are doing 3D graphics stuff on Plan 9, it's all in software for now but yeh
https://www.youtube.com/watch?v=PVR2R1u4N3Y
http://antares-labs.eu/isometric/9/graphics/
There's a lot of cool stuff floating around like on http://contrib.9front.org/ or https://9p.io/wiki/plan9/Contrib_index/index.html (this one is old) or just around the internet that didn't make it into the base system (yet)
A lot of the stuff for 3D graphics is in 9front already like quaternions, basic geometric primitive drawing, matrices and vectors and related infrastructure. Just no easy way to put it all together, have to do that part yourself for now lol
We just need more Plan 9 nerds to write software for the system
Also ofc, there has been a lot of discussion like on the mailing list about accelerated graphics and how best to implement it on Plan 9 but nothing materialized yet
I've also been working on a software rasterizer for 9! Maybe I'll post some screenshots here after I polish it up a bit more, lol. I got inspired after porting Quake 1 (I'm aware a port already exists, but I was bored and wanted to reinvent the wheel as a learning experience) and realizing how well it ran. Like, the Quake software renderer is seriously cool tech, way way ahead of it's time!
Oooh that's cool, ping me if you make a post about it
And yeah Quake engine so cool lol, I'm not too familiar with its software rasterizer though
I'll have to read the code sometime. I'm so about CGI, it's good to see examples in software rather than GPU and OpenGL doing most of the work for you
I would love for there to be a simple way to just interface with a graphics card directly on a low level w/o any vulkan/d3d/opengl crap in between. Just have the kernel map it to a file in /dev and to set it up and make it do stuff you just fopen() that file and write commands to it.
Wifi situation been getting better too
More drivers, WPA support, etc (assuming you run 9front)
Need to find the energy to implement some exploit mitigation tech for 9front sometime, I'm afraid to put that shit on the internet, no ASLR even :/
I wouldn't be too worried about it honestly, I doubt anyone is scanning the internet to mess with public 9 machines. If you're worried, just shove them on their own VLAN to keep them separate from the rest of your network.
Yeahh that's true there's definitely no one running exploit campaigns on Plan 9 systems lol
Although some of the code is really crusty, I feel like someone could spend a day or two just looking around and find some really nasty remote holes (that would be really easy to exploit cuz no ASLR or stack canaries or anything as far as I know)
I would use werc or something on a Plan 9 system to run my personal website I'm just worried about the above happening and using it to dox me or whatever (separate network good idea though) :(
Need to try to get werc working on OpenBSD again, it's possible
Or I add PIE-making capability to the compilers lol (probably never gonna happen)