• 1 Post
  • 17 Comments
Joined 1 year ago
cake
Cake day: July 21st, 2023

help-circle






  • Yes, I probably should have rephrased that as “are often more efficient” rather than implying that this is always the case. I do think, and I mentioned this somewhere else, though, that it’s quite a hard comparison to make. I’d probably make the argument that if the driver itself was the issue, making the driver open-source would likely (and that’s a “likely” going off an assumption which I can’t back up) be more efficient.

    Generally speaking, my point does still apply for fully open-source software which has been developed specifically for Linux. Unfortunately, we won’t be seeing much mainstream Linux-bespoke software for a while, at least not until the year of the Linux desktop finally arrives.

    I completely agree with what you’re saying, though.




  • You probably could, but reasonably there’s not enough data out there to do this.

    Still, I’ll mention that even with an AMD CPU and GPU, Linux does often lack support or configuration off-the-bat, to massively varying degrees. The well-known example of this is with Nvidia’s propriety GPU drivers, which historically have been a massive issue, and will probably continue to be for a while even with Nvidia exposing more of its source code with its GPU drivers.

    The kind of support which I’m referring to, though, extends beyond this in many ways. One thing I didn’t mention, for example, is software support for linux. Many linux ports fail to leverage the full potential of Linux, either because the developers don’t know how to, or because they don’t care to. I recently read a dev blog for Factorio relating to this issue. The developer spoke about a very specific optimization which can be applied to Linux when saving games, which, in short, allowed for games to be saved concurrently, improving performance. Using this feature requires programming specifically for linux. While Proton offers incredible gaming support on Linux today, this sort of thing is not something which Proton can magically make work on its own.

    The same sort of idea often extends out into other areas of software and hardware. Applications which have been directly ported to Linux without much consideration often fail to implement these sorts of additional features and optimizations.

    The issue of hardware is, indeed, slightly different. One key thing which is often overlooked by people when assessing this sort of thing is the optimizations and tweaks applied by the hardware manufacturers and vendors themselves. These tweaks are often highly specific to the hardware they’re used for, and usually the vendors will only apply them to work with Windows, or the operating system which the laptop or computer ships with. Going back to the driver issue, the same thing applies. GPU manufacturers will often release high-quality drivers aimed specifically at Windows, offering optimizations which specifically benefit Windows. There’s almost zero incentive for these companies to release the same, or on-par drivers for Linux, due to its smaller market share.

    What this means, is that a much larger amount of work needs to be done by the Linux community to create or improve drivers for specific hardware. Drivers which will work off-the-bat with Windows will not work at all with Linux, and companies which offer Linux alternatives for their drivers often invest significantly more time on their Windows-counterparts. This is only complicated by the fact that many hardware manufacturers keep their driver source-code highly secretive, so trying to program one or alter an existing one for linux is significantly more difficult.

    AMD, as you mentioned, is often much better than alternatives such as Nvidia when it comes to releasing these “secrets” or source code, which makes developing AMD drivers for Linux significantly easier, allowing driver developers to apply many more optimizations than they would otherwise be able to.

    In conclusion, then, the only way this can truly be fixed is if these companies choose to support Linux as much as they do Windows, which unfortunately won’t truly happen until there’s some sort of monetary incentive (ie Linux having a majority market share).



  • Generally I’m not against w3 schools for quickly checking the syntax of something or how to use a specific method, but I always try stay clear of their larger code examples.

    I was learning PHP a couple years back for some hobby side projects I was working on. They provide some code here about how to connect to an SQL database. I ended up using this code for almost a year on some publicly hosted sites.

    The code they provided isn’t secure, though. It can output database errors to the client, and give away information about your database which a random user shouldn’t have access to.

    Additionally, the beginning few pages for their SQL insertion examples doesn’t mention anywhere that you should be using prepared statements. There is a page slightly further down, but for the average person learning the language, there’s no reason for them not to just copy parts the extremely insecure code and use it in their projects.

    W3 schools imo is great for quickly checking up on something, but generally it’s probably better to avoid their examples and look up the language standards somewhere else.