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
mctpyt has quit [Ping timeout: 272 seconds]
mctpyt has joined #osdev
heat has quit [Ping timeout: 272 seconds]
<doug16k> man it has been ages since I poked at vga sequencer and stuff
<doug16k> maybe better to go other direction and get an LFN up
<doug16k> LFB
<doug16k> do a nostalgic solid shaded rotating cube or something :P
<doug16k> you should see how fast it gets to 0xfffffff0 at power up of TCG :P
<doug16k> 1/10th of a second or something
<doug16k> it's pretty funny to put a breakpoint on the very first instruction executed
<doug16k> go! wait, no stop!
<Skyz> Can your os load to a screen?
<Skyz> That's what I can't tell about dgos
<Skyz> There's no screenshots of it running
<Oli> Shaded cubes and sinescrollers <3
<doug16k> yes because it is in a constant state of change, because the goal isn't finishing for people
<doug16k> as soon as something works, the more ambitious thing starts and it doesn't quite work again
<Oli> The OS is the carrot.
<doug16k> the vast majority of it works
<doug16k> usually not working is more not wired together than not there
sm2n has quit [Ping timeout: 272 seconds]
<doug16k> I have a very fast blitter, exceeds 1000fps 1920x1080@32 on fullscreen blits
<doug16k> heavily avx/sse optimized
<doug16k> that speed with misaligned source 31/32 of the time
<doug16k> I don't know what the aligned copy speed is. probably slightly better
<Skyz> Make it runn doom
<doug16k> on my todo already
<moon-child> doug16k: apparently old version of windows would always move windows 8 pixels at a time
<moon-child> because it was black-and-white and non byte-aligned copies were slow
<doug16k> the vga latches make you do that in planar modes
<doug16k> you could load all the planes into the latches in one byte load, then store the latches in one byte store
gog has quit [Ping timeout: 268 seconds]
junon has quit [Ping timeout: 265 seconds]
<doug16k> even GLQuake is doable
Oli has quit [Read error: Connection reset by peer]
Oli has joined #osdev
<doug16k> have to do some fiddly state change stuff, but it mostly boils down to them submitting draw calls with some buffers bound
<doug16k> oh nice, you can do proper page flipping with bochs dispi
<doug16k> I wonder if it is as magical as it looks
<doug16k> looks like you just write the resolution you want and poof, it's that resolution
<doug16k> even can set virtual screen size to give it a nice pitch
<doug16k> and set top left corner x,y within virtual screen
mctpyt has quit [Ping timeout: 268 seconds]
mctpyt has joined #osdev
isaacwoods has quit [Quit: WeeChat 3.1]
Lucretia has quit [Quit: Konversation terminated!]
<geist> doug16k: yeah been meaning to fiddle with that and then fiddle with whether or not you can make it work on non x86
<geist> i think someone around here was doing that a while back, but i dont remember the results
<geist> (making emulated vga of any kinda work on arm or riscv on qemu)
<doug16k> looks very non x86 compatible. there is an isa one, and a legacy free one
<doug16k> you probably want legacy free one
<geist> well was thinking of ay of the PCI ones
<doug16k> can be 100% mmio
<doug16k> yes, if you do -device secondary-vga, it is completely legacy free framebuffer only mmio only pci
<geist> most of it was whether or not it'd eve attempt to map the VGA IO registers into the pci/riscv/etc PIO compatibility window on PCI
<geist> ah neat
<geist> good to know
<geist> of course a bunch of those drivers might not even exist on a qemu-arm or -riscv build
<doug16k> looks like you set the bars, write the desired resolution to the dispi mmios and that should do it. just about to find out
<geist> immibis: ahhh. i figured it out. the XA7x series fpgas from xilinx are 'automotive' grade
<geist> vs teh xc7 series which is commercial grade
<geist> seems that the xa series has slightly differet goals, and i guess having faster SERDES lines is not one of them
<geist> xq7 are 'defense grade'
mahmutov has quit [Ping timeout: 265 seconds]
smeso has quit [Quit: smeso]
smeso has joined #osdev
<kazinsal> GPU nerds: AMD's new spatial upscaling algorithm will be available for public consumption through GPUOpen soon (tm)
<kazinsal> First game engine updates will be available in late June
iorem has quit [Quit: Connection closed]
Skyz has quit [Quit: Client closed]
<doug16k> do you have to map pci bars to a particular place in qemu?
<doug16k> I am just slapping everything before 0xe00000000
<doug16k> and port 0xe000
<doug16k> aligned of course
<doug16k> I have pci traces on and I see the bars change and it even says pci_update_mappings_add d=0x557d7988a420 00:03.0 2,0xedfff000+0x1000 when mapping the 4KB MMIO, but I get no vga traces
<doug16k> I enabled memory space / io space in pci command
<doug16k> I ask because info qtree does not indicate the bar changes
<doug16k> even though these traces prove it accesses the bars: https://gist.github.com/doug65536/41aab5cc35a699ae364e8a669ed815ab
<bslsk05> ​gist.github.com: gist:41aab5cc35a699ae364e8a669ed815ab · GitHub
<doug16k> weird, info qtree shows it now
mctpyt has quit [Ping timeout: 265 seconds]
<doug16k> the edid information is valid
Shikadi` has quit [Ping timeout: 264 seconds]
<doug16k> 0xb0c5 signature is there
<doug16k> haha, neat, you can make the framebuffer up to 16000x12000
<doug16k> which is weird with a max framebuffer of 16MB
<doug16k> I wonder if the bank field works and you can get at multiple of 16MB in the framebuffer window
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
srjek has quit [Ping timeout: 252 seconds]
<doug16k> oh wow, I finally figured out what's going on. my data sections ended up in the rom, and writes have no effect!
<doug16k> oops
<doug16k> yay! works
<doug16k> don't put your variables in rom :P
<doug16k> hardly noticed because almost everything is local variables
mctpyt has joined #osdev
MarchHare has quit [Ping timeout: 268 seconds]
<doug16k> aha, TCG screws something up
<doug16k> CR0.CD=0 and CR0.NW=1 is supposed to #GP. it doesn't
<doug16k> haha, nice, I can add a bunch of secondary-vga and get a bunch of displays
<doug16k> oh wow, qemu screws up if you add 7 secondary vgas
chartreuse has quit [Ping timeout: 265 seconds]
<doug16k> up to 6 secondary-vga are ok, 7th one causes the errors
mctpyt has quit [Ping timeout: 265 seconds]
<doug16k> framebuffer bar isn't 64 bit? come on!
<doug16k> unbelievable
iorem has joined #osdev
<doug16k> how am I supposed to have 128 VGAs with 32 bit framebuffer BARs? :P
<Geertiebear> klange: there is a user called "rizet" on the osdev wiki who is misusing, abusing and spreading misinformation on the wiki. He's moving, deleting and creating articles on topics he knows very little about, and it's starting to become problematic.
<doug16k> is this right? https://wiki.osdev.org/User:Rizet
<bslsk05> ​wiki.osdev.org: User:Rizet - OSDev Wiki
iorem100 has joined #osdev
<klange> I don't have a lot of wiki power - I am trying to communicate with chase on the matter but haven't gotten a reply yet.
<Mutabah> Rizxt
<klange> I did tell rizxt to stop deleting articles; edits are easier to fix.
<Geertiebear> ah rizxt
<klange> Mutabah: Do you know if anyone has higher permissions on the wiki outside of chase?
<Geertiebear> yeah some people from the discord are trying to fix up some of the articles he's touched
<Geertiebear> but it's a lot of work
<Mutabah> Don't know
<Geertiebear> but as long as other people have noticed too, then hopefully something can be done about it quickly ;D
<doug16k> renamed LAI to Lai, really? it's an initialism
iorem has quit [Ping timeout: 244 seconds]
<klange> I think they're acting in good faith but also... not great at what they're trying to do. An unfortunate combination.
<kazinsal> honestly from what I've heard I'd rather the discord people not touch something affiliated with us directly either
<Geertiebear> lmao we're not all bad
<klange> Eh, the wiki _is_ a wiki, the Discord peeps aren't that bad, I'm not gonna stop anyone from making good contributions.
<Mutabah> it didn't have a good reputation early on
<moon-child> kazinsal: curious, what have you heard?
<klange> Bad ones, though, yes, I'll do what I can.
<Geertiebear> Mutabah: that's true but it's changed a lot since then
<kazinsal> just this morning geist discovered some folks in there with some actually pretty badly racist display names
<Geertiebear> who?
<Geertiebear> that's not allowed
<Geertiebear> we explicitely ban that in our rules lmao
<moon-child> because it's been such a problem? ;)
<Geertiebear> not particularly, but it's good to have it in there anyways
SwitchOnFreenode has quit [Remote host closed the connection]
SwitchOnFreenode has joined #osdev
alexander has joined #osdev
mctpyt has joined #osdev
flx has quit [Ping timeout: 272 seconds]
whitingdev has joined #osdev
Lucretia has joined #osdev
<immibis> why can random people delete articles, anyway?
pretty_dumm_guy has joined #osdev
whitingdev has quit [Quit: Leaving]
<doug16k> how do you tell LD that you are making a ROM, so link everything to use RAM for read/write stuff, but also put an initialization image of .data in rom?
<doug16k> just LMA vs VMA?
<doug16k> tell it LMA into rom region but make VMA in RAM?
<Mutabah> yeah, that seems sensible
<doug16k> oh neat! there is syntax where you can say at the end of the section >ram AT >rom
<doug16k> assuming you made "ram" and "rom" regions in your MEMORY declaration
dnny has joined #osdev
<bslsk05> ​gist.github.com: rom link · GitHub
<doug16k> ah, it needs more nitpick
<doug16k> it doesn't know that entry must be in a specific place in rom
GeDaMo has joined #osdev
archenoth has quit [Read error: Connection reset by peer]
<doug16k> now it creates a 4GB bin file lol
dennis95 has joined #osdev
<doug16k> yay! made everything have right LMA and it's back to 2MB
_whitelogger has joined #osdev
[Brain] has joined #osdev
dormito has quit [Quit: WeeChat 3.1]
_whitelogger has joined #osdev
<doug16k> finally got it 100%, now copies the .data image from ROM to RAM and clears .bss, bin has correct layout and size, and the entry point and early data are in the correct place
Arthuria has joined #osdev
<bslsk05> ​github.com: GitHub - doug65536/qemu-rom: Simple QEMU -bios ROM that initializes PCI and dispi framebuffers on all attached PCI-VGA
tricklynch has quit [Remote host closed the connection]
tricklynch has joined #osdev
<doug16k> not counting going into protected mode and scanning PCI bus and initializing BARs, it's tens of lines of code to initialize qemu framebuffer including constants
isaacwoods has joined #osdev
gog has joined #osdev
* gog meows
<klange> ay, the t410 did not like me incorrectly writing the APIC EOI register as a 'movq' instead of a 'movl'
<klange> now my wakeup ipi works and I can stop burning in a loop waiting for something to show up in the scheduler queue~
<froggey> nice work
<gog> aaaaay
crm has joined #osdev
orthoplex64 has quit [Ping timeout: 252 seconds]
thinkpol has quit [Ping timeout: 268 seconds]
thinkpol has joined #osdev
kingoffrance has quit [Ping timeout: 272 seconds]
transistor has quit [Ping timeout: 272 seconds]
Arthuria has quit [Killed (NickServ (GHOST command used by guest2795!~Arthuria@user/arthuria))]
Arthuria has joined #osdev
<doug16k> wow, TCG is missing lots of exceptions. TCG doesn't throw an exception if you enable paging with long mode enabled and PAE is off
<doug16k> I am trying to find *one* register write that throws an exception
mctpyt has quit [Ping timeout: 272 seconds]
gareppa has joined #osdev
dormito has joined #osdev
gareppa has quit [Remote host closed the connection]
dnny has quit [Ping timeout: 252 seconds]
Skyz has joined #osdev
elastic_dog has quit [Ping timeout: 264 seconds]
<seds> is there a guide on contributing to the wiki?
<seds> been willing to contribute to riscv's wiki page, but I wonder if there is any do's don't guide
<gog> if you're not totally comfortable editing a page in the toplevel namespace you can create your own and do a draft there for input
<seds> nice, that's a better ideia as it will be my first time editing the page. regarding the inputs, do I paste the link here for feedback? I know there is a wiki section at the forum, but not sure if thats the place for feedback
<gog> idk really, i've never contributed to the wiki
<gog> but it seems rather informal and as long as you're doing everything with an eye to helping it's probably all good
<seds> cool
vdamewood has joined #osdev
Skyz has quit [Quit: Client closed]
<gog> and yeah i'd recommend posting a link here too because there are some riscv people here that might have some input
<vdamewood> Yum, RISC-V.
<gog> gefðu mér fisk-v
<seds> Sure, I am doing my thesis in RISCV, so I thought it would be a good idea to copy-paste-modify some sections I have that are of general interest and that I miss in the wiki
vdamewood has quit [Ping timeout: 252 seconds]
vdamewood has joined #osdev
tricklynch has quit [Quit: Quit]
<dormito> seds: wiki is very informal. if one the more senior communit members really things your changes are incorrect they will revert it (or maybe fix it). When I do that, I usually leave a message on 'talk' page explaining exactly why the change was reverted.
elastic_dog has joined #osdev
<seds> dormito: yeah, i will convert the formal stuff to informal, but I will make a copy of RISC-V's page and make the changes in my namespace. I don't want to mess things up in the production page
<dormito> sounds good. Just didn't want you to be too worried about making changes.
SwitchOnFreenode has quit [Remote host closed the connection]
<seds> cool, thanks dormito
SwitchOnFreenode has joined #osdev
opios2 has quit [Remote host closed the connection]
flx has joined #osdev
opios2 has joined #osdev
<dormito> speaking of the wiki. at some point, we should probably fix the pages that are labeled genericaly but contain only x86 specific stuff.
NieDzejkob has joined #osdev
<immibis> the wiki also seemed very informal to me. loosely structured. people just do whatever as long as it's helpful
<immibis> no consistency between different pages unless someone did it deliberately
ahalaney has joined #osdev
Skyz has joined #osdev
nyah has joined #osdev
corecode has joined #osdev
<corecode> hi
<corecode> i guess we moved here
<seds> immibis: i've notices the inconsistency. a way to archive consistency would be to have a page with a guide on contributing
<dormito> corecode: yeah we did. I think there may be one person who actually refuses to move, but I believe most of the active community memebers are here now (and possible not on freenode).
<Oli> Freenode's #osdev got some activity between what seems like 4 people since some days.
pretty_dumm_guy has quit [Quit: WeeChat 3.2-dev]
<seds> Oli: i think the op should set the topic on freenode, saying it is moved
<j`ey> seds: they did..
<j`ey> seds: but then the new freenode owner took over all channels that had 'libera in the topic
<seds> j`ey: yeah, i know, but do it again? or do you think it will take over the channel again?
<Oli> However, much less activity than here, and some days with barely any exchange at all; one may watch at logs via this hyperlink: https://freenode.logbot.info/osdev/20210530
<bslsk05> ​freenode.logbot.info: #osdev
<seds> its worth the try..
<j`ey> seds: its against policy
<seds> pff
<seds> forgot about that
<seds> wonder why these peeps still want to stay at freenoed
<j`ey> but anyway, if they want their own community oveer there, i see no reason for them not to have it
<seds> j`ey: it seems more like someone is willing to op a channel with a bunch of folks for.. ego or whatever
<j`ey> no, M-tabah is still the top over there
<dormito> I think of them claims the ex-freenode staff are lying. But the thing is: even if that's true, it does not excuse anything Lee has done on freenode since the break.
<dormito> *Lee and their admins
<seds> yeah
Oli has quit [Quit: leaving]
kingoffrance has joined #osdev
<clever> dormito: from what i read in one link, it looked like an over-reaction on both parties
<clever> dormito: the original staff pre-emptively cut lee's access, out of fear he would do something, lee then screamed "hostile takeover", then the staff see him grabbing for power, and scream "hostile takeover!!"
<clever> and then it snowballed from there
<clever> but yeah, his actions after gaining power, arent good
Oli has joined #osdev
<Skyz> I mean there's good and bad things about any community
<clever> in hindsight, i think the best option would have been to hold firm, and refuse to give lee any power
<clever> but i think he used lawyers to force the matter
<immibis> j`ey: nobody cares about freenode policy
<j`ey> immibis: freenode do
<immibis> yeah well those who are at risk of getting banned by violating it shouldn't
<Skyz> Looks like the switch happened successfully
<Skyz> I'm thinking of giving up on osdev
sav has joined #osdev
<Skyz> My idea is very grand, and I'm not seeing anything happening with it
<seds> rule 1 of software engineering: reduce your scope
_whitelogger has joined #osdev
qookie has joined #osdev
Skyz has quit [Ping timeout: 250 seconds]
Skyz has joined #osdev
Skyz has quit [Client Quit]
Skyz has joined #osdev
ahalaney has quit [Quit: Leaving]
Skyz has quit [Quit: Client closed]
<Oli> Reminds me of the first C project I took part on: It was a demo collaboration with friends targetting Windows x86 32 bits, aiming to submit it on a competition before a deadline; I learned C on the fly from 0 for; as I didn't knew how to use for loops, nor how to link source code objects together, it wrote a single-file source code of 23569 lines, and 1213017 bytes of size. I have realized that a friend's
<Oli> word has proven very valuable since, I recall being "Hit the books, only then the keyboard".
rorx has quit [Ping timeout: 244 seconds]
<Oli> Now I find myself often spending large amounts of time pondering about how to optimize code for conciseness; curiously, it takes me longer to write an algorithm in fewer lines of code than otherwise.
<immibis> which is a bad thing if your goal is to make stuff that works quickly, for a deadline\
alexander has quit [Ping timeout: 272 seconds]
iorem100 has quit [Quit: Connection closed]
ahalaney has joined #osdev
<Oli> Yes; I didn't had time to try out a book while already racing the clock for the project; since then I have had plenty of time to study, and it definitely has paid me well, in time, and in knowing how to maintaining my code neat to work with for me.
<Oli> It is definitely worthy investment.
<Oli> to me* I of course don't know if reading books works better for others than learning on the go. Still there's a lot I have gained by algorithm examples in books.
<Oli> particularly by*
MarchHare has joined #osdev
Skyz has joined #osdev
alexander has joined #osdev
pretty_dumm_guy has joined #osdev
<seds> for me, reading a book + practising works well
amanita has quit [Quit: leaving]
sm2n has joined #osdev
ozxui_ has quit [Quit: leaving]
Oli has quit [Ping timeout: 265 seconds]
Skyz has quit [Quit: Client closed]
amanita has joined #osdev
pyzozord has joined #osdev
<pyzozord> Hi, I was wondering if someone could give me a very dumbed down version on how input processing works. As far as I understand it, some devices like a keyboard are connected to the cpu bus, from there signal goes to the cpu with an irq interrupt. Os handles that interupt and then sends a software os signal to the application?
<pyzozord> and how does that related to a function like getc
Shikadi` has joined #osdev
transistor has joined #osdev
Skyz has joined #osdev
<GeDaMo> The interrupt will store the data in a buffer which getc will read from (although there are likely to be a few more stages in the middle if you're using e.g. X Windows)
<Skyz> What OSdev project needs a window
amanita has quit [Quit: leaving]
<Skyz> I saw someone show that you can move the window if you setup the gui
amanita has joined #osdev
<pyzozord> oh I see so with window server there is probably some centralized part of that window server that reads from the real event buffer and then manages those events and sends them to applications in some higher abstraction?
<doug16k> host controller is connected to cpu and device. host controller determines it needs service, sends IRQ to cpu. cpu dispatches interrupt and ends up in the driver for that controller, it reads what happened and updates input queue with the information from the device. programs waiting for the input queue wake up
<gog> yeah whichever one has focus
Skyz has quit [Quit: Client closed]
<pyzozord> the input queue is an os construct?
<pyzozord> windows server "takes over" the input queue and will send it to other programs?
<doug16k> for a desktop where lots of windows are visible at once, yes, you have what I described underneath the desktop, and the GUI code figures out which program gets the keyboard event or whatever it is
<GeDaMo> Each process would have its own input queue
mctpyt has joined #osdev
<pyzozord> oh i see so there is no global singleton system wide input queue, when irq is dispatched by the os, each process will get a copy of the event and store it in it's own queue?
<doug16k> pyzozord, windows created the driver input queue and the gui queues. no taking over what you created from scratch
<doug16k> it invites programs to use them and lets you block and wait for events if you have nothing to do
<pyzozord> i see, i think i have a better idea now, thanks
<GeDaMo> Unix was designed to be multiuser, multiple terminals each connected to a user process
<pyzozord> so if I want to write a video game that handles input, what's the simples and lowest level way of handling input? Is handling some os signals in my program the right way to go?
<pyzozord> I'm trying to avoid higher level libraries like SDL and others, I want to keep things simpler
<gog> tbh it's probably simpler to use the higher-level libraries
<gog> no per-platform code to deal with
<gog> or rather, less per-platform code
<pyzozord> I mean simpler in the sense of the whole technology stack, not how many lines of code my project has
<bslsk05> ​blog.robertelder.org: Why Is It so Hard to Detect Keyup Event on Linux?
<pyzozord> GeDaMo: thanks
<gog> well for windows at least you'll then want to use either XInput or DirectInput
<gog> then on Linux you can use libinput
<gog> idk how far backported XInput is, but there is a DirectInput wrapper around XInput
sm2n has quit [*.net *.split]
[Brain] has quit [*.net *.split]
merry has quit [*.net *.split]
theruran has quit [*.net *.split]
Amanieu has quit [*.net *.split]
Brnocrist has quit [*.net *.split]
maksy has quit [*.net *.split]
HeTo has quit [*.net *.split]
Bonstra has quit [*.net *.split]
air has quit [*.net *.split]
nur has quit [*.net *.split]
robert_ has quit [*.net *.split]
Benjojo has quit [*.net *.split]
basil has quit [*.net *.split]
hl has quit [*.net *.split]
wereii has quit [*.net *.split]
moon-child has quit [*.net *.split]
nickster has quit [*.net *.split]
Griwes has quit [*.net *.split]
Retr0id has quit [*.net *.split]
dragestil has quit [*.net *.split]
<doug16k> you can get all-in-one wrappers like glut that provide the keyboard and mouse input dispatching and setting up the rendering surface for this platform
Beato has quit [*.net *.split]
nohit has quit [*.net *.split]
air has joined #osdev
<GeDaMo> I think SDL would be my first choice
<gog> SDL is definitely a good option
Beato has joined #osdev
<pyzozord> yeah I'd go with SDL too, but I'm trying to figure out if I can do without it (or alternatives). Only for learning purpose
<gog> idk how much there really is to learn by reinventing this particular wheel
<doug16k> it gets a bit ugly. that's why libraries for that are so common
moon-child has joined #osdev
Griwes has joined #osdev
sm2n has joined #osdev
Amanieu has joined #osdev
<doug16k> handling it for one platform can be alright, but it's not if you want to handle multiple platforms
<GeDaMo> Or you could write an OS which makes this sort of thing simpler :P
<pyzozord> one thing that's still not clear for me, how does getc() work if I am on xwindows in a gnome-terminal and the same way if I wasn't in gome terminal (by switching to different tty with ctrl+alt+f3 or something)
basil has joined #osdev
hl has joined #osdev
merry has joined #osdev
<doug16k> pyzozord, it creates a pseudo terminal, and the program reads that
<doug16k> pyzozord, ls /dev/pts
<doug16k> the terminal reads from it and renders the text, and writes the keyboard input to the program through it
Brnocrist has joined #osdev
wereii has joined #osdev
<doug16k> program reads input from it, and writes text/terminal escapes to it
<doug16k> look at /dev/pts, find the first missing number, open a new terminal window, ls there again, you'll see a new one (let's say 4). now if you go echo 'hello >> /dev/pts/4 then "hello" appears in the terminal
<pyzozord> so xwindows creates a pseudoterminal? then gnome-terminal reads and writes to that pseudoterminal? so getc() doesn't even use the input queue?
<doug16k> still has the concept of keyboard focus
<NieDzejkob> gnome-terminal creates the pseudoterminal
<NieDzejkob> and shovels the input from xwindows's queue to the pty, such that bash can read it
<doug16k> there is a bottom layer that gets the one true keyboard input event stream, then determines where to route it to. then it goes into that specific program's input buffer, eventually pulled out of there by the program
Skyz has joined #osdev
<pyzozord> and what happens with getc() if I'm not under xwindows? Are ptys still in use in that case? In that case os itself crates ptys?
<doug16k> in windows the concepts are the same, but the apis are completely different
ids1024 has joined #osdev
<pyzozord> sorry I mean the x window server under linux
<clever> pyzozord: a pty is used any time the tty is virtual (xterm, ssh, and other stuff), if your on a raw terminal, then your on tty1 or ttyS0 for example
<pyzozord> but I guess I was asking more broadly about "more or less unix"
<doug16k> pyzozord, same thing
<clever> a pty lets you simulate the terminal from software
<doug16k> now you just switch between ctrl-alt-f key pseudoterminals
<doug16k> the same multiplexing layer is there
<clever> yeah, ctrl+alt+f1 thru f8, cycles between tty1 to tty8, for example
<pyzozord> ok hmm, but still gnome-terminal will create a pty? Or will it rather ask os to create a pty?
<pyzozord> it seems like those pty are part of the kernel
<clever> pyzozord: gnome-terminal will use /dev/ptmx to create a pty, so the terminal has the "display" end, and the shell (bash for ex), has the other end
<doug16k> pyzozord, you can ctrl-alt-f3 or something to go to a text terminal when your GUI is up, right?
<clever> the kernel acts as a middle man between the 2 and emulates the same api as a physical terminal (tty1)
<clever> s/emulates/provides/
amanita has quit [Ping timeout: 264 seconds]
<pyzozord> oh i see. so the full route of input event is keyboard -> irq -> cpu -> dispatch -> x window server -> gnome-terminal -> pty -> os
<clever> yeah, in my case, lets see...
amanita has joined #osdev
<clever> usb keyboard, usb controller, usb driver (in linux kernel), input layer, X server (userland)
<clever> then to the xterm program (bouncing off a unix socket in the kernel)
<clever> then xterm shoves it thru a pty, where linux then presents it on stdin of ssh
<clever> ssh then encrypts it, shoved it out tcp, and it arrives on a socket of an sshd instance
<clever> decrypts it, shoves it back into a SECOND pty, and it turns up in stdin of /usr/bin/screen
<clever> screen then muxes it to the right window, and shoves it into a THIRD! pty, where it turns up on the stdin of irssi (my irc client)
<clever> pyzozord: that would be the rough path my keystrokes are following, not counting the NIC drivers or switches, lol
<pyzozord> oh I see, ok this makes sense now
<pyzozord> clever: thanks
<pyzozord> the tricky bit was os -> xserver -> gnome-terminal -> pty -> os -> stdin of my program
<pyzozord> well there was more tricky bits, but this one was the trickies I guess
<clever> [root@amd-nixos:~]# evtest
<clever> /dev/input/event8: Sun USB Keyboard
<pyzozord> because of my ignorance about ptys
<clever> with this, i can see what event node is my keyboard
<GeDaMo> evtest
<clever> [root@amd-nixos:~]# ls -l /proc/2964/fd/43
<clever> lrwx------ 1 root root 64 Jun 1 14:48 /proc/2964/fd/43 -> /dev/input/event8
<clever> pyzozord: and with this, i can see that Xorg has my keyboard open as fd 43, so X will read(43,buffer); to get input from the keyboard
<clever> [root@amd-nixos:~]# ls -l /proc/1401/fd/
<clever> lrwx------ 1 clever users 64 Jun 1 14:49 3 -> 'socket:[35330390]'
<clever> lrwx------ 1 clever users 64 Jun 1 14:49 4 -> 'socket:[35319753]'
Oli has joined #osdev
<clever> lrwx------ 1 clever users 64 Jun 1 14:49 5 -> /dev/ptmx
<clever> pyzozord: one of 3 or 4, is the unix socket to X, so X and xterm can exchange events, and then 5 is the master handle for a pty under xterm
<pyzozord> clever: what program is 2964 in this example? Is it xorg itself? Is it a terminal emulator like xterm? Is a cli program running insid ethe terminal emulator (like echo or top)?
<pyzozord> clever: and 1401
<clever> pyzozord: 2964==X, 1401==xterm
skyz79 has joined #osdev
<pyzozord> ah and xterm communicates with programs over the sockets because of this strange decomposed architecture that it has that it can run over network etc?
<pyzozord> sorry, s/xterm communicates/xorg communicates/g
<clever> the X11 protocol uses either tcp or unix socekts, to connect the X server and X client together
<clever> srwxrwxrwx 1 root root 0 Mar 12 13:09 /tmp/.X11-unix/X0
<clever> thats the socket behind :0
Skyz has quit [Ping timeout: 250 seconds]
skyz79 is now known as skyz
<pyzozord> ok it's a bit too much for me at this moment I guess, I'm still not sure what are sockets and how networking works at all. But I think I have much better idea how input and pty work now
whitingdev has joined #osdev
<bslsk05> ​linux.die.net: ptmx(4): pseudoterminal master/slave - Linux man page
<pyzozord> it seems like pseudoterminals are part of the kernel, in some sense they are just like drivers that don't have a real device connected to them
<clever> yeah
<pyzozord> but it seems to me that tty or pty are more special then other devices but I'm not sure if that's true
dennisschagt has joined #osdev
<clever> tty and pty both speak the same tty api, so programs function the same no matter what type of terminal your using
<clever> the ptm (master) and pts (slave) essentially just act like a pair of pipes, anything you write to one, can then be read from the other
<pyzozord> i mean if there wasn't [pt]tys there would be no way to interface with the os right?
<clever> but it also has some special stuff, to allow managing the baud rate, and resizing of the terminal
<clever> and sending things like sigint
<clever> without a pty, you can only interface using the physical terminals, like a serial port, or the text mode virtual tty's
<clever> tty1 thru tty12 are also virtual terminals, but managed entirely in the kernel, and use your local keyboard/GPU
<clever> only something like ttyS0 is a "true terminal", in my mind
<clever> everything else, is just a layer of software, to let ancient programs work the same way
<pyzozord> i see so yeah this tty stuff has kind of deep roots in the kernel itself
<immibis> tty shouldn't be in the kernel, but is. Usually that sort of thing seems to be left to libraries
<immibis> or just shoved into glibc, on linux
<immibis> but then, the less basic stuff the kernel has, the more useless it is because the more stuff you need to run a program...
<skyz> Why don't you try implementing stuff from plan 9 instead of unix?
<bslsk05> ​p9f.org: Plan 9 /sys/man/1/weather
<skyz> This is a simple on to try in a kernel
<j`ey> that.. is a userspace program, not part of the kernel
<skyz> userspace
<bslsk05> ​p9f.org: plan 9 man section 9
<kazinsal> isn'
<skyz> Kernel^
KREYREEN has joined #osdev
<kazinsal> isn't there just a regular ol' port of the 9p utils
<kazinsal> like I could have sworn I could install 8c et al on linux at some point
<skyz> You could probably with some functions or programs
SwitchOnFreenode has quit [Remote host closed the connection]
<bslsk05> ​asyncial.github.io: Plan 9 -> Linux
<skyz> That's a list of things, just found it
nur has joined #osdev
<skyz> Lots of code examples
theruran has joined #osdev
Oli_ has joined #osdev
Oli has quit [Ping timeout: 252 seconds]
pyzozord has quit [Quit: leaving]
dennis95 has quit [Quit: Leaving]
acidx has quit [Changing host]
acidx has joined #osdev
* geist yawns
* Bitweasil tosses geist a raisin.
<geist> yum
* gog meows
<geist> howsit going fronds
<GeDaMo> Fronds? I'm not a plant as far as you know! :|
<gog> i got a bank account today finally
<geist> wait you're not a triffid?
<gog> now i just need a means through which to get money
<geist> could get a job in one of those cat bookstores
<Bitweasil> Walk around and look for coins dropped on the street!
<gog> nah we already have a famous bookstore cat
<GeDaMo> Sell volcanic rocks with googly eyes on :P
whitingdev has quit [Quit: Leaving]
<gog> there's supposed to be a good tourist season, maybe i'll just rob wealthy-looking people
<gog> they'll call me... the tourist trap!
* gog dies laughing
<Bitweasil> Huh?
<Bitweasil> Are pet rocks coming back?
<GeDaMo> Yes! But now they're volcanic! :P
<Bitweasil> oooh.
<Bitweasil> I hear they've got an explosive personality, though.
<gog> nobody's gonna get to visit the volcano at this rate
<gog> it's closed off right now because it's about to overflow the area containing it again and over into a road
<Bitweasil> "Take the 5th exit on the right, left on Main, you can't miss it!"
chartreuse has joined #osdev
<Bitweasil> Oh, fun. Apparently a major meat processor got themselves shut down by ransomware.
skyz has quit [Quit: Client closed]
<gog> oops
<kazinsal> man, the HBM patent is finally paying off for them
<bslsk05> ​www.anandtech.com: AMD Demonstrates Stacked 3D V-Cache Technology: 192 MB at 2 TB/sec
<kazinsal> now only if you could actually get graphics cards in this timeline
<geist> yah they announced a 3080 ti now too
<geist> also in the bucket of 'things you will not be able to get'
<kazinsal> there still aren't any 3080s for sale in canada
<kazinsal> it's *bad*
<kazinsal> 3070s start at $1700
<geist> turns out i super lucked out with my 1080ti
<kazinsal> yeah same
<geist> which i could probably sell at this point and retire
<kazinsal> I look forward to replacing mine in 2028
<geist> yah i have a fallback 980ti in case it dies on me
<geist> and it's predecessor, the 780ti i gave away
<kazinsal> my fallback is "grab passport and hit up every microcenter along I-5"
<geist> yah i really wonder if it's actually possible to get one at retail if you're smart
<geist> same with PS5. they're pretty unobtanium, but some folks have said if you're really smart you can probably find one within a few days
<geist> just requires a lot of research and refreshing of tons of sites that are selling them and then quickly selling out
<kazinsal> yeah, there are discords with stock checker bots and stuff but they still basically require you to have your credit card out and ready for when the restock ping goes off at 7am
<geist> exactly.
<kazinsal> I don't have time for that
<kazinsal> especially not at the $wtf I'd be shelling out for something that would be an upgrade from the 1080ti
<geist> right, i certainly dont need to upgrade this 1080
<kazinsal> if I'm going to blow three grand on something I'm realistically only going to use the bottom 50% of I'll buy a Mesa/Boogie Mark V
<kazinsal> (and promptly get evicted for blasting 90 watts of the world's finest metal guitar tones in my living room)
<maurer> Yeah, the graphics card shortage has almost been irrelevant to me. Only thing I've needed something better than what I've got for was Cyberpunk, so I just played that on Stadia instead. Everything else has been fine with previous generation hardware
<kazinsal> my most played games in the past two weeks are world of warcraft classic, league of legends, and deus ex (the original)
<geist> kazinsal: ooooh. i've always wanted an Orange amp
<geist> though just can't justify it
<kazinsal> some of the small tube Oranges are reeeeeally nice
<gog> kazinsal: i wanted orange. it gave me lemon lime
<kazinsal> you can get like 10 watt ones that are still full tube
<kazinsal> my current amplifier is a Boss Katana 100, which is plenty loud and fun to fiddle around with since you can program it through USB
<kazinsal> and has an attenuator built into it so I can run it at like 5 watts instead of 100
<geist> really probably i'd not like it, i think the orange amps have a grungy sound that probably really isn't my liking
<geist> but gosh they're so iconic
<kazinsal> yeah, the fancier ones you can shape a bit better but they still have that super dirty feel unless you switch to clean and then just crank the volume to get more gain
<kazinsal> and now you have the problem of "now where did my earplugs go"
<geist> hah yeah
<geist> need a speaker attenuator
<kazinsal> well, with any luck, my one lotto ticket every few months will be a $70 million winner tonight
<kazinsal> (it won't)
<kazinsal> that would definitely be a dangerous amount of money for me. I'd probably buy a house just for guitars...
<gog> hey if it is don't forget about your good friend gog :)
<GeDaMo> You could give $100K to everyone in the channel and still have $50M left :P
<kazinsal> ah, but I'm in canada, so a $70 million lottery is really more like a tenner
* kazinsal cries in low-value currency
<gog> hey now a canadian peso is worth 102 icelandic lira
<gog> speaking of which i almost exchanged my remaining dollars for krona but the exchange rate is lower than it's been in months
<kazinsal> honestly that would be a pretty funny turn of events. spend a month panic-planning a move because my old place flooded, then a month into the lease, winning the lottery
<gog> i used to buy dollar scratchers a couple times a week just for giggles
<gog> most i've won was $20
kciredor has joined #osdev
<kazinsal> yeah, I buy one lotto ticket per season basically
<kazinsal> twelve bucks and I get a small dopamine hit followed by a return to normality
<gog> i'm really not in the habit of gambling tho
<GeDaMo> I have some money in premium bonds which go into a draw every month but I can cash them in and get the original money back (ignoring inflation that is)
<kazinsal> oh wow, so that 3D L3 thing can theoretically support 8 64 MB stacks per CCX
<kazinsal> so a dual-socket server full of those things would have something like 8 GB of L3
archenoth has joined #osdev
<radens> Hello, can I mount a folder as a fat32 volume under bochs the same way I can with qemu?
<geist> probably not? how can you do it on qemu?
Arthuria has quit [Ping timeout: 264 seconds]
<radens> -hda fat:rw:hda/
<geist> huh. didn't know you could do that
<kazinsal> that feels like something someone threw in really early on for testing and never deprecated.
<radens> so the folder hda is mounted as a fat rw partition, which means I don't need to rebuild the image every time I mess up
<geist> if it's dynamically generating a fat volume then bochs would have to have the same feature
<kazinsal> now I'm curious as to how that presents itself to the guest
<radens> the guest just sees a fat volume there, I think
<kazinsal> hmm, yeah, that's weird. the docs also say "don't write to the directory on the host system while it's active on the guest system" so
<kazinsal> I would wager this is a half baked feature for testing and you should not use it ever
<radens> I plugged in OVMF as the firmware and it boots to an OVMF shell where I can run uefi apps/services from the command line. Pretty sure I can get it to boot from there too, although I haven't bothered.
<radens> kazinsal: why not use useful features your software has which don't require you to constantly rebuild fat images?
<geist> kazinsal: ah yeah was wondering how the host changing would work with it. answer is it doesn't
<kazinsal> radens: based on the number of caveats in the documentation I suspect this isn't meant for "production" use
<radens> Oh sure, I'm just using it for dev
<kazinsal> and the fact that it defaults to mounting read-only, implying that read-write is sketchy
<geist> radens: honestly i'd move off the qemu feature. it sounds neat, but it's not really different from just generating a FAT image in your build system
<radens> qemu isn't fit for production use at all :P
<geist> which you can do just as easily and then works everywhere, including real hardware
<kazinsal> qemu is the most popular frontend to kvm
<kazinsal> and TCG is production stable
<kazinsal> has been for years
<radens> Certainly but doesn't make the codebase any less sketch :P
<geist> i'd consider most of these little side features like this to not be in the core feature set
<geist> the more it gets off the beaten path of 'run Real OSes under virtualization in normal ways' it probably gets more and more untested
<geist> but the core bits are pretty solid
sav has quit [Quit: .]
<gog> i want to see what happens when you attempt to write to this directory-as-volume kludge
<gog> but i'm hesitant to ruin my home partition on accident
<kazinsal> considering FAT has no file locking I'm expecting fireworks
<geist> if the host doesn't change out from underneath it and there are no host dir perm errors or whatnot, it's probably fairly straightforward to live follow what the guest is doing to FAT
<geist> but yeah i would not in any way shape or form point it at your entire homedir
<radens> Changing the directory on the host doesn't seem to affect the guest's view of things
<geist> *should* be safe to point it at a subdir, since that'd have to be a straight up qemu bug to look outside of that
<gog> hm yeah
<geist> radens: right, which is what i'd expect and basically what they said
<geist> 'dont mess with the host dir because we dont track that'
<radens> What's the right way to connect to a bochs com socket server? i.e. this line: com1: enabled=true, turbo=true, mode=socket-server, dev="localhost:14449"
<kazinsal> telnet or netcat
<radens> if I just use socat TCP:localhost:14449 return doesn't work?
<kazinsal> nc(1) is your friend
qookie has quit [Ping timeout: 244 seconds]
<geist> maybe tcpdump loopback to see if it's even connecting, etc
<radens> nc shows the uefi shell prompt but return is not actuall uh sending the command?
junon has joined #osdev
Bonstra has joined #osdev
<geist> possible the uefi com port stuff is merely an output display
<gog> i don't think it reads from there, only writes debug output
<kazinsal> yea
<radens> hm maybe netcat is buffering, it sent the command when I tabbed away
<kazinsal> not sure if there's a way to flip TCP_NODELAY on in nc
<geist> mm, yeah
<junon> There are the -b, -I and -O flags for `nc`.
<junon> There's no way to set nodelay from what I can tell.
<geist> looks like the freebsd netcat has a --disable-nagle switch
<geist> but i dont see it on the gnu one
<geist> well whatever one is on linux at least
<radens> telnet works
<radens> it's some sort of buffering by nc
<geist> even after a enter key?
<radens> yeah
<radens> ctrl-c just kills nc
<geist> huh line buffering it'd expect but a super long buffer is odd
<geist> seems like even TCP_NODELAY would eventually send it within some reasonable amount of time
<radens> yeah
<geist> milliseconds
<radens> not milliseconds, seconds
<geist> would have to strace it i guess to see if it's even write()ing it
<radens> like I come here, chat with you, come back, maybe the command is sent, maybe not, but who cares, telnet works as expected
<radens> yeah
<radens> but I'm just struggling with tools and not doing the dev I want
<geist> yah. i guess netcat has it's own client side buffer
jjuran has quit [Quit: Killing Colloquy first, before it kills me…]
jjuran has joined #osdev
<radens> And of course it looks like ubuntu doesn't build the nogui bochs gui frontend, and the bochs term gui frontent seems busted, and I don't have x set up under wsl, so bochs keep hanging out of the blue
<geist> yah this i have no input since i haven't touched bochs in like 10 years
<radens> I'm probably going to go back to doing this on real hardare
<geist> what are you doing in general?
<radens> geist: I was going to play with doing some uefi hypervisor stuff in rust
<geist> maybe we can XY problem this one and figure out what you're trying to do
<radens> but I'm just fighting my tools instead of rewriting some working c code in rust for learning
<geist> ah so you need VMX/SVM enabled and thus needed to use bochs?
<radens> yup
<geist> what is your host machine cpu/OS?
dormito has quit [Quit: WeeChat 3.1]
<geist> if it's a reasonably new linux you can enable nested virtualization and use KVM
<geist> and then get access to VMX/SVM inside your guest
<radens> my test machine is still that minnowboard, which doesn't have linux installed on it yet, but I will.
<geist> some of virtualbox, vmware, and or hyper-v have some sort of nested virt too
<radens> My dev machine is a windows coffeelake bochs, and I'm doing this all under wsl
<geist> ah
<radens> I can probably install linux on the minnowboard, or the dev machine, or install hyper-v etc. etc. etc.
<radens> but I just wanted to bang out some rust over lunch and oops here we are
<kazinsal> vbox on windows does nested virt
<radens> I'd go the hyper-v route
<junon> Is there a good resource that goes into the performance characteristics of syscall vs. traps vs. whatever else for kernel interop?
<kazinsal> VM settings -> system -> processor -> enable nested VT-x
<radens> junon: can you get that info from agners fog? Not sure.
<kazinsal> the agner fog tables are primarily about the actual instruction latency and not always the knock-on effects so for stuff like that it might not be as helpful
<kazinsal> iirc sysenter/syscall have fewer lookup penalties than call gates and interrupt gates do
<kazinsal> something about how it caches the selectors iirc
skyz has joined #osdev
<radens> junon: I'm pretty sure the difference is dramatic
<junon> even with meltdown/spectre mitigations?
<radens> "Regarding performances issues, we tried a simple benchmark ... and found that the large majority of the NtQuerySystemInformation performed with the SYSCALL instruction are faster of about ~1.000 clock ticks than INT 2E ones..."
<bslsk05> ​blog.amossys.fr: AMOSSYS Security Blog
Shikadi` has quit [Ping timeout: 264 seconds]
<junon> assuming "1.000" is the european notation for one thousand and not a really-precise 1.0 lol
<junon> but also, wow
<radens> yeah, there's a benchmark at the end which looks like it should run on any windows version > th2 which you can play with
GeDaMo has quit [Quit: Leaving.]
<junon> crashes if compiled under mingw, I'll have to spin up VS later to test it
<junon> but looks like a good start for researching this, thanks radens
<radens> junon: if it crashes the embedded assembly may be kind of fucked
<junon> Yeah that's probably the case.
<radens> I don't recall if the calling convention for mingw differs though
<radens> Also the syscall number for ntquerysysteminformation probably changed for your windows version
<junon> Yeah they change all the time, I have a lookup table bookmarked for them that I can refer to and adjust the code if need be.
<bslsk05> ​j00ru.vexillium.org: Microsoft Windows System Call Table (XP/2003/Vista/2008/7/2012/8/10)
<junon> yep that's the one
<j`ey> no named constants in a header somewhere?
<junon> for syscalls? nope.
<junon> Syscalls are an internal implementation detail as far as windows development goes. You're supposed to use the runtimes for cross-version portability.
<junon> So they change preeeetty often, and AFAIK there's no way to access them directly.
<junon> I mean, enumerate them directly.
<j`ey> do they change .. for good reason? or is some of it to break on purpose
<gog> probably to stymie unauthorized use of the native api
<gog> so that microsoft can keep control of the api subsystem environment, trusted computing, etc. but also $$$
mahmutov has joined #osdev
Oli_ has quit [Ping timeout: 264 seconds]
skyz has quit [Quit: Client closed]
Oli has joined #osdev
gmacd has joined #osdev
DeepComa has joined #osdev
<radens> j`ey: the public API is the DLLs the OS provides in userland, not the kernel syscall interface. It's a design decision not unique to windows which dates way back.
dormito has joined #osdev
sprock has quit [Quit: brb]
<radens> The mechanism the OS uses to perform the call (syscall vs int 2e etc.) are an implementation detail which you're not supposed to care about. Just call into the Microsoft provided dlls.
skyz has joined #osdev
sprock has joined #osdev
mahmutov has quit [Ping timeout: 272 seconds]
<radens> Some OSs require all of the sycalls to come from an OS specific library so a malicious binary/shellcode can
<radens> t just call the syscalls directly
<bslsk05> ​lwn.net: OpenBSD system-call-origin verification [LWN.net]
<radens> I don't believe that windows currently does that but in principle they could
mahmutov has joined #osdev
<kazinsal> they don't, but they also pretty much straight up don't support doing your own syscalls
srjek has joined #osdev
<dormito> some (old) mmo/anti-cheat sw uses raw windows syscalls
<dormito> (which makes wine hate it)
<kazinsal> iirc there's no explicit or implicit guarantees that syscall is a stable ABI
<clever> dormito: ive heard of some games using a kernel module
<kazinsal> you're supposed to always use the ntdll/kernel32 shims
<kazinsal> yeah loading kernel drivers for anticheat is common
<clever> there is also that whole mess with sony
<dormito> clever: yeah thats a thing too (some even used CD drivers to fuck over your system, thanks)
<clever> yep, thats the one
<kazinsal> people got mind-blowingly upset when riot released a load-at-boot kernel driver anticheat
<dormito> but the one I'm thinking of just did raw process managment syscalls so it could prevent stuff like process explored/debuggers
<kazinsal> because your average gamer is, quite frankly, a fucking moron
<dormito> *process explorer
Oli has quit [Quit: leaving]
<Bitweasil> kazinsal, when did "gamer" become this weird identity thing?
<clever> related, one of my past jobs, involved some delphi code, and i suspect some of the tooling i was provided was pirated
<Bitweasil> I played computer games and such in the 90s and 2000s, but I never would have considered "gamer" part of who I was, it was just something I did.
<kazinsal> when college republicans started playing games and getting upset about women and minorities in them
<doug16k> yeah, they worry about loading an anticheat and have LED controller software that has a 1ms timer firing
<clever> if i ran certain windows debug tools, the tooling would entirely die, until i reboot
<clever> i suspect the cracked copy, has protections to stop you from debugging it
<Bitweasil> clever, heh, yeah... go check the "dark" networks at various companies, all sorts of good stuff floating around.
<Bitweasil> I believe IDA doesn't let you debug IDA.
<dormito> wait what? people are upset about women in games? I thought it'd be more like "nude pic pls" (which is also an unpleasent harassement... but of a different kind)
<clever> Bitweasil: when i wondered how strace worked, my first solution, `strace strace ls`!!
<doug16k> Bitweasil, sounds easily defeated. zero out half, see if that works, zero other half, see if that works. if they handle that I'd be impressed
<Bitweasil> I've tried very hard to avoid "gamer" circles... it seems something you embrace when you live in your mom's basement.
<Bitweasil> "No, sorry, can't have a job, I'm a gamer!"
<Bitweasil> straceception!
mahmutov has quit [Ping timeout: 264 seconds]
<Bitweasil> "I have to be hand held through worlds other people dreamed up, very busy life, you know, grinding for engagement and loot boxes..."
<kazinsal> "and I don't want to see any feeeeeemaaaaaales"
<kazinsal> capital G Gamers (tm) tend to be basically the ferengi, but without any money
<Bitweasil> *plays the elf chick with disproportionate rack*
<Bitweasil> Is it possible to be Ferengi, without money?
<Bitweasil> I thought that was most of their thing.
<kazinsal> I'm sure there are some really shit Ferengi out there
<doug16k> funniest thing is "gamers" that go part their toon in some city and prove that they are the most detestable person on the server, in chat
<kazinsal> but the closest approximation we have is the modern Gamer
<Bitweasil> "Before selling your grandmother, check to see if anyone is making a better offer."
<dormito> klange: does the wiki have a mechanism for restoring deleted pages? I noticed you asked for the deletion to stop, but there are still a few pages that haven't been restored (and I suspect they are more relevent to OS dev-ing than the narrowly crafted defition the deleter seemed to be operating under)
DeepComa has quit [Quit: Going offline, see ya! (www.adiirc.com)]
DeepComa has joined #osdev
pretty_dumm_guy has quit [Quit: WeeChat 3.2-dev]
Arthuria has joined #osdev
alexander has quit [Ping timeout: 272 seconds]
<kazinsal> The smartest thing a computer toucher can do is get a pair of hiking shoes and go outside, where they are free of the curse of the lightning demons we have trapped in sand
<moon-child> truth!
<kazinsal> things that have helped my mental health dramatically over the past year: not buying booze anymore, walking 10+ km a day whenever possible, and enjoying the hell out of BC's low prices for cannabis
basil is now known as basil
<klange> dormito: only sysops can undelete, and no one has sysops
<Bitweasil> kazinsal, I agree.
<Bitweasil> The longer I work with computers, the less I like them, and the happier I am to spend my free time "not around them."
<bslsk05> ​'Fun with the ESP8266's BBPLL' by CNLohr (00:03:55)
<Bitweasil> Come on, video links? :/
<Bitweasil> That's broken on half my systems. :p
<Bitweasil> On purpose.
<clever> Bitweasil: TLDW: he under-clocked the wifi hw, so it transmitted out-of-spec packets, that only another equally mis-configured chip could receive
<kazinsal> I'm a big fan of any disclaimer that includes "do not use this in a product"
<Bitweasil> Ah, nice.
<skyz> I tried coding today and I already want another task
gmacd has quit [Remote host closed the connection]
<kazinsal> I need to get an SDR box
<kazinsal> they're friggin neat and now that I live above ground I can probably actually receive and transmit at pretty decent distances
<dormito> klange: it that due to the origion sysops no longer in the communit? that seems like makes the wiki ripe for vandalizm
sortie has quit [Quit: Leaving]
<klange> There's only one sysop to my knowledge and it's the global admin, and he only shows up every three years if we get the incantation and summoning circle right.
<nshp> I'll transmit at you so good kazinsal
<nshp> I just got a stack of hackrfs
<moon-child> who's keeping the servers alive?
<kazinsal> klange: I keep saying we need to switch from goat's blood to vole's blood.
<kazinsal> moon-child: Ostensibly, it's chase, though see above miscalibrated summoning circle issues
<nshp> heh, this is so OT I thought I was somewhere else
<kazinsal> we're in the land of osdev. the occasional blood ritual is endemic
skyz has quit [Quit: Client closed]
DeepComa has quit [Quit: Going offline, see ya! (www.adiirc.com)]
<klange> after investigating some suspicious values passed to various functions, I realized a major atomicity issue with how one of my core IPC systems works, and while I'm sure it's not the last SMP issue it's a pretty big one.
<klange> That should resolve a lot of userspace dereference of 0x4 from the client library trying to malloc 0 [which I intentionally and correctly return NULL for]... as well as a very common kernel sbrk(huge) that I thought was some stack value getting corrupted but after looking into this it makes so much more sense
<klange> lovely page-aligned garbage? it was data the IPC mechanism read that it thought was a packet size, but was actually data from another packet
<klange> suspiciously ascii stuff? one of the things these packets tend to carry is window titles!
Arthuria has quit [Ping timeout: 272 seconds]
skyz has joined #osdev
<skyz> seeking
<skyz> lol listening to evanesence
<skyz> Working on a computer kind of takes out time from other things
theruran has quit [Quit: Connection closed for inactivity]
rorx has joined #osdev
<skyz> I miss listening to music, it's good going to it, very theraputic
handicraftsman has quit [Ping timeout: 272 seconds]
handicraftsman has joined #osdev
<skyz> Klange I tried writing a game today but seems like a lot of work
<bslsk05> ​www.wikihow.com: How to Beat 2048: 13 Steps (with Pictures) - wikiHow
<kazinsal> consider trying it somewhere else
<skyz> #python i guess
skyz has quit [Quit: Client closed]
<kazinsal> fuck if I had known that would have worked the first time I would have done that a week ago
<klange> I have tried that approach before to no avail.
skyz has joined #osdev
<kazinsal> shit, you were right
<skyz> Well remember I was advocating PySimpleGUI before
<skyz> Once you got python it's shouldnt be hard to implement into an OS
<skyz> I think for misaka it would be a good feature
iorem has joined #osdev
<klange> skyz: you have no idea what you're talking about
<klange> pysimplegui is a wrapper around other gui toolkits, it is not some magic thing you can just run on
<klange> Additionally, the off-topic chatter you are prone to is tolerated from members who provide valuable on-topic contributions, which you have not done.
skyz has quit [Quit: Client closed]
skyz has joined #osdev
<skyz> I'm conceptual
skyz has quit [Client Quit]
skyz has joined #osdev
<gog> some of us play the elf chick as a form of wish fulfillment :p
<skyz> I can talk about mmio or registers
<skyz> Some of us it
<skyz> curiousity
<skyz> I'd rather get into witchcraft
<skyz> jk lol
<skyz> jewish magic
<skyz> voodoo
skyz was banned on #osdev by klange [*!*Skyz@*.dyn.optonline.net]
Skyz was kicked from #osdev by klange [Skyz]
<klange> That was unexpected.
<gog> i was wondering how long until he was booted lol
<klange> People don't usually give me an instant uncontroversial reason to ban them.