#Astral

1 messages · Page 35 of 1

grand shadow
#

lol

wraith surge
#

yeah i always had problems with whpx too

grand shadow
#

ok on windows it has much less latency

#

there is still some latency but I think its a me issue now

viscid flame
#

try vbox

grand shadow
#

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

grand shadow
#

It is pretty annoying that wine does not have a sndio backend

neon crane
grand shadow
#

For the r/osdev audio demo Im gonna record I should port a music player to showcase mixing

mild sentinel
sharp carbon
grand shadow
#

wine -> pulseaudio -> sndio

flint condor
#

sndio?

#

not heard of this one

grand shadow
#

Its openbsd's sound stuff

flint condor
#

ah

grand shadow
sage locust
#

what the hell

#

since when do you have CDE?

#

in any case holy shit this is awesome

quartz granite
grand shadow
sage locust
#

ah

#

well it still looks pretty

grand shadow
#

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

sage locust
#

it sucks lol

#

the codebase i mean

opal lotus
#

cde-rs

wild marsh
grand shadow
#

True

grand shadow
#

I should write a blog post about usb + audio + nscde and then post on r/osdev to get mogged by shrekOS again

mild sentinel
flint condor
mild sentinel
#

Shut close your eyes

#

And imagine and thing really hard

grand shadow
#

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

mild sentinel
#

Maybe MPV player is easier

spare prairie
#

Get ffmpeg first since iirc mpv depends on that

worthy mica
grand shadow
#

After cleanip audio stuff and solving a few todos I think it would be time to continue the self hosting work?

grand shadow
#

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

quartz granite
fast gorge
#

Astral lowkey inspired me to the point i got here ❤️

grand shadow
#

probably going to be the new official screenshot of astral for github/website

#

shows: sound, networking, wine, cool games, DE with theming, etc.

viscid flame
grand shadow
viscid flame
#

k

grand shadow
#

I don't need jinx to self host

#

I can just build the packages myself a la linux from scratch

fierce forge
#

Oh

#

Jinx not requiring Linux would have been nice though spun

viscid flame
#

astral from scratch

elfin turtle
#

astral unshare when

deft oak
grand shadow
#

pls give upvote

willow rapids
#

why minecraft struggle so bad

#

is it audio having a lot of cpu overhead?

grand shadow
#

no its 1 core cpu rendering behind wsl and qemu

#

on a laptop cpu

opal lotus
grand shadow
opal lotus
#

gell nah

fleet osprey
#

I can donate a Wii trl

#

very fast machine

#

trust

wraith surge
#

i can give you access to my pc to test if you want XD

fleet osprey
#

729MHz PowerPC Broadway (750CL), 88MB of (non-contiguous) RAM, best storage medium is an SD Card

#

trust

#

best Astral dev machine

willow rapids
#

it took mine 3.5h to format a 32gb sd card as ext3

fleet osprey
#

ok it's not that bad

#

either something was wrong with your SD or your install

willow rapids
#

maybe it was the xwhiite installer being slow or something

fleet osprey
#

oh yeah

willow rapids
#

but other than that it ran xfce fine

fleet osprey
#

that shit runs under IOS

willow rapids
#

aah

#

i forgot

fleet osprey
#

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

willow rapids
#

i managed to watch 240p mpeg2 video in vlc actually fine

#

or was it 480p

#

i don't remember

fleet osprey
#

yeah, you wouldn't be able to do that on any modern distro sadly

willow rapids
#

yeah

#

i think the wii is 480p but iirc xfce was reporting itself running at 320x240 for some reason

fleet osprey
#

I couldn't even get mplayer direct on the fb to play MPEG1 well

willow rapids
#

rip

fleet osprey
#

and old Linux used to have massive issues with progressive scan

#

so it was probably 480i

willow rapids
#

yeah since composite

#

component is the same story

fleet osprey
#

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

grand shadow
willow rapids
#

based but why /bin/sh in xterm

#

you shall make it spawn bash instead and get fancy prompt

grand shadow
#

its what xterm is doing by default I guess

willow rapids
#

ye

grand shadow
#

I probably should look into it

somber wraith
#

I think it reads that. It might check the passwd file though

grand shadow
#

passwd file has /usr/bin/bash so it is probably $SHELL

grand shadow
#

god bless

grand shadow
#

yay 500 stars

robust bobcat
#

congrats

sage locust
viscid flame
#

my vote was 66

native pollen
robust geyser
#

rust

#

lol

hearty fulcrum
midnight walrus
bronze nexus
#

lol

#

legendary april fools' post

grand shadow
#

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)

grand shadow
#

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

mild sentinel
#

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

grand shadow
#

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

mild sentinel
#

If you have a generic cups server infront of the printer that could workout fine?

grand shadow
#

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

mild sentinel
#

Damn

#

Well might aswell start trying some network bullshit and seeing how bad it goes to start with

grand shadow
#

rahhhh

#

this is EXTREMELY buggy

viscid flame
wild marsh
marsh sparrow
#

well, cups + an IPP based printer should just work

#

as there's no hardware driver involved, it's just TCP

wild marsh
#

true

grand shadow
#

if a poll ever timed out a thread would be bound to a specific cpu forever

#

🫩

grand shadow
grand shadow
#

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

grand shadow
#

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

grand shadow
#

working on bullshit

#

No names yet, probably something for tomorrow

hearty fulcrum
marsh sparrow
#

I think astral already has proper permissions (?)

mild sentinel
#

maybe this is a better /proc interface for htop like things?

grand shadow
mild sentinel
#

🔥

grand shadow
opal lotus
#

show code

grand shadow
#

sysctl bro

opal lotus
#

W

#

real bsd sysctl or astral fake

grand shadow
#

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 meme

#

with the openbsd semantics of 6 length mib

#

CTL_KERN
KERN_PROC
KERN_PROC_ALL
0
sizeof(sysctl_proc_info_t)
0

grand shadow
# opal lotus show code
        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

grand shadow
#

added some more information to it,

#

I think my cpu usage info is a bit borked meme

#

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?

fleet osprey
#

htop port when

grand shadow
#

either htop or btop

fleet osprey
#

based

somber wraith
#

it probably Just Works™ with /proc-less functionality

grand shadow
#

Ive been quite busy lately (greg tech new horizo

mild sentinel
grand shadow
#

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 troll

grand shadow
#

theres a process refcounting issue related to job control

prime mulch
#

mathewnd be like: theres a process refcounting issue related to job control

grand shadow
#

so true

prime mulch
#

what is the issue

#

or symptoms

grand shadow
#

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

prime mulch
#

on light mode the ghosts body barely appears and i thought it was like 3 abstract ovals like maybe avocados

prime mulch
#

oh sorry my macbook is bleeding

grand shadow
grand shadow
grand shadow
#

I had a dream that the biggest slow down in astral right now is the page cache

willow rapids
#

me with no page cache:

analog berry
#

me with no page:

bright knoll
#

me with no:

viscid flame
#

me with:

fast gorge
#

me:

earnest willow
#

:

viscid flame
#

winged basin
#

He has instructed you to look for optimising opportunities there

proper meteor
#

but it's probably actually paging instead (I have O(n^2) stuff in some places)

opal lotus
flint condor
#

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

fierce forge
#

I don't understand how work sets work nooo

marsh sparrow
#

hm?

marsh sparrow
fierce forge
#

Slow page cache?

marsh sparrow
#

working sets are not tightly coupled to page caches

grand shadow
#

Decided to copy marvin and astral can talk on irc on real hw

fleet osprey
#

ARM port when trl

#

Claude pls make ARM port make no mistakes 🙏

upper dragon
#

Claude pls implement every major OS compatibility API (even Android) make no mistake kappa

prime mulch
#

Claude pls pee... make a lot of mistakes!!!!

fleet osprey
#

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 ultrameme )

#

so uhhh

#

I guess i386 port when trl

#

that'd give me half the battle there

#

plus you already support x86_64

upper dragon
#

WiiStral running Metroid Prime at 120fps when?

fleet osprey
#

lol no

#

GX is cursed

#

would not have acceleration

#

plus Astral has no infra for GPU accel

#

not even on PC

fierce forge
grand shadow
#

I assume that I am using a real architecture (little endian) made in the last 20 years

fleet osprey
#

which is cringe

#

but I could probably fix that

blazing atlas
willow rapids
#

4004 port when

spare sky
#

4004 is not von Neumann

opal lotus
#

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

bronze nexus
#

It will

#

Just not with a lot of RAM

opal lotus
#

lol

bronze nexus
#

IMO no 32-bit system has any business having more than at most 512MiB

opal lotus
#

yeah

bronze nexus
#

And even that is pushing it

opal lotus
#

i wanted to add arm support to my shit anyways

opal lotus
#

shared memory even

bronze nexus
#

With PAE

fleet osprey
#

pretty sure Wii U devkits had 3GB

willow rapids
#

i thought it was 64gb with pae?

fleet osprey
#

4GB in hardware but the memory controller couldn't do more than 3

bronze nexus
opal lotus
#

insane to think how bad the wii u was

fleet osprey
#

it's actually pretty decent

opal lotus
#

tfw dolphin 2 2

fleet osprey
#

gets a lot of undeserved hate

#

it's about as powerful as the 360

#

and 4x the RAM

bronze nexus
#

HW manufacturers put a 64-bit CPU in something that counts RAM in GB challenge (impossible)

opal lotus
fleet osprey
#

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

bronze nexus
#

And so they made the kernel devs deal with their BS

opal lotus
#

i want to try running on a ps4

bronze nexus
#

Also, how does userspace use 3GB on a system where you only expect one big RAM consumer at once

fleet osprey
#

well it was never intended to run custom OSes anyways kekw

bronze nexus
#

bruh

opal lotus
#

there is no os

fleet osprey
#

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

opal lotus
#

bruh

fleet osprey
#

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

fleet osprey
#

and on devkits I assume they must've gotten 2GB or less

fleet osprey
#

(could be wrong on the exact amount, but I know it uses a lot)

neon crane
#

its not very complete but it can run applications and shi

sharp carbon
#

all limits lower than that are imposed by software design

fierce forge
mild sentinel
#

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

native pollen
grand shadow
#

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

prime mulch
#

You are named Mathew not dead

prime mulch
grand shadow
#

are you a hyena in the sky?

grand shadow
prime mulch
grand shadow
#

Ive been thinking of changing the branding of astral

prime juniper
#

add more EFN branding

#

trust

grand shadow
#

From generic ringed planet to the southern cross or smth like this

prime juniper
#

startup sound? efn.mp3 meme

#

do it ultrameme

analog berry
grand shadow
#

rc-update add efnplay default

grand shadow
analog berry
#

yess

native pollen
#

BlueCrystal OS

viscid flame
#

breaking os

mild sentinel
#

1000000 reddit upvotes

native pollen
hearty stratus
grand shadow
#

You're right to push back on that—

#

Yesterday I did some bug fixes

grand shadow
viscid flame
grand shadow
mild sentinel
# grand shadow

new video. astral watching astral running minecraft on youtube

grand shadow
#

Playback no worky yet sadly

mild sentinel
#

damn

willow rapids
grand shadow
willow rapids
#

now that is real gaming right there

grand shadow
quartz granite
grand shadow
#

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)

willow rapids
#

port a better browser

quartz granite
willow rapids
#

that doesnt use eventfd

grand shadow
#

well captchas are broken

#

but qr code logi9n

#

HOLY FUCK

quartz granite
#

told u about qr codes

quartz granite
grand shadow
#

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

quartz granite
#

ghosting smh

grand shadow
#

but yeah I need to implement this eventfd bullshit

mild sentinel
#

eventfd iirc is pretty easy and a very nice thing to use imo

grand shadow
#

cmonnn

mild sentinel
#

Can't you bypass that by giving the account any role or approving the member or whatever bullshit?

static beacon
#

hey true that works, hi from astral

grand shadow
mild sentinel
#

Basedtral

grand shadow
#

wonder if file uplaod works

#

let me take a screenshot inside astral and try

#

opening the file picker completely fucking locks webkti up

#

💀

mild sentinel
#

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

grand shadow
#

I forgot my serchat password 😭

quartz granite
#

did u register with real email

grand shadow
#

yeah

quartz granite
#

if so you can reset it

grand shadow
#

I'm resetting it rn

quartz granite
#

nice nice

#

do u have VLC?

grand shadow
#

nope

quartz granite
#

vlc port when

#

so you can play shrek movie

mild sentinel
#

Well

#

If you make YouTube work

#

You can make it play though that

#

Or WAIT

#

WAIT HOLD ON

#

entire shrek movie

#

in one gif

grand shadow
#

@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

quartz granite
#

:^(

If u transfer astral iso I'd be able to debug this

grand shadow
quartz granite
#

is filesystem readonly?

grand shadow
grand shadow
quartz granite
grand shadow
#

I do see an eventfdcreate sysdep attempt in the log so maybe its that bullshit again

#

I need to do eventfd™

grand shadow
quartz granite
#

do you perchance have... fcntl(F_SETLK)?

grand shadow
#

nope

#

stubbed with error return

quartz granite
#

there you go

grand shadow
quartz granite
grand shadow
#

lemme see

#

huh nvm I do already stub it as 0

quartz granite
#

oop

quartz granite
#

it could also be flock. Indexed db is sqlite in the end for webkitgtk iirc

#

gotta test it

grand shadow
#

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

quartz granite
#

faaah

#

closer to the success

grand shadow
#

lmao bruh

quartz granite
#

give me the logs

grand shadow
#

WAIT

#

I tried again

#

YOO

#

ahh fuck it worked for a split second the nsent me back to the login screen

quartz granite
#

wtf

#

😭

grand shadow
#

tried again

#

seems to not be booting me back

quartz granite
#

absolutely beautiful

#

you can change theme to fit astral more

grand shadow
#

lmao I sent lukflug a message and it booted me back to the login screen

quartz granite
#

alt+4 to change to next theme

quartz granite
grand shadow
#

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

quartz granite
#

implement eventfd

#

It can't be that hard

grand shadow
#

yeah its super simple

grand shadow
#

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

grand shadow
#

eventfd should be implemented

#

haven't tested it yet but lgtm

#

220 loc

static beacon
#

ok so time to figure out if uploading files works now

grand shadow
#

lmao the picker actually opens now but webkit is not enjoying this

static beacon
#

ok so from looking at the logs, I think uloading is killing the network process

grand shadow
#

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

viscid flame
#

if its used by glib then it should fallback to pipe

grand shadow
#

One specific thing inside webkit

static beacon
#

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

#

also this is crazy stable damn

#

at least once its running ?meme?

#

:meme"*

#

grrr

somber wraith
#

is this a mathew alt 💀

grand shadow
#

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

viscid flame
tawny oak
#

very impressive progress

neon crane
#

WebKitGTK?

#

im surprised it appears to work

analog berry
prime juniper
#

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

willow rapids
grand shadow
#

With discord now working, do I do the funny™ or do I try to make video playback work

grand shadow
#

to do the funny I need to port grub (don't ask

mild sentinel
#

port limine? it should support MB1

#

or was that the dont ask

grand shadow
#

hm there is some truth to that I could just use the already-ported limine

willow rapids
#

do it

neon crane
#

sounds like it has nothing to do wth video playback

mild sentinel
#

Asking for help on r/osdev after following the barebones tutorial

#

All using astral

willow rapids
#

bare bones ii

grand shadow
#

downloaded: binutils and gcc source
compiled and installed: i686-elf binutils
compiling gcc now

mild sentinel
# grand shadow

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

grand shadow
#

I would unironically run out of disk space

mild sentinel
#

Or at least do it but only the important parts or whatever

grand shadow
#

you'd record probably like 5 hours of it compiling gcc

mild sentinel
#

😭

#

Maybe then just record when you type commands in or whatever and edit it together

elfin turtle
#

record it in 16k

mild sentinel
#

380p

#

Unregistered hypercam 2

elfin turtle
#

record it on imax film

mild sentinel
grand shadow
#

apparently some steps of gcc compilation (heavier files like ins-emit-*.cc) cause astral to lag pretty badly

#

I need to profile that later

willow rapids
hearty stratus
#

anyway cool progress

hearty fulcrum
grand shadow
willow rapids
#

builçd

#

kerneç

willow rapids
#

embed fail!!

#

nvm?

mild sentinel
#

prolly a large gif

grand shadow
#

me when unicode?

#

what the fuck is this lmfao

willow rapids
#

lmfao what

grand shadow
willow rapids
#

what is with the kernel tty showing in the bottom left corner

gritty shore
somber wraith
#

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

gritty shore
#

urxvt is better anyway

grand shadow
#

anyhow, gcc compiled

#

libgcc and then install

viscid flame
sharp carbon
grand shadow
#

installing gcc now

sharp carbon
#

ohh

grand shadow
willow rapids
#

gcc pass complete

grand shadow
#

I pick the trevor project, BTW :)

lean kettle
earnest willow
#

now you're legally obligated

grand shadow
#

rededit slso works

#

do I do it

hearty fulcrum
analog berry
grand shadow
analog berry
#

Lol

bright knoll
#

woaw... based based based

mild sentinel
#

😭

tall bluff
#

This is so funny 🤣

#

How nobody is noticing at least the nonstandard wm is beyond me

elfin turtle
#

my comment is very serious

#

I got the message of Matthew beging for help and provided a useful guide!

neon crane
willow rapids
#

because it is

tall bluff
mild sentinel
analog berry
#

Did you actually reach that by starting with a kernel shell??? That was it all along?

grand shadow
#

kernel shell is the trve osdev way

analog berry
#

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....
fierce forge
quartz granite
#

wow

fierce forge
#

I'm gonna downvote everyone trl

quartz granite
#

no u???

#

i was first

#

i only liked mishakov and marvins

prime mulch
#

I should make a bait post

mild sentinel
#

downvote this person more

#

for the memes

prime mulch
#

Not even for the memes but because they deserve it

mild sentinel
#

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

mild sentinel
#

😭

river lava
#

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

mild sentinel
#

And that the entire post is a shitpost

river lava
#

Was it a joke? He knows paging obviously.

mild sentinel
#

To make fun of the low effort content on the subreddit

mild sentinel
#

And posted it on reddit

#

From within his OS

river lava
#

Ahhh. Got it. Sorry just got off work. I’m not only behind but dense too. My bad.

mild sentinel
#

It's fine

prime mulch
#

This is all of us

river lava
#

That’s f*cking hilarious btw.

mild sentinel
river lava
#

Wasn’t sure. I run hot & cold on it.

#

Fuck!

#

Ok. Got that out of the way. 🙃

grand shadow
quartz granite
hearty stratus
# grand shadow

Did you port QEMU? It would be cool af is you run your OS in your OS

grand shadow
grand shadow
#

super old pic but yeah

west reef
#

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

pure thunder
# grand shadow ?

oh yes it always happens to me when I compile my code using the oòeiossoço compiler and the flag -aeîï-òôôé

native pollen
# grand shadow

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

grand shadow
#

Idk I am relatively new to all this

#

I only truly got into osdev in what 2021/2022?

gritty shore
#

i think the features have increased in the last three years but that's because of AI

#

there were always projects like astral tho

native pollen
#

I remember Sortix back then

gritty shore
#

yeah that's AI

#

it's no coincidence that when LLMs got good suddenly everyone and their mother ran xorg

native pollen
# gritty shore yeah that's AI

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

gritty shore
#

#showing-off message

native pollen
#

Back then we had Sortix, Toaru and a few more

#

Now we have Managarm, Mintia, Astral, ...

grand shadow
#

If its any consolation astral was running xorg far before llms were even viable for programming halfmemeright

native pollen
#

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

grand shadow
#

Sortix is still alive, sortie is pretty chill

#

I guess its just a matter of it becoming more accessible over the years + llms

native pollen
#

I mean I'm specifically talking about non-vibe-coded OSes but yeah

mild sentinel
earnest willow
grand shadow
earnest willow
#

and also because of community projects like limine, mlibc, and this community overall making osdev more accessible and enjoyable

native pollen
#

that's true

grand shadow
#

Truth

native pollen
#

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

mild sentinel
earnest willow
native pollen
#

this is why I did bitmap

grand shadow
#

Your only options were like,
musl
newlib

earnest willow
#

i thought it was because it comes from qword and then lyre

#

which were the main projects ppl looked at back in 2020/2021

grand shadow
#

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

#

☠️

mild sentinel
earnest willow
#

and then the concept stuck around like a tradition

willow rapids
earnest willow
#

i guess now the new thing is having a freelist

#

(good)

willow rapids
#

i still use a bitmap 💀

native pollen
#

From what I know no one else is developing a Windows 95 like project

willow rapids
#

lkdos

#

nvm

native pollen
grand shadow
earnest willow
#

i have a buddy allocator nooo

native pollen
mild sentinel
grand shadow
mild sentinel
#

and to hopefully make a nice project ;3

#

but i worry if its bad somtimes wahhgone

native pollen
#

i hope to make a somewhat decent os

willow rapids
native pollen
#

but it's hard

mild sentinel
native pollen
#

my entire OS is compiled on DOS

willow rapids
#

yeah ig that's the least painful way to do it

earnest willow
#

the only "big" allocations i use with my buddy is for kernel stacks

#

which i plan to remove soon

#

and use virtual mappings

native pollen
earnest willow
#

and apart from that, allocating device structures

native pollen
#

so someone in FreeDOS can get my source files through ftp and run it without any other OS

grand shadow
#

I avoid any >page_size physical allocations where I can

earnest willow
#

that's the way

grand shadow
hearty fulcrum
#

I am evil

mild sentinel
native pollen
#

I wish I were a mod so I could pin this

willow rapids
#

talk is cheap, send patches talk is cheap, apply to be one meme

willow rapids
#

wait what

mild sentinel
#

You just like

#

Randomly get picked

#

Idk I don't make the rules

willow rapids
#

ah

hearty fulcrum
#

linux compat haters when they patch out a feature they don't want to implement ultrameme

native pollen
#

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

willow rapids
#

i was just kidding

grand shadow
#

Staff is just one big freemason group

native pollen
mild sentinel
hearty fulcrum
#

you need to send weekly nudes to managers to stay a mod

#

trust

mild sentinel
#

Yeah that's why you have to be 18

native pollen
#

damn

#

Mint Epstein but adult edition

grand shadow
#

Isnt that just like a normal human being who likes adults

native pollen
#

I mean normal human beings don't traffic adults

#

last time I checked

hearty fulcrum
#

speak for yourself

mild sentinel
#

its more so extortion not trafficing

grand shadow
#

Counterpoint: plane pilots

mild sentinel
mild sentinel
gritty shore
#

yeah but it's getting boring

#

not many people are trying something that's not "shitty unix clone"

grand shadow
#

I am a shitty unix clone dev AND PROUD

elfin turtle
#

RHAAA

willow rapids
gritty shore
#

you can have POSIX or linux compat while doing things differently

willow rapids
#

but that adds a big layer of complexity

gritty shore
#

not necessarily

carmine swallow
#

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)

fierce forge
mild sentinel
fierce forge
#

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

mild sentinel
#

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

fierce forge
mild sentinel
#

Sure ig

grand shadow
native pollen
#

It would probably be better private, or editing the wiki page ourselves

mild sentinel
#

and mark it historical

#

sortie reverted it

#

he is an admin

native pollen
#

I was thinking more like replacing it with a better tutorial than marking it historical

#

Using MB2 or Limine for starters

#

And 64-bit

willow rapids
#

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

mild sentinel
#

well no, it being historical would be proper. it shouldnt be nuked or replaced

native pollen
#

why? I thought replacing it would make more sense

mild sentinel
#

its historical content?

native pollen
#

yeah but wiki pages get updated all the time to reflect the present day better no?

mild sentinel
native pollen
#

maybe sortie is reverting it due to there not being a non-historical alternative

mild sentinel
native pollen
#

oh that makes sense

#

sorry I’m slow

#

I thought you meant just marking it historical with no new alternative

mild sentinel
#

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

native pollen
#

I see

#

Did any discussion happen in the talk page?

mild sentinel
#

the highlights of it

native pollen
#

Out of curiosity why is VGA text mode bad?

#

Isn’t it supported even in modern systems

mild sentinel
#

its not.

native pollen
#

Oh

#

Yeah that’s an issue then

mild sentinel
#

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

willow rapids
mild sentinel
#

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

willow rapids
#

ngl uart would probably be better if you really really don't want to tackle framebuffers

mild sentinel
#

UART is easy

#

though the example code on the wiki is subpar to my impl

#

and fails on real hardware

willow rapids
native pollen
# willow rapids it's been 39 years.

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

gritty shore
mild sentinel
#

this works on real hardware and x86 and la64

#

if you need to fix it

mild sentinel
willow rapids
#

i don't remember what i did do lmao

gritty shore
#

modern kernel implies it's actually modern

#

i dont think there is any "modern" kernel here

#

maybe managarm is the closest

mild sentinel
#

not modern != incomplete

gritty shore
#

bitmap is not as bad as you guys make it to be lol

analog berry
gritty shore
#

no

#

you can just keep track of the first free bit

#

and it's practically O(1) then

analog berry
#

thats a useless optimization

#

it will stop working as soon as u use all pages at least once

native pollen
#

for 32-bit it's pretty fast though

#

so it not being O(1) is not a big deal

analog berry
#

if u only support non pae

#

even then, its a million iterations worst case for every allocation

#

that is absolutely horrible

gritty shore
analog berry
#

then u allocate that page

#

what do u update it to

mild sentinel
#

and a buddy allocator technicaly uses more but you need the pfnbd anyways

analog berry
#

ye

native pollen
#

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
analog berry
#

if you have a pfndb u dont need a bitmap

mild sentinel
#

It's multiple freelists

analog berry
#

but anyway, in this case the bitmap is O(1) because u dont need to scan every bit

mild sentinel
#

With a pfndb of extra data

mild sentinel
#

Ah sorry this for the other thing

prime mulch
#

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

pure thunder
prime mulch
#

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

neon crane
#

It's competitive spirit

mild sentinel
#

I love this hobby so fucking much

neon crane
#

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)

grand shadow
#

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

native pollen
#

Are we in the same server lol

#

This is more like how you get banned from here

mild sentinel
#

this server is much more narrow and opinionated

#

(good thing)

native pollen
#

I have not interacted at all with the wider community

#

I did OSDev back in 2016s

#

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

mild sentinel
#

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

grand shadow
#

Thats what the ircs would have been for if not for them being relatively dead

native pollen
#

I love discord tbh

#

This is why I picked it

native pollen
#

literally no one got the joke

analog berry
#

What a joke

#

Just see the markdown files in that kernel lmfao

native pollen
#

or some custom DE you made?

opal lotus
#

smh

willow rapids
prime juniper
# prime mulch Managarm proved a bunch of interesting stuff can be ported to a sufficiently fea...

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 meme)

native pollen
#

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

native pollen
opal lotus
#

i fear you're limiting yourself to like 0.00001%

#

especially with openwatcom

native pollen
#

especially once I get DPMI working I will have a lot of nice 32-bit DOS extended apps running under my OS

grand shadow
#

Trillions must managarm

prime mulch
#

mintia currently does nothing

#

very complicatedly

willow rapids
quartz granite
#

mammogram

pure thunder
#

namagarm

native pollen
hearty fulcrum
#

spoiler that please

prime juniper
lusty kayakBOT
#
managarm

It's Managarm, not Managram

willow rapids
prime juniper
#

I am aware ultrameme

prime mulch
#

Mammogram

viscid flame
#

monogram

willow rapids
#

stereogram

viscid flame
#

pulsegram

elfin turtle
lusty kayakBOT
#

Tag managram not found!

elfin turtle
#

doesnt work

hearty fulcrum
#

literally unusable

bronze nexus
#

mnagangarm