#Astral
1 messages · Page 35 of 1
yeah i always had problems with whpx too
ok on windows it has much less latency
there is still some latency but I think its a me issue now
try vbox
though qemu whpx still seems to be adding around 183 ms of latency
I measure that between a enter on the cat /boot/astral > /dev/dsp0 and audio playing, and between a ^C on that and audio stopping
so its symmetric
It is pretty annoying that wine does not have a sndio backend
do you have an audio mixing server ported or are you just piping audio directly from app to sound card
sndiod yes, but both work
For the r/osdev audio demo Im gonna record I should port a music player to showcase mixing
You gotta play a shrek song to mog shrekOS
post it on r/osdev2 
i believe pulseaudio has an sndio backend
Yeah it is what I was originally thinking of doing for wine
wine -> pulseaudio -> sndio
Its openbsd's sound stuff
ah
ported mocp
based
Its not cde proper, its nscde
Yeahh
Ill likely have it be the default wm at some point in the future
I wanted to port original cde but its such an old and buggy codebase
And insecure 
cde-rs
smh didn't go for the secret nightmare difficulty
True
I should write a blog post about usb + audio + nscde and then post on r/osdev to get mogged by shrekOS again
get mogged by 0 bytes
Port VLC and play the shrek movie on astral?
Sure
Shut close your eyes
And imagine and thing really hard
thats a good idea actually
I think managarm had a non-working vlc port (which should now work because I implemented the missing functions?)
oh hell naw thats a lot of librarie
s
Get ffmpeg first since iirc mpv depends on that
theres so much trash in r/osdev ngl
After cleanip audio stuff and solving a few todos I think it would be time to continue the self hosting work?
I need to finish up the memory locking for userspace dma
I could also maybe work on sysctl for things like ps
Or port webkitgtk

do it
Astral lowkey inspired me to the point i got here ❤️
probably going to be the new official screenshot of astral for github/website
shows: sound, networking, wine, cool games, DE with theming, etc.
how much you have fps in glxgears
idk I opened it using nscde run double click thing
k
What about Jinx though?
I don't need jinx to self host
I can just build the packages myself a la linux from scratch
astral from scratch
astral unshare when
notepad++ on wine is so based...
pls give upvote
give it more cores 
I know ur rich give me like an i9-14900k
gell nah
uhhhhhh
I can donate a Wii 
very fast machine
trust
i can give you access to my pc to test if you want XD
729MHz PowerPC Broadway (750CL), 88MB of (non-contiguous) RAM, best storage medium is an SD Card
trust
best Astral dev machine
very fast™
it took mine 3.5h to format a 32gb sd card as ext3
maybe it was the xwhiite installer being slow or something
oh yeah
but other than that it ran xfce fine
that shit runs under IOS
it's not actually all that slow, it just sucks at anything graphical mainly
modern Xorg, GTK/Qt, and especially Mesa, are just too shit these days
i managed to watch 240p mpeg2 video in vlc actually fine
or was it 480p
i don't remember
yeah, you wouldn't be able to do that on any modern distro sadly
yeah
i think the wii is 480p but iirc xfce was reporting itself running at 320x240 for some reason
I couldn't even get mplayer direct on the fb to play MPEG1 well
rip
480i/480p depending on your cables
and old Linux used to have massive issues with progressive scan
so it was probably 480i
modern Linux can actually do 480p reliably, if you set it up to do so manually (it can't autodetect), but yeah back in the old days it was super jank and barely ever worked
based but why /bin/sh in xterm
you shall make it spawn bash instead and get fancy prompt
its what xterm is doing by default I guess
ye
I probably should look into it
You probably don't set $SHELL anywhere
I think it reads that. It might check the passwd file though
passwd file has /usr/bin/bash so it is probably $SHELL
god bless
yay 500 stars
congrats
my vote was 66
Get this instead

Ive been trying to port webkitgtk since monday and it starts up but gets stuck loading a webpage
I probably will try just one more day to get it to work though, I dont feel like wasting time chasing annoying bugs like this
I also want to work on sysctl and on an unrelated project (an implementation of the brickmap paper)
I wonder if someone has gotten their OS to print something 💀
as in, with a printer
honestly
it doesn't seem that difficult?
theres a USB class for it
and you can also do it over the network
I think the difficulty is in the many different printers having quirks but iirc the userspace side handles those? And older printers
But modern printers should hopefully just work
if I had access to an usb printer I would do it just for the shits and giggles
please someone add a usb-printer class to qemu that outputs a pdf
💀
theres also the network thing but like
thtas probably more ocmplicated
If you have a generic cups server infront of the printer that could workout fine?
yeah but that sounds booooring
I want to talk to the printer directly
but tbh from what I can see driving a usb printer is also kind of boring
you just shove postcript into an bulk OUT endpoint
Damn
Well might aswell start trying some network bullshit and seeing how bad it goes to start with
you ported gtk ??
there is no single printer driver though, but if you have cups and libusb it should be possible
well, cups + an IPP based printer should just work
as there's no hardware driver involved, it's just TCP
true
yeah
implementing SOCK_SEQPACKET properly
ideally I should rewrite my entire localsocket thing to be packet based with stream and connections on top of that but thats something for another da
y
Pushed some stuff
Now webkitgtk is upstream
It worksish
Some stuff is defo broken
But it was able to load simpler webpages
And doesnt completely crash the sydtem
proper permissions?
I think astral already has proper permissions (?)
maybe this is a better /proc interface for htop like things?
I already have that
Yes, sysctl()
🔥
yay
sysctl bro
inspired™ by real bsd sysctl but using my commands and stuff
so it has the same function signature
and well the KERN_PROC one is just straight up ripped from it 
with the openbsd semantics of 6 length mib
CTL_KERN
KERN_PROC
KERN_PROC_ALL
0
sizeof(sysctl_proc_info_t)
0
int mib[6] = {
SYS_CTL_KERN,
SYS_CTL_KERN_PROC,
SYS_CTL_KERN_PROC_ALL,
0,
sizeof(sysctl_proc_info_t),
0
};
size_t size;
if (sysctl(mib, 6, NULL, &size, NULL, 0)) {
perror("sysctl");
return EXIT_FAILURE;
}
printf("table size: %lu bytes\n", size);
sysctl_proc_info_t procs[size / sizeof(sysctl_proc_info_t)];
if (sysctl(mib, 6, procs, &size, NULL, 0)) {
perror("sysctl");
return EXIT_FAILURE;
}
size_t proc_count = size / sizeof(sysctl_proc_info_t);
printf("got %lu procs:\n", proc_count);
for (size_t i = 0; i < proc_count; ++i) {
printf("pid %d: '%s' user %d (effective %d set %d) group %d (effective %d set %d) with %lu threads\n",
procs[i].pid,
procs[i].name,
procs[i].uid,
procs[i].euid,
procs[i].suid,
procs[i].gid,
procs[i].egid,
procs[i].sgid,
procs[i].thread_count
);
}
not really api/abi compatible with bsd but I am not trying to be
it just is a nicer interface to use than pr*c
yes please give me text parsing in every application that wants to query a specific thing
trvth
added some more information to it,
I think my cpu usage info is a bit borked 
a lot of that is 0-stubbed though
but I think this should be enough data for a posix ps implementation
still missing argv but thats going to be another sysctl
why is bash not waitpiding this bruh
and why is init not waitpiding
ughshghdhghgshdgjksdkgsdgls
SIGCHLD is broken award?
based
it probably Just Works™ with /proc-less functionality
When you get back to astral you gotta make gtnh run well so you can gregmaxx
fun stuff
idk why but it is super slow when running on xterm
I guess I need to profile that
Terminate and Kill does seem to work tho 
theres a process refcounting issue related to job control
mathewnd be like: theres a process refcounting issue related to job control
so true
I am leaking a refcount on the process group leader when its process group becomes the foreground for the session which then causes it to linger around forever in the pid table and appear as spooky ghosts in the process list
👻
or at least I think that is what is happening
on light mode the ghosts body barely appears and i thought it was like 3 abstract ovals like maybe avocados
screenshot I wanna see that
give it a bandage bro grrrr
damn its just shapes
I had a dream that the biggest slow down in astral right now is the page cache
me with no page cache:
me with no page:
me with no:
me with:
me:
:
⠀
It was sent from God
He has instructed you to look for optimising opportunities there
that could be the case in maestro
but it's probably actually paging instead (I have O(n^2) stuff in some places)
me with page cache but slow:
I could
just connect via TCP to port 9100, and send hp printer commands. or at the least plain ASCII.
I mean my printer is networked
but it's also off, and I doubt I'll ever use it again. printers suck
but yeah that's the easiest approach, send ASCII to port 9100
I don't understand how work sets work 
hm?
what's the relation to astral? 
Slow page cache?
working sets are not tightly coupled to page caches
Decided to copy marvin and astral can talk on irc on real hw
Claude pls implement every major OS compatibility API (even Android) make no mistake 
Claude pls pee... make a lot of mistakes!!!!
if I knew anything about ARM I'd do an ARM port
if Astral had working 32-bit support and was free of endianness assumptions I'd be able to do a PowerPC port
(but only to the GameCube/Wii/Wii U
)
so uhhh
I guess i386 port when 
that'd give me half the battle there
plus you already support x86_64
WiiStral running Metroid Prime at 120fps when?
lol no
GX is cursed
would not have acceleration
plus Astral has no infra for GPU accel
not even on PC
What are the typical endianness assumptions anyway?
I assume that I am using a real architecture (little endian) made in the last 20 years
6502 port when
4004 port when
4004 is not von Neumann
zinnia is free of endianness assumptions 
but no 32 bit
or well, it would probably work
but zinnia assumes hhdm + pfndb
i don't think that will work in 32 bit
lol
IMO no 32-bit system has any business having more than at most 512MiB
yeah
And even that is pushing it
i wanted to add arm support to my shit anyways
the Wii U has 2GB 
shared memory even
x86 had up to 16GiB
With PAE
pretty sure Wii U devkits had 3GB
i thought it was 64gb with pae?
4GB in hardware but the memory controller couldn't do more than 3
might be, either way the number is too high
insane to think how bad the wii u was
it's actually pretty decent
tfw dolphin 2 2
HW manufacturers put a 64-bit CPU in something that counts RAM in GB challenge (impossible)
that's not good for a console that came out 7 years later
the problem is that they wanted to reuse the PowerPC 750 again
because the had IBM put some custom extensions in it for like $1B back in 2001
and they wanted to milk it for a 3rd time
And so they made the kernel devs deal with their BS
i want to try running on a ps4
Also, how does userspace use 3GB on a system where you only expect one big RAM consumer at once
well it was never intended to run custom OSes anyways 
iirc there is no userspace
there is no os
this is not true
this was true on the GameCube and Wii
but not on the Wii U
they made a real multitasking always-resident OS kernel
bruh
and apps run in userspace
also SMP-aware
anyways I think the solution is they didn't
CafeOS is terrible and it uses like 1GB of RAM just for the system
on retail apps only got like 1GB
... how
and on devkits I assume they must've gotten 2GB or less
(iirc)
(could be wrong on the exact amount, but I know it uses a lot)
i know an OS which can run on 32-bit
its not very complete but it can run applications and shi
PAE supports up to 4 PiB actually, just like x86_64
all limits lower than that are imposed by software design
It's up to 52 bits
I ran a 32bit VM with like 20gb ram and 14 cores because I wanted to compile something and not deal with setting up the right toolchain for the target machine lol
Worked perfectly fine
claude pls WHAT 😳
dead propject
I need to make audiop work on realharwdware
I have never tried it properly and I kinda want to get the arcade working already
even if just out of a usb stick
You are named Mathew not dead
Therefore can't true
are you a hyena in the sky?
I also need to finish implementing locking pages for dma
Ive been thinking of changing the branding of astral
From generic ringed planet to the southern cross or smth like this
make it something gtnh themed
rc-update add efnplay default
Nitrobenzene logo
yess
idk why but this makes me want to make a Breaking Bad themed OS
BlueCrystal OS
breaking os
Make sure it's 16bit and just prints an animation of Walter white falling on the floor
1000000 reddit upvotes
I’m gonna mog Astral with this one 🔥
1- Ask Claude to rewrite it in Rust
2- Put AI somehow in your OS
This will get you 20k stars on GitHub in no time
what's this browser
minibrowser
new video. astral watching astral running minecraft on youtube
Playback no worky yet sadly
damn
now that is real gaming right there

why not show the qr code so some rando logs in for you
true
login didn't work and I think its because of missing eventfd
it got stuck in the captcha
I might try again before fucking off to implement eventfd
(yes I raise the white flag I am going to implement linux brain damage)
port a better browser
now serchat
told u about qr codes
chop chop furry
damn I tried to join osdev from astral and it gave me another captcha keep yourself safe discord
lemme join it on my phone and try again
ghosting smh
but yeah I need to implement this eventfd bullshit
eventfd iirc is pretty easy and a very nice thing to use imo
cmonnn
Can't you bypass that by giving the account any role or approving the member or whatever bullshit?
hey true that works, hi from astral
Basedtral
wonder if file uplaod works
let me take a screenshot inside astral and try
opening the file picker completely fucking locks webkti up
💀
Details details
Just open astral running discord and show an image of Shrek

Or even better if you do get it to work
Upload to reddit a picture of you making the post on astral
I forgot my serchat password 😭
did u register with real email
yeah
if so you can reset it
I'm resetting it rn
nope
Well
If you make YouTube work
You can make it play though that
Or WAIT
WAIT HOLD ON
entire shrek movie
in one gif
@quartz granite I try to log in but it just sends me back to the login screen for some reaason
same pass and email work in browser
:^(
If u transfer astral iso I'd be able to debug this
is filesystem readonly?
that would be like 10 gb
I would hope not
ph hell naw
I do see an eventfdcreate sysdep attempt in the log so maybe its that bullshit again
I need to do eventfd™
did it work from mammogram/zinnia
i have no idea, didn't run serchat there
do you perchance have... fcntl(F_SETLK)?
there you go

what if you return 0 for F_SETLK and F_SETLKW
oop
and F_GETLK?
it could also be flock. Indexed db is sqlite in the end for webkitgtk iirc
gotta test it
oh right I do not have F_GETLK stubbed
I do have flock implemented
I'll try with F_GETLK
yoo?
it doesn't seem to instantly send me back
but its still thinking at the login screen
ah nvm it sent me back
lmao bruh
give me the logs
WAIT
I tried again
YOO
ahh fuck it worked for a split second the nsent me back to the login screen
lmao I sent lukflug a message and it booted me back to the login screen
alt+4 to change to next theme
lukflug of logging out
ough I think searchat locked up
at least the typing
@quartz granite
ok I think its the eventfd meme
I need to implement this shiii
yeah its super simple
I also have a very old promise someone made me that I need to fullfil now
I need to:
compile i686-elf-gcc in astral
follow osdev barebones
post in #osdev-misc-0 asking how to do paging
all in astral

ok so time to figure out if uploading files works now
ok so from looking at the logs, I think uloading is killing the network process
lmfaooo backtrace is from fucking >>dns<<
its always dns
processing a RECORD_A response
I would check if a PR was already merged that fixed something like this if github worked
zero 9s uptime award
what uses eventfd
if its used by glib then it should fallback to pipe
One specific thing inside webkit
yay it works
it really was that the issue
ITS ALWAYS <<DNS>>
think thats enough for today, going to upstream this bullshit and go sleep
pretty cool that astral can run discord for real now
have the astral xorg log as a treat
also this is crazy stable damn
at least once its running ?meme?
:meme"*
grrr
is this a mathew alt 💀
yeah
I don't want to risk my main running discord on astral
cuz like what if webkit does something fucked up and spams discord with requests and nukes the account
its required by sqlite iirc
very impressive progress
crazy
The WebKitGTK MiniBrowser yes
It’s surprisingly capable
But then one should realize that everything you can do in terms of browsing with epiphany (GNOME Web), one can do with the MiniBrowser. Same engine
based af
With discord now working, do I do the funny™ or do I try to make video playback work
the funni™
to do the funny I need to port grub (don't ask
hm there is some truth to that I could just use the already-ported limine
do it
what for
sounds like it has nothing to do wth video playback
This is about the other funny meme
Asking for help on r/osdev after following the barebones tutorial
All using astral
bare bones ii
downloaded: binutils and gcc source
compiled and installed: i686-elf binutils
compiling gcc now
you should have recorded the entire thing to post on youtube to show others
and hide the QEMU window
You have to go full into the bit for the bait
I would unironically run out of disk space
Want me to record it for you over discord video stream later

Or at least do it but only the important parts or whatever
you'd record probably like 5 hours of it compiling gcc
😭
Maybe then just record when you type commands in or whatever and edit it together

record it in 16k
record it on imax film
apparently some steps of gcc compilation (heavier files like ins-emit-*.cc) cause astral to lag pretty badly
I need to profile that later
make a youtube stream
couldn't find it, can you send the link for it?
anyway cool progress
webkitgtk minibrowser
it comes with webkitgtk if you enable it in the builçd
prolly a large gif
lmfao what
lmao
what is with the kernel tty showing in the bottom left corner
You should port urxvt
xterm should Just Work™ with unicode? at least ime
let me check my xresources yeah I don't see anything in there which would change utf8 handling
urxvt is better anyway
literally unusable
that looks more like debugcon/serial output in the host terminal outside the qemu window
i mean this
installing gcc now
ohh
gcc pass complete
I pick the trevor project, BTW :)
i thought you forgot 
now you're legally obligated
yes
Yes
Lol
woaw... based based based
Nobody in the comments gets it either
😭
buddy
my comment is very serious
I got the message of Matthew beging for help and provided a useful guide!
that just looks like NsCDE
because it is
Knowing Reddit I'd expect someone to materialize saying how butt ugly it is and insulting your intelligence at the bare minimum tho
The urge to comment "when will people realize"
You start with a shell and your kernel, and you build everything up in stages layer by layer. You went a leap year to a UI, although probably substantial help with a window manager. So, from your graphical terminal, you would do the same and really focus on that now.
Did you actually reach that by starting with a kernel shell??? That was it all along?
kernel shell is the trve osdev way
@grand shadow get to work https://www.reddit.com/r/osdev/comments/1u9hjhc/comment/osgnb04/
This is a large topic, but to start you off: Are we talking 32-bit or 64-bit CPUs. X86 or ARM? Each has their own details. We'll assume 64-bit X86 First, you need to put your processor into "long mode". That's a whole discussion in itself. And to do that, you have to set up, as a I recall, the GDT "master table" that paging will use. Your O...
First, you need to put your processor into "long mode". That's a whole discussion in itself. And to do that, you have to set up, as a I recall, the GDT "master table" that paging will use.
Your OS must manaage the GDT and all of its LDTs for each thread.
The OS must catch the paging fault traps and do the swap....

wow
I'm gonna downvote everyone 
I should make a bait post
Not even for the memes but because they deserve it
Tureeee
You gotta be a real reddit loser to both care about downvotes
And then reply asking about it
You are just asking for it
I read the comments before posting so I get this is a joke post. But ironically, I am actually researching this topic for my project due to it being multi arch and GDT is only x86 specific.
😭
The comments are not only not good they are decidedly unhelpful. But OP obviously doesn’t know how to use Google either. Le sigh.
Talking about reddit btw
You do know @grand shadow made the post right
And that the entire post is a shitpost
Was it a joke? He knows paging obviously.
To make fun of the low effort content on the subreddit
He made an OS inside his OS following the shitty wiki tutorial
And posted it on reddit
From within his OS
Ahhh. Got it. Sorry just got off work. I’m not only behind but dense too. My bad.
It's fine
That’s f*cking hilarious btw.
You can say fuck 
phonk language
Did you port QEMU? It would be cool af is you run your OS in your OS
I did and that has been done, one sec
super old pic but yeah
This loooks so fricking cool, I literally just started the server and want to learn OSDEV from scratch . I know C but I will learn more + basic aaaembly
keep ul the good work
Awsome
oh yes it always happens to me when I compile my code using the oòeiossoço compiler and the flag -aeîï-òôôé
out of curiosity why did the quality of hobby OSes increase MASSIVELY in the last 10 years?
10 years ago having a simple userland was seen as a massive achivement
now we see crazy shit like this regularly
i think the features have increased in the last three years but that's because of AI
there were always projects like astral tho
yes, but the number has grown a lot
I remember Sortix back then
yeah that's AI
it's no coincidence that when LLMs got good suddenly everyone and their mother ran xorg
I'm talking about non-AI projects, yes with AI there's a new desktop environment OS like every week but that's not what I'm talking about
#showing-off message
yeah like I said I know that but I'm talking about specifically non-vibe-coded systems here
Back then we had Sortix, Toaru and a few more
Now we have Managarm, Mintia, Astral, ...
If its any consolation astral was running xorg far before llms were even viable for programming 
I mean I'm personally not demotivated by vibe coded OSes
Like it both doesn't feel like an achievement to be and doesn't feel comparable to a DIY OS as it's written by an overpowered tool, so just like how Windows or Linux doesn't demotivate me a vibe coded OS doesn't either
I am somewhat demotivated by the insane amount of good non-vibe-coded OSes though, like I said back then we only had Sortix, Toaru and maybe a few more
Now there are so many
Sortix is still alive, sortie is pretty chill
I guess its just a matter of it becoming more accessible over the years + llms
I mean I'm specifically talking about non-vibe-coded OSes but yeah
they are aparently still insistent on the barebones wiki page tho

because the wiki is very lame
Old habits die hard I guess
and also because of community projects like limine, mlibc, and this community overall making osdev more accessible and enjoyable
that's true
Truth
I had ported newlib to my OS I developed 10 years ago, because this is what OSDev wiki had recommended
and I had done all of the bad practices of OSDev wiki
including a bitmap PMM
limine flanterm mlibc and nanoprintf make getting crap going so much nicer
is the bitmap pmm something advertised by the wiki?
yes
this is why I did bitmap
Your only options were like,
musl
newlib
i thought it was because it comes from qword and then lyre
which were the main projects ppl looked at back in 2020/2021
Glibc sucks so ass to port because of lack of documentation etc that it needed to be vibecoded by mint out of spite for the managarm devs
☠️
okay but who cares for thoes esp when they can be swapped out
and then the concept stuck around like a tradition
ik i'm just saying
i still use a bitmap 💀
What motivates me is that my project is pretty unique, it doesn't have a "competing" project
From what I know no one else is developing a Windows 95 like project
sorry i had a brain fart
freelist haters DNI
i have a buddy allocator 
mine is an extrusive freelist on a PFNDB
mine is just for learning and having fun
naenae @earnest willow go buy yourself a real pmm
same
i hope to make a somewhat decent os
i had a friend that was making one like 3 years ago but it was painful because building for dos on modern linux systems is ass and he didn't know much osdev anyway
but it's hard
,!naenae @grand shadow buddy allocators are just many freelists. get your facts right
I build on DOS
my entire OS is compiled on DOS
yeah ig that's the least painful way to do it
the only "big" allocations i use with my buddy is for kernel stacks
which i plan to remove soon
and use virtual mappings
I don't think so, I would much preferred a modern toolkit
and apart from that, allocating device structures
But I do it in DOS because I like the idea of my OS being able to compiled only on DOS
so someone in FreeDOS can get my source files through ftp and run it without any other OS
that's fair
just do linux compat :^)
I avoid any >page_size physical allocations where I can
that's the way
"I like kicking pregnant dogs" wtf ilobilo why wpuld you say that thats evil
I am evil
I wish I were a mod so I could pin this
talk is cheap, send patches talk is cheap, apply to be one 
There are no applications

wait what
ah
linux compat haters when they patch out a feature they don't want to implement 
I personally wouldn't want to be a mod anyway
I am incredibly lenient which I admit is not a good quality to be found in a mod
i was just kidding
Staff is just one big freemason group
Like the only case I would ban someone would be open bigotry
Freemintson group
Yeah that's why you have to be 18
Isnt that just like a normal human being who likes adults
speak for yourself
its more so extortion not trafficing
Counterpoint: plane pilots
Not to be confused with cod points
it's boring
There is alot more to a kernel than the bootloader and framebuffer terminal implementation 
yeah but it's getting boring
not many people are trying something that's not "shitty unix clone"
I am a shitty unix clone dev AND PROUD
RHAAA
i don't want to spend years building a custom userspace that barely runs anything useful
that isnt relevant
you can have POSIX or linux compat while doing things differently
but that adds a big layer of complexity
not necessarily
yeah there are still a lot of things you can do if you want to, like I though about making a thing with linux-compatible contained subsystem but with app/library sandboxing + permission stuff more or less at the kernel level (though I am not sure whether that's actually viable as I still have to try actually doing it but I don't really care whether it could just be done on top of linux or whatever it'd still be interesting to try regardless)
They said they wanted to modernize it to mb2
💀
But I think Sortix has only gotten multiboot2 support half a year ago, and I guess nobody else cares about it so
The Bare Bones was basically taken from Sortix iiuic
Isn't sortie here
Idk if it would be worth a proper talk about why that tutorial is bad
Along with other stuff on the wiki
I mean you can just edit the other stuff
Sure ig
He has an account but he is mostly active on sortix irc and osdev irc
Yeah but I’m personally worried about it turning into a call out or dogpiling
It would probably be better private, or editing the wiki page ourselves
we did try and edit it
and mark it historical
sortie reverted it
he is an admin
I was thinking more like replacing it with a better tutorial than marking it historical
Using MB2 or Limine for starters
And 64-bit
well the forked wiki has a limine bare bones tutorial
and the other one is marked as historical there
but not on the other wiki
well no, it being historical would be proper. it shouldnt be nuked or replaced
why? I thought replacing it would make more sense
its historical content?
yeah but wiki pages get updated all the time to reflect the present day better no?
which is why a talk would be good. for merging wikis or anything else
maybe sortie is reverting it due to there not being a non-historical alternative
make a new page. mark the old has historucal. rename to MB1 Barebones
oh that makes sense
sorry I’m slow
I thought you meant just marking it historical with no new alternative
for the context of what happened aswell
Bare Bones is fine. I personally vetted all of the contents here. It is what it is, but it is correct for what it is. Other tutorials provide additional information. If you have any concerns for why it should be deprecated, despite years of service, please put it on the talk page or a very good rationale in your edit message
Out of curiosity why is VGA text mode bad?
Isn’t it supported even in modern systems
its not.
a limine barebones guide + flanterm/uart + npf would be a way better tutorial
then fixing the paging page etc
and having a solid next steps and flow of what to do
for making a MODERN kernel
it's been 39 years.
also fuck it im gonna say it. printing text without a VGA text mode thing isnt hard
get a font
and shit it out to the screen
boom you have a vga text mode emulated
you would have to do the same bullshit for a full TTY regardless
its one extra step
flanterm just gives you a nice pre made impl to get going faster
ngl uart would probably be better if you really really don't want to tackle framebuffers
UART is easy
though the example code on the wiki is subpar to my impl

and fails on real hardware
i think this happened to me
yeah but if it worked i think it would be better to use in bare bones, because bare bones needs to be very simple, and writing to a memory location is much simpler than making or shipping a terminal emulator
kernel running on modern hardware more like
we dont want people using bitmaps or still 32bit modes even w/ paging or a framebuffer full
nah i already fixed it
i don't remember what i did do lmao
modern kernel implies it's actually modern
i dont think there is any "modern" kernel here
maybe managarm is the closest
by modern i mean not using bitmaps and having kernel shells and not using any modern features
not modern != incomplete
bitmap is not as bad as you guys make it to be lol
bitmap pmm really is that bad
thats a useless optimization
it will stop working as soon as u use all pages at least once
if u only support non pae
even then, its a million iterations worst case for every allocation
that is absolutely horrible
No? When you free a page you update it
then all of the memory it takes to hold the bitmap compared to a freelist
and a buddy allocator technicaly uses more but you need the pfnbd anyways
ye
doesn't buddy use bitmaps
at least this is what osdev wiki says
it says that it's several bitmaps with different sizes
0 4 8 12 16 20 24 28 32 36
###.#....#........#...###...########.... real memory pattern
buddy[0]---> ###.#.xx.#xxxxxxxx#.xx###.xx########xxxx 5 free 4K , 5-byte bitmap
buddy[1]---> # # # . # . x x . # . # # . # # # # x x 5 free 8K , 20-bits map
buddy[2]---> # # # . # # # # # . 2 free 16K, 10-bits map
buddy[3]---> # # # # # 0 free 32K, 5-bits map
if you have a pfndb u dont need a bitmap
but anyway, in this case the bitmap is O(1) because u dont need to scan every bit
With a pfndb of extra data
Well its o(1) best case and o(n) worst case
Ah sorry this for the other thing
Going to be a little egotistical and say it's partly bc of mintia
I think me tryharding mintias kernel for yrs here starting in late 2021 injected a lot of tryhard energy into the community here, moreso a couple years ago than now since I stopped being nearly as much of a tryhard
As for like projects that are doing lots of ports like astral I think a lot of that is managarm
Managarm proved a bunch of interesting stuff can be ported to a sufficiently featureful hobby kernel and paved the way psychologically for other people to try to port lots of big things
maybe because there is much more documentation and examples today, which makes osdev more accessible, so more developers do it
I don't think that explains it that would only explain an increase in quantity not an increase in quality
The increase in quality is cultural rather than a result of better resources
The resources (besides the social resource of this community) haven't really improved
The fact that there are people tryharding this hobby makes other people also want to tryhard this hobby
It's competitive spirit
I love this hobby so fucking much
You don't really stand out anymore by just porting GCC and stuff like that. You need to do more.
(Well that's not true. But it feels like everybody has gcc ported these days)
To stand out nowadays all u gotta do is say "this was vibecoded in rust by claude"
U will get people soyjaking all over it
talking about the wider community atleast
this server is much more narrow and opinionated
(good thing)
I have not interacted at all with the wider community
I did OSDev back in 2016s
I was in f.osdev.org back then
Then I took a very long break until last year
I googled OSDev discord
Found here
And didn’t look for any other community afterwards lol
Fwiw this is one of the best osdev communities
The forums are sad somtimes
And I don't think I've ever found something useful on them
Forums aren't exactly even suited for live help imo either
Thats what the ircs would have been for if not for them being relatively dead
literally no one got the joke
of course it is mogged by this: https://www.reddit.com/r/osdev/comments/1u1vlfq/my_custom_os_works_on_actual_laptop/
But it is AI slop though? // ── Nearest-neighbor scale to full framebuffer ──── // Aspect ratio: 160:120 = 4:3, matches common resolutions. let fb_ptr = fb.as_mut_ptr(); This just screams AI.
What a joke
Just see the markdown files in that kernel lmfao
also is this CDE
or some custom DE you made?
tfw it's all ring0 single binary
smh
nscde
Look ma I’m (indirectly) mentioned! But real talk, you’re on to something. When I started porting shit to Managarm, most of the time it was “oh you’ll never do that it’s (near) impossible”. I want to say that the XWayland work was the first time that turned out wrong but it probably really started with the GTK2/3 ports, the graphical IRC client that followed and the WebKit port. Everything else after that just proved the point further. Like even 2020 having X ported was massive, so Managarm having Wayland was out there. Now I can in all honestly say that running a full, modern and widely known DE is absolutely doable. A lot of work and pain, but absolutely doable. And I see it in projects here too. Porting X and GTK is still a massive achievement of course, but porting X isn’t as “unique” (in terms of how often we see it) as it was. And that’s a good thing (well except for me cuz I need to come up with new flexing stuff and the time to do so
)
I just hope I can get close to 5% of what Managarm or Astral or Mintia does one day
I mean I won't exactly have ports of such software, because my OS is not aiming for POSIX or Linux compatibility
so for me the milestone is running cool DOS apps on it
I'm guessing it would be silly to port X to a Windows 95 like
and whatever I can port that doesn't rely on the OS being POSIX and can be compiled under OpenWatcom
yeah, this is why I'm way more concerned about running DOS apps right now
especially once I get DPMI working I will have a lot of nice 32-bit DOS extended apps running under my OS
Trillions must managarm
5% of a screen with some text on it
mintia currently does nothing
very complicatedly
managram
mammogram
namagarm
spoiler that please
.!t managarm
It's Managarm, not Managram
i misspelled it intentionally 
I am aware 
Mammogram
monogram
stereogram
pulsegram
.!t managram
Tag managram not found!
doesnt work
literally unusable
mnagangarm



