klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
thinkpol has quit [Remote host closed the connection]
thinkpol has joined #osdev
* gog poops
gog has quit [Quit: byee]
edr has quit [Quit: Leaving]
netbsduser has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
Fingel_ has joined #osdev
sprocket is now known as sprock
Fingel has quit [Ping timeout: 252 seconds]
Fingel_ is now known as Fingel
carbonfiber has quit [Quit: Connection closed for inactivity]
gbowne1 has quit [Remote host closed the connection]
gbowne1 has joined #osdev
hunta987 has quit [Quit: Lost terminal]
sortie has quit [Ping timeout: 246 seconds]
netbsduser has joined #osdev
sortie has joined #osdev
Matt|home has joined #osdev
netbsduser has quit [Ping timeout: 268 seconds]
night has quit [Quit: goodbye]
night has joined #osdev
netbsduser has joined #osdev
Fingel has quit [Quit: Fingel]
Fingel has joined #osdev
Fingel has quit [Remote host closed the connection]
Fingel has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
netbsduser has joined #osdev
netbsduser has quit [Ping timeout: 272 seconds]
netbsduser has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
goliath has joined #osdev
zetef has joined #osdev
zetef has quit [Remote host closed the connection]
netbsduser has joined #osdev
neo has joined #osdev
netbsduser has quit [Ping timeout: 264 seconds]
gbowne1 has quit [Remote host closed the connection]
m3a has quit [Ping timeout: 268 seconds]
Fingel has quit [Quit: Fingel]
netbsduser has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
netbsduser has joined #osdev
spareproject has joined #osdev
netbsduser has quit [Ping timeout: 256 seconds]
m3a has joined #osdev
gog has joined #osdev
neo has quit [Ping timeout: 256 seconds]
navi has joined #osdev
zetef has joined #osdev
bauen1 has quit [Ping timeout: 260 seconds]
GeDaMo has joined #osdev
zetef has quit [Remote host closed the connection]
netbsduser has joined #osdev
neo has joined #osdev
netbsduser has quit [Read error: Connection reset by peer]
neo has quit [Ping timeout: 264 seconds]
zetef has joined #osdev
bauen1 has joined #osdev
netbsduser has joined #osdev
neo has joined #osdev
zetef has quit [Ping timeout: 255 seconds]
pretty_dumm_guy has joined #osdev
edr has joined #osdev
masoudd has joined #osdev
gog has quit [Read error: Connection reset by peer]
gog has joined #osdev
Arthuria has joined #osdev
Arthuria has quit [Killed (NickServ (GHOST command used by Guest684531))]
Arthuria has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
netbsduser has joined #osdev
Rubikoid has quit [Ping timeout: 252 seconds]
Rubikoid has joined #osdev
bauen1 has quit [Ping timeout: 240 seconds]
<kof673> > you could argue it is BLOATED (re: templates etc. the other day) not arguing either way, but there is surely some level of "compiler complexity" and run-time, for JITting and similar, etc. this is just to say, output code size is just part of the equation (but maybe the only part that one cares about)
<kof673> whatever values of "BLOATED" will differ in dynamic world versus "compile once, ship the binary"
netbsduser has quit [Ping timeout: 252 seconds]
<kof673> likewise, some level of "boostrap complexity" too, again, different people may or may not care
<bslsk05> ​ziglang.org: Goodbye to the C++ Implementation of Zig ⚡ Zig Programming Language
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
<zid> let the bitrot begin
<Ermine> mediatek is BLOATED
neo has quit [Ping timeout: 260 seconds]
* gog rots
<gog> fucking kill me
<zid> if you're rotting I fear that ship may have sailed
goliath has quit [Quit: SIGSEGV]
<gog> uh gangrene
<Ermine> that means you're partly dead
<zid> k I beat factorio
<zid> I have bots
<gog> sick
bauen1 has joined #osdev
MiningMarsh has joined #osdev
<kof673> what i mean is a bloated compiler maybe can output less bloated code :)
<kof673> time/space tradeoff
<kof673> and if all you care about is the final binary size, that "bloat" may be fine
<kof673> re: duplicate code sequences, make me think if you inlined everything or otherwise collapsed to a single function, would that kill performance having to jump and shuffle things more? but, that would seemingly be a good fit for massive "code dedupe", but maybe only useful on "small" programs
<kof673> someone tell me why that is wrong thinking...somehow would want something where it can all be analyzed at once
<gog> it's going to depend a lot on locality
<gog> if the function you need to call isn't in cache, then it's got a larger cost than an inline
<kof673> *be analyzed as a whole, akin to a single function, even if it did not actually literally get rewritten such, whether "source" or "output"
rsjw has left #osdev [#osdev]
xenos1984 has quit [Quit: Leaving.]
neo has joined #osdev
netbsduser has joined #osdev
Fingel has joined #osdev
zetef has joined #osdev
PapaFrog has quit [Quit: ZNC 1.8.2+deb3.1 - https://znc.in]
PapaFrog has joined #osdev
neo has quit [Ping timeout: 256 seconds]
Arthuria has quit [Ping timeout: 272 seconds]
netbsduser has quit [Ping timeout: 256 seconds]
spareproject has quit [Remote host closed the connection]
<kof673> https://stackoverflow.com/questions/31043717/how-to-completely-bootstrap-ghc-cabal-from-source > I also discovered that I need cabal for which I need to install Haskell first. It seems It's the snake that bites its own tail...
<bslsk05> ​stackoverflow.com: linux - How to completely bootstrap GHC & cabal from source - Stack Overflow
masoudd has quit [Ping timeout: 252 seconds]
Left_Turn has joined #osdev
<PapaFrog> Are there any good articles on how to structure your kernel? Like a best practice on what files to put in what directories.
netbsduser has joined #osdev
<gog> you can do whatever you want or you can mimick an existing project
<gog> idk if there's a "best" practice
<gog> there's style preference and reflecting how the code is organized
<gog> for C a TU is a namespace-in-itself, so i tend to treat directories as hierarchies of namespaces
<PapaFrog> I currently have everything except for lib functions in one directory. lol
<zid> best practice for what
<gog> it's also going to depend on build system
<zid> and language
<gog> yes
<gog> for a small project one directory is probably fine
<zid> for javascript, just put everything in one giant file, everything else is pessimal
<gog> yes
<gog> i mean i wouldn't know i'm not a webdev
<PapaFrog> a JS kernel.. owwwww.
<zid> for C, you just reuse the structure for any other project, nothing special about a kernel
Turn_Left has joined #osdev
<PapaFrog> I think for right now, I will have src/, src/lib, and src/driver.
<gog> in my active tree i have api boot core lib service
<zid> and what probles are you having with that?
Left_Turn has quit [Ping timeout: 255 seconds]
<PapaFrog> zid: Right now I have 15 source files in a directory.. I think it is a bit overwhelming.
<zid> overwhelming to do what?
<PapaFrog> Browsing.. finding what you are looking for.
bauen1 has quit [Ping timeout: 260 seconds]
<zid> I hate to know what you'd think of my filesystem then
<zid> but I'm afraid if 15 files is too many files, you may have to start catting your project's files together
<zid> linux has a few tens of thousands
<zid> monolithic kernel time (everything in one file)
<gog> ugh god no
<gog> more files better
<gog> if you're writing C having big files means more namespace pollution
<gog> gross
<gog> disgustang
<gog> and harder to work with because you have to keep coming up with more specific names for statics and private types
<zid> kernels aren't allowed statics :(
<zid> everything has to be TLS
<gog> oh yeah true
zetef has quit [Read error: Connection reset by peer]
zetef has joined #osdev
Fingel has quit [Quit: Fingel]
carbonfiber has joined #osdev
gog has quit [Quit: Konversation terminated!]
zetef has quit [Remote host closed the connection]
bauen1 has joined #osdev
<geist> static functions though. big files means you can have lots of non global namespace functions in general
<geist> depending on how your code is structured
<zid> static linkage <3
<zid> static storage duration is the evil one
<geist> are you talking about outside of fiunctions or inside functions?
<zid> both of those have static storage duration, it's just a scope change
<bslsk05> ​i.imgur.com <no title>
gog has joined #osdev
pretty_dumm_guy has quit [Quit: WeeChat 3.5]
masoudd has joined #osdev
<gog> ooof
<gog> i feel attacked and validated simultaneously
PapaFrog has quit [Ping timeout: 268 seconds]
Cindy has quit [Ping timeout: 264 seconds]
Cindy has joined #osdev
masoudd has quit [Killed (NickServ (GHOST command used by masoudd_))]
masoudd_ has joined #osdev
PapaFrog has joined #osdev
goliath has joined #osdev
masoudd_ has quit [Quit: Leaving]
<sham1> Good vibes only
gbowne1 has joined #osdev
neo has joined #osdev
\Test_User has quit [Quit: .]
\Test_User has joined #osdev
\Test_User has quit [Client Quit]
\Test_User has joined #osdev
<ghostbuster> is darwin/xnu the only modern descendant of Mach?
<nortti> depends on whether you could hurd as modern
heat has joined #osdev
<heat> webdev
<heat> i mean direct descendent yeah probably together with GNU hurd
<ghostbuster> .. is hurd still alive? wikipedia says last release 2016 which is still more recent than i would've guessed
<nikolapdp> it is actually, they are porting to x64 :)
op has joined #osdev
<ghostbuster> looks like there were also attempts to port hurd away from mach
Fingel has joined #osdev
neo has quit [Read error: Connection reset by peer]
<ghostbuster> and xnu is a hybrid of bsd and mach, right? mach for tasks and virtual memory but then a bsd posix layer on top of that?
neo has joined #osdev
<heat> hurd alive lol
<heat> i mean, one has to define alive
<heat> i would wager onyx is more alive than hurd in most metrics, with the same amount of users
<nortti> debian gnu/onyx when?
<heat> i'm a debian hater so never
<heat> fedora gnu/onyx some day
<nortti> does fedora care about anything other than linux?
<nortti> I thought debian was pretty alone in that
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 240 seconds]
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
goliath has quit [Quit: SIGSEGV]
<heat> not really
<heat> does debian?
<heat> they "care"
<heat> with many ""
<zid> does hurd support keyboards
<heat> no
<heat> typewriters only
<zid> feature parity with onyx then
op has quit [Remote host closed the connection]
neo has quit [Ping timeout: 272 seconds]
<Ermine> users as those who daily drive the system?
<gog> hi
<Ermine> hi gog
<Ermine> ghostbuster: hurd had release in 2021 or so
<Ermine> heat: btw remember, we're competing with sortix atm
Starfoxxes has quit [Ping timeout: 255 seconds]
wantyapps has joined #osdev
xenos1984 has joined #osdev
neo has joined #osdev
Starfoxxes has joined #osdev
Gooberpatrol66 has quit [Remote host closed the connection]
Fingel has quit [Ping timeout: 252 seconds]
MiningMarsh has quit [Ping timeout: 260 seconds]
MiningMarsh has joined #osdev
carbonfiber has quit [Quit: Connection closed for inactivity]
neo has quit [Read error: Connection reset by peer]
neo has joined #osdev
heat has quit [Quit: Client closed]
gildasio has quit [Ping timeout: 260 seconds]
<netbsduser> ghostbuster: it's mach as it was originally
<netbsduser> mach was built inside a 4.3BSD kernel and subsumed some of its responsibilities
<netbsduser> later it was able to build and run independently, but NeXTSTEP predated that move
gildasio has joined #osdev
heat has joined #osdev
<heat> Ermine: we compete with everyone
<heat> but i'd say windows is our main competitor
<heat> year of the onyx desktop is near
<heat> watch out
Matt|home has quit [Quit: Leaving]
neo has quit [Quit: brb]
<wantyapps> Hey everyone o/
<wantyapps> Has anyone ever tried porting glibc/something close to it, to an embedded system?
<nortti> embedded system in what sense?
<wantyapps> nortti: I just finished writing a basic kernel with GDT, IDT, etc.. (keyboard works, shell exists) and wonder if I should try to compile some more... heavy software _on it_
<wantyapps> for example, port vim and nvim
<wantyapps> (excuse my (probably) bad idea, it's 01:19 here)
<nortti> you don't need glibc for that, but you will likely be missing stuff in e.g. your terminal emulation that they'd want
<wantyapps> I am working on a POSIX-compliant shell at the moment, and some more stuff for proper emulation. But again, this is a relatively fresh kernel
<wantyapps> anyhow
<wantyapps> Good night nortti
<wantyapps> cya this time tomorrow
<heat> define embedded
<heat> glibc can run anywhere if you have enough memory and /probably/ 32-bits
<wantyapps> heat: Honestly, I don't know. I probably meant independent, not embedded
<heat> i have a glibc port
<wantyapps> dang, that's cool
<heat> i have a musl port
<heat> i've ported a bunch of 3rd party software, sortie has ported a *lot* of 3rd party software, managarm AFAIK also has a lot of ported software
<wantyapps> Although I did read on r/osdev that porting glibc/musl isn't ideal because of compatibility and just the amount of effort
<heat> including wayland I think?
<heat> my system is pretty similar to linux so there isn't a lot of effort to be made
<wantyapps> that's _genuinely_ cool
heat has quit [Quit: Client closed]
heat has joined #osdev
<heat> it is similar to linux because 1) i like linux 2) linux tends to be _okay_ 3) it tactically takes less effort to be a linux-ish system
<wantyapps> Understandable. Do you run linux on your main machines?
<heat> yes
<wantyapps> I run arch and others, but I'm starting to think about moving to BSD
<heat> like if you ask the freebsd ppl for a chromium port, they'll point you to their linuxulator that tries hard to pretend to be linux
<wantyapps> for the sake of it
<heat> it Just Works
<wantyapps> huh.
<heat> actually for chromium they might have a native port
<heat> but for most shit (like vscode lets say) they rely on this
<wantyapps> but I get your point
<wantyapps> Guess I won't be moving soon, I am kinda dependent on linux native packages
<wantyapps> also, It's nice being a linux contributor... working on linux :p
<heat> linuxulator is a binary-level compat layer even, because the base BSD system is ofc very similar to linux as well, the system calls are very similar
<heat> mostly because of historical raisins but now tactically too as there's little to port
<MrBonkers> Managarm has indeed a metric truckload of ports
<wantyapps> I need to read more about BSD before considering it as an option.
Gooberpatrol66 has joined #osdev
<MrBonkers> including wayland yes, but also stuff like GTK and Qt and there’s work on GNOME and KDE stuff
<heat> MrBonkers: is there a port list?
<wantyapps> Although I am, again, pretty dependent on the native linux workflow, so... won't be leaving soon
<heat> also mlibc mlibc mlibc
<heat> just making sure you get pinged enough :P
<wantyapps> heat: mlibc?
<MrBonkers> :P
<MrBonkers> yeah, in my head. Or actually
<bslsk05> ​reporter.electrode.codes: Managarm Package Reporter
<MrBonkers> Lists 286 ports currently known (it pulls information from the Github repo and our build server)
<MrBonkers> wantyapps: yeah mlibc is our C library
<heat> you need to update your xz to xz 5.6.1
<heat> it contains a lot of interesting important features
<MrBonkers> We build from VCS for the most part anyway :P
<heat> are you making a stable release? do it quick with xz 5.6.1
<MrBonkers> but no thanks
<wantyapps> MrBonkers: sorry for the stupidity. Who's C library?
<wantyapps> :)
<heat> mangarm's
<heat> managarm
<heat> 's
<wantyapps> gotcha
<MrBonkers> the C library in use by The Managarm Project (https://github.com/managarm/mlibc)
<bslsk05> ​managarm/mlibc - Portable C standard library (106 forks/755 stargazers/NOASSERTION)
<wantyapps> and managram is an Operating System?
<wantyapps> nevermind - I'll RTFM
<MrBonkers> sure is
<wantyapps> good night everyone!
<wantyapps> cya later
<MrBonkers> good night!
<wantyapps> asm volatile("hlt")
<heat> is The Managarm Project some sort of copyright asssignment thing you have
<heat> cuz that sounds very googley
<heat> with a CLA too
<MrBonkers> As far as I’m aware that isn’t copyrighted
<MrBonkers> (I sure hope it isn’t cuz we don’t have it :)
<MrBonkers> and we don’t do CLA’s either. Just behave lol
<heat> CLA != CoC btw
<MrBonkers> We have neither
<heat> CLA is basically what you sign when companies don't know how to do open source
<MrBonkers> Yeah
<Ermine> heat: Windows is a boss
<wantyapps> just popping in: Looked at the github for s/managram/managarm and it looks fantastic! Even glxgears! will absolutely read the code thorughly
<wantyapps> gniht
<wantyapps> gnight
<Ermine> final boss even
<heat> onyx is windows' final boss
<MrBonkers> Ah the times where glxgears was top level
<MrBonkers> nowadays I flex gnome-calculator and WebKitGTK. Maybe the old chromium screenshot (that bitrotted away unfortunately)
<heat> do you have drm running on some server thing i assume managarm has
<heat> *probably* not the kernel
<Ermine> when you play uno inverse card
<MrBonkers> (KDE equivalent of gnome calculator is also a thing locally if you prefer QT)
<MrBonkers> DRM runs in userspace yes
<heat> do you have a link?
<heat> i've been meaning to port DRM Eventually
<MrBonkers> Gimme a sec, I can link you the code
<wantyapps> I remember looking at an 11-year-old post about #osdev @ freenode
<wantyapps> it was about a competition to see who ports glxgears the fastest
<qookie> heat: drm is a shared library linked into the graphics driver servers :^)
<bslsk05> ​github.com: managarm/core/drm at master · managarm/managarm · GitHub
<Ermine> heat: what about alsa?
<MrBonkers> And libdrm and friends obviously
<heat> AUDIO IS FOR SUCKERS
<Ermine> ????
<heat> MrBonkers: oh you have your own drm
<heat> yeah that's not going to be me :))
<Ermine> oh c++
<heat> i'm looking to just get linux drm and cover it with a layer of my own crap and let it rip
<MrBonkers> We are compatible with Linux DRM but we did write our own heah
<heat> it's slightly annoying because of my own APIs are simply slightly different, or missing, or are in C++ (radix fucking trees)
<MrBonkers> *yeah
heat41 has joined #osdev
Left_Turn has quit [Read error: Connection reset by peer]
<heat41> this web client suxz
<wantyapps> heat41: weechat gang
<wantyapps> in tty rn
<heat41> MrBonkers: your openssl is really out of date
<wantyapps> inside tmux
<heat41> yeah but im on windows
<wantyapps> ohh
<wantyapps> lul
<heat41> and i'm not installing an irc client on windows because THATS FOR NERDS
<MrBonkers> yep I really need to run a bunch of updates on the stack
<wantyapps> correct. But why windo*s?
heat81 has joined #osdev
<MrBonkers> too busy currently fighting gobject-introspection but after that it’s probably time for updates
<MrBonkers> or fixing InitWare (systemd fork ish written by netbsduser)
<heat81> this is where Ermine asks me "onyx systemd port when" and i say "actually some day maybe"
<MrBonkers> I always said (and I stand by it). Managarm will get a systemd port
heat has quit [Ping timeout: 250 seconds]
<Ermine> heat41: this is the kind of requests I do while being drunk
heat41 has quit [Ping timeout: 250 seconds]
heat has joined #osdev
<heat> Ermine: oh yeah right you use alpine
<heat> openrc Some Day
<heat> s6-init never
<heat> you'll have to maintain it out of tree
heat51 has joined #osdev
<Ermine> openrc is a kind of request I do after eating lsd
<heat51> and i'll have to fuck off because this client is so borked. web.libera.chat pls fix
<heat51> you know what irc client works flawlessly? irssi on onyx
heat81 has quit [Ping timeout: 250 seconds]
<MrBonkers> Hexchat on Managarm works fine and is fancy GTK2! (Also like the only reason I keep GTK2 around in Managarm)
<Ermine> as for s6... you're just hator
<Ermine> windows subsystem for onyx when
<heat51> they're too busy with AI to acknowlege their true rival
heat has quit [Ping timeout: 250 seconds]
heat51 has quit [Ping timeout: 250 seconds]
<netbsduser> s6 is probably quite portable
<netbsduser> skarnet will insist on posixy behaviour though
<netbsduser> he would undoubtedly be loathe to tolerate deviation unless forced to by a platform's popularity
hunta987 has joined #osdev
navi has quit [Quit: WeeChat 4.2.1]
gog has quit [Quit: byee]