this post was submitted on 04 Oct 2024
185 points (98.4% liked)
technology
23313 readers
138 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
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.