#Orange
1 messages ยท Page 3 of 1
I know u very well man
tell copilot to fuck off
Break its leg
105.8% CPU?! Wtf
i was lazyass all this time
lazy alloc is done 50%
also i want to make instead of mounting initrd copying initrd to tmpfs but doing some cow
for example instead of allocating memory and copying the entire file, I'll point file content pointer directly to the content in the initrd
but on write ill do this anyway and forget about initrd
now my vmm finally have good unmap
lazy alloc is done
now i can use more than 2 glxgears
and i need to implement disk driver and port something
๐คซ
- minecraft
based
maybe issue is i didnt implement any behaviour when process tries to write with zero count
like i saw in man pages what poll have some behaviour when there's zero message in stream
so what i have
dbus have two threads
my test application fails on dbus_connection_send_with_reply_and_block
at end first thread reads socket and gets EAGAIN, second thread gets this too and both poll unix socket fd with which they are connected
probably strace can help if i compare behaviour on linux and orange
probably i found issue
it can be what my msg_send writes stuff one by one and suddenly after the some message scheduling interrupt occurs and other code which polls read this and ignores second message which msg_send need to send
i need to finally make msg_send syscall instead of just writing all iov in mlibc sysdep
no its not issue
i compared linux strace and mine syscall logs and maybe issue can be what dbus dont like chmod stuff for service file
(it tries to stat every service in dbus service directory and on linux it stats all files but on orange it just stats one file and dont want to do anything)
i need to fix chmod from ustar because it broken
actually it just requires fd passing
so finally after 71 syscalls (~15 of them are not mlibc sysdeps) i implemented my first linux sysdep
because of the holidays i can finally develop orange a lot of time
passing fd support is half done
fd passing is done and it requires ucred too 
all is finally implemented and now i need to debug some eventfd related bug
wtf (its linux strace)
[pid 70285] clone3({flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, child_tid=0x7f6491696990, parent_tid=0x7f6491696990, exit_signal=0, stack=0x7f6490e96000, stack_size=0x7ffe80, tls=0x7f64916966c0}strace: Process 70287 attached
=> {parent_tid=[70287]}, 88) = 70287
[pid 70287] rseq(0x7f6491696520, 0x20, 0, 0x53053053 <unfinished ...>
[pid 70285] rt_sigprocmask(SIG_SETMASK, [] <unfinished ...>
[pid 70287] <... rseq resumed>) = 0
[pid 70285] <... rt_sigprocmask resumed>, NULL, 8) = 0
[pid 70287] set_robust_list(0x7f64916969a0, 24 <unfinished ...>
[pid 70285] futex(0x7f6493fa1ff8, FUTEX_WAKE_PRIVATE, 2147483647 <unfinished ...>
[pid 70287] <... set_robust_list resumed>) = 0
[pid 70285] <... futex resumed>) = 0
[pid 70287] rt_sigprocmask(SIG_SETMASK, [] <unfinished ...>
[pid 70285] futex(0x7f6493fa1ff8, FUTEX_WAKE_PRIVATE, 2147483647 <unfinished ...>
[pid 70287] <... rt_sigprocmask resumed>, NULL, 8) = 0
[pid 70285] <... futex resumed>) = 0
[pid 70287] prctl(PR_SET_NAME, "gdbus" <unfinished ...>
[pid 70285] eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK <unfinished ...>
[pid 70287] <... prctl resumed>) = 0
[pid 70285] <... eventfd2 resumed>) = 10
is this even possible to share fds after clone ??? (fd 10 eventfd is somehow shared and used after some time)
did i missed something
a
all this time i was ignoring what clone flags mean
so fd copying to child in clone() will be just removed
and i need to remove some race conditions because all fd related stuff was lockless just because i didnt care about shared fds
but now when dbus requires it i need
working on this until the very end of the year is based
my target was find out why it dont want to work
i made it before the end of the year
cause I'm stuck at a family home eating dinner
when i finish that dbus pain i finally will be able to port xfce
because its required for xfconf
after 2-3 hours comparing linux strace and my syscalls log i realized what eventfd somehow from eventfd turns into fucking stdin/stdout
but index is 5 so maybe it tries to dup2
all this time it was failing to write this fd
finally i fixed this
now at-spi can start create socket and etc.
but now gtk dont want to connect to it
and xfconfd dont work too
debugging gtk and dbus stuff is really pain
who came up with these names
tomorrow my target will be finally fix all bugs related to dbus
nvm
fortunately it tries to SIGKILL
Wait you don't have them?
no
how did you get so far without them ๐ญ
i wish ill never implement them
and now it requires shutdown()
(unix socket close)
but my unix socket closing logic is trash
i need to fix this
๐ญ
wait
i can implement it by just keeping some list with ids and memory addresses
so i ran xfwm4 but it dont want to draw window borders
probably it requires signals and setitimer
idk how but glxgears fps increased
how did you even learn to make a os in cpp everything tell me use c and assambly
By knowing c++ and using that instead
you can use other languages too
like rust or ada
nah c++ is cool
tomorrow ill implement unix signals
if this is not unix signals then i need to look at xfwm src
how did you learn cpp and os dev?
idk
great advice
also im thinking about xfwm src destruction
like
if i remove something on linux it must broke
so ill try to removing some stuff until i got same result on orange and linux
and it will mean from where there's issue / which code can give me hint
bruh
if i add more syscall to my syscall table it breaks
ig my global constructors are broken ?
i moved syscall to asm and now all is fine
tomorrow ill try to test xfwm again but with implemented timer stuff
at-spi doesnt works but ig it just requires inotify stuff
bash dont want to work if i enable sigaction syscall
finally signals are implemented
if xfwm will not work now then i give up on this
and ill start implementing nvme driver and ext2
after ext2 ill do audio stuff
real
i found another issue
idk why but dbus instead of passing pipe just passes /dev/null to dbus-daemon when doing exec
it requires cloexec
it looks like normal behavior
im dumb
instead of actual result (for example fd which was dup) i was giving just ret
and because of this dbus didnt want to work
finally i fixed at spi
Nice
probably it crashes because i dont have statx
i have last weird bug
something is writes to already freed memory and my fds getting broken
fixed
instead of if(used_counter == 0) idk why i used if(1) in fd freeing
im trying to make some syscalls to lockless
Lolool
my no follow symlink stat is broken
How many hours per day do you work on Orange
i have a lot of free time
after statx ill improve my tmpfs and ill implement cp, rm, mv and etc. syscalls
right now im adding directory support for rename
after this ill implement rmdir and unlink
with this ill do a lot of tmpfs optimizations
my tmpfs lookup is trash
initrd to tmpfs copy time is 90% decreased
i have a choice do tree way or hash magic
finally i got fast boot time
i have some weird bug on cpu with more than one core
futexes just dont want to work properly
congluration that so fast
im abandoning the idea of userspace drivers
because im too lazy to implement fast disk access when there's userspace disk driver
so i got situation where st gets from 100 fd index to 200 after few syscalls
maybe if i debug it syscall by syscall i can see what's happening
this was intended reply
found issue
i forgot to remove fd from list when open fails
wtf
so issue why mate-panel dont works is wnck-applet tries to use paths to my host gcc cross compiler instead of sysroot
I've had similar issues before, there should be a compile option to change it to a proper path
It wasn't with mate obv but it was a similar issue
im thinking about implementing futex table which will contain waking counter for each futex pointers
just because apps get stuck on futex wait when there's a lot of cpus
which options
Dunno
so i did some random shit and all smp issues fixed
i have no idea what but im very happy
and it means time to implement statx
probably issue is in sys_clock_get
wait i got a hint
its race condition result so issue in vfs
maybe disabling half of syscalls can tell where race condition can be
fixed
issue was what strtok is thread unsafe
right now im implementing some stuff which glibc requires to work
why it requires so much stuff 
im thinking about build system for linux compat userspace
maybe cross compiler would be good
bruh im spending a lot of time just cuz gcc dont want to compile
The fate of osdevers
now glibc dont want to go to /usr/lib instead of /lib64 ๐ญ
after glibc stuff ill implement evdev for x11
these linux names are wild ๐
Lmao
i need to make some kind of stackframes for signal
like to make sigreturns a lot of times if there's signal in signal handler
dfsfckxkvnasdjkfdkm
i have no idea why it doesnt like my argv
it gets corrupted
maybe issue in mmap
issue was in MAP_FIXED
i just disable this
because im lazy to implement this in my vmm
maybee you forgot the last NULL entry
idk
or maybee you don't pass env as third arg
i already fixed this
mmap MAP_FIXED was broken and it broke argv
tf is clone3 
clone2 + 1
How could the maintainers allow that 
bash and my tty in userspace with linux compat works
when job control
it requires some generated by systemd file
what?
why would it require systemd
or maybe its just some another file
no its a tty thing
yes it looks like i didnt implement something in tty ioctl
tomorrow ill implement evdev and ill try to run xorg
getdents64 is implemented
And this is why I do my own syscalls lol
freedesktop april fools
๐ฃ๏ธ ๐ฅ ๐ฅ
i cant compile evdev driver for xorg cuz of this ๐
today i converted to linux ~50 syscalls
time to implement alarm() and setitimer()
Huh what does alarm() do?
send sigalarm after some time
also setitimer and alarm done
Ahh.
(yes testcases written by ai dont hate me)
AI generating test cases is fine tbh
Like it cant f up test cases right lol
xorg requires abstract sockets for linux platforms 
time to implement it
maybe instead of implementing it i can not rely on strlen and just copy sockaddr
interesting what if i try to use debian userspace which created with debootstrap
debian userspace???
huh
Cool
right now im fixing some bash bugs (related to ioctl maybe)
it looks like readline dont like something and immediately exits
wait bruh im dumb
i looked at wrong linux syscall table
for arm instead of x86_64
i dont want to implement pselect so time to use sigma pselect to poll converter from astral
finally i fixed readline
and finally i booted to debian userspace
now i can use apt for some apps instead of building something (only from host with chroot for now cuz i dont have networking)
i want to move my tty to kernel too
cuz i dont want to compile it again and again when doing debootstrap
time to say to my beautiful tty bye bye ๐ฅ ๐ ๐ญ
Why
i want to move it to kernel
Ah mb didnt read above
i wish some day in future ill get working apt
If you write epoll in two days maximum, i will reward you with... uh... working xorg, wdyt?
i have some issue
absolute elfs are broken
i didnt wanted to support them but debian have gcc cc1 absolute, not pie
maybe if i try to allocate memory for each LOAD it will work
i need to look to linux source
dfcxvxklsdfjslfvncxdsh
fsvmxcnhkfgmbjfdsl;dk;ckl
i need to add parsing shared libraries in my elf loader and look what it tries to load
also tty is moved to kernel now
krill issue

i thought im not going to touch elf loader when i wrote it months ago
they are fine
i need to look to glibc source again
(death)
hmmmmmmm
it looks like glibc tries to mmap something to elf file
probably issue is what i dont support MAP_FIXED and my alloc for fixed address is shit
tomorrow ill fix this
i need to move all process memory to virtual contiguous, i used buddy for process stack and elf but this is dumb
added some progress bar to initrd loading
me when slow initrd loading:
what
i dont have disk loading and this is debian userspace sooo
why not
he mounts it to tmpfs instead of just yk
map_fixed is 90% done
im scared about audio cuz im doing linux compat
(i wanted to do it after linux compat full working userspace)
wait its not ub
race condition?
i have opinion that i just forgot to reload tlb after MAP_FIXED
in file mmap
(it just copies file to memory)
its impossible
at least because i running with one cpu and with disabled interrupts in syscalls
bru
now gcc cant see who is child and parent ๐ญ
good
[ INFO ] [11430777] syscall_handler_c: sys 9 from 5 rdi 0x0, rsi 36864
[ INFO ] [11431853] sys_mmap: trying to mmap 0x0-0x9000 sz 36864, prot 3, flags 131106 fd -1 off 0 from proc 5, is fixed 0
[ INFO ] [11433491] sys_mmap: return 0x336000
[ INFO ] [11434267] syscall_handler_c: sys 14 from 5 rdi 0x0, rsi 2053848
[ INFO ] [11435360] syscall_handler_c: sys 435 from 5 rdi 0xd3b290, rsi 88
[ INFO ] [11436494] sys_clone3: clone3 from proc 5, new proc 6 (new syscall_stack: 0xffff80021d8f2000) CLONEVM
[ INFO ] [11438026] syscall_handler_c: sys 14 from 6 rdi 0x0, rsi 0
[ INFO ] [11439045] syscall_handler_c: sys 14 from 6 rdi 0x2, rsi 13873904
[ INFO ] [11440168] syscall_handler_c: sys 59 from 6 rdi 0x27c810, rsi 2606792
[ INFO ] [11449806] __scheduling_load_elf: proc cr3 0x6df1000
bad
INFO ] [23505879] syscall_handler_c: sys 21 from 5 rdi 0x27c810, rsi 1
[ INFO ] [23507432] syscall_handler_c: sys 9 from 5 rdi 0x0, rsi 36864
[ INFO ] [23508945] sys_mmap: trying to mmap 0x0-0x9000 sz 36864, prot 3, flags 131106 fd -1 off 0 from proc 5, is fixed 0
[ INFO ] [23511298] sys_mmap: return 0x336000
[ INFO ] [23512319] syscall_handler_c: sys 14 from 5 rdi 0x0, rsi 2053848
[ INFO ] [23513840] syscall_handler_c: sys 435 from 5 rdi 0xd3b290, rsi 88
[ INFO ] [23515367] sys_clone3: clone3 from proc 5, new proc 6 (new syscall_stack: 0xffff80021d912000) CLONEVM
[ INFO ] [23517425] syscall_handler_c: sys 11 from 5 rdi 0x336000, rsi 36864
[ INFO ] [23518913] syscall_handler_c: sys 14 from 5 rdi 0x2, rsi 13873904
[ INFO ] [23520412] syscall_handler_c: sys 61 from 5 rdi 0x6, rsi 2607424
[ INFO ] [23521885] syscall_handler_c: sys 14 from 6 rdi 0x0, rsi 0
maybe i need to implement this
so fastfetch fails on gpu detect with some deadlock error (i have no idea) and aborts
anyway ill disable gpu detect with config cuz maybe it just requires sysfs
maybe it will be good to add procfs too
to get more info from fastfetch for example
Youll probably get top working as well
I'm assuming top uses procfs
But wait how does top work on unices without procfs
black magic
Fair enough
i need to debug why interp and dynamic section in elf created in orange is fucked (interp path is empty)
what
isnt it supposed to say OS: orangeos or am I just stupid?
its debian userspace
was it hard?
gcc works
wow
time to do epoll
you are linux abi comptible right ?
and you're using debian userspace
full linux binary compat
so this is runnkng with glibc ?
yes
yes
yeah thats very cool
finally i understand how epoll works
orange development is slow cuz im doing prism
Whats Prism
#1431140025805832343 c++ rewrite
now im continuing work on orange
my todo is still evdev and epoll
yesterday i fixed some devfs bugs to make it more usable
also i want to have evdev as another mount
ps2 is done
nice epoll works
What shell does orange use?
bash
/bin/bash
bruh
time to fix clone3/futex
but this is happens after futex so ig its futex fault
sdfsvcxvxc'v;xcsdfdsfsdmfksf;
sd'fdsvcx./vcxmv
its really pain to read glibc and bash src
yes but i dont have networking
ah
wow
so i have two issues
bash deadlocks after creating new process if i add support for CLONE_CHILD_SETTID in clone3
and fastfetch/xorg returns EDEADLK too
i debugged a bit and it deadlocks in __pthread_rwlock_wrlock_full64
syscall log doesnt give any useful information
maybe its some tid/pid issue
im starting orange rewrite
because i want to have support for aarch64 and riscv64 too
and i want to change some stuff which i used a lot too
im thinking should i support loongarch64 too
chinese mips
is this yes or no
you can always add support for it later
then ill add it later
anyway i want to support 64 bit arches only
i also do this
why tho
why not
well thats fair
and i have raspberry pi so i want to launch orange on it too
idk but i feel like a rewrite for it is not worth it
first ill do pmm and after ill do paging for x86_64, aarch64, riscv64
ill support 5 level paging for x86_64 and 3 level paging for rv64 and 4 level paging for all of them
being fancy lol
๐คซ
why do u want 5 levels of paging
i want to support them if available
doesnt 4 levels of paging gives you like 128 TB of virtual memory
well i think we should get 100 levels of paging
so we can have like 1 Googol of virtual memory
from old kernel ill copy only buddy allocator and xhci in future
buddy is done now i need to do paging for aarch64 and rv64 and i can start making heap and vma
paging is done
btw for userspace in future ill use mlibc
because linux compat is not fun โ
so
i need to make timer drivers for riscv64 and aarch64
for x86_64 ill use hpet and tsc
how aarch64 and riscv64 interrupts are work

i want to do now interrupts and after disk drivers
for nvme ahci and virtio
or only nvme and ahci
nvme cuz why not
and ahci cuz i want to install orange later to my laptop
pain
is this even good idea to use naked for interrupt handlers
orange candy
orange os so popular they named a fruit after it
true
time to do x2apic
i want to do linux like files struct
like
having one file for one function for userspace for example
syscalls?
yes
yes
aarch64 interrupts
wait wtf
how did it not started to spam with page faults
when i forgot to change stack from uefi for exception handlers
maybe
maybe
my tlb flush is broken
very probably
it was some paging stuff which i fixed
also it was selecting uefi stack because i didnt setup sp_el1
time to do riscv64 interrupts
actually riscv64 interrupts are the most simple
im too lazy to do riscv64 stuff so ill port it later
for now my target is x86_64 and aarch64 cuz i have hw only for them
x3apic
64 bit lapic id
yes
i need to do scheduling before disk drivers because i want to always use poll way instead of interrupts
Why not interrupts? You will just sched_yield() on a loop?
yes
i like yields
[ ] I understand I will be wasting cpu cycles and electricity with this solution. The developer is not responsible for higher electricity bills neither for cpu overheating and related damages. Use at your own risk.
okay okay ill do interrupts ๐ญ
but later
so my todo is:
- scheduling
- disk/vfs/ext2
- userspace and also working on networking
im bald now
after disk stuff im going to port my xhci driver from old kernel and ill try to run it with intel simics
Intelยฎ Simicsยฎ
i wish it will say about some bugs in my code
cuz my xhci worked half on my friend pc and on ilobilo laptop it didn't work at all
tbh its really scary to launch orange on my hw with nvme driver

nvme works
(yes i just writed first lba with limine.conf)
now im going to sleep
tomorrow ill make it lockless
and ill add write and flush operations
Volatile Memory Expressโข
it doesnt work on real hw 
it fails on identify
maybe my queues are cooked\
maybe i forgot to enable bus mastering and memory access in pci
Qemu is very forgiving
is there vm that doesn't forgives
even my hw more forgiving than vbox ๐ญ
that means vbox is based 
epic
should i target gpt only or mbr and gpt both
k
I have none xD
raw ?
lol
mbr and gpt parsing is done
my goals are now get ext2 and fat32 and also get ahci and virtio disk
also i want to do sysfs and devfs after disk loading
sysfs because some stuff in linux requires it
instead of path vfs ill do vfs with vnodes
like if some process will open some file filesystem should fill vnode struct in fd struct
wait what were you doing before then
i used pathes
like there's function in vfs for example read and i need to pass path to it
but this is terrible so i dont want to do it anymore
time to do good mutex implementation
because i want to keep enabled interrupts in kernel and i need some yielding lock
fuck arch linux
today i wanted to upgrade gcc and i have no idea why but libstdc and libgcc were removed
now i am xubuntu user
yeah in my experience arch linux always fucks itself up after a few updates
or if u dont update it for a few weeks and try updating it again it just explodes
arch moment
ext2 get inode works nice
maybe it will be good to add support for 64 bit
what if i try to support ext4 too
the end of times will happen
ill try to support it but only read only
extents are bit pita
extents seem cool idk
Why does it have 4 links
., .., and some two files
files don't reference the directory
^
And
the inode2 has four links
iirc they do
Which
. .. and the two files
Lol
huh wait
only the . and .. entries reference the directory
I just did a test on a clean directory
Because .. References parent I guess
oh lost+found might be referencing it as well
i forgot about it
then he has 2 subdirectories ig
test1 is directory too
why doesnt he just ls the root of the thing lol
dont blame me
so we see it for ourselves
So u have two directories in root or what
yeah
yes
Oh
read work
meow meo wew ewmeow meow meow
ls and write is done
for ls im using getdents way
because its more optimized and cool
i need to change my block allocator to more contiguous
cuz i need contigious blocks for extents
journaling looks to me bit useless so i will not support it
ext4 read 
okay so im bit lazy to do write
so ill left this for future
when ill want to do self hosting
for now read is done so i can do disk loading now
time to do ustar
tmpfs, devfs with sysfs
also now ill start fixing gpt
all this time i was testing with mbr
or ill do write only for ext2 and fat32 (when i implement it)
what the hell does lost+found evne do tho
orphaned inodes get put in there by fsck
im sick but i need to end vfs
and i still thinking about userspace
should i do linux compat or mlibc idk
Mlibc + unix like + limine
relaxxx
the cool kids do mlibc
im cool kid
best bg
So this is where all the cows end up after being abducted by aliens
in my userspace i want to implement everything that userspace requires
without stubbing
uhhhh
today i fell very hard
my knees are bleeding so no orange today
cuz of pain
so ill play ultrakil
ibuprofen
hospial
hopital
mfw
bruh all this time i was trying to init ghost port on vbox ๐
like
there's 0-13 ports
i was trying to init port 14
no i meant, did you make an oopsise?
f
i understood this when i typed info xhci in vbox debugger and saw this
there's no port 0
bruh
i have no idea why i cant get descriptors from usb device in vbox
set addr is successful
ill look to other xhci drivers
seabios have nice src
who doesnt
interesting im getting short packet error on some hw
maybe issue is in speed
i want glibc so much
what a background
Lol
do yall like old bg with orange more this
yes
so this
perfect
time to sysfs
wait are you already gonna run xorg wtf
im implementing some stuff which it requires
now im doing elf loading
idk should i build own userspace or just use something like debootstrap
Linux compat
Why would you build it then
Void linux
okay im going to use fedora
time to do syscalls
i hate that linux have arch specific syscall tables
i wrote some cmdline parser
for example for hw where acpi is broken
at least elf loading works
my target is implement everything
even rseq or brk...
bootstrap allocator for userspace
finally
my reddit account now is not under shadow ban
it means i can post to r/osdev now
and get a lot of github stars ๐ค
๐ค๐ค๐ค
something is broken in elf loading
they are not broken
ig issue in auxv
i accidentally put stack to elf file
i ported bash again
with linux compat it was pain cuz of pselect (i used astral converter to poll)
Now unport it and then report
Are u doing Linux compat now?
paging is for the weak
time to fix some race conditions
spamton means panic
and it triple faults
with >1 cpu
bruh ๐
okay uhhhhhh
i spent this day
on fixing some dumb bug
glibc deadlocked somewhere and issue was that i forgot to return current tid in set_tid_address
bash works on real hw
oh yes i have fucking ub which i can get only with 0,0001% chance
or its my usb stick corruption
i got first stack overflow in my life
my syscall stack is 32kb
and when there's some path operation really bad things happen
(i had ~12 path buffers when my poor stack can contain only 7)
also i got 1k karma on reddit ๐
๐ญ
๐
i was doing byte offset to uint64_t* array
finally
if i wont get some dumb bugs i have chance to run kde like fishix
for xorg i need to finish unix sockets
nvm about gcc my target is get some init
maybe systemd
it requires sys_mount so time for sys_mount
i forgot that i still dont have unix sockets
it looks like stack is not changed after yield
found issue
i used bottom of scheduling stack instead of top
gcc works
because distro maintenance is kinda boring
I might do a fishix for that
I don't want to build the whole userspace and maintain it
Its easier to rush userspace stuff to get to kde in 1 second and then give up because the kernel doesnt work
I feel like having to put in effort in usespace ports gives you a bigger incentive to work on the kernel believe it or not
yes
i want to get userspace working without building everything
after getting userspace working maybe ill switch to mlibc or write own libc because linux compat is boring
guess what
chicken butt
i already got some kind of working userspace so time for mlibc ig
im gonna use jinx
Just use the Linux sysdeps? Lol
i forgot about this
but im no longer linux compat and i want to have my syscall table
its boring
what i like about having to do distro dev is that u can procrastinate it until kernel dev gets so annoying it gives u a complex partial seizure
so u do distro dev
and then when that gets so annoying u start having a mental breakdown
u go back to kernel dev
(and the cycle of agony repeats)
lol
im wrtiing own python build system instead of jinx
finally i built toolchain
i had some issues with automake so i was updating binutils build stuff manually with libtoolize and autoconf
my honest reaction when local variable turns into trash cuz of stack corruption
im fixing signals rn
i wasted 2 hours of my life because i forgot about stack alignment
time to port xorg
now im using evalyn's gz decompressor to load initrd
why not the one in limine
i can not worry about fat asf initrd anymore
im doing unix sockets rn
they are annoying bit
fd pass and ucred pass in recvmsg is done
im doing them now to not care about them in future
link() is done
nice
unlink is implemented properly now too
@inner oak since you're doing evdev you might be interested in my xorg-server patches for evdev bullshit
basically it just adds a new evdev backend that allows it to automatically enumerate all /dev/input/event* devices and pass it to the evdev driver
I think it'll be upstream to the astral repo by tomorrow
not sure
instead of having to manually add the devices in xorg.conf
k
ill use it because i didnt implemented getting event device by name
guess what
chicken butt
i hate autotools
tf they cant make one thing work on other versions too
why i must doing autoreconf and after get some dumb errors
meow meow meow meow
time to port xeyes and implement some sysdeps
im going to use libudev-zero
for xf86 input evdev
i have some issue
my rel y is broken
i have no idea how to fix
anyway im going to use own input stuff instead of evdev
i dont want to waste time on this
nah, port steam
uh nuh
XD
and gtk too
with it i can make orange more driveable
os-test:
wtf
how did my nvme driver broke on real hw
anyway ill rewrite all my disk stuff cuz it bit sucks
cool
i love that gnome have mirrors on github
i have 3 issues rn
my page table destroy is trash
vmm unmap doesnt free some stuff allocated with kheap
glxgears output is lagging (but it shows 900 fps without optimizations)
fixed
issue was that heap didnt used freed memory
maybe its some timekeeping issue
fixed
and i fixed some race condition with futexes
time to fix this
and after ill rewrite my heap
fixed
i was freeing kernel page tables instead of user
for heap maybe ill port some
are you using the zap light16 font?
unifont
my honest reaction when libpng is broken and gtk cant run cuz of it



