this post was submitted on 20 Nov 2023
50 points (100.0% liked)
libre
9828 readers
2 users here now
Welcome to libre
A comm dedicated to the fight for free software with an anti-capitalist perspective.
The struggle for libre computing cannot be disentangled from other forms of socialist reform. One must be willing to reject proprietary software as fiercely as they would reject capitalism. Luckily, we are not alone.
Resources
- Free Software, Free Society provides an excellent primer in the origins and theory around free software and the GNU Project, the pioneers of the Free Software Movement.
- Switch to GNU/Linux! If you're still using Windows in
$CURRENT_YEAR
, flock to Linux Mint!; Apple Silicon users will want to check out Asahi Linux.
Rules
- Be on topic: Posts should be about free software and other hacktivst struggles. Topics about general tech news should be in the technology comm or programming comm. That doesn't mean all posts have to be serious though, memes are welcome!
- Avoid using misleading terms/speading misinformation: Here's a great article about what those words are. In short, try to avoid parroting common Techbro lingo and topics.
- Avoid being confrontational: People are in different stages of liberating their computing, focus on informing rather than accusing. Debatebro nonsense is not tolerated.
- All site-wide rules still apply
Artwork
- Xenia was meant to be an alternative to Tux and was created (licensed under CC0) by Alan Mackey in 1996.
- Comm icon (of Xenia the Linux mascot) was originally created by @ioletsgo
- Comm banner is a close up of "Dorlotons Degooglisons" by David Revoy (CC-BY 4.0) for Framasoft
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I use Linux at work regularly, and often prefer Linux and suggest Linux for work projects. It's an extremely capable OS for infrastructure and embedded applications. It's a pain as a desktop though. It's just clunkier and harder to do things. Intermediate level configuration tasks which you can do with one dialog in Windows require editing shell scripts and decoding APIs designed by mathematicians in the 70's on Linux. It's just too much when I want to relax after work.
Also I like gaming, and gaming through a compatibility layer like Wine is always annoying. I don't want launching a new game to be a project in itself.
Full disclosure, I've used linux since high school, to the point where I am lost as shit on windows. What I'm trying to get at is that the question I'm about to ask is not supposed to be judgemental or disbelieving or anything, I'm just genuinely curious: can you please give me an example of an intermediate config task that's significantly easier on windows than linux? I have a hard time believing such a thing exists, but that's likely because I haven't used windows since like the vista days
OK, one I encountered recently is mounting a network share on user login.
On Windows this required going into My Computer and clicking "Map network drive" then following the prompts.
On Linux this required; adding an entry to fstab then, because the mount needs to occur after network stack initialization but before the user attempts to access the drive, I needed to noauto the fstab entry and create a systemd service using After=network-online.target which actually performs the mount.
Gotcha. Yeah, that does sound like it's a bit easier in windows, fair enough. Still, I'll take a plaintext config file over searching through gui menus any day of the week. But that's just preference and what I'm used to.
I feel like it's the kind of thing that use to be true. I think it's easier to edit a a text file in linux and run the restart service command in terminal than it is to wander through window's new maximum white-space electron GUIs and hope what you're looking for isn't removed in windows 10 or doesn't get reset back to default on next update.
I absolutely agree. I've been very happy with linux for years. I love a well-documented plaintext config file!
steam has wine built in, for most games you don't even need to futz with the settings
Even in the best case scenario that's a straight downgrade though. Right now, I never have to worry about Wine compatibility or settings. All the games I play are tested and optimized on Windows.
It's not always true that steam proton is a downgrade. There are quite a few games, especially old ones, that actually run better with proton than natively on windows. Which is wild, but true.
That is surprising, I might give it a go next time I have an older game that doesn’t run so good under modern Windows.
Proton/Wine is a compatibility layer to translate Windows API calls to POSIX calls. In theory it should actually yield near native performance or better since Vulkan is far more optimized than DirectX.
But yeah, I use Proton and waiting for your vulkan shaders to compile is a little bit of a pain (especially for some games).
While I'll admit I don't have a lot of experience with Proton, I actually spent about 4 years working on a OpenGL based 3D graphics engine for augmented reality research. I've also written engine code in both DirectX and Vulcan but not as much. All this to say I've done some in depth research on Vulkan in the past, and I don't think it's really true to say that it's more optimized. DirectX is probably more optimized, but it is over-optimized for graphics techniques that have been superseded by more modern ones. Vulkan allows more optimized code to be written by giving the application programmer more direct control over graphics card resources. This only works when the program is written to take advantage of this though, if you access a Vulkan driver via a DirectX compatibility layer you are going to get very similar performance to native DirectX because you'll simply recreate all the bottlenecks that Vulkan was designed to avoid.
This gets to the underlying issue with Wine/Proton as a general solution to Linux gaming. So long as the application code was tested, debugged, profiled and optimized on Windows with DirectX it will almost always run better under Windows. The design will take advantage of efficiencies in the original API which will almost certainly not exist after calls are translated to a different API using different underlying OS primitives. The major caveat is older games which are no longer well supported because of changes to Windows system internals since release, these are likely to run as well or better because the assumptions they were optimized for are no longer valid on Windows, but Wine is already designed to compensate for programs written for a very different API.
Sorry for nerding out, but it's a topic I'm actually pretty interested in.
I see that's really interesting. A lot of my impression of Vulkan is that it's a much more modern API.
Though I'd admit that some of these are faulty benchmarks like when some users got better performance on Elden Ring with proton than on native windows (performance metrics varied wildly). It was just nuts to see Linux competing head-to-head with Windows for the first time.
Absolutely, older APIs tried to smooth development by abstracting more from the hardware, Vulkan tries to give the developer as much control as possible. If you know what you're doing you can write more performant games with Vulkan, but on the flip side development is slower. The matters less and less though, as most game dev these days uses middleware like Unity or Unreal which does all the graphics pipeline management for you. This also ties into modern graphics hardware being more configurable than ever, meaning the more restrictive APIs can waste a lot of the hardware's potential.
I did a bit of research after reading your comment and from what I can see, Elden Ring has some bugs in it's rendering pipeline that can cause cached shaders to be recompiled for no reason, this is what causes all the stuttering on Windows. Proton devs managed to write custom implementations of the DirectX functions that it uses incorrectly, to force it to work the way it was presumably intended to. That's awesome to me and really shows off the potential of Proton. Obviously other games which aren't huge releases aren't going to get that kind of treatment, but I can definitely see dedicated communities fixing issues like this in games.
Super cool, I'm glad you mentioned Elden Ring because I hadn't considered Wine/Proton could be used like that.
except the games released during the 98/XP/Vista/7 period, those still have compatibility shenanigans with windows 10.
That’s fair enough, but I’m mostly playing newer games. Maybe I’ll spin up a Linux install next time I have an old game that doesn’t work well on windows.