Hi everyone, I am back with a new video and this is going to be a workspace tour of the year 2020 because I haven't done one in such a long time. But because I am working from home now, I have decided to redecorate my workspace so that it's nice and inspiring and it motivates me to continue doing work from home, especially with the current situation that we are in. I'm also recording this in the old school style, I suppose. I'm just holding my camera and I'm just going to show you all of the things that are in my workspace. So please excuse any background noises that you will hear. My window is open, which is right there and you might have just heard the train passing by, but I will be showing you how I organize my workspace as well as my art materials inside. This video is sponsored by Skillshare, an online learning community with thousands of classes based on a range of different topics. And normally when I use Skillshare, I just go for the drawing tutorials, graphic design and animation classes. However, when I was doing this video and redecorating my space, I decided to browse for their other topics such as interior design and interior decorating classes. And one that I really liked was how to design your creative workspace by Melanie Greenwood, as well as how to design a tiny house plus interior by Auk and Jildu, which I actually really, really enjoyed. So I will link all of those videos in the description box below so you can check them out as well if you're interested in that. In the description box is also my special link because this video is sponsored. So the first 1000 people to use that link to sign up will get two months free of their premium membership, which is normally valued at 10 US dollars a month if you pay annually. So that's two months of free unlimited content on Skillshare to help boost your creativity. So I will also have that link in the description box below. And if you are very much interested, I do highly recommend that you check out Skillshare and use that link to sign up. So let's start with my furniture. As you can see, this is quite a unique setup. I've never actually done this sort of setup before, but I have two desks stacked on top of each other. And then over here, you can kind of see that the leg of this desk is resting on the drawer underneath it, and that desk underneath as well is resting on the same exact drawer. I had to take out the original legs of the table in order to create this custom setup. So the two tier desks allow me to work either standing up when I'm working on the computer and sitting down when I'm drawing or doing anything that doesn't require me to use the computer. My furniture is actually all from IKEA. This desk is from IKEA. The legs that came with it were actually sold separately, but since I had to take them out, they were very easy to take out. The drawer underneath is also from IKEA. I believe this stool is also from IKEA. And then I have a cart underneath my sitting desk, which is also from IKEA. This one's only two tier because the three tier one couldn't fit in, so I had to get rid of the top tier and it's currently just somewhere else being unused, unfortunately. And then underneath that I just have some wirings and tubes for my air conditioner as well as my rubbish bin. Starting with this desk, like I said, this is where I normally draw or anything that doesn't require me to use the computer. Right next to that is actually my bed and right here is my window. So I do have a large window that is facing west and here in Australia that actually means I don't get a lot of direct sunlight in my room, but I do get a lot of light, which is quite diffused and just very soft, which I really like. I do get a lot of afternoon light though, especially in summer, so this room gets really, really hot. But I do like my window because it allows me to take care of some plants and some of my plants are thriving and I'm really, really happy with that. So I'm just going to do a bit of a plant tour as well. This one over here is the Goldilocks plant. I recently got this one, literally she just arrived on Saturday, today is Monday. And I also created these labels that just helps me remember whether they need a lot of light or whether they need to be kept dry or kept moist because I am not super good at taking care of plants. It's only recently that my plants started thriving. So that's given me a bit of confidence to start taking care of them. And then next to that I have some pouches or it's just one pouch that contains miscellaneous items. It's actually really hard to film at the moment, but I'm going to try and show you everything that's inside some of these containers. So this one just has like old phones and cords in here that I also use for filming because even though the phones are quite slow and not as good as they were before since iPhones tend to do that, the camera and quality of it is still pretty good. So I use it sometimes for filming. I also have a journal in here which I use to write down my thoughts the same way you would use a journal. And I just keep that right next to my bed because that is usually the time that I would journal. I've had that one for years though because I'm pretty bad at journaling nowadays, but I'm hoping to get back into it. And right now you are seeing my lucky bamboo plant. She is thriving. She has grown so tall with so many leaves and I'm so happy. And she's got lots more baby leaves growing. Once again, I have my label right over here. And then next to that is my Buddha belly fig. She's also loving the lights. So that's why she's in the window sill. And then I had to add these pebbles on top. Well, my mom helped me because she loves gardening and everything I know about plans comes from her. So she was helping me get rid of pests that were trying to destroy my plans and that's just what we found on the internet. And then next to that I have a candle and then a fake plant from IKEA because like I said, I struggled with taking care of plants for years. I think I've had these two plants for about two years now. It was only last year that they started really growing super well. So before that I stuck with fake plants for decoration. Right over here on top of my desk I have another plant which is the Chinese money plant. I got her as a present for my birthday, which was just recently. She's sitting on top of this wooden case that I created out of scrap wood and then I painted it white just so it fits the aesthetic of the workspace. It allows me to store some tissue, which I also put in this like DIY cardboard box. So it also fits the aesthetic of my room. And then on top of that I have a humidifier, which I also just got recently as a birthday gift and I'm loving it so much. I use the peppermint essential oil and I love the smell of it. It also helps unblock my congested nose, which I have normally when I wake up in the morning. And then next to that I have some power cords and then that's pretty much for this desk. I like to keep my desk quite clean on top because it's not a super big desk and whenever I'm working paper is like spread everywhere. So I like to keep this big space as free as possible. I also have a lamp right over here. I decided to get rid of the cover or the shade so that it's not so much of a spotlight rather it spreads the light everywhere in the room when I'm using it for filming and when I'm using it for drawing. Underneath that I have my camera, which is charging at the moment and I also have a bunch of technology items underneath that space, which is actually kind of like a charging station. So underneath I have some boxes as well at the very back. They're shoe boxes, which I use for storage for technology related items. And at the very front I have my most used technology items, which is my MacBook Air, which is really old. I have an iPad, which I use for my digital drawings. And then I have just headphones. So I'm going to try to show you what's inside the boxes over there. So if I take this out, I have these are my frequently used items, not all of them, but some of them are frequently used. I use some of these for filming or making videos. For example, I have my microphone over here, my tripods, mini tripods. These are some old webcams that I used back then. I also have this one's a microphone stand. So things like that go in here and this shoebox is actually very sturdy. So I just use it as a storage that way I didn't have to buy it or anything like that. Then we have this corner, which I'm actually quite happy with how it looks. I wanted a backdrop for my Instagram photos and I was working on this one and this is what I ended up creating. So I'm quite happy with it. Hopefully I end up using it. But anyway, all I have here are some fake flowers because I cannot take care of flowers for the life of me. Same with plants, but flowers are a little bit harder, in my opinion. So I've decided to just purchase these fake ones from Bunnings. Next to that, though, is a real plant, which I also just recently got. This is the Taweri Monstera. I think that's how you say it. And then right next to that, I have a mug. That one's a mug with some black fine liners and scissors and then a gold feather, which I got from the Hamilton musical that I watched in February just earlier this year before the lockdown and everything. And then right next to that, I have some candles. I really love coconut smell. So I tend to buy coconut scented candles. And then behind that is a box of stuffed animals, which my boyfriend got me. Behind that, though, I purchased a Dio lamb, which is an XO merchandise. I don't think it's official, but it's the one for Dio or Kyungsu because he is my bias in XO. So when I found a seller that was selling it to Australia, I decided to purchase it. And then, yeah, so I just keep that over there as a memorabilia. And then next to that, I have my sketchbooks. So I like collecting black sketchbooks and I created these labels on the spine that allows me to know when I started and then when I finish the this one over here, I actually accidentally wrote 2020 instead of leaving it blank, so it's not finished yet. But I guess I'll have to finish it before the year ends. I also just have a planner over here, which is just easy to grab. And they all sit underneath this wooden shelf, which I also created out of scrap wood. I painted it white so it fits the aesthetic of the room. Same thing with that mini shelf over there. And it has these office supplies items, so things that I actually grab very often, but don't really fit in anywhere with my art supplies. So I just keep all of them here. They're all very easy to access, so I keep that there. Next to that, I have some more plants. So I have a spider plant that my mom got me just in the corner. Underneath that, I have some fashionary products, so poses for fashion illustration. And then I have a Polaroid camera that I got for my birthday. I also have another plant here, which I also just recently got, which is why she's tiny at the moment in this large pot. But I'm hoping she grows lots of leaves and she actually has a baby leaf right now, so that's really cute. And then in front of that, I have some candles and once again, a coconut scented candle. It's actually really hard to find coconut scented candles. So anytime I find one, I just instantly buy it and then I light all of them up so that my room smells like coconuts. But next to that, I have a graphic tablet and then another one. I actually have two separate videos on these ones, which I will link in the card section. I have my large fashionary sketchbook, which I also have a video of. And then I just have a notebook.  And then I have my keyboard and my mouse and my computer. And I actually created this drawing for my website, but I really, really liked it. So I decided to create it as a wallpaper for my Mac. And behind that, I have some of my recent artworks, which I placed on this wall, along with some goals and some photos that I just really liked as well. It helps to kind of create a color palette for my workspace, but it also just allows me to see what I'm currently working on. And hopefully to inspire me to create more artworks so that in the future I can replace the artworks that are in here with newer ones that I really, really like. And then I have a shelf on top, which contains some folders at the very corner over there. So the black ones actually are folders that contain old artworks as well as some space for new ones. So any time I create a new artwork, it all goes in there. I have my sketchbooks, which are all old and they're all labeled. I have fake flowers for decorations, fake plants for decorations, candles, a piggy bank and a snow globe that I got as gifts. And then I have a frame up there with an artwork of mine. And then I have this blank space, hopefully for art materials that I purchase in the future. So I just wanted to keep it blank to remind myself that I've got space for growth as well as experimentation. And then right here I have my guitar and my ukulele, which I've decided to put next to my workspace or along with my workspace because music is another creative outlet that I really enjoy. So I wanted to put all of the things that I love into one place so that hopefully it inspires me and it motivates me to continue working. So now let's move underneath my standing desk. So you've already seen this drawer, but on top of that, I have makeup on my right because I actually have a mirror next to this desk. But then I also have a printer, which is the Canon TS9160. And I have a my die on top of that. And then I have my drawer underneath, which I've actually categorized into different sections based on what media it is, as well as how frequently I grab for these items. So the first drawer looks like this, and I'm just going to try and find a better angle as well. So it's easier for me to film. So this is what it looks like. And I've created this black divider out of cardboard. I mean, sorry, foam core board. And this contains my dry media. So things like pencils as well as pens and inks go in here. So first off, we have my erasers and sharpeners, my pencil leads, mechanical pencils, sketching pencils, more sketching pencils. But these ones are a little bit more special because they are charcoal, Conte, graphite, stuff like that. I have my favorite sketching pencils, which are actually the Lyra Rembrandt color pencils. They're not actually for sketching, but I use them for sketching. As you can see, this one is my favorite. This is the Venetian red color. And I have my Prismacolor pencils. So I have culled down and decluttered a lot of my art materials. So this is currently what I only have. And my Prismacolors I first bought as a set, but there were so many colors that I didn't like. So I decided to only keep the ones that I liked and I knew that I was going to use. And then the other ones I donated. So these ones are pastel warm colors, cool colors, and then these are my most used colors. As you can see, they're all small and sharpened and tiny. And then next to that, I have a notebook and then I have a pencil case. And then over here, unfortunately, I can't really open this drawer as far as I can. So these ones are my less frequently used items. They're always placed in the back. I have my Sumi drawing ink, brown fine liners. I have my water brush pens. I have a smaller brushes for creating line art. I have brush pens in here, mostly black. I have some markers in here, which aren't alcohol markers. They're just different kinds of markers. This one's the Faber-Castell Pit. And then I have an acrylic marker. And then these are some alcohol-based markers that I've decided to keep. I no longer have my Copic markers. I only wanted to keep a small amount of them. So I decided to keep the Windsor & Newton and the Spectra. And then over here are some assortment of rulers. Underneath that is my drawer for wet media. And I'm really happy with how this turned out. I created these removable dividers out of balsa wood. And it allows me to store my paints into different categories. So I have watercolors in here of different brands. Most of them are the Holbein Artist watercolors. I have some other brands in here as well. And next to that, I have my gouache, which are mostly Holbein as well. And I've divided them into oranges and yellows, reds and purples, and greens and blue. And I think the only one that's not Holbein is my art spectrum gouache. Next to that, I have a porcelain dipping sauce dish. I got this at the kitchen section of my thrift store, my local thrift store. And I like using porcelain for mixing paints because as you can see, it's still clean. You can easily remove the paint and it looks as if it's brand new and never been used. And then underneath that, I have my cotton ore watercolor set. I also have some more of the porcelain dipping sauce dishes over there, which I also use for paint palettes. And at the very back, because I can't really access them as easily, I have some tape and then I have these plastic watercolor palettes. Next to that, I have some acrylic paints over here, just laid out like that. And then over here, I have some liquid inks in different colors. These are all art spectrum, except for the Dr. P. H. Martin and the Liquitex ink. And I also have some black inks in here. Different brands. I think this one's Winsor & Newton. And then this one's the only one that's not an ink, but it's special because it's a gold gouache. Next to that, I have my brushes and my plastic palette knives for mixing colors. I have more paints. This one is the Paper Mill watercolor paint swatch set. And then this one is the water-based gold pigment. And then this one is my dry brush, which I got from Amazon. And then that's pretty much my wet media drawer. And the next drawer, I have papers, different kinds of papers, and they all come in pads. So I have A3 pads in here, like this one's a Kansan Montval watercolor pad. This one's also watercolor pad, but it's just a different size. I have a watercolor sketchbook. I have some Yupo paper, and I believe these ones are for hand lettering. Most of these ones I got from subscription boxes. So that's why they're all here, and that's why they're mostly paper pads. And then these ones are size A4. These are all watercolor pads. I have a sketchbook over here by Fabriano. And then I've got some A5 pads. So this one's Yupo. I've got a marker one, and then the rest are all watercolor.  And then I have a wooden pencil box, which I got as a souvenir from my trip to Bali. Unfortunately, this one doesn't have anything in here anymore. I'm not entirely sure what to do with it now, but it's just in there because it fits. The next drawer, I have random items that are kind of printed related, or printer related, but also not really. I have some printer paper here. These ones are gold leaf, gold metal leaf that I purchased recently because I wanted to try them out. I also have some primed wood panels for new paintings, hopefully coming soon. I have some postcards or cards that you can draw on in here. And then next to that is this metal tin that has my printer inks. And like I said, these are all super random. It's not actually really organized, but I don't really know where to put all of these items. They don't really fit in anywhere. So they're kind of just sitting here at the moment. And then this drawer has my large papers. So I have large individual papers over here. I have a large pad. This is an A2 pad.  This is my A3 portfolio. I have a cutting mat in black. And then I have these other mats that I use sometimes for cutting or for a mouse pad or sometimes for filming as well. And then the last drawer currently is empty, similar principle to my shelf because that just allows me to buy more art supplies and experiment in the future as well. And that's pretty much it for my workspace. I think that is everything in there that is at least art related. There's a lot of there that's not super art related. For example, underneath my drawer, there's my makeup. And then my cart, which actually does not have any art supplies. It's mostly hair products, some other skincare products, first aid kits. So I don't think that's super interesting. So I didn't go through that one. But I think that is everything for my workspace. This is what it looks like. I'm super happy with how it looks at the moment. Hopefully you guys liked it as well. And hopefully you liked seeing my workspace for 2020. I will link some of my old workspace tours in the card section of this video as well as in the end screen of this video so you can see potentially the evolution of my workspace because I've been decluttering my art supplies for years now. And this is where it's currently at. It's very hard to actually declutter. So I'm taking it slowly one step at a time. And this is where it's currently at. So I hope that you guys enjoyed this video. If you did, don't forget to give this video a thumbs up, subscribe for more videos, push that notification button to find out when I upload new videos. And thank you so much for watching. I hope to see you guys in my next one.


Howdy how's it going? My name's Davy Chappy and today it's time to take a walk through history. Well, not real history, but the fake history of Eberron.  See, totally fake.  As always, this is just my personal recollection of events, and I'm admittedly more worried about giving you a good time than I am about learning your stuff, so if I get something wrong, feel free to tell me about it in the description below. Also, this video picks up right where the last chapter left off, so if you haven't seen that yet, you should go check it out sometime.  Y'all can be rest assured knowing that your Davy is proud of you. But with that out of the way, let's begin. So, when we last left off, Corvair had found peacetime under the flag of Gallifair, a monarchy that spanned the entire continent and was founded by the wise and just King Gallifair Erwinarn, a man who had managed to manifest his destiny over the five great nations, not through war and bloodshed, but with diplomacy and negotiation, and a huge army that you would be really scared to disagree with. It took him 24 years, but when he was done, he cemented his rule over the five kingdoms by naming them all after his five children, Undair, the Magical Country, Breeland, the Main Trading Country, Sire, the Artisan Country, and Thrain, the Religious Country. His fifth son, Karn, already had the fifth nation, Karnath, the military country named after him, because he himself was named after the known pacifist, Karn the Conqueror. Later on, when King Gallifair finally stepped down as king, his son Sire would take the throne, and after him came his son, Gallifair the Second, and so on and so forth, until the reign of the last king of Gallifair, King Jared Erwinarn. Now, Jared was the most paranoid king that Gallifair had ever had, and his paranoia spanned to everything and everyone that he could think of, from the elves off in Aranol, to the dragons in Argyneson, to the 13 powerful dragon-marked houses. Okay, he might have had a point with that last one, we'll get to the dragon-marks in a different video. And Jared's excessive paranoia led him to bolster the defenses of the kingdom to an extreme degree. He created floating fortresses in Breeland, a secret army of mechanical warriors in Sire, and threw a massive amount of gold into bolstering the military of Gallifair's five nations. But, as fate likes to do, it was Jared's paranoia over invisible enemies that proved to be the greatest enemy of all. Upon his death, Jared's next in line, Princess Michonne of Sire, was set to take the throne after him. Unfortunately, all of Michonne's siblings knew what an absolute tosser she was, and rejected her claim to the throne. Prince Thallen of Thrain, Prince Chaius of Karnath, and Princess Roan of Breeland, all decided to take the throne for themselves, with each sibling proclaiming themselves the king of their individual nations. Only Prince Rogar of Undair would remain loyal to Michonne, and that was only because he swore an oath to his father, Jared, to, you know, not start a massive war over wanting his older sister's stuff. Unfortunately, the other siblings had no such oath to abide by, and everyone suddenly had the same catastrophic thought run through their heads at the very same time.  And thus the last war began. It was a great war, it was bloody. It was a scene, it was an arms race.  But what we do know is that it lasted a whole 102 years, everybody fought everybody at some point, and none of the nations were spared from the turmoil. We also know that one of the dragon marked houses, House Canith, had sold all of the nations, the machine warriors, that Jared had commissioned while he was still alive, which only exacerbated the problems since it created even more bodies for each nation to throw at each other. But the nations were all affected by war in more personal ways as well.  Their excessive focus on the war effort also caused them to ignore the problem of marauders and demons that came from the demon wastes that were plaguing their woodland areas known as the Elding Reaches, which led to the Elding Reaches being liberated by a massive druid sect known as the Wardens of the Wood, which led to it subsequently declaring its independence from Undear, since the only thing that phenomenal cosmic power can't beat is old men who don't shower. Moving on, Breeland had always been a land of freedom and democracy, and so they spread it the only way lovers of freedom know how, by invading other countries and calling it liberty. Their main headache during the war came from an area to the west of Breeland called Drome, which was a lawless field of endless monsters that bordered an even more lawless waste land of endless monsters to their west called the Shadow Marshes. Drome was always technically a part of Breeland, but no one ever went there due to the aforementioned endless monsters, so when war started the monsters just became a general nuisance to the Breelish people. That is until a trio of hags known as the Daughters of Sora Kel showed up and started subjugating every monster they saw under their will. Once the war ended, Drome actually started to look like a real nation, although none of the other nations ever officially recognized it, but let's be honest, who's about to take it from them? Thrain, on the other hand, took a much more, uh, crusading approach to the war. They tossed out their old monarchy of listening to the laws of one person and their devout followers, and they embraced the theocracy of the Silver Flame, a religion about listening to the laws of one being and its devout followers. Their army, as you would expect, had the most clerics and paladins in it out of any of the five nations, and they fought with the power of God and anime on their side. Unfortunately, of all the nations, Thrain was the one that lost the most land to the other four Gallifarin nations, and they ended up being the most bitter about it. Even after the war ended, Thrain tried to keep itself the most self-sufficient just so that it wouldn't have to go out and make eye contact with any of those godless heathens. Of course, without a doubt, the biggest and scariest crusading army had to come from Karnath, since they decided to bolster their forces with an undead army of the damned. Since to the royal military of Karnath, death is occupational, and it does not mean that you get to go home early. Karnath had actually managed to use their elite shock troops, known as the Order of the Emerald Claw, to assassinate Michonne of Sire early in the war, only for her to be succeeded by her son, who would go on to continue the fighting and end nothing. Karnath also had a massive food problem that was only solved when King Chaius made a deal with a group known as the Blood of Vole to give the nation food in return for transforming Chaius into a vampire for the lulls. Chaius, not about to have a best-selling book series written about him, faked his death and hid away until the war was over, at which point he returned to his throne under the guise of Chaius III, his own great-grandson, and subsequently tried to keep the peace going for as long as his fake mustache and glasses would hold. Besides the five great nations, the independent province of Zalargo was able to avoid getting raffle stomped by everyone else's army by throwing up its hands and going, We support the true Gallifarin king! Without specifying who they were talking about, effectively making them a neutral province. The Talento Plains stood between Sire and Karnath, and was technically claimed by both, though it ended up pushing out both sides through the power of Halflings riding on dinosaurs, although eventually even their resolve broke and the planes got churned to metaphorical mulch.  And that left Sire. Poor, poor Sire. The nation of artistry and wealth, which by blood should have had their queen, ruled over Gallifar all along, to which the people of Sire saw the whole war as one big middle finger signed by the other nations. It went from being a shining hub of creation and ingenuity to a raised battlefield of death and sad times, as since Sire was smack dab in the middle of all the other nations, most of the war was fought on Sire and ground.  And to really pile on the pain, since the forge that created the Warforged was privately owned by House Canith, Sire wasn't able to have all the best goodies because even though it was their land that the forge was built on, it was not like they could force the forge to give them an army, since, you know, the forge had an army to defend themselves with. Pretty much any possible problem that could occur for Sire managed to happen to Sire over the course of the war. Oh, and then they exploded. Yeah, no, you heard me right.  Well, to be fair, there's probably a reason, but no one knows what it is, so common knowledge is that all the people of Sire were just minding their own business that day when BAM! A magical fog rapidly expanded over all of Sire, stopping perfectly at the border of the country and instantly killing everyone inside.  And soon after, the Treaty of Thronehold was drafted to officially end the war so that there would be no more mass extinction. The treaty recognized all of the nations that had broken off from the five main nations, as well as any independent nations, as all their own countries, to rule as they deemed proper.  Speaking of which, in a brilliant display of tone deafness, from that explosion onward, Sire would henceforth be referred to as the Mornland.  And while Breland opened up a refugee camp to label the new Sire, it did little to quell the anger of the once-favored people of Gallifair. In fact, a lot of people were still pissed off about things that happened during the war. And now, with the Treaty of Thronehold established to cease the fighting, the continent of Corvair is left in a massive unease as everyone waits for the single spark to reignite 100 years of misery. This is about where the game begins. And although there is still plenty of Eberoni and lore to talk about, this is about as far as you really need to know to start out as a player in the grand world of Eberon. But that'll about do it. I hope you enjoyed this video. Leave a like and comment if you did. Subscribe if you want to be a cool dude, and maybe support me on Patreon so that I can slowly make my entire life revolve around D&D. Also, if you want to stay up to date on all of your Dabby news, I keep a link to my Discord and Twitter in the description below. But yeah, Dabby out.


So, my name is François Tijot and I'm reachable on IRC over email. I generally hang out on FreeNode. I'm an independent consultant and system engineer. I'm an X11 and a BSD user since many years now. I've been a Dragonfly developer since 2011. I originally ported the i9-15 and a Radeon driver to Dragonfly. I have been updating the i9-15 drivers than them. Dragonfly is a UNIX-like operating system. It's a BSD descendant. It was originally forked from FreeBSD in 2003 by someone called Mathieu Dylan, who is sort of genius in his own way. Dragonfly is high-performance and scalable. It uses per-core replicated resources and many operations are naturally lockless. So it really likes high-core code, SMP systems and so on. Dragonfly uses an innovative HammerFile system. A newer version will be coming this year. It's really great for disaster recovery or heavy storage in general. The HammerFile system can return history. All transactions can be kept on disks for up to 60 days. History can be streamed between local and remote file systems. It can be used in a sort of real-time way. So it's really great for disaster recovery and general heavy storage systems. There's also integrated data application, cheap data application. You don't need tons of memory to duplicate data. It's great with small servers like machines having only 4 gigabytes or so. And I have been successfully using it on some client systems, using DNA or proteins or generally scientific data. And now I will focus on the graphics drivers. So all graphic drivers these days are based on Linux. There are many, many people, corporate developers, developing, writing graphic drivers for Intel in particular, but also AMD and so on. Nobody is working on Dragonfly. All of them work in Linux. I guess nobody has heard of Dragonfly in that area. So I have to manage with the current situation and port the Linux drivers to Dragonfly. The easiest way I have found to do that is actually not to port the drivers, but to reimplement a Linux subsystem in the Dragonfly kernel. Most modern graphics in Linux use something called the DRM subsystem, which means Direct Rendering Manager. This subsystem and the drivers themselves directly use tons of Linux APIs. And I had to reimplement these APIs and, in general, make the drivers believe they were running in a Linux kernel. So for the purpose the Dragonfly kernel can be considered an implementation of Linux. I was quite lucky for many BSD systems already at limited Linux API support, limited Linux API implementations. When I first started, OpenBSD was probably the most successful BSD for DRM support. There were many APIs I took, I took the implementations from OpenBSD. There was also a specific subsystem for some high-performance network devices in FreeBSD using Linux APIs. At some point, NetBSD people decided to also port the DRM subsystem and implement many things missing in Dragonfly. So I took a bit from all other BSD projects. We also had some subsystem we managed to use to reimplement other Linux APIs, like IDR, which is a sort of small integer registering subsystem. Occasionally, we also took some implementations from Linux itself. Contrary to popular beliefs, all Linux kernel code is not under a GPL license. There are many PCs under more liberal licenses like MIT, X11, and so on. And this is particularly true for DRM subsystem and drivers. Our Linux compatibility layer keeps growing from year to year. We now have more than 100 include files. They mostly are wrappers for other APIs which were already implemented as Linux APIs or BSD-specific APIs. Most of the wrappers are under a too-close BSD or MIT license. The i9-15 kernel driver is mostly in the same state as the one found in Linux 4.7.10. We support Core 2 to Kabylag GPUs, which makes it GPUs from about 2005, 2006 to the current generations of hardware. More recently, Linux version support is being worked on. Many people have helped. A general story of the i9-15 kernel driver. In 2010, there was a GSOC, a Google Summall Code project. A student called David Schau tried to work on the i9-15 support. He did many things, but for many reasons, I don't really know. His work was not integrated into the Dragonfly source code repository. So it was a bit of a waste, but at least when I tried to understand what happened years later, I found many discussions and ideas I simply could reuse without trying to waste time finding out myself what had to be done. I started to work on porting i9-15 two years later in summer 2012. At that point, FreeBSD had just released a new port of i9-15 from Linux, and it was working on current hardware. Since FreeBSD and Dragonfly were somewhat closed due to the shared history, I decided to port the drivers from FreeBSD and not directly from Linux. One year later, we had the driver working reasonably well. We had to implement some low-level support for cache management, which we didn't expect at all at first, but that really was the missing piece which allowed us to get the driver working. After that, I discovered FreeBSD had stopped updating its driver. Nobody told me exactly what was happening or what the situation was. People in the FreeBSD community apparently still believed the work in progress updates would be committed, would be pushed in the future, but nothing happened, so I didn't really understand what was going on. At some point, I decided to try porting newer changes from Linux directly. It was not until one year later that we had working as well support, as well as the newest Intel GPU generation at that time. Since then, I have been steadily upgrading our Linux driver version. We are now at the Linux 4.7.10 level. All currently sold i9-15 hardware is supported out of the box. DRAM Radeon is another driver. I started to port it one year later than the i9-15 driver. It is currently mostly synchronized with the same Linux version, Linux 4.7.10. It uses a special subsystem for memory management which is called TTM. Virtual memory management is hard. Not many people understand really what is going on at its low hardware level. It has been stuck on the Linux 3.11 level for four years now. There were also many people involved in debugging and helping to improve various subsystems related to Radeon support. The story was in the summer of 2013, I started porting the Radeon driver. It was working about one year later. At that point, we updated it from time to time to newer Linux versions. But it has been somewhat neglected. Since this year, David Chaos, the original GSOC author, decided to partially update it to Linux 4.7.10. But unfortunately, there are problems with this update and there are talks of a partial revert. The MDGPU driver is a new GPU driver for newer Radeon hardware. I don't really know what the Radeon connames mean in terms of commercial graphic connames. But it's generally required for newer GPU families. Nobody is known to be working on it and this has not changed since 2015. Nouveau support. Nouveau is the Linux kernel driver for NVIDIA hardware. NVIDIA hardware was never really well supported since NVIDIA itself, the company, loves to push its proprietary driver everywhere. Support has actually regressed since at some point there was a 2D accelerated driver in Xhork. But it has not been updated for years and cannot be used with Radeon hardware. So almost nobody in the Radeon flag community has NVIDIA hardware. I still played a bit with the driver and it poses an interesting challenge. Some file names are present with the same names in different subdirectories and our build system cannot compile them. I guess it could be fixed by renaming some of them or changing the build system a bit, but there has not been enough interest for people to do that. Well, actually there was a bit of interest for NVIDIA hardware, but in order to disable it. The only improvement we've had since 2015 on that front is it is now possible to disable NVIDIA hardware on hybrid laptops. So people can now force the use of the i9-15 driver and use their laptop out of the box with it. We also have a Visa driver. It's interesting. It's basically using small firmware inspections. There's a very old and low-level BIOS API. And it allows the use of NVIDIA hardware as a damn-frame buffer. It can also be used with some other GPUs like Intel and Radeon, but since they have accelerated drivers, it's only really useful for NVIDIA at this point. Of course, nothing is accelerated, so if you try to display static images like pictures and exterms and so on, it's fine. But if you try to play video or animations, well, everything will be dog-slow. Now, all of these drivers except Visa use the Generic DRM subsystem. It's a bit of a mixed bag. In order to be able to support current hardware and update drivers and so on, I have somewhat neglected it. So we have some parts up to Linux 4.7.10, but others much older. For example, we have no DRM master and no DM above support. Well, it's not really been problematic with applications, but at some point it will probably become to implement the missing pieces. One of the recent changes was related to the I2C subsystem. The I2C bus is a low bandwidth bus in general. It's used to provide additional information on video outputs, like, for example, HDMI cables or even the old VGA connector. Monitors can describe their preferred video resolution and other capabilities so that pieces and other pieces of equipment can auto-configure themselves to use it automatically. Of course, it isn't always perfect in working, like the HDMI cable at the start of this presentation. I'm sorry for that. Anyway, the I2C subsystem is a Linux subsystem. I re-implemented it from scratch and finally pushed the changes to the Dragonfly Canal in October 2016. It eventually replaces all the free BSD and Dragonfly-specific subsystem called IIC, which was completely different. It used completely different APIs for no good reasons. It was a bit of a hindrance when trying to upgrade the driver versions. It made it much easier for me to update the I915 driver. At some point, it would probably be a good idea to change the red end driver to use it also. It's currently only used by I915. Another big change this year has been VGS switcheroo support. VGS switcheroo is a nozzle Linux subsystem used to manage hybrid graphics. Many laptops nowadays are dual GPUs, since Intel always integrate GPU in its low-end and low-power processors. Some companies like to also provide a more powerful GPU like Nvidia, 10th Mx and so on, on some laptop models. We need the VGS switcheroo support in order to manage these two GPUs to be able to use the I915 GPU if the hardware was configured to use a discrete radion or Nvidia GPU by default. Someone called Peter Must ported it in March of this year. It allows the use of I915 on hybrid graphics laptops. Peter Must also ported a different subsystem called Apple GMX. It's really specific to some Apple laptop models, some powerbooks and powermarks. Some hybrid graphics laptops provide both GPUs with full video outputs. If you program the I915 GPU, you see something on the screen or on an external video output like a VGA port, same with the Nvidia or radion discrete GPU. But on some particular Apple models, the video outputs are not directly connected to either the screen or the plugs you can use in the case. They are connected to a different component called GMX. So we have to program that chip to be able to choose whether to use I915 hardware or Nvidia hardware for example. So since April of this year, we are now able to also force the use of I915 hardware on Apple laptops. Unfortunately, this code was directly ported from Linux and not implemented. It's the chip LV2 code, so we put it in a separate place. Just to be sure not to mix it with more liberally licensed code. I know about user and software. Dragonfly uses a system called Deports to create packages. Deports is a framework based on FreeBS Deports, which is a repository of package building instructions. And we automatically patch FreeBS Deports to improve Dragonfly support. So we have an automatic adaptation layer, and automatic tests, validation, and so on. It's single-handedly maintained by a guy called John Marino, and we now have more than 25,000 packages. And it's really a great system for Dragonfly, because it's a small community, and we don't have enough people to maintain such a number of applications. So it's great we are able to reuse FreeSD partners work and automatically create packages from this great work. We have, well, not the current version of Xorg, but the previous one. We have generally current versions of drivers. The XF86 drivers are 2D drivers. And for Intel, this is a bit special. Intel has stopped releasing newer versions, and we now have to directly use code from their Git repository. So this one is not based on FreeBS Deports, but managed locally. And K-Row is a library for generally used for 2D accelerations and displaying pictures and so on. So it's reasonably current, and Misa is a 3D driver library, and is also reasonably current version. Concretely, everything related to 2D operations and even 3D OpenGL works fine. Most graphic environments work fine. I don't think we have any GNOME users, so I don't really know about the state of GNOME, but other desktop environments like Meti or KDE are known to work well. And Paul even wrote to the Dragonfly IRC channel to congratulate us about the state of KDE support at some point. We also can play 3D games, so generally used OpenArena as a testing framework. Be sure 3D operations still continue to work fine after driver updates. It's doing great. I think that was quite fast for such an old game. Other people have also tested GPU calculation frameworks. There's something called Beignet. I don't really use it myself, but I've heard it is generally in a good state. There's also Wayland. Wayland is a bit mysterious for me. It's a sort of future Xorg version or replacement. Applications have to be ported, so I can simply use my usual window manager and tell it to use Wayland, so that's why I've not really tested it, but other people have. Apparently some versions work fine, especially with the In-N-15 driver. The challenge with newer versions is Wayland or some part of Wayland, I've heard about Western, now requires a special library called Liminput to manage mouse events, keyboard support, and so on. So people are working on it, but I'm not really involved myself. We have difficult spots, of course. One of them is virtual memory management. In general, graphic drivers now try to manage virtual memory. They have technicals deep into some kernel virtual memory systems, and it's hard to make sure that things work properly with non-linux VM subsystems, since the Dragonfly VM is very different from the Linux one. The VM models are not the same. But VM is something which is a bit out of my league, so we're lucky to have Mathieu Dillon for that. I think at this point he's the only one to really understand what's going on with such a low-level subsystem. And of course the big challenge with In-N-15 is it keeps being re-writed and re-writed. Intel people constantly make changes, much more than with other drivers. And right now I think I have more than 800 commits from one Linux version to the next, so this makes it difficult to continue updating it. We also have no problem, of course. Some recent GPUs have slight display corruptions, in some cases. There's a lot about scrambled, most pointers, and so on. Well, minor things. And it's generally only visible on most recent GPUs, so it's possible. Our In-N-15 driver is not stable enough for car-by-lake support, for example. So updating it to a new version could probably fix that. We also have a problem with some acceleration features like last-level cache support in the 2D driver. It's probably something we're not doing correctly in memory management, virtual memory management. Our key maloc functions also are known to behave differently than Linux. And one thing I didn't understand at first is Linux version of Kmaloc provides physically contiguous memory ranges. But the Dragonfly version only provides virtually contiguous memory ranges. GPU and CPU parts of the chips are not completely current. If we write something from the CPU to cache memory, it will not be completely pushed to real memory, and the GPU part of the chip will not see it. Same in the other directions. So we have to make sure cache memory is properly managed. And we should try to fix our Kmaloc function to make sure it uses physically contiguous memory ranges. So that's probably one of the reasons we have some slight display corruption in some work cases. Now about the future. Well, an obvious future thing to do will be to continue updating the N915 driver. At this point, I guess most people, most Dragonfly users have Intel hardware, Intel GPU hardware. Some rare people also use Radeon hardware, but a rough guess of my part will be more than 90% of people use Intel hardware. Most people use laptops these days, and most laptops use Intel chips. So we need to continue updating the N915 driver. Well, of course, Intel keeps creating a new driver family, new GPU families, so we have to. Otherwise, Dragonfly will not be able to work on recent GPU families and on recent laptops. Radeon drivers also need some love, but since there is such a low amount of users, it's a bit difficult to improve. It still uses all the APIs and FreeBSD or Dragonfly-specific code. There's not been a purely... a theory based on Linux. Other things to do will be to use formal test shoots and run benchmarks and so on. Try to find out more in a sort of automatic way, regressions, and fix things immediately. Another future thing to at least investigate is high-resolution timer support. Linux uses a subsystem called Escher Timer. We currently have an implementation of that subsystem in Dragonfly, which is based on the old payload mechanism, which was an original BSI mechanism, probably implemented in 1987, and it's not high-resolution at all. It's about 200 times per second. At some points, it would be interesting to re-implement high-resolution timers with a real high-resolution backend. Some developers, well, I think it was mostly Imre Vadas, began to investigate. In theory, using this facility properly would mean we could have important power savings. So right now, a modern laptop, such as the Skylake ones, uses about two or three watts per default just to de-playing XO pictures. And if we manage to drastically limit the number of times interrupt or periodic functions fire, we could tremendously decrease CPU time, decrease used CPU time, and generally improve power savings and get a much better battery life on a laptop. Now, this is about the people involved. Well, I supported the drivers. David Scho was your general JSOC student, which gave us many ideas. Many, many people were also involved and helped for various things during these last four years. So I'm done. Do you have any questions? You talked about formal test suites. Are there any, and how do they work? Well, there's a known internal test suite. The name escapes me at the moment. But at some point, some people try to use it. There's also an OpenGL test suite and an XOG one. But I've been relatively busy trying to keep up with Intel upgrades and I've not properly used them since a few years now. Have you ever tried to upstream some small changes to the Linux kernel code? Some things that you could benefit or some other BSD could benefit? Yeah, at some point, I found the hardware bug on a particular supermarket room at the board and I reported it at the bug on some channel. I think it was there next. I'm not so sure anymore. The fix was implemented by one of the Intel developers and it's now in the Linux kernel. But in general, we don't have many things to push since we're already using a relatively old version of Linux. At some points, I have found bugs in the i9-15 drivers. Driver or maybe once in the DRM system in general, but when I checked on the current Gitmaster, it was already fixed. Right now, our focus is not on trying to push changes to DRM Next or Linux. It's about being the most Linux-compatible as possible. I saw on the mailing list of previous BSD that they're also making a Linux KPI supporting DRM drivers. Do you work together with each other or are there totally separate projects? Well, it's a separate project in the sense that it's being maintained in a pre-BSD. But that KPI subsystem was originally based on more limited Linux, also Linux KPI subsystem called differently. I don't remember the name. It was used for high-performance network hardware and melanox hardware often, yeah, often. Yeah, that was the OFET stack. I originally took some of that code from the OFET stack. If you check the copyright mentions in the Linux something.h drivers, we have in Dragonfly code originating from FreeBSD and the OFET stack. In the other directions, one of the OFET developers took some of my changes and incorporated in that Linux KPI subsystem. Changes work both ways, but they cannot really be maintained in a common tree for many details as specific to Dragonfly or FreeBSD channels. Does Dragonfly implement the user pointer interface? Sorry, I didn't complete the error. Does Dragonfly implement the DRM user pointer interface? It's a DRM user pointer interface. Right, so it lets you basically malloc memory and then use NIO control to create a gem object that's backed by user malloc memory. Yeah, I see what you mean. Yeah, there are some IOCTL which shows the use of user generated data without having to copy it and change it in one way or another. I think this IOCTL is disabled at the moment. Well, implementing it requires some work and well, I prefer to keep upgrading Ion 15 driver versions than trying to take that. It could be helpful to improve performance, but at some right now what we need is to continue updating the driver and make sure we still work with the NIO verntel hardware. So it will probably be changed at some point, but this is not the highest priority right now. So in MISA and so on there is a lot of work where they are using file descriptor passing instead of shared memory directly. I forgot the name of the code that has been used for that. If you've done some work also to support these file descriptor passing APIs rather than the old shared memory interfaces. Well, not really. I have not been deeply involved with META since a long time. One of the recent MISA changes was a bit problematic but it was I think one year ago. Maybe this is a performance optimization but I have not it's a security issue. Well no, I have not really followed the Z change. I am mostly focusing on the i9-15 drivers these days. In general, we take MESA packages, the META port and the FreeBSD port street and we don't really change it. At some point we will probably need to add support to the new kernel interfaces but right now nobody has really thought about it.


Create a new page in your Canvas site. Click on the page title. Click on the Edit button. In the menu above, you will see a light blue letter V that says More External Tools. Click on this. In this menu, you will see Films on Demand as the fourth option. Click on that. Now, you can browse the Films on Demand database for video content for your class. If you know a specific title, you can search by that. Down here, you can see the title and the length of the video. The Preview button will allow you to preview the video. The Embed button allows you to embed it into your page. You can choose the size. Now, the video is embedded into your page. If you don't know the title of a particular film you'd like, you can search by topic. You can use the filters at the top to narrow. If you have any questions about Films on Demand, please reach out to the library.


What's up everybody, JC here for jazzybyscasebrakes.com. This was our last filler here and only filler actually to sell out the last nine spots in our series two baseball double header break with this 2021 Prison Baseball Sello Pack number 66. So first we'll do the break guys, we'll randomize the 30 customer names and teams, distribute the hits out of the cello, then we'll come back at the end and randomize only the 30 customer names again with a new dice roller randomizer and the top nine get in. So I forget it was actually top nine, not top 10, but top nine. So almost 33% chance around 30. So here we go guys, let's roll the dice and let's do the break first. We have a six and a two eight times. One, two, three, four, five, six, seven, eight. Dominant down to Tyler eight times. One, two, three, four, five, six, seven, eight. Diamondbacks out of the Washington Nationals. And again guys, think to what you got to quick Sello Pack, so no trades. And I'll quickly give you a glance right there. Let's quickly run this packed filler here on Soda and a Yeti. Nick Knighterts, Jamiah Jones, Harper, Joey Bart-Ricky and Brooks Robinson. You guys perfect, let's switch scenes and let's do the randomizer now. Good luck guys, so top nine get in, roll. One and a six for seven times, top nine, good luck. One, two, three, four, five, six, and seventh and final time, boom. Here we go guys, just missing out on what was Mark down to Robert. Unfortunately you guys are not in guys, but thanks for giving it a shot and again seven times, top nine. Michael F, you are in. Jeremy Ports, Dominic, Ryan, Kevin, Dennis, Michael, Ryan and Doug, there you go, boom. Top nine are in. Let's paste your guys' name into the list. And of course coming up next is the break itself guys, appreciate it.