8 ms·
> This is a very difficult combination to achieve, and yet that’s exactly what we’ve done for Valve with Mesa3D Turnip, a FOSS Vulkan driver for Qualcomm Adreno
by fidotron 11mo ago
> This is a very difficult combination to achieve, and yet that’s exactly what we’ve done for Valve with Mesa3D Turnip, a FOSS Vulkan driver for Qualcomm Adreno GPUs.
Look at that. Something Qualcomm should have been doing.
Much credit to Valve for pushing that out as FOSS.
- wronglebowski 11mo agoIt’s incredible how bad driver support is the ARM space. I was looking into some of the various Ambernic handhelds and their Linux firmware. Despite their SoCs being advertised as having Vulkan 1.1 support every firmware for the device ships with it disabled.
- ryandrake 11mo agoSo many chipmakers and development board manufacturers see software/driver support as some kind of necessary evil--a chore that they grudgingly do because they have to, and they will do the absolute minimum amount of work, with barely enough quality to sell their hardware.
- ozarkerD 11mo agoIt bewilders me. Software's gotta be easier than hardware right? Not that either is easy but as a software engineer, the engineering that goes into modern hardware mystifies me.
- OneDeuxTriSeiGo 11mo agoSoftware is easier than hardware in general but companies generally pay their hardware guys 25-50% less than their software counterparts
- sgerenser 11mo agoPeople repeat this line a lot but I don’t think it’s true. Companies like Intel, AMD, Arm, Broadcom, etc. afaik all pay their software folks of equivalent YoE or level roughly the same as their hardware folks. To the extent there’s any difference, it’s much less than 25%. OTOH, there’s a small slice of (mainly) software companies like Google and Meta, along with Unicorn private companies, that skew the average software engineer salary high. Then there’s a long tail of “old school” hardware companies like TI, Motorola, Atmel, Microchip, and tons of smaller less well known companies that all pay much lower than Google. But they pay their software people poorly as well. So if you just look at “average software engineer salary” vs “average hardware engineer salary” it appears that SW people are making 50% more than HW people, but it’s not at the same companies.
- OneDeuxTriSeiGo 11mo ago> Companies like Intel, AMD, Arm, Broadcom, etc. afaik all pay their software folks of equivalent YoE or level roughly the same as their hardware folks. This is a fairly new phenomenon and it's mostly a consequence of the AI hype wave driving investment in hardware. Wages have mostly caught up at the big boy hardware companies but you'll still generally see a disparity outside that big group.
- Melatonic 11mo agoSoftware can always ship a new update for bugs or features. Hardware not so much
- bri3d 11mo agoIt's different definitions of "easy." With hardware, you have about one billion validation tests and QA processes, because when you're done, you're done and it had better work. Fixing an "issue" is very very expensive, and you want to get rid of them. However, this also makes the process more of, to stereotype, an "engineer's engineering" practice. It's very rules based, and if everything follows the rules and passes the tests, it's done. It doesn't matter how "hacky" or "badly architected" or "nasty" the input product is, when it works, it works. And, when it's done, it's done. On the other hand, software is highly human-oriented and subjective, and it's a continuous process. With Linux working the way it does, with an intentionally hostile kernel interface, driver software is even more so. With Linux drivers you basically chose to either get them upstreamed (a massive undertaking in personality management, but Valve's choice here), deal with maintaining them in perpetuity at enormous cost as every release will break them (not common), or give up and release a point in time snapshot and ride into the sunset (which is what most people do). I don't really think this is easier than hardware, it's just a different thing.
- generativenoise 11mo agoFrom the outside looking in. It really seems like both fields are working around each other in weird ways, somewhat enforced by backwards compatibility and historical path dependence. The transition from more homogeneous architectures to the very heterogeneous and distributed architectures of today has never really been all that well accounted for, just lots of abstractions that have been papered over and work for the most part. Power management being the most common place these mismatches seem to surface. I do wonder if it will ever be economical to "fix" some of these lower level issues or if we are stuck on this path dependent trajectory like the recurrent laryngeal nerve in our bodies.
- altfredd 11mo ago> intentionally hostile kernel interface If open-sourcing your entire kernel is being "hostile", I don't think that there is or ever was a "friendly" OS.
- OvermindDL1 11mo ago
- IshKebab 11mo agoI've done both. There are difficulties with both but overall I would say software is significantly more difficult than hardware. Most hardware is actually relatively simple (though hardware engineers do their best to turn it into an incomprehensible mess). Software can get pretty much arbitrarily complex. In a way I suspect it's because hardware engineers are mostly old fogies stuck in the 80s using 80s technologies like Verilog. They haven't evolved the tools that software developers have that enable them to write extremely complicated programs. I have hope for Veryl though.
- poly2it 11mo agoWhat do you think about Atopile? I'm not a hardware person yet, but these seem similar. https://atopile.io/ https://atopile.io/
- bri3d 11mo agoPCB and RTL are completely separate disciplines.
- vrinsd 11mo agoWow, super hard disagree, comment here sounds like the typical arrogance hardware engineers face from people in software who've never really done the job or have some superficial experiences. I won't blindly state "software is easier" but software is definitely easier to modify, iterate and fix, which is why sofware tools and resulting applications can evolve so fast. I have done both HW & SW, routinely do so, and switch between deep hardware jobs and deep software so I'm qualified to speak. If you're blinking a light or doing something with Bluetooth you can buy microcontrollers that have this capability and yes that hardware is simple. But have you ever DESIGNED a microcontroller, let alone a modern processor or complex system ? Getting something "simple" like a microcontroller to reliably start-up involves complex power sequencing, making sure an oscillator works, a phase-locked-loop that behaves correctly and that's just "to make a clock signal run at a frequency" we're not talking about implementing PCIe Gen5 or RDMA over 100Gbps Ethernet. Hardware engineers definitely welcome better tools but the cost of using an unproven tool or tool that might have "a few" corner cases resulting in your $5-million SoC not working is a hard risk to tolerate, so sadly(and to our pain) we end up using proven but arcane infrastructure. Software in contrast can evolve faster because you can "fix it in software". New tools can be readily tested, iterated on and deployed.
- lonjil 11mo agoIn my experience, hardware companies all believe that software is trivial nonsense they don't need to spend any effort on. Consequently, the software that drives their hardware really sucks.
- andyferris 11mo agoBut - doesn’t open sourcing it kinda make it someone else’s chore? Obviously it has to “work” at sale but ongoing maintenance could be shared with the community.
- makeitdouble 11mo agoCome to think of it, for them it is basically customer support. Most will want to outsource it as cheap as possible and/or push it to the community. They won't care if it takes an eternity for the customer to get their issues solved as long as new customers keep buying. And a few companies will see an opportunity to bring better customer care as an advantage and/or integrate it in their philosophy.
- LtWorf 11mo agoAnd it's the reason why for several years I didn't consider buying anything that had an AMD card (not now, but for many many years it was insanity).
- doubled112 11mo agoAre you talking about the FGLRX drivers on Linux desktops? Or their Windows driver quality back then? I remember them both being pretty brutal.
- LtWorf 11mo agoThe linux desktop was my reason.
- colechristensen 11mo agoThey're stuck in the building model of making semi-custom SoCs for enormous corporations and releasing/developing drivers for them in extreme NDA environments. It's fine (or arguably not) for locked down corporate devices. Not so fine for building computers people want to use and own themselves.
- opan 11mo agoI would recommend the Anbernic RG353M running ROCKNIX, or for a more powerful device, Retroid's Pocket 5 running ROCKNIX. Most other options have awful software support and are just e-waste, unfortunately.
- robotnikman 11mo agoGlad too see that while Qualcomm tries to keep things closed shut tightly, Valve and their contractors are trying to do the opposite.
- zamalek 11mo ago> Much credit to Valve for pushing that out as FOSS. Cynical: Valve doesn't sell hardware or operating systems, they sell games. These devices are merely another storefront. Optimistic: Valve has also figured out how to turn good will into a commodity. Blowing cash on Steam sales is a bit of a cultural centerpiece of the PC gaming community. Gabe has proven that you can make stupid amounts of money by [mostly] doing right by the consumer. I'm not sure if there's more to the secret source, her sauce, because we've yet to see another CEO pull their head out of their arse far enough to see how lucrative this approach can be: consumerism is fickle, fanaticism is loyal.
- atomicnumber3 11mo agoThis is what I say a lot. Valve isn't even remotely close to having clean hands here. They invented loot crates. Hats. Etc. It's just that the bar is so INSANELY low - it's probably somewhere deep in the earth's core at this point - that valve looks like a fucking angel by being only VAGUELY greedy on occasion. When your competition is EA... it's not hard.
- tapoxi 11mo ago> They invented loot crates. Hats. Etc. Don't forget the part where they're encouraging kids to gamble with real money on Counter-Strike skins. They rely on an API that Valve freely provides and makes no effort to curtail. But they like Linux and give refunds so they get a free pass.
- jsheard 11mo ago> and give refunds so they get a free pass. They only begrudgingly conceded refunds in 2015 after the no-refunds policy they had maintained for 12 years was found to be illegal in Australia.
- nananana9 11mo agoThey made the new refund policy worldwide, which they absolutely did not have to.
- SequoiaHope 11mo agoI also just love that in open source you can call something “Turnip” because you’re not marketing it to anyone.
- Melonai 11mo agoI don't know, Turnip's a cute name and I wouldn't think twice before buying a product which is branded that way (as long as the actual product is cool of course!).
- MathMonkeyMan 11mo agoThere isn't a single mention of AI in the article.
- deleted 11mo ago[deleted]
- MindSpunk 11mo agoQualcomm's Vulkan drivers are hot garbage, so I'm not surprised Turnip was seen as more desirable. I work with mobile GPUs for <AAA Engine>, have direct contacts with Qualcomm, and the drivers still find ways to disappoint even with my low expectations.
- mschuster91 11mo agoQualcomm is by a lot of accounts on HN a law firm with a side hustle of selling chips.
- david-gpu 11mo agoWorked there for 9 years, can confirm. I wish that our drivers had been open sources, because we poured our souls into them and took pride in the result.
- deleted 11mo ago[deleted]
- david-gpu 11mo ago> I work with mobile GPUs for <AAA Engine>, have direct contacts with Qualcomm, and the drivers still find ways to disappoint even with my low expectations. Often when people run into problems with a GPU they blame "the drivers". How confident are you that the problems you ran into originated from the drivers, and not from other sources, such as the hardware itself? Just because an issue goes away with a driver update it doesn't mean that the problem originated in the driver -- most of the time what happens is that they found a hardware bug and implemented yet another software workaround. I am not throwing the HW folks under the bus, either. The hardware is immensely complex and it's not that they can release a new revision every month. One of the main responsibilities of GPU drivers is working around the bugs that are found after hardware is released. That, and getting all the blame.
- altfredd 11mo agoAndroid has entire API for handling driver failures: https://developer.android.com/reference/android/net/wifi/WifiManager.SubsystemRestartTrackingCallback https://developer.android.com/reference/android/net/wifi/Wif... Hardware can have issues, but firmware and drivers usually work around those issues. When firmware and drivers crash, you get "masterpieces" like the one above.
- smolder 11mo agoIt's actually very easy for skilled people to deliver good products when they aren't just tasked with sucking off shareholders. Public trade of companies makes them worse every time.
- raw_anon_1111 11mo agoEvery major company open sources software that is not part of its core competitive advantages. It’s part of “commoditizing your complements”
- david-gpu 11mo agoExactly this. What incentive does Qualcomm have to open source their code? Or NVidia, for that matter. And what are the risks? OSS isn't this caricature good-vs-evil situation people sometimes imagine, it is all about economic incentives.
- stubish 11mo agoI think this is the wrong way around. There might be an economic incentive to keeping something closed source, for example having licensed other closed source code. And remaining in control without oversight also might be an incentive. But the incentive to making something open source is that someone might improve your work, making your product better. It is somewhat arrogant to assume that nobody else out there could possibly improve this code or add value. Just like it is arrogant to assume that your competitors don't already know your 'secrets' and haven't reverse engineered anything they found interesting.
- david-gpu 11mo agoSpeaking from the perspective of somebody who used to do this for a living. > But the incentive to making something open source is that someone might improve your work Device drivers, particularly on mobile, aren't evergreen sorts of software. New hardware is released several times a year, and maintenance after shipping is limited to critical issues. By the time it hits the market, the people who developed that driver have moved on to newer products. > It is somewhat arrogant to assume that nobody else out there could possibly improve this code or add value Whatever they did would have completely missed the release schedule. It may provide value to people who want to keep using a 10 year old phone, but how does that benefit a company that only makes income when they sell new models? > Just like it is arrogant to assume that your competitors don't already know your 'secrets' and haven't reverse engineered anything they found interesting. This made me laugh. You would be surprised by how minimal reverse engineering goes on in this space. It boils down to the same reason as before: by the time you have made any progress, the product you are reverse engineering is semi obsolete. The vast majority of the time it makes more sense to invest those resources into developing your own stuff. That's my $.02 from having worked for four major GPU vendors out there. Upper management knows what they are doing, even if outsiders don't get it. The incentives simply aren't there for most GPU vendors most of the time.