With Chess-inspired gameplay, turn-based roguelike deckbuilder 'Usurper' launches September 9 gamingonlinux.com/2024/08/with…
With Chess-inspired gameplay, turn-based roguelike deckbuilder 'Usurper' launches September 9
Chess as a roguelike deckbuilder? Could be a fun one! Developer Rogue Brain Studios has announced that Usurper will launch on September 9th.Liam Dawe (GamingOnLinux)
Stylish tactics-RPG 'Demonschool' delayed until Q1 2025 gamingonlinux.com/2024/08/styl…
Stylish tactics-RPG 'Demonschool' delayed until Q1 2025
Necrosoft Games and Ysbryd Games have announced their stylish tactics RPG with hints of Persona, Shin Megami Tensei, and Italian horror cinema Demonschool has been delayed.Liam Dawe (GamingOnLinux)
I regretfully completely understand Wedson's frustrations.
lore.kernel.org/lkml/202408282…
A subset of C kernel developers just seem determined to make the lives of the Rust maintainers as difficult as possible. They don't see Rust as having value and would rather it just goes away.
When I tried to upstream the DRM abstractions last year, that all was blocked on basic support for the concept of a "Device" in Rust. Even just a stub wrapper for struct device would be enough.
That simple concept only recently finally got merged, over one year later.
When I wrote the DRM scheduler abstractions, I ran into many memory safety issues caused by bad design of the underlying C code. The lifetime requirements were undocumented and boiled down to "design your driver like amdgpu to make it work, or else".
My driver is not like amdgpu, it fundamentally can't work the same way. When I tried to upstream minor fixes to the C code to make the behavior more robust and the lifetime requirements sensible, the maintainer blocked it and said I should just do "what other drivers do".
Even when I pointed out that other C drivers also triggered the same bugs because the API is just bad and unintuitive and there are many secret hidden lifetime requirements, he wouldn't budge.
One C driver works, so Rust drivers must work the same way.
Valve fixed resolution overrides for non-Steam games on Steam Deck plus more general Steam fixes gamingonlinux.com/2024/08/valv…
Valve fixed resolution overrides for non-Steam games on Steam Deck plus more general Steam fixes
Another Beta release is out now for the Steam Client on both Desktop and Steam Deck. Here's the latest and what you need to know.Liam Dawe (GamingOnLinux)
While you're waiting on Hollow Knight: Silksong check out Aestik gamingonlinux.com/2024/08/whil…
#IndieGame #Metroidvania #PCGaming #SteamDeck
While you're waiting on Hollow Knight: Silksong check out Aestik
Aestik from Hooded Traveler Games looks absolutely gorgeous, with some clear Hollow Knight inspiration and may be a good one to play through while you wait for Silksong.Liam Dawe (GamingOnLinux)
Check out the demo for Sternly Worded Adventures a roguelite word-puzzle RPG gamingonlinux.com/2024/08/chec…
Check out the demo for Sternly Worded Adventures a roguelite word-puzzle RPG
Inspired by Bookworm Adventures, developer Balthazar and publisher 2 Left Thumbs are working on the roguelite word puzzle RPG Sternly Worded Adventures and there's a demo available.Liam Dawe (GamingOnLinux)
Mesa 24.2.1 and Mesa 24.1.7 open source drivers now available gamingonlinux.com/2024/08/mesa…
#Mesa #OpenSource #Linux
Mesa 24.2.1 and Mesa 24.1.7 open source drivers now available
The Mesa team just released bug fix updates to the two most recent driver series with Mesa 24.2.1 and Mesa 24.1.7 now available.Liam Dawe (GamingOnLinux)
Wine's Direct3D to Vulkan translation library vkd3d 1.13 out now gamingonlinux.com/2024/08/wine…
#Wine #Linux #OpenSource
Wine's Direct3D to Vulkan translation library vkd3d 1.13 out now
The Wine team have just release vkd3d version 1.13, an update for their own Direct3D to Vulkan translation library.Liam Dawe (GamingOnLinux)
“I have long been struck,” he writes, “by the ingenuity and thoroughness with which wheeled traffic was excluded” from cities such as Rome and Pompeii.
“The entire system of mainly one-way streets, blocked streets, closed streets ... show that traffic flow was not unrestricted,”
These carriages, driven poorly, could also be deadly, another reason for restricting their passage.
forbes.com/sites/carltonreid/2…
How Ancient Rome Restricted Four-Wheeled Traffic And Why Cargobikes Are Best For Modern Cities
Romans used stone posts to restrict passage to carriages. Could the extended introduction of such measures today free cities of congestion?Carlton Reid (Forbes)
ขอเสียงคน layoff จาก line thailand หน่อยยยย
edited: แซวจาก x.com/kung12x/status/182874839…
A message for people 30+...
For many of us who grew up in the US, we've been led to believe that bikes are either toys for kids or just for exercise and recreation.
As someone who rediscovered biking as an adult for practical purposes, I can't overstate the satisfaction that comes from using a bike to haul groceries home. It's a simple joy that many of us forget as we get older, but experiences like this can help keep you feeling young at heart.
Oreon Linux: A User-Friendly, Secure, & Gaming-Ready Distribution
In this article, we’ll delve into its key features, long-term support, and an unexpected bonus: gaming enhancements.LinuxToday
AMD Ryzen 7 9700X vs. Ryzen 7 7700X: 45 Game Benchmark
Today we'll show you how to boost the gaming performance of your Ryzen CPU by 10% with one simple trick. Sounds too good to be true, right? But somehow, this actually works.Steven Walton (TechSpot)
Frontline Crisis is a tough but engaging mix of tower defense and top-down shooting with a big mech gamingonlinux.com/2024/08/fron…
Frontline Crisis is a tough but engaging mix of tower defense and top-down shooting with a big mech
Developer BCQT released Frontline Crisis earlier in August, and like a lot of smaller games it seems to have flown under the radar but if you love tower defense and top down shooting you need to play this.Liam Dawe (GamingOnLinux)
Clearly inspired by Advance Wars the turn-based infantry battler 'Warside' gets a new trailer gamingonlinux.com/2024/08/clea…
Clearly inspired by Advance Wars the turn-based infantry battler 'Warside' gets a new trailer
If you loved the classic Advance Wars and other more modern turn-based tactical battlers, you're probably going to love Warside.Liam Dawe (GamingOnLinux)
I do really like Advance Wars, thanks for a share to look up something in a similar feel
Argonaut Games announced a return with a remaster of Croc Legend of the Gobbos gamingonlinux.com/2024/08/argo…
#Croc #ArgonautGames #RetroGaming
Argonaut Games announced a return with a remaster of Croc Legend of the Gobbos
That's quite a blast from the past. How do you feel about a little nostalgia? Argonaut Games announced a return with a remaster of Croc Legend of the Gobbos.Liam Dawe (GamingOnLinux)
Cat Bait is another new take on the survivor-like genre about a cat running away from rats gamingonlinux.com/2024/08/cat-…
Cat Bait is another new take on the survivor-like genre about a cat running away from rats
Another new take on what Vampire Survivors and Brotato made popular? Yep. Cat Bait is out now in Early Access and there's a demo available too.Liam Dawe (GamingOnLinux)
For the 10th birthday of Signal, I did a Big Interview with its president Meredith Whittaker.
We ended up talking about how her focus for Signal goes beyond encryption or privacy, to creating an alternative to surveillance capitalism—or even capitalism, period.
Comedy action-adventure dungeon crawler 'Run From Mummies' arrives later this year gamingonlinux.com/2024/08/come…
Comedy action-adventure dungeon crawler 'Run From Mummies' arrives later this year
With a demo available right now, Run From Mummies looks like one to watch with its interesting blend of comedy with a 2D action-packed dungeon crawler.Liam Dawe (GamingOnLinux)
Speedollama is a completely ridiculous platformer-shooter releasing in October gamingonlinux.com/2024/08/spee…
Speedollama is a completely ridiculous platformer-shooter releasing in October
From Chaosmonger Studio who previously released ENCODYA and Clunky Hero have now announced their completely over the top platformer-shooter Speedollama will release October 21st.Liam Dawe (GamingOnLinux)
youtube.com/watch?v=srBpXYq8mV…
- YouTube
Auf YouTube findest du die angesagtesten Videos und Tracks. Außerdem kannst du eigene Inhalte hochladen und mit Freunden oder gleich der ganzen Welt teilen.www.youtube.com
Heroes of Might & Magic: Olden Era announced from the developer of Iratus: Lord of the Dead gamingonlinux.com/2024/08/hero…
Heroes of Might & Magic: Olden Era announced from the developer of Iratus: Lord of the Dead
Developer Unfrozen who previously made Iratus: Lord of the Dead have teamed up with Ubisoft, and they recently announced the new Heroes of Might & Magic: Olden Era.Liam Dawe (GamingOnLinux)
Squad tactics heist RPG Cyber Knights: Flashpoint gets double the content and a big sale - XCOM fans should take note of this gamingonlinux.com/2024/08/squa…
Squad tactics heist RPG Cyber Knights: Flashpoint gets double the content and a big sale
Trese Brothers have kept up their ridiculous rate of updating Cyber Knights: Flashpoint during Early Access, steadily turning it into of of the best squad tactics RPGs.Liam Dawe (GamingOnLinux)
Steam Deck reaches over 16,000 playable and verified games gamingonlinux.com/2024/08/stea…
Steam Deck reaches over 16,000 playable and verified games
Another great milestone for the popular Steam Deck from Valve, which in the last day or so managed to hit over 16,000 games that have been rated as Playable and Verified.Liam Dawe (GamingOnLinux)
storms to ever hit there with some residents in the path of
Typhoon Shanshan ordered to evacuate. www3.nhk.or.jp/news/html/20240…
อยากเพิ่ม AOV แหละเนาะ อิอิ
น้ำตาไหล ลือ MacBook M4 จะได้แรมเริ่ม 16GB
MacBook แรมเริ่มต้น 8GB เป็นประเด็นมาตลอด โดยเฉพาะเมื่อ Apple บอกว่าแรม 8GB เท่ากับ 16GB บนระบบอื่น ก่อนที่ฟีเจอร์ AI ของตัวเองอย่างบน Xcodewww.blognone.com
"fastwork กำลังหา Junior / Associate Product Owner มาร่วมทีม Product ของเรานะครับ สนใจทักมาคุยกันก่อนได้ครับ"
careers.fastwork.co/position?s…
// ก๊อป text มาอีกที :P
Careers at fastwork | Product Owner (Junior Associate)
Everyone deserves the freedom to do what they lovecareers.fastwork.co
6 Best Open-Source Password Managers for Mac in 2024 | Linux Today
Explore the top open-source password managers available for Mac users. Find the one that suits your needs and secure your online accounts.LinuxToday
"Your Immune System is not a Muscle"
rachel.fast.ai/posts/2024-08-1…
Rachel Thomas, PhD - Your Immune System is Not a Muscle
an AI researcher going back to school for immunologyrachel.fast.ai
Asahi Lina (朝日リナ) // nullptr::live
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Making the Rust bindings safe would have required duplicating much of the functionality of the C code just to track things to uphold the lifetime requirements. It made no sense. It would have been easier to just rewrite the whole thing in Rust (I might end up doing that).
To this day, bugs in the DRM scheduler have been the only causes of kernel panics triggered via my Apple GPU driver in production.
The design of that component is just bad. But because I come from the Rust world, the maintainer didn't want to listen to my suggestions.
If it takes a whole year to get a concept as simple as a trivial "device" wrapper upstreamed (not any device model functionality, literally just an object wrapping a struct device so we can pass it around) then how is Rust for Linux ever going to take off?
Rust works. I'm pretty sure I'm the only person ever to single handedly write a complex GPU kernel driver that has never had a memory safety kernel panic bug (itself) in production, running on thousands of users' systems for 1.5 years now.
Because I wrote it in Rust.
But I get the feeling that some Linux kernel maintainers just don't care about future code quality, or about stability or security any more. They just want to keep their C code and wish us Rust folks would go away. And that's really sad... and isn't helping make Linux better.
romu
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Scherzog von Beast Oil
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •There is a *fuckton* of pride at stake among C (and C++) developers.
"C(++) is a perfectly good language, just write your code correctly from the start and never make mistakes" is a statement I hear with almost frightening regularity. Of course that usually also correlates with said people being rather found dead than admitting they may have made bad design decisions in the past (or worse, mistakes while implementing said designs).
tizilogic
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •I just wish there were fewer people that go religious crazy about such things and more people trying to argue on well researched and as objective as possible facts..
saddest problem is that these things tend to spark some form of "war" where it is one group against the other.. can't we just get along?
Timo Zimmermann
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •I have seen many disputes over the last two decades Linux kernel maintainers had.
Most didn’t appear like anyone wants to improve things or actually do something useful for users.
It came down to personal preference, ego, ideology and power trips.
Personally I don’t know how anyone can find the mental energy to deal with that, but I truly appreciate everyone who still tries to improve things!
Raul
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Even Linus himself recently pointed his own finger directly at memory management issues in Linux, and yet this perennial resistance to change persists:
"You'd think that all the basics would have been fixed long ago, but they're not. We're still dealing with basic issues such as memory management."
zdnet.com/article/linus-torval…
Linus Torvalds talks AI, Rust adoption, and why the Linux kernel is 'the only thing that matters'
Steven Vaughan-Nichols (ZDNET)Konrad Konieczny
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •imagine having the biggest open source operating system in the world and get along with each other when comes to choices and preferences.
Shame that in the end many great programmers have their ego that high so they are toxic. This reminds me of Hyprland dev: blog.vaxry.net/articles/2024-o…
Vaxry's Blog
blog.vaxry.netAsahi Lina (朝日リナ) // nullptr::live
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Asahi Lina (朝日リナ) // nullptr::live
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Shlee fucked around and
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Charadon
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Since you're a big rust advocate, what do you think of the fact rust really only has one compiler?
To me, that's a big reason I don't use it, as i'm afraid of it pulling a Hack or Java on everyone. I'd love to hear your perspective on that =)
I'm very anxiously waiting for the GCC rust compiler lol
Asahi Lina (朝日リナ) // nullptr::live
in reply to Charadon • • •Charadon
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •It's not so much i'm afraid of it going anywhere, but more that one organization controls the whole standard. In java's case, oracle abused that fact and did a lot of shit since they *were* java.
Would this happen with the rust foundation? Probably not. Though with the whole branding debacle a while back, it does show how easy it is for an organization to screw up, and how bad it can be when they're the only ones in a space, beit malice or no. (In this case, I don't think it was malice.)
Fabrizio P. 🐧
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •I completely agree on everything you wrote!
C's type system doesn't express much and docs are of course sometimes lacking (not only in open source prjs, sorry! I have some experience with a C# CAD toolkit and the documentation is mostly just the class / method signature...).
I don't understand why some long time pro kernel devs are so completely obstructive against Rust. It solves real problems and is the only lang that does so in such a comprehensive way (Zig doesn't at that level).
Ertain
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Charadon
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •"design your driver like amdgpu to make it work, or else"
Which is concerning, because the amdgpu driver isn't even that good. I can't tell you how many times back when I had an AMD gpu I got a system lockup because of Ring Timeouts. Meanwhile on my Intel Arc, I haven't had a *single* gpu driver crash since I got it, while with AMD it was a weekly occurance
GD2
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Sensitive content
Sven Peter
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •a few weeks ago I considered rewriting atcphy in rust because that would’ve been more fun but then stumbled across exactly that: it’s been over a year and there still wasn’t any platform device binding upstream. I would’ve been fine writing phy bindings but there‘s still a lot of infrastructure missing unfortunately :(
(Not that it matters much for atcphy: the driver doesn’t gain anything from rust since it’s fairly simple and doesn’t even need any memory allocation outside of probe. It just would’ve been more fun than rewriting the current C version to me)
Asahi Lina (朝日リナ) // nullptr::live
in reply to Sven Peter • • •karolherbst 🐧 🦀
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •@sven it's going to be interesting in regards to nova and how much it can push maintainers here.
At least "we don't want to spend more time on the old nouveau driver, so if you want to have support for new nvidia GPUs, it's gonna be a rust driver" isn't something you can simply ignore.
People can go "macs? why do I care", but doing the same for Nvidia GPUs?
That can lead to quite some discussions upstream if people keep blocking work.
Lun
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Asahi Lina (朝日リナ) // nullptr::live
in reply to Lun • • •@Lun I wonder if they've figured this one out yet? I'm pretty sure it can cause random crashes in all drivers using drm_sched with certain kernel builds...
github.com/AsahiLinux/linux/co…
I'm too tired of this code to come up with a proper fix and send it upstream though, I don't want to deal with that guy any more... I'll probably end up writing a Rust scheduler anyway so...
DO NOT MERGE: drm/sched: XXX workaround race in drm_sched_can_queue(). · AsahiLinux/linux@6993a6f
GitHubgudenau
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •PJB
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Every time I am forced to look at a large C codebase I see not only a gigantic pile of nightmares, I see a gigantic pile of nightmares created by people that refuse to accept the flaws of their tools and refuse attempts to change them.
To hear that Linux is the same is unsurprising but saddening at the same time.
Ugh.
Owen
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •phoronix.com/news/Rust-Linux-M…
One Of The Rust Linux Kernel Maintainers Steps Down - Cites "Nontechnical Nonsense"
www.phoronix.comAsahi Lina (朝日リナ) // nullptr::live
in reply to Owen • • •Owen
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Asahi Lina (朝日リナ) // nullptr::live
Unknown parent • • •Wanting the "perfect API" is the trick these anti-Rust people use to stall things... ;;
Like they think it's the Rust team's job to fix the existing lifetime/recounting messes of the kernel before they're allowed to introduce safe APIs... even though an imperfect Rust abstraction that leaks some unsoundness in corner cases (due to underlying C problems or design) is still better than literally no Rust code at all and writing more C code...
JayF
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Schamschula
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •1) It is unwieldy to maintain rust and cargo, so both are often out of date on MacPorts.
2) On FreeBSD some random library (e.g. librsvg) that depends on rust/cargo causes Poudriere to rebuild rust every time some build dependency is updated. This usually takes several hours on my build machine. For this reason, and that it adds a lot of extra packages, MacPorts still doesn't use librsvg built using rust.
Asahi Lina (朝日リナ) // nullptr::live
in reply to Schamschula • • •Schamschula
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •And yes, I could wait to download the packages from FreeBSD's build/package system but I prefer to keep my systems more current, and hence run Poudriere.
Håkon Lorentzen
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Pierre Bourdon
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Daniel Leigh
in reply to Pierre Bourdon • • •lux 🦊ΘΔ
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •this brings back memories of a couple of us early Rust netdev folks trying to push for a branch where we would be allowed to experiment and share abstractions that just did not have any user yet, but could be improved and reworked by people who eventually picked them up for use. It took multiple hours-long meetings to finally ending up agreeing that we would just all share links to our respective code and pray that anymore who wasn't aware of it wouldn't have to reinvent the wheel again abstraction-wise.
I don't want to fall into tribalism, or paint all C (or even netdev) developers as stuck-up assh*les, far from that, but it's clear that the requirements imposed on Rust developers to adhere to the way things have always been done in C, and effectively considering Rust as a guest who should be grateful to be in the project, rather than a system capable of making informed decisions about other systems*, places a ton of constraints that just make our development harder and slows down the inertia to get the project to mature. Meanwhile, a lot of time has to be spent by the heads of the project (bless them) doing diplomacy because otherwise patches don't get reviewed, and C devs don't see our point.
Plus the random stubborn and very opinionated dude every now and then of course, but it's the linux dev community, ofc it'll happen.
Asahi Lina (朝日リナ) // nullptr::live reshared this.
Sobex
in reply to lux 🦊ΘΔ • • •lux 🦊ΘΔ
in reply to Sobex • • •@Sobex there is a repo, it's where the previous work resides in the
rust
branch from before the merge in 6.1. That was where we would have wanted a branch, but review rules are what they are and we would have needed to go through LKMLs with netdev people and netdev people will not review code that is not aiming to be merged (which i understand, but then why force us through LKMLs?)And it was all just diplomacy and sticking to how things are done
Asahi Lina (朝日リナ) // nullptr::live
in reply to lux 🦊ΘΔ • • •The kernel dev model is very hostile to major changes like this, because the upstream devs refuse to review anything out of tree but then expect submissions to always come with users. That's why I had to submit my DRM abstractions with one huge commit at the end of the series adding my whole GPU driver, even though as expected that got zero reviews...
It causes a lot of friction any time we need to touch any core code because "show us how you're going to use it in the series" is a very effective stalling tactic when that means adding 50 patches of extra stuff just to get to the point where you can merge the intended user...
lux 🦊ΘΔ
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •@Sobex the current model is fine for C developers trying to add simple things or fix bugs and so on, but when large architectural changes are needed (aka you welcome a new language in the codebase) it's definitely a major point of friction and literal slowdown
Regarding reviews, IIRC, the first time a network driver was sent to netdev, the first reply arrived 48h later at least and it was an apology that nobody was reviewing (i could pull the exact lore links when i'm back at a computer): there was just nobody available to review Rust. Concurring with that (and I'm sorry i'm putting my academic hat on because this is exactly what I'm focused on atm), Hongyu Li et al0 found that "RFL is bottlenecked by code review but not by code development" (insight 3), and it's pretty easy to see anytime you get an actual driver sent to the LKMLs for reviews, which is somewhat rare these days
i remember seeing your patchsets dying and your presence in the LKMLs diminishing, and it was quite sad, because of all the work put in it :( i'm also very interested in making abstractions, but finding an end user without paying for obscure or brand new hardware is so hard in net, so i just can't contribute anything, and i'm not alone...
Hopefully things fare better in the future but it's going to need a lot of change of mind from a lot of people..
Asahi Lina (朝日リナ) // nullptr::live
in reply to lux 🦊ΘΔ • • •Honestly the thing that has burned me out the most has been the scheduler saga and seeing how slow the core Device/platform driver stuff (+ the device ID pain) is moving (due to pushback from upstream mostly). I don't want to take on that work myself because I didn't write the original code and I don't fully understand the nuances of the device binding cycle/lifetimes and how that was originally designed for the Rust abstractions (+ my GPU driver literally can't support rebind due to firmware limitations so it's a terrible test/demo case of how to do all that properly). But I depend on that to get anything done...
Once platform devices are supported I'll go back to sending my stuff and I hope it'll be a lot less blocked after that. For better or worse the approach ends up being "don't depend on subsystems where upstream doesn't want to cooperate and will stall, if you can help it"... I think I have a pretty good idea of what those are so things should move forward. I hope...
Sobex
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •@SharpLimefox Is it possible to avoid the subsystem that are a pain in the ass, when writing drivers ?
Or is this more a case of not upstreaming those drivers and upstreaming stuff that goes in Rust friendly subsystem first ?
Asahi Lina (朝日リナ) // nullptr::live
in reply to Sobex • • •It's possible in some cases, not others. You can't avoid the subsystems "above" you providing your services (DRM for me) and "below" you interacting with other devices, but you can avoid "helper" subsystems and parts of them.
The DRM scheduler is a helper. The other thing I'm going to RiiR is the GPU page table management, which is currently using the IOMMU page table helpers (both because the maintainer stopped replying to my emails... and because since the original submission my needs have diverged enough from the standard code that I think it stopped making sense to reuse it and try to fight to shoehorn those features in).
lux 🦊ΘΔ
in reply to Sobex • • •@Sobex IMO regardless of subsystem you'll have to endure the structural issues plaguing RFL, but a subsystem full of people willing and motivated to help should alleviate those significantly
And there's also the problem that if your interest is in a specific area of kernel dev (drm, net, whatever), you've only got so much wiggle room to avoid maintainers unwilling to help more.
Someone i talked about this with mentioned forking as well, but that comes with the human cost of maintaining the upstream source (mainline), people having to decide whether to leave the main project, stay, or invest twice as much energy, and the risk that nobody will really use your fork (Asahi Linux being the huge exception for that point lmao)
Asahi Lina (朝日リナ) // nullptr::live
in reply to lux 🦊ΘΔ • • •Sobex
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Asahi Lina (朝日リナ) // nullptr::live
in reply to Sobex • • •@Sobex @SharpLimefox TSO support for fast x86 emulation and the M1 cpuidle driver, both are NAKed by all the ARM employees (for politics reasons) and they own the arm64 platform subsystem.
The actual patches are pretty small and not intrusive though so it's not a big maintenance burden.
In theory the cpuidle stuff is supposed to be replaced by some PSCI transport alternative that doesn't exist, but that idea has been floated for years now and not gone anywhere...
Sobex
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Asahi Lina (朝日リナ) // nullptr::live
in reply to Sobex • • •@Sobex @SharpLimefox For TSO they fear "fragmentation" as in developers using TSO to work around arm64 porting issues instead of fixing the code, even though there is no evidence of anyone ever even thinking to do that.
For cpuidle, the maintainers want PSCI (a firmware interface) to be the only cpuidle driver to avoid driver proliferation. Unfortunately the PSCI spec was written with assumptions about the platform that make it impossible to implement on Apple Silicon despite it being a conformant arm64 implementation (they require optional features).
mort
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •This makes me wonder, how does the future actually look like for your driver? Will the M1 GPU driver just always live out-of-tree because upstream is institutionally incapable of accepting GPU drivers written in Rust? Or are there signs of progress?
(Also, thank you for all your work, I'm a happy user of your driver and it has been nothing but great for me :3)
Asahi Lina (朝日リナ) // nullptr::live
in reply to mort • • •@mort The DRM people are actually very nice in general except for that one scheduler guy. So I don't expect any major trouble merging the driver itself once the dependencies are in. ^^ (and I might seriously just rewrite the scheduler in Rust as driver-internal code just so I don't have to deal with that guy and that mess of buggy C code... it's not just the lifetime stuff, I keep finding outright memory safety bugs.)
The good news is Nova (the new Nvidia driver) is also written in Rust with the same abstractions, so now we have two GPU drivers to put some pressure on the people blocking things...
mort
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Sam
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •pkprotoplasm (MOVED)
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Asahi Lina (朝日リナ) // nullptr::live
Unknown parent • • •Asahi Lina (朝日リナ) // nullptr::live
Unknown parent • • •@argv_minus_one @raulinbonn The Linux kernel uses no_std. Until recently there was an internal fork of the alloc crate with those fallible constructors outright gated off. Now things are switching to custom allocators where the Box types (there are several to allow for different allocators in the kernel) are outright always fallible with the standard constructors.
lore.kernel.org/lkml/202408160…
[PATCH v6 00/26] Generic `Allocator` support for Rust
lore.kernel.orgGreg Brooks
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •New Divide
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Simon
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Antoine Büsch
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •yugaego 🌍
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •> the maintainer blocked it and said I should just do "what other drivers do".
The maintainer must have been haunted by Grace Hopper after that.
youtube.com/watch?v=si9iqF5uTF…
- YouTube
www.youtube.comAsahi Lina (朝日リナ) // nullptr::live
Unknown parent • • •I'm not going to touch the existing DRM scheduler, I'm just going to write my own that is part of the driver. If Nova wants to use it we'll figure out how to make it common Rust code. C drivers can continue to use the broken C one that's already there, and fight the brokenness themselves.
The DRM scheduler is helper code, it's not a core part of the DRM subsystem. You can simply choose not to use it and roll your own. Half of DRM is like this.
(Nova is the new Nvidia driver, and yes, it's written in Rust, so Rust will be mandatory for open source upstream support of new Nvidia GPUs. That's already decided.)
Asahi Lina (朝日リナ) // nullptr::live
Unknown parent • • •mawei
Unknown parent • • •I have seen the same situation in fs realms too, some "not-so-polite" MM guys want to improve their work and pushing new interfaces to fses.
But the main objective of the maintainer for any fs, is to keep their fs working without regression. So migrating to newer interface is not the priority and will only happen gradually.
Asahi Lina (朝日リナ) // nullptr::live
Unknown parent • • •Rua
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Tzafrir
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Linux-for-Rust or Rust-for-Linux [LWN.net]
lwn.netAsahi Lina (朝日リナ) // nullptr::live
in reply to Tzafrir • • •fluke
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •Do NOT Fear|🇺🇸🇺🇦🐊🦉🌊💙
in reply to Asahi Lina (朝日リナ) // nullptr::live • • •