@@sphaerophoriaYou could just transfer video data-rendered offscreen on the main computer-to the microcontroller to display it on the LED grid (perhaps using I2C).
@andrewdunbar8282 ай бұрын
You could just use Windows. You could just oil paint on canvas. You could just close your eyes and use your imagination.
@zanez79532 ай бұрын
do not have fun, do not learn, do not engage in hobbies
@onebacon_2 ай бұрын
Why build a bike when you could just use Toyota Corolla
@jerssh2 ай бұрын
Makes me feel better about myself seeing a dude who can code laps around me also forget what the arguments are for memset multiple times within an hour
@turboluck10232 ай бұрын
Anybody who is good at anything will tell you that you gotta remember the concepts and not the facts. We know what memset does but that doesn't mean we know everything about it and the arguments it requires. That's what the Internet was made more
@derpythecate68422 ай бұрын
@turboluck1023 Yeah, especially in the age if LLMs, its less valuable to remember things, instead know how the pieces fit together and the fundamental concepts so you know how to direct your searches and LLM prompts to get what you want. Reading documentation is focused on the big ideas and the examples instead of the minute details nowadays.
@chri-k2 ай бұрын
no-one ever remembers which way the memset args go
@chri-k2 ай бұрын
Clang even tries to detect suspicious memset usage and emit a warning
@turboluck10232 ай бұрын
I don't think LLM's are good sources of knowledge but yes, it's much more practical to remember what things do instead of how to do it. it does help when you remember though
@Squeakers092 ай бұрын
This is the linux way. "I want to make some art, I guess I need to learn how to make a paint brush, so how do I grow a tree for wood, what are bristles made of? Squids make ink, so guess I need to make a fish tank... How the fuck do I make a canvas, is that also wood?"
@MCLooyverseАй бұрын
Hey, you ain't gotta call me out like that :(
@ShadowManceriАй бұрын
The fact you can easily do all of those if you want is so amazing. Because it could be (or rather is in Windows world) this: "I want to make some art, I guess I need to learn how to make a paint brush ah it's proprietary, so how do I grow a tree for wood ah damn it is licensed, what are bristles made of? Squids make ink, so guess I need to make a fish tank...ah closed source How the fuck do I make a canvas, is that also wood? Oh it's 10k dollars to get access. Well I guess I'm not doing any art."
@crimesterАй бұрын
the simplest way to do it is to get a rock and another funny rock that crumbles upon friction leaving behind a trail on the other rock
@MrFlarespeedАй бұрын
@@ShadowMancerieverything is free if you know where to look
@Ray_uck2 ай бұрын
"what if we JUST made a gpu?" that's how you know this man is insane
@Sinthoras1552 ай бұрын
That's the moment I realised I've got to subscribe
@xeschire7062 ай бұрын
One person already did, his name is Dylan Barrie, & that individual is the creator of the fury GPU project. & I'm about to do something like that myself, using risc-v to make a vector & opencl engine, then after that, put a 2d/3d engine in it in the form of hardware extensions/optimizations for my GPU architecture. I'm planning to give it scan-line based, volume tile forward rendering, or what I like to call, scan-lined cube rendering for the framebuffer part of the hardware based 3D engine, you know one of the hardware level GPU optimizations.
@v1Broadcaster2 ай бұрын
once you start playing with stuff like microcontrollers its usually pretty quick that you find yourself doing some fun stuff like this lol
@leshommesdupilly2 ай бұрын
Fun fact: Because everything is a file in linux, you can copy-paste the cpu/gpu/ram and achieve infinite performance
@JohnnyvtgАй бұрын
Could you please upload your RAM file so that I can download more RAM?
@voltflake2 ай бұрын
zig, linux, close to kernel development, all the things i like in one video. what a gem!
@is0ss2132 ай бұрын
pun intended?
@rotteegher392 ай бұрын
@@is0ss213 That information is above drm xD
@galactic_fx2 ай бұрын
aggressive yo yo yo today 😭
@sphaerophoria2 ай бұрын
YO YO YO
@trolololtrololol-v2w2 ай бұрын
@@sphaerophoriaIts HumpDay!!
@blinking_dodo2 ай бұрын
There's also /dev/fb0, with which you can skip everything and draw to the framebuffer itself. It's a lot slower and without hardware acceleration, but i used it to make a display server in PHP. So you went ahead with the dri thing... Neat.
@whoman0385Ай бұрын
display server in php? I'm sorry wtf
@blinking_dodoАй бұрын
@@whoman0385 Oh, it was a little side project, i wanted to prove it was possible. I have a recording of how it looks on my channel. (screen tearing is a recording artifact btw)
@tripplefives140226 күн бұрын
@@whoman0385 Should have used COBOL instead.
@IvanKovalenko-u8u2 ай бұрын
these videos are awesome!!! thanks, man! I put them on in the background while working :)
@astrofuffles73272 ай бұрын
I went through something similar to your project using a raspberry pi to output gpio. Ended up doing a deep dive in writing my first linux kernel driver. The display driver dictates gpio output based on the framebuffer which is just memory mapped in userspace. Fun to see someone with more experience tackle the task!
@adarshsingh7642 ай бұрын
Sounds really cool, do you have it up on a repo?
@cho4dАй бұрын
i just love hearing the unfiltered brain train of a talented programmer :)
@jmickeyd53Ай бұрын
A bit more detail on the CRTC - the original PC used a Motorola 6845. Every video card for a PC created to this day still emulates this chip from 1981. You're right in that it calculates addresses. The more interesting part is that the original intention was for text modes, where things aren't quite as obvious. It has a register for character height in scanlines, so that when it's scanning out addresses into the framebuffer, it rescans the same row of characters N times, while increasing a different address offset to represent the offset in the font for the right row.
@MySisterIsASlytherin2 ай бұрын
not *that* DRM
@Toby-ve6gp2 ай бұрын
I fucking love you, I was looking for content like this for ages.
@pxl-12022 ай бұрын
same
@nask0Ай бұрын
rtfm bro 😀
@jurel-enlatado1Ай бұрын
Two minutes in and I already know this video will be amazing
@masoom-theproudvegan72122 ай бұрын
google cant afford this guy
@miguelgremy2 ай бұрын
Was just hanging on youtube and THIS GUY ! He just createdrivers from scratch... Make myself feel bad about my development level 😂
@MichaelJE22 ай бұрын
Dude, I’m only 17 minutes in, and this is amazing! I love doing the same type of stuff like this, it’s fun to see a kindred spirit on KZbin. I’m subscribing!
@test-rj2vlАй бұрын
It's good that you gave us opportunity to learn how things are done. With libraries you don't really know what is going on under the hood. Compilation time was issue but from the other hand the purpose of this video wast to just do some very basic stuff - if you ever want to do something more complex then you can always come up with something. Like maybe map those native functions to some scripting language and then have interactive shell on your host machine that sends code to vm as soon as you stop typing and then vm automatically restarts rendering with new code. But from the other hand it may not save you much time - the amount you save from compiling would be spent on mapping C++ functions to python or javascript or whatever you like.
@rezenee2 ай бұрын
hey i just found this channel but you are the first person to scratch that itch of excited person saying crazy shit at the hackerspace vibe that ive been wanting
@OwO-.2 ай бұрын
banger video, i love this genre of content
@cupofdirtfordinner2 ай бұрын
top tier background noise for cleaning, ty! i was thoroughly tuned out but remained interested nonetheless
@runforitman2 ай бұрын
These videos are really fun to watch while doing work
@GillesLouisReneDeleuze2 ай бұрын
BASED
@MachineYearning2 ай бұрын
I was just wondering about this the other day. Thanks for explaining how you found all this information.
@cringekitsune2 ай бұрын
I just recently understood how basic openGL works, this is amazing!
@Jordan4Ibanez2 ай бұрын
You're insane. Keep up the good work. 8)
@DantalionNlАй бұрын
'it be really funny if its in millimeters', good foreshadowing. at least in xrandr its in MM so i'd hazard a guess it is the same in DRM.
@nabeelsherazi88602 ай бұрын
this is insane. respect.
@hmmmidkkk2 ай бұрын
3:02 that abbreviation is cazy ☠️
@Stormyyyy...Ай бұрын
relatable abbreviation
@skooveeАй бұрын
kms really does make me wanna kms
@ETBCOR2 ай бұрын
I like the personification of code bits. Seems helpful-- gonna try it
@cupofdirtfordinner2 ай бұрын
you seem cool, and weirdly sociable for a linux user. subscribed
@RsRpHD2 ай бұрын
Man radiates a lot of Casey Muratori energy
@warpspeedscp3 күн бұрын
sort of has a similar accent and pitch to his voice too, lol
@pxl-12022 ай бұрын
Ok, Im one minute in and I already love that guy. ✨ +1 subscriber gained ✨
@MCLooyverseАй бұрын
Yo! I haven't watched the video yet, but I love the concept. I've only tried rawdogging the X11 protocol and Wayland protocol myself (never completed a project). I hadn't even thought to go to that level. Edit @1:29 : I want to see an article titled "The Solution to The Art Problem".
@mjkpolo73132 ай бұрын
I NEEDED THIS VIDEO DOPE ASH
@pxl-12022 ай бұрын
Funny thing is that literally a few days ago I was thinking about same idea. And then this guy just showed up
@DemsWАй бұрын
I feel like this would do great as an edited down video, though I understand it would be a lot of work
@sphaerophoriaАй бұрын
I looked into it at some point and couldn't find a way to cut the vods down that I liked
@fleshwound88752 ай бұрын
Subscribe just one the title alone
@andrewdunbar828Ай бұрын
sailing in the parentha sea
@BrianOrangeАй бұрын
Gotta be the fastest vim I have seen.
@Lari5882 ай бұрын
i dont know how or why i got this recommended but that title was too good
@geoffreyvanpelt61472 ай бұрын
For local transfers, you could have used netcat.
@paulojose7568Ай бұрын
I need this video. Maybe one day i can be as cracked
@ac130kz2 ай бұрын
sheesh, these streams are fun, instasubscribed
@michaelpanik92Ай бұрын
This video rules - thank you! What’s your shell setup? Especially the plugin that shows your file system in columns like that
@mrbane200019 күн бұрын
Damn, youtube recommend me this. I have and issue with compositor and nw.js. I have full screen transparent app, and moving html object inside it, and it's causing trails because of compositor, and other issue is i need the transparent part of window to be click through, but it's apparently not doable on wayland. What would you recommend me 😳? i searched whole internet to fix it. Also i wish there was option to sharpen window content, since display scaling is really bad on linux
@dexterman63612 ай бұрын
Wow this is SO COOL. Thank you for sharing! Are the videos planned to be uploaded on youtube? Like, with a delay or something for non-subscribers?
@sphaerophoria2 ай бұрын
I try to keep the paywalled stuff as supplemental content. You should be able to track whatever were working on just fine without it
@dexterman63612 ай бұрын
@@sphaerophoria That's so nice of you! It probably doesn't mean much in terms of support but I did subscribe. I'll hopefully be able you more meaningfully soon. Also, if it's okay to ask, how do you learn all this? I'm in the tech field and going through something like was really overwhelming and ended up not pursuing it. Like, learning rendering with vulkan for example. I hope to be as competent as you someday ❤
@yetiheheАй бұрын
@@dexterman6361 To have that kind of knowledge, you need the arcane spell of old coding wizards: UTSL (check definition on wiktionary) with a little detectivistic mindset.
@machintrucGaming2 ай бұрын
I like the energy !
@beneustace42362 ай бұрын
Its crazy you were doing this as this is something I wan't to dig into myself after checking out X windows
@blarghblarghАй бұрын
not sure if it's applicable, but illegal instruction in zig is often ubisan hating you. you can add a compile flag to make it stop enabling ubsan, or you can fix the UB. if you're pulling in a library, fixing the UB can become much more of a pain
@renakunisakiАй бұрын
What are the odds of doing this kind of stream for VAAPI? I've never been able to make sense of it.
@Levi_OP2 ай бұрын
How are you doing that minimize-maximize looking thing in tmux? In another word, are your dotfiles available? ;) awesome stream btw
@sphaerophoria2 ай бұрын
No dotfiles, but I think it's just prefix + z (see man tmux)
@pgtrotsАй бұрын
The adhd is strong with this one lol
@satibel2 ай бұрын
Tbf you can do decent 3d graphics on an esp32. Though something more interesting would be to coerce the npu on a bl808 (pineox64/sipeed m1s) into behaving as a gpu.
@EXEC_A2 ай бұрын
I was gonna use this but no Direct X12 support.
@sphaerophoria2 ай бұрын
"use this", sir, this is a video. Also, AFAIK, DX12 doesn't exist on linux... unless you mean through like a dx12 -> vulkan translation layer like VKD3D. Also we aren't doing 3d acceleration. Also there is no support for anything. What do you mean?
@EXEC_A2 ай бұрын
@@sphaerophoria I am being sarcastic acting a typical Windows developer. Actually, great work. It would bridge the gap of implementing custom graphics drivers like for embedded systems.
@sphaerophoria2 ай бұрын
oh rofl, I should have known
@Wyld1oneАй бұрын
Some really cool books about some of the hardware and the software for doing graphics without a graphics card. VGA anyone?
@Wyld1oneАй бұрын
'Graphics gems' - doing graphics the old-fashioned non GPU based way. Bresenham line& circle algorithms anyone? Btw, VGA probably the easiest 1to1 array to screen grid. Pre-vga it got awkward to max,y points to screen XY points.
@aryamanjena2263Ай бұрын
Hi can you tell me how to get started with implementing the GPU i am a Beginner please Help as i Find it very Interesting
@fishsayhelo98722 ай бұрын
very gud 👍
@samiurkhan2 ай бұрын
crazy title
@SethGloverАй бұрын
very cool!
@merthyr1831Ай бұрын
Valiantly watching this in case you accidentally fix some of AMD's graphics bugs on my laptop
@dasten1232 ай бұрын
cool stuff!
@runforitman2 ай бұрын
If you want to actually *make* a GPU, look into FPGAs If you're a software dev, it might be hard to move into as it's more like hardware development imo But that's a good way to do it They're extremely fast and are the next best thing to custom silicon
@runforitman2 ай бұрын
3:02 To make a simple one, you wouldn't have to know all this As long as you keep your scope small, it would just be driving your display (or at least generating the signal for a driver circuit), then you would have it setup to do certain calculations really well So maybe you could send it some vertex coordinates, and it would draw them in wireframe for you Depending how far you go, could have it fill them for you or even shade them Look into the maths of drawing what you want to do
@runforitman2 ай бұрын
For designing semi complex HDL systems, I personally like MATLAB Simulinks HDL coder, which is a nice visual way to create your modules
@runforitman2 ай бұрын
The nice thing about you making your own hardware, especially if you write the GPU drivers, is that you can make up everything beyond the CPU and follow absolutely no one, if you don't want to Probably should, but not imperative
@runforitman2 ай бұрын
But ofc you lose compatibility
@satibel2 ай бұрын
As a hardware dev, it annoys be that I can't find software to upload the mux configuration on the fpga directly (or directly work with logic gates) that doesn't cost "request a quote" (aka too expensive for me) But yeah, race conditions everywhere if you aren't careful.
@realdomdom21 күн бұрын
Modern GPUs probably have microcode or µOps or whatever they call it or schedulers running. It's just fluff but could be interesting.
@El_boi_john-2 ай бұрын
Hey my guy I am kinda new to Linux and shit and I was curious as if you have messed around with the Linux buffer frame? I’ve done a similar thing but with the Linux buffer frame only
@satibel2 ай бұрын
Afaik the /dev/fb0 frame buffer (if it's what you're referring to) doesn't have access to the gpu to compute any 3d thing, so you have to do everything on the cpu. (Though a modern cpu will be able to do quite a lot of 3d stuff at decent framerates) You usually want to mmap the framebuffer so you can write faster without file i/o overhead. I think his goal with the video is to understand the GPU better though, and the framebuffer abstracts all that. (Btw don't get me wrong I love the framebuffer, it's imo the most straightforward way to draw stuff, just write the value you want to display on the screen)
@basharshehab58032 ай бұрын
tfw i know i wont ever be this good
@ear_w0rmАй бұрын
I absolutely want your vim config
@rohan_devarc2 ай бұрын
I would rather make my own GPU on mister board or any other fpga. But this was a great stream. Cheers!
@sphaerophoria2 ай бұрын
Just to be clear, this is in the long term plans, I just want to get more familiar with the GPU world to make sure I design it right (enough)
@rohan_devarc2 ай бұрын
@@sphaerophoria Kinda figured it out. You were getting too many FPGA Ads on web links. Btw your streams are way too cool. Keep it up!
@satibel2 ай бұрын
@@sphaerophoriaI made a very rudimentary logic gate "gpu" in midinous (it's purpose made for tetris and doesn't do any 3d, but if you want to do a regular gpu it isn't that much harder, you replace all the tetris specific stuff with some vector units and just draw your vectors into the framebuffer.) You might want to look into processors, as a gpu is basically just a ton of specialized processors doing simd. Also I think you underestimate the 3d capabilities of modern microcontrollers (especially if your screen is at most 32x32) , a 2$ rp2040 is running at 133Mhz, 1993 doom can run on 25Mhz processors. I still think it's pretty cool, I should get back to that fpga with an hdmi out that I bought.
@VlaDexa_MAX2 ай бұрын
Another day dreaming of AV1 for streamers... Text will be soooo clear after the switch
@toshii2198Ай бұрын
I am a bit confused, what do you mean by making your own GPU? What about the hardware, how does that work? To my knowledge, gpu hardware is pretty different from a cpu hardware
@ergo64502 ай бұрын
awesomeee
@xzscvbnm2 ай бұрын
you type like lightning holy shit
@micmaci9343Ай бұрын
Have you thought about starting a discord?
@fleshwound88752 ай бұрын
hahahhaha, its a man problem.... the decorating... I dont mind bare walls either apparently
@iyxan23Ай бұрын
would really love for the source code :)
@oraz.2 ай бұрын
Kudos 2 u
@giuseppecappelliPSRLАй бұрын
1:27:41
@dquevid2 күн бұрын
I don't get what was the the point of using virtual machine, when he could've done that on his main
@sphaerophoria2 күн бұрын
Only one user of the card can be the "master". On my machine thats taken up by the window manager. I could do it on my main, but not while streaming without a stream pc
@btarg12 ай бұрын
This guy types so ridiculously fast how does he do it
@gwky2 ай бұрын
-rep, didn't use HolyC, graphics not blessed
@mrflimpam59482 ай бұрын
what terminal r u using and how did u made it kali style command line
@toyvo2 ай бұрын
Alacritty plus tmux it looks like
@jonatansexdoer962 ай бұрын
What does "kali style" even mean?
@happygofishing2 ай бұрын
you can just steal the .bashrc of any distro you like the bash config of.
@kyleyoung81792 ай бұрын
What distro is this?
@ottergauze2 ай бұрын
NixOS it seems but the look of a distro isn't strictly defined by what distro it is. Looks like they're using KDE Plasma as a desktop.
@loukasfragoulis45242 ай бұрын
how do you delete whole words while in insert mode?
@redacted61622 ай бұрын
+1
@spodarman38232 ай бұрын
(ctrl + w) for deleting whole word on left side of cursor
@The_1ntern3t2 ай бұрын
@@spodarman3823 Oooh is this where the "Close Tab" shortcut in current browsers stems from?
@okie90252 ай бұрын
ctrl+backspace in normal editors
@MySisterIsASlytherin2 ай бұрын
Are you from Newfoundland? I ask because I noticed you use "he" as a pronoun for some nouns.
@jmvr2 ай бұрын
I also noticed they say "he uses" and "this guy", when I'd normally use "it uses" and "this"
@Zi7ar212 ай бұрын
I notice network chuck does that too lol
@satibel2 ай бұрын
That's also something people who's native language uses gendered pronouns for objects do. (E.g. French, German, Spanish )
@jordansprojectsАй бұрын
Something kind of quirky Americans in general do as well. I do the same and I learned it from my mom.
@jmvrАй бұрын
@@jordansprojects I'm from the Midwest and I've always said "it" or "this", never a gendered pronoun like "he" or "she". To be fair, I do the same with cars, even though a lot of people use "she"
@andrewdunbar8282 ай бұрын
If you're going to dog linux graphics anyway
@ipaqmaster2 ай бұрын
Lmao.
@Kawka11222 ай бұрын
What's the point? You could just be using nano.
@kockakoc20302 ай бұрын
Great idea! One of the next projects could be writing some LLM and train it/do inference on custom gpu. Would be so fun as well.
@DanDart2 ай бұрын
Based KDE user
@ignacionr2 ай бұрын
Really don't appreciate the unnecessary swearing. Otherwise, good stuff.
@GuihKx2 ай бұрын
alright soft ears
@MrMoon-hy6pnАй бұрын
You clicked on a video called "raw dogging " it's par for the course really.