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
antranigv has quit [Quit: ZNC 1.9.0 - https://znc.in]
antranigv has joined #osdev
xx0a_q has joined #osdev
memset has joined #osdev
X-Scale has joined #osdev
josuedhg has quit [Quit: Client closed]
obrien has quit [Remote host closed the connection]
dude12312414 has joined #osdev
dude12312414 has quit [Client Quit]
memset has quit [Remote host closed the connection]
<mcrod> hi
memset has joined #osdev
<nikolar> oi
<Matt|home> evening..
gog has quit [Quit: byee]
X-Scale has quit [Ping timeout: 256 seconds]
<Matt|home> awwwwww hi kitttttyyyy ^^
Stellacy has quit [Quit: Leaving]
* Matt|home pets kitty
memset has quit [Ping timeout: 260 seconds]
vdamewood has joined #osdev
linear_cannon has joined #osdev
<heat_> wacom tablets work well on linux
<heat_> probably cuz some neckbeard made it so so he could draw his anime girls
<heat_> yearo f thee linux desktop
linearcannon has quit [Read error: Connection reset by peer]
<clever> heat_: are they just absolute HID devices now, or something more special?
<clever> ive delt with absolute mice a lot when doing VM stuff
<heat_> dunno, didn't check
xx0a_q has quit [Quit: WeeChat 4.3.5]
sbalmos has quit [Quit: WeeChat 4.3.5]
memset has joined #osdev
X-Scale has joined #osdev
Stellacy has joined #osdev
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
edr has quit [Quit: Leaving]
xenos1984 has quit [Read error: Connection reset by peer]
<nikolar> Matt|home: kitty indeed
xenos1984 has joined #osdev
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Matt|home has quit [Ping timeout: 256 seconds]
gorgonical has quit [Ping timeout: 248 seconds]
dostoyevsky2 has quit [Quit: leaving]
dostoyevsky2 has joined #osdev
gcoakes has joined #osdev
heat_ has quit [Remote host closed the connection]
X-Scale has quit [Ping timeout: 256 seconds]
smeso has quit [Quit: smeso]
smeso has joined #osdev
isabella has joined #osdev
<isabella> hi, asking here because you guys probably know, but i suspect the answer is no
<isabella> is there a way to specify the initial register values for an elf binary?
<isabella> i'm open to trying other binary formats too, maybe, as long as linux can run them
<isabella> not things like binfmt-misc tho
<clever> isabella: none that i know of, if you want something in a register, then just use a mov or ld opcode to put the value in there, in your _start routine
<isabella> yeah
<isabella> makes sense
<isabella> thanks anyway
<clever> depending on the platform, there may be some things already loaded into registers/ram for you
<clever> but not much you can really change
<isabella> what if i only need to set a certain value in rax
<clever> userland binaries have a valid stack pre-configured, and some special data already in the stack
<isabella> what if i was on like arm or something
<clever> baremetal or userland?
<isabella> userland linux
<clever> then its what i already said, the stack will be pre-configured, and some data already on the stack
<isabella> ah i have a follow up question
<bslsk05> ​articles.manugarg.com: About ELF Auxiliary Vectors
<isabella> can i tell linux to not place a [stack] map
gildasio has quit [Remote host closed the connection]
<isabella> i know i can disable vdso with a kernel parameter
<clever> i dont think so
<clever> you need a stack to pass the argv on
gildasio has joined #osdev
<isabella> what if my argv is super special
<bslsk05> ​izabera/selfexec - (0 forks/0 stargazers)
<clever> then patch linux to add support for your custom binary format
<isabella> :(
<clever> or use clone() to make a new process, and unmap everything you dont want
<isabella> can't because reasons
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
<isabella> i thought it'd be funny if i called the binary \x7fELF and manage to have a single page loaded in memory
<clever> there is some wonky formats like FLAT and elf-dpic? that ive run into on risc-v nommu
<clever> which might allow some of that?
<isabella> i'm not super familiar with either of those
<isabella> do you have some learning resources?
<bslsk05> ​github.com: linux/fs/binfmt_elf.c at master · torvalds/linux · GitHub
<clever> and the other binfmt files in that directory
<clever> such as fdpic and flat
<isabella> many thanks
<clever> isabella: oh, and modern security stuff, really dislikes a single page being both +w and +x at the same time, so what your wanting to do is already nasty! :D
<isabella> well it doesn't need w
<clever> then where will your stack live?
<clever> how will you call any functions?
<isabella> look at x.s
<clever> nasty! :D
<isabella> i thought it was cute
<isabella> linux supports execve(name, NULL, NULL)
<isabella> i spent longer than i'll admit looking at strace and thinking it didn't manage to load the page at 0, because it was showing execve(NULL, NULL, NULL) and instead i expected it to print the filename
kfv has joined #osdev
gildasio has quit [Remote host closed the connection]
chiselfuse has quit [Remote host closed the connection]
gildasio has joined #osdev
chiselfuse has joined #osdev
memset has quit [Ping timeout: 260 seconds]
Marsh has joined #osdev
MiningMarsh has quit [Ping timeout: 276 seconds]
Marsh is now known as MiningMarsh
goliath has joined #osdev
memset has joined #osdev
kfv has quit [Remote host closed the connection]
kfv has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
vdamewood has joined #osdev
kof673 has joined #osdev
gcoakes has quit [Ping timeout: 260 seconds]
Stellacy has quit [Quit: Leaving]
Yoofie647 has joined #osdev
Yoofie64 has quit [Ping timeout: 252 seconds]
Yoofie647 is now known as Yoofie64
X-Scale has joined #osdev
Starfoxxes has joined #osdev
X-Scale has quit [Ping timeout: 256 seconds]
Stellacy has joined #osdev
seds has joined #osdev
memset has quit [Ping timeout: 260 seconds]
X-Scale has joined #osdev
Stellacy has quit [Quit: Leaving]
bliminse has quit [Quit: leaving]
Stellacy has joined #osdev
Stellacy has quit [Remote host closed the connection]
X-Scale has quit [Ping timeout: 256 seconds]
seds has quit [Ping timeout: 245 seconds]
memset has joined #osdev
X-Scale has joined #osdev
bliminse has joined #osdev
Yoofie641 has joined #osdev
X-Scale has quit [Ping timeout: 256 seconds]
Yoofie64 has quit [Ping timeout: 255 seconds]
Yoofie641 is now known as Yoofie64
Stellacy has joined #osdev
X-Scale has joined #osdev
X-Scale has quit [Ping timeout: 256 seconds]
Stellacy has quit [Quit: Leaving]
Left_Turn has joined #osdev
X-Scale has joined #osdev
Stellacy has joined #osdev
GeDaMo has joined #osdev
Stellacy has quit [Quit: Leaving]
Stellacy has joined #osdev
X-Scale has quit [Ping timeout: 256 seconds]
kfv has quit [Ping timeout: 260 seconds]
kfv has joined #osdev
foudfou has quit [Remote host closed the connection]
rustyy has quit [Quit: leaving]
foudfou has joined #osdev
Yoofie643 has joined #osdev
Yoofie64 has quit [Ping timeout: 252 seconds]
Yoofie643 is now known as Yoofie64
rustyy has joined #osdev
<Ermine> isabella: welcome to #osdev
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
Yoofie646 has joined #osdev
Yoofie64 has quit [Ping timeout: 245 seconds]
Yoofie646 is now known as Yoofie64
Gooberpatrol66 has quit [Ping timeout: 264 seconds]
azonenberg has quit [Ping timeout: 258 seconds]
exark_ has joined #osdev
exark has quit [Read error: Connection reset by peer]
azonenberg has joined #osdev
vai has quit [Ping timeout: 258 seconds]
jimbzy has quit [Read error: Connection reset by peer]
\Test_User has quit [Ping timeout: 265 seconds]
\Test_User has joined #osdev
bauen1 has quit [Ping timeout: 260 seconds]
spareproject has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 264 seconds]
seds has joined #osdev
X-Scale has joined #osdev
X-Scale has quit [Ping timeout: 256 seconds]
bauen1 has joined #osdev
edr has joined #osdev
jjuran has quit [Read error: Connection reset by peer]
jjuran has joined #osdev
xx0a_q has joined #osdev
X-Scale has joined #osdev
GreaseMonkey has quit [Remote host closed the connection]
gcoakes has joined #osdev
marshmallow has joined #osdev
X-Scale has quit [Quit: Client closed]
gcoakes has quit [Ping timeout: 244 seconds]
memset has quit [Ping timeout: 260 seconds]
sbalmos has joined #osdev
xenos1984 has quit [Ping timeout: 272 seconds]
xx0a_q has quit [Quit: WeeChat 4.3.5]
xenos1984 has joined #osdev
jimbzy has joined #osdev
memset has joined #osdev
kfv has quit [Ping timeout: 276 seconds]
Stellacy has quit [Quit: Leaving]
goliath has quit [Quit: SIGSEGV]
bauen1 has quit [Ping timeout: 252 seconds]
spareproject has quit [Remote host closed the connection]
hwpplayer1 has joined #osdev
seds has quit [Ping timeout: 248 seconds]
seds has joined #osdev
hwpplayer1 has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
hwpplayer1 has joined #osdev
seds has quit [Ping timeout: 265 seconds]
heat has joined #osdev
hwpplayer1 has quit [Quit: I'll be back later take care !]
jjuran has quit [Quit: Killing Colloquy first, before it kills me…]
jjuran has joined #osdev
bauen1 has joined #osdev
josuedhg has joined #osdev
MiningMarsh has quit [Quit: ZNC 1.9.1 - https://znc.in]
* mjg contributed to onyx
<mjg> what did you accomplish today
<heat> i merged mjg's contribution
<mjg> i concede i did not build test tho 8(
<mjg> so does your kernel reclaim inodes yet
MiningMarsh has joined #osdev
<heat> no i was thinking about finally doing umount
<Ermine> heat: re wacom, I was surprised that it works on linux. But iirc it was done by wacom employers
<Ermine> heat: what aur helper do you use
<heat> yay
<Ermine> thx
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
<heat> it looked like typical usb HID shit fwiw, i just can't tell what it is from the dmesg
eddof13 has joined #osdev
xenos1984 has quit [Ping timeout: 264 seconds]
xenos1984 has joined #osdev
frkzoid has joined #osdev
xx0a_q has joined #osdev
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
osdev199 has joined #osdev
op has joined #osdev
josuedhg has quit [Quit: Client closed]
<osdev199> Raam Raam sa everyone (greeting with God's name). My nvme read function is going into infinite loop while checking the I/O completion queue after submitting the entries. Here is my `read_nvme` implementation: https://github.com/robstat7/Raam/blob/d62f34de0722681ffaf550761cadfb07f1f25543/source/nvme.c#L485C6-L485C15
<bslsk05> ​github.com: Raam/source/nvme.c at d62f34de0722681ffaf550761cadfb07f1f25543 · robstat7/Raam · GitHub
<osdev199> And here is the function checking the completion queue: https://github.com/robstat7/Raam/blob/d62f34de0722681ffaf550761cadfb07f1f25543/source/nvme.c#L288
<bslsk05> ​github.com: Raam/source/nvme.c at d62f34de0722681ffaf550761cadfb07f1f25543 · robstat7/Raam · GitHub
memset has quit [Remote host closed the connection]
memset has joined #osdev
X-Scale has joined #osdev
gog has joined #osdev
gog has quit [Remote host closed the connection]
gog has joined #osdev
xenos1984 has quit [Ping timeout: 252 seconds]
kfv has joined #osdev
eddof13 has quit [Quit: eddof13]
<osdev199> Going to sleep in 15 min.
xx0a_q has quit [Quit: WeeChat 4.3.5]
kfv has quit [Max SendQ exceeded]
netbsduser has joined #osdev
xenos1984 has joined #osdev
<heat> not sure what i hate more, gnu make or kbuild
<heat> i'm a simple person, i admit gnu make sucks and so my makefiles are super unergonomic
<heat> kbuild decides they should wrap everything in intense layers of macros and other terrible stuff, just to make makefiles okay
op has quit [Remote host closed the connection]
rom4ik1 has quit [Quit: bye]
rom4ik1 has joined #osdev
<Ermine> but kbuild has tui and gui
eddof13 has joined #osdev
osdev199 has quit [Remote host closed the connection]
<netbsduser> i mostly only see kbuild used for os/2 stuff
<netbsduser> i think virtualbox is its most famous other user
<netbsduser> and it's gnu make based itself, just they have a fork of gnu make (and of ash and sed and grep, too)
<heat> kbuild does not have a fork of anything, it's just makefiles
<heat> Ermine, that's kconfig
<heat> which i did just add to onyx
<Ermine> oh
<netbsduser> heat: i am afraid you are mistaken, it has all these: https://trac.netlabs.org/kbuild/browser/trunk/src
<bslsk05> ​trac.netlabs.org: src in trunk – kBuild
<heat> mon that's virtualbox's problem
<heat> kbuild as in the kernel has no such thing
<heat> it is literally just a bunch of cobbled up makefiles and makefile includes
<netbsduser> i thought you were on about the virtualbox thing
<netbsduser> also well known because firefox-for-os/2 threw out the entire python build system and put kbuild in instead
eddof13 has quit [Quit: eddof13]
Matt|home has joined #osdev
X-Scale has quit [Ping timeout: 256 seconds]
fkrauthan has quit [Quit: ZNC - https://znc.in]
fkrauthan has joined #osdev
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
<heat> netbsduser, nope, the vbox thing looks different
<heat> fwiw ever since i figured out you need to summon satan to get a single .o out of meson that i'm less of a fan of meson for low level stuff
<nikolar> i am convinced that 95% of projects would be fine with a basic makefile
<nikolar> instead of meson or cmake
<heat> depends, how complex are we talking here?
<nikolar> the complexity of the 95% of the least complex c or even c++ code
eddof13 has joined #osdev
<heat> cmake and meson do stuff for you, and that stuff tends to be hard or tedius
<heat> tedious*
<nikolar> like what
eddof13 has quit [Client Quit]
<heat> like doing dependency discovery, setting up all the -MMD switches properly, configuration options, rebuilding when config changes, compiler portability, etc
<nikolar> compiler portability is the only thing you can't do automatically at all in make
eddof13 has joined #osdev
<nikolar> you'd have to rewrite all the flags and whatnot yourself
<nikolar> but rebuilding with config changes is just like $(OBJS): Makefile
<nikolar> or whatever
seds has joined #osdev
<heat> everytarget: Makefile <every other makefile fragment> <all environment variables> <.config file if your project has one>
<nikolar> sure
<heat> linux kbuild literally goes to awful lengths to do this sort of stuff, literally makefile metaprogramming within make itself
<nikolar> i doubt that linux falls into the 95% of the simplest projects
<heat> i am aware
<heat> but kbuild provides most of what you'd expect on a modern build system
<nikolar> is kbuild usable as a general build system
<nikolar> ie, outside of the kernel
<bslsk05> ​github.com: GitHub - embedded-it/kbuild-template: Use Kbuild build system for your own applications. This is a small kbuild template, that you can easily adapt to your own needs.
kpel has joined #osdev
<nikolar> huh neat
<nikolar> i am probably going to play around with it
<nikolar> weren't you porting onyx to kbuild or something
eddof13 has quit [Quit: eddof13]
karenthedorf has joined #osdev
asarandi has quit [Quit: WeeChat 4.2.2]
asarandi has joined #osdev
<heat> no
<heat> i got kconfig
<heat> kconfig is just the menuconfig stuff
<nikolar> ooh right
<nikolar> i remember you mentioning something
<heat> kconfig is fortunately pretty nice and pretty self-contained apart from the little layer of kbuild i had to bring in
<nikolar> that's neat
<nikolar> other projects use kconfig too right
<nikolar> i think busybox has a config that looks basically the sam
<nikolar> and works
<heat> busybox, toybox, yocto
<heat> yes
<nikolar> neat
<heat> as for the rest of the build, i haven't liked my build system for a long time, nor do i have any real solutions
spareproject has joined #osdev
<nikolar> switch to kbuild kek
<netbsduser> i reluctantly use Meson
<netbsduser> it is oPiNiOnAtEd
<netbsduser> that's what you call it when software arbitrarily refuses to do whatever its creator didn't foresee a use case for
<nikolar> kek indeed
<heat> no, meson is actually opinionated towards normal software
<heat> you need to fucking die to get it to shit out a .o
<nikolar> that's very opinionated if you ask me
<Matt|home> afternoon.
<nikolar> ello
<heat> i can't imagine how i'd get it to shit out a .a that's actually partially linked in a specific way
<heat> and then possibly later preprocessed with more information
<nikolar> again, very opinionated
<heat> what is?
<Matt|home> ... off topic but anyone using gnome in debian rn? this is the weirdest sound bite i've ever heard..
<nikolar> heat: not letting you write custom rules for that sort of thing
<Matt|home> hitting the back key in hexchat's text input box gives me this really fascinating reverb sound, never heard it before. weird
<heat> nikolar, i think you can but it's a total nightmare
eddof13 has joined #osdev
<nikolar> exactly
<GeDaMo> Matt|home: which terminal?
<heat> vs make which trivially lets you do this sort of stuff, but makes normal stuff hard to do
* Ermine thinks of generating build.ninja from configure script
<nikolar> heat: well depends on what you want to do
<Matt|home> GeDaMo - idk, i just installed debian 12 or whatevs and under tasksel i clicked gnome
<nikolar> if you want to just compile a bunch of c sources to .o and link then together, it's very simple
<GeDaMo> See if the terminal has a settings
<Ermine> upside of build.ninja is ezpz compile_commands.json
<netbsduser> something i want to implement in my kernel in the medium/long term: per-table locking for both process page tables and the tables used for vm objects to point to their pages
<nikolar> Ermine: ezpz compile_commands.json for everything if you use bear
<netbsduser> with a top level of a few pointers to pages in the vm object struct itself for the "someone opened a few-hundred byte file" case
<Ermine> nikolar: bear is analyzing output make, so it's inherently hacky
<nikolar> it's not
<Ermine> make output*
<nikolar> it's interpecting the call to the compiler and collecting the args
<nikolar> and it doesn't care what you run it with
<Ermine> so it ptraces make or whatever?
<Ermine> yikes
<nikolar> eh i forget what actuall mechanism it uses
X-Scale has joined #osdev
<heat> LD_PRELOAD
<nikolar> it might be manipulating path or somethign
<nikolar> or that
<Ermine> heat: more yikes
<heat> i mean, way better than ptrace if you ask me
<nikolar> that's less yikes
<nikolar> i mean when heat and i agree, then there must be someting to it :P
<heat> side-effect: doesn't support statically linked make
<zid> Yea, collective mass hysteria
<heat> #musl in shambles
<nikolar> lel
<heat> fwiw bear might also support ptrace, i vaguely recall it having various methods
<nikolar> i don't remember
<netbsduser> i forget some people really like static linking and loathe shared linking
<Ermine> ld_preload, aka the thing malware uses to hide its prescense from you
<heat> ah no, it can create wrappers
<nikolar> yeah that would make sense
<nikolar> just have a script that's earlier in $PATH
<nikolar> i don't think dynamic linking is evil, but i prefer static linking
<netbsduser> i never understood this static linking thing personally
<zid> do wayland people love static linking still
<nikolar> you just link everything into one binary :P
<zid> that's the one thing I knew about them, a few years ago
<nikolar> wayland is probably as much of a mess as it was back then zid
<nikolar> you didn't miss much P
<zid> So now none of their shit works anymore, because they don't implement the reverse smellovision server api
<netbsduser> i think they just got themselves worked up into a little tissy because they used systems lacking the sun engineering ethos, which played fast and loose and broke things all the time
<heat> nikolar, wayland works generally better than xorg
<nikolar> define generally better
<nikolar> my brother is on wayland and he's complaining about stuff that's missing all the time
<heat> generally fixes a bunch of problems people had
<nikolar> like what
<heat> IIRC, vsync issues at least
<nikolar> xorg never had issues with vsync
<nikolar> screen tearing is just enabled by default for some reason
<heat> lol
Starfoxxes has quit [Read error: Connection reset by peer]
<GeDaMo> Screen tearing ☑
<nikolar> i don't get why distros ship xorg with screen tearing enabled honestly
X-Scale has quit [Ping timeout: 256 seconds]
<nikolar> heat does onyx boot on arm
<Ermine> I guess it depends on the device?
<Ermine> nikolar: xorg does have tearing issues
<nikolar> well if it does, i've never come across them
<Ermine> I did
<heat> nikolar, uhh, i have a branch that would supposedly boot, but it's not finished and i haven't touched it for a year so it's completely out of date wrt master
<nikolar> what did you even test it on
<heat> my rpi in kvm
<nikolar> ah fair enough
<zid> xorg does if the driver does
<zid> windows has screen tearing issues on all drivers
<Ermine> or if you don't use compositor
<zid> you can completely disable screen tearing on linux by using an nvidia driver and enabling triple buffering on the desktop or whatever you wanna do
<zid> regardless of what xorg tries, it can't tear that way
seds has quit [Remote host closed the connection]
<nikolar> zid: basically
<zid> wdm on windows just tears for fun
<Ermine> there are people which don't use nvidia
seds has joined #osdev
<nikolar> i don't
<Ermine> e.g. intel
<nikolar> and i haven't had issues with tearing on either intel or amd
<Ermine> enabling TearFree caused artifacts for me
<nikolar> *after disabling tearing
<Ermine> windows never teared on that chip btw
<Ermine> and plasma got triple buffering only recently
<nikolar> i haven't run windows in a long time so can't compare
<Ermine> The device I'm talking about has both windows and artix
<nikolar> maybe your linux install is allergic to windows :P
eddof13 has quit [Quit: eddof13]
<Ermine> heat: imo the problem with wayland is that they don't follow 'primum non nocere' principle, and that causes users to frustrate
eddof13 has joined #osdev
<nikolar> also everything useful is in optional extensions, so the support varies
<heat> i dont get it
<nikolar> and also shelling out to third party software (like pipewire for screen recording) which de facto makes it a part of the wayland
<heat> spill the beans in a non-ancient language
<zid> all versions of windows tear if you do shockingly abnormal things like
<zid> playing a video in one window, overlaying another window on top of it, then scrolling that top window
<nikolar> kek
<zid> there's some random bug in the compositor that's been there since aero
<zid> and is still there
<Ermine> nikolar: artix is allergic to windows? asking you as artix maintainer
<nikolar> i was kidding
<nikolar> i am not aware of any dual booting issues
<bslsk05> ​pt.wikipedia.org: Primum non nocere – Wikipédia, a enciclopédia livre
<heat> i can also use wikipedia
<heat> i didn't get it
<heat> i follow the "Quod licet Iovi, non licet bovi" principle
<zid> pt.
<zid> does heat actually speak pot
<Ermine> kek
kpel has quit [Ping timeout: 272 seconds]
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
<Ermine> E.g. wayland doesn't have global coordinate system. That leads to the fact that windows can't position themselves. And that breaks workflows in some apps. People don't like this
Bonstra has quit [Quit: Pouf c'est tout !]
<heat> well, yes, wayland had to do away with many bad xorg decisions
<heat> like "every program can read every other window"
<zid> dw, that's now broken FOREVER, even if they fix it
<zid> because static linking
<zid> :D
<nikolar> what Ermine has just said has nothing to do with xorgs bad decision
<zid> only windows made after 2025 can position themselves
<nikolar> this is purely wayland's bad decision
<Ermine> nikolar: it has to do
<heat> i would assume there's a very good reason for it
<zid> every windows window can read every other window, send it fake messages, etc
<Ermine> when I asked them why did they do this, I've got a reasonable answer
<nikolar> the reason is screw you we didn't think of this
<zid> it's just processes, but visual
<nikolar> Ermine: what was it
<heat> the people that work on wayland are the exact same that worked on xorg for years or decades
<zid> It's how EVERYTHING cool works, in windows
<zid> screen capture, aimbots, hotkey programs, etc
<nikolar> heat: sure, doesn't mean that they can't mess up
<nikolar> btw the xorg was is primarily making the existing thing keep working while removing bugs
<zid> xorg has some decisions you wouldn't make today
<nikolar> wayland work is making a thing from scratch
<nikolar> very different things
<zid> but they handed off SO much shit to the driver
<zid> that it didn't ultimately matter
<nikolar> basically
<zid> nvidia just used all the hooks
<zid> which xorg put in as part of the design
<heat> yes, they can do a cleaner design with all the experience they had from fucking up xorg
<zid> to make it work how you'd expect it to work
Bonstra has joined #osdev
<nikolar> heat: my point is that the experience they had with xorg was very different to waht they are doing with wayland
<heat> no? xorg had a lot of development before wayland became The Thing
<heat> anyway
<zid> xorg has more forks than wayland has good ideas
<nikolar> did it really change significantly, in the decade before wayland was a thing
<nikolar> zid: kek
<heat> sure? one has to assume they weren't in maintainership mode for decades
<heat> e.g they moved gpu drivers out of xorg and into the kernel, and then into mesa
<nikolar> i am not talking about internals btw
<nikolar> i am talking about the interface with user software
<nikolar> the x11 protocol
<heat> dunno
<netbsduser> if wayland were so cool
<netbsduser> then it would have ever ran on my OS
<nikolar> where's wayland11
<netbsduser> it hasn't, but xorg has
<nikolar> kek
<heat> sir, wayland is a protocol, not software
<nikolar> wayland is the protocol
<netbsduser> the only conclusion i can make is that wayland sucks while x.org is based
<nikolar> xorg is the protocol they inherited, plus the implementation
<heat> when are you running motif
<nikolar> and they had experience with implementation
<nikolar> the protocol was basically frozen
<Ermine> protocol is x11
<netbsduser> heat: alright, thne one of the 9001 wayland compositors
<netbsduser> i would like to port CDE eventually
<nikolar> Ermine: yes correct
<nikolar> netbsduser: good idea
<netbsduser> cde was already ported to linux in the early 90s so it can't expect too much
<heat> any objections to: grep -v "#" .config | sed -E -e 's/=/ /' -e 's/^[^\n]/#define C/'
<nikolar> xorg the project is x11 the protocol plus xorg the implementation, how about that Ermine
<heat> i'm sure i could use awk to do the same, cleaner but i don't want to necessarily introduce a build dep on awk
<netbsduser> in the future, realistically, i am likely to want to bring wayland + a wayland comprositor to my OS
<nikolar> so you want to transform the config into a header?
<heat> basically discards # lines, replaces = with a space and prefixes #define
<heat> yes
<nikolar> ah ok
<heat> i had a script in python
<nikolar> seems mostly fine to me
<netbsduser> i loathe wayland aesthetically, it is hard to imagine something more fundamentally at odds with my sensibilities
<nikolar> i agree netbsduser
<netbsduser> but it looks like we are going to be hit by it, as if tied to rails by a maniac with a speeding train heading towards us
<nikolar> kek
<nikolar> a lot of linux desktop has been like that in the past hasn't it
<netbsduser> if i want to have ports of relevant software (i do) i will have to face up to that
<Ermine> I loathe Xlib aesthetically and technically
<netbsduser> and xorg is hardly the lean, mean, and respectable server that some other historic X servers were
<nikolar> now i wonder if there's a hobby os with proper gpu 3d acceleration
<netbsduser> it's just that by its legacy it is portable to anything with unix sockets (maybe internet sockets?) and a few trivialities
<netbsduser> nikolar: managram was making progress with virtio-gpu
<Ermine> haiku
<nikolar> really?
GreaseMonkey has joined #osdev
<netbsduser> haiku has several developers on retainer
<netbsduser> they are always contracting them to do something or other
<Ermine> i heard they've ported drm
<nikolar> huh neat
<netbsduser> it's only "hobby" in a very loose sense
<nikolar> yea that was my opinion too
<nikolar> i was expecting something more on the onyx scale
<nikolar> maybe serenityos scale before a bunch of people got on
<netbsduser> serenity was like that too, but they directed all money towards their webrowser and now they've taken the web browser away and let serenity fend for itself
seds has quit [Ping timeout: 276 seconds]
<nikolar> basically
<heat> netbsduser, what's the problem with wayland aesthetically? lol
<heat> do you not like the logo :v
Gooberpatrol66 has joined #osdev
<netbsduser> heat: it is hard to express
<netbsduser> but wayland "feels" like another of those linux userland trinkets so ill regarded in all other areas
<netbsduser> it even has XML to reflect the trends of the hour of its creation
<netbsduser> and i'm sorry but that hour was far less cool than the 1980s
<heat> xorg is decidedly not cool
<heat> defending xorg over wayland is like defending netware over freebsd 13
<netbsduser> netware is also aesthetically cool
<netbsduser> xorg is not so much
<netbsduser> x11's heritage on the other hand is undeniable
<heat> x11 and xorg's heritage is _wayland_
<netbsduser> that's not heritage
<netbsduser> these people are not true believers in distributed systems
<heat> good
<heat> who tf does xorg over the network these days?
<netbsduser> how many of the xorg people ever stepped foot in the labs of MIT's project athena?
<heat> dude what
<Ermine> surprisingly enough, there are people who do xorg over network
<netbsduser> the point is that they have no connection with the history of X11
<heat> how so?
<netbsduser> when i last looked most of them were linux hackers who maintained something that was adopted into the linux userland
<heat> how many other implementations of X11 are there and how many users do they have? who was responsible for most X11 extensions?
<Ermine> but Drew wrote on this topic: 'little about wayland is inherently network opaque'
<Ermine> macos has xquartz btw
<heat> X11 is *mostly* Xorg
<heat> just as UNIX is *mostly* Linux
<heat> and C is mostly gcc (and clang now), etc
<netbsduser> i have never deigned to defend xorg except to the extent that because of its heritage from x11 of the 80s i find it slightly less aesthetically unaligned with me than wayland is
<Ermine> NeWS NeWS NeWS
<netbsduser> i think in some ways sun's news was even cooler and prefigured some modern sensibilities
<Ermine> but it died
<netbsduser> you could write serious portions of UI logic directly in display postscript, which ran locally on whatever machine you viewed it on
eddof13 has quit [Quit: eddof13]
<netbsduser> so i see it as prefiguring what is going on with webapps a bit
eddof13 has joined #osdev
eddof13 has quit [Quit: eddof13]
eddof13 has joined #osdev
<nikolar> Btw I occasionally use x over network
<nikolar> Very handy in certain cases
<nikolar> And definitely cannot be replaced by vnc or whatever
<netbsduser> i use it often
<nikolar> Pretty cool
<nikolar> There is waypipe that's supposed to do the same
<Ermine> Anyway
<Ermine> All hail SurfaceFlinger
<heat> all hail tty
<netbsduser> why is it called "Flinger" anyway
<heat> because you fling your fingers
<netbsduser> it conjures up images of an abstract artist flinging streaks of paint against a canvas
<netbsduser> google loves these jungli names for some reason
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<Ermine> never seen tty on android btw
<netbsduser> people used to love installing a terminal app on their androids and running BASH and such
<Ermine> it must be a very serious disaster if you get dumped to tty in android
<gog> what is bash
<netbsduser> gog: a popular shell
<gog> oh
<gog> what's a shell
<netbsduser> it's an analogy
* Ermine the CheeseFlinger gives gog a piece of cheese
* gog is fascinated
<gog> sorry
<netbsduser> just as a shell is the outer visible thing of molluscs, so is a shell the outer visible layer of an operating system
someguy has joined #osdev
<zid> Except for the little eyes poking out, that's the.. something of the operating system
eddof13 has quit [Quit: eddof13]
<heat> is there a solution in C for an expression that should shut up unused warnings while also not evaluating it?
<heat> (void) (x) but without evaluating the damn thing
<zid> you don't get unused warnings for things that evaluate
<zid> stop trying to do quines where things mean different things at random
<Ermine> do you write a macro?
<heat> basically i have DCHECK() for debug builds, i want to compile whatever it is inside the () out, while shutting up unused warnings
<nikolar> erm #define X(a)
<nikolar> X(expressiom)
<zid> Then you already have the ability to do something depending on what you want
<zid> cus it's already a macro
someguy has quit [Ping timeout: 248 seconds]
<heat> found a solution: #define DCHECK(x) ((void) __builtin_constant_p((x)))
eddof13 has joined #osdev
eddof13 has quit [Quit: eddof13]
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
eddof13 has joined #osdev
someguy has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
eddof13 has quit [Quit: eddof13]
eddof13 has joined #osdev
eddof13 has quit [Client Quit]
hwpplayer1 has joined #osdev
hwpplayer1 has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
someguy has quit [Remote host closed the connection]
eddof13 has joined #osdev
gioyik has joined #osdev
karenthedorf has quit [Ping timeout: 265 seconds]
pdziepak has quit [Ping timeout: 265 seconds]
pdziepak has joined #osdev
vdamewood has joined #osdev
pdziepak has quit [Ping timeout: 248 seconds]
pdziepak has joined #osdev