Skip Navigation

Posts
1
Comments
223
Joined
2 yr. ago

  • Most of Proton code is Wine. So basically if you have Wine in your system, library dependencies are not an issue anymore, apart from DLLs that some games require

    If I have wine on my system and try to run steam-managed proton without any sort of runtime or container, then I'm running proton on different versions of libraries than the ones it was compiled for and tested on. Proton also has additional components which might mean additional dependencies, so your statement is false to begin with.

    Why are they doing a fork instead of contributing?

    The fork is open source. As far as I know, some contributions do get merged into wine. Valve is also funding work from Collabora which is contributed directly into wine. They cannot contribute the entirety of proton to wine because wine does not want all their contributions. This is a very common situation to arise when someone wants to use an open source project but their goals don't align.

    But I expect it will be easier to push back on using containerization in Proton, than making Valve allow us such control

    Valve is never going to rip out a solution that is working great for them and risk causing issues for customers for no good reason. Thinking that Valve are more likely to remove containerization than they are to allow you to modify the container is, frankly, delusional. It's also completely irrelevant, as I've already said. If Valve wants to "fuck us up" then they're going to do it. Steam is a proprietary piece of software that supports DRM for all your (also proprietary) games, which are stored on the cloud. You have no control over your games, but containers have nothing to do with it. And if they did, and Valve really wanted to pull a trick on us, asking them to remove the containers would make even less sense...

  • Just follow the instructions here. Snapshots do not recursively traverse subvolumes. So putting the swapfile into its own subvolume means it will be excluded from any snapshots of / . The command should also set No_COW which also implicitly turns of compression if you use that.

    I'll repeat what another user said because it's important. If you want filesystem encryption you also want swap encryption. Otherwise any data is liable to get leaked by being written to swap.

  • The issue is that even if you choose a hosting service outside the US, they might choose to block your content anyway in order to comply with US regulations and avoid legal trouble.

  • Are you contradicting yourself later by conceding (flawed as it may be) it fit “a very minimal definition of democracy”?

    What part are you referring to? This?

    So if you mean democracy in a very literal and minimal sense, that the people have some sort of power through their vote, that’s technically still going on.

    Cause that not the same context. One is responding to the "100-years tradition of upkeeping democracy against major non-democratic players" claim and the other is talking about the USA political system as it exists right now. These are not just referring to different periods; but the former is not even asking whether democracy exists in the USA. It's asking whether the US has a long tradition of fighting for democracy against its major enemies. That's why I didn't just mention just the lack of voting rights for minorities, but also stuff like violently interfering in other countries' politics. The sentences seem inconsistent to you because you took out every bit of context.

    Do good, objective definitions vary by time & culture? Seems problematic.

    Yes they do vary. One could argue objective definitions don't exist in the first place. It's not problematic, it's a good thing. If definitions didn't vary by time, black people would still be slaves and women would not have the right to vote. It is our changing definition of who "the people" of a country are that changed the rights afforded to those people. And the fact that even the most fundamental words of the most minimal definition are not objective and unchanging is why you cannot come up with a single universally accepted definition. I mean, if you think you have one, why don't you share it?

  • I don't know if there's a meaningful way to treat that as a spectrum and to place political systems on it. I mostly pointed out the different definitions one might use so that people wouldn't read my examples of rights violations and think "what's that got to do with democracy?".

    Also, there's no ancient Greek democracy. Greece was a bunch of city-states, each with its own political system. I know that in Athenian democracy there were slaves, and as you would image they didn't get a vote. Neither did the women. If it existed today it would probably not even be called a democracy by western standards.

  • You’d think a hegemony with a 100-years tradition of upkeeping democracy against major non-democratic players, would have some mechanism that would prevent itself from throwing down it’s key ideology.

    "100-years tradition of upkeeping democracy"? That's not even true in a very minimal definition of democracy, let alone if we also mean equal rights for all. Just off the top of my head:

    The vote of racial minorities was not protected before 1965.

    COINTELPRO was a thing just over 50 years ago, targeting whatever political group was considered undesirable by the FBI. The FBI was found to be using unlawful surveillance targeting protesters for the inexcusable killing of a black man by police as recently as five years ago.

    Last election there was an attempt to overturn the election results. It's not taken as seriously as it should have because it failed, but it was literally an attempt to overthrow democracy. It's important to note that Trump was allowed to run for president and the case against him was dropped as soon as he got elected. I'm pointing it out because the system was already there to protect him and it's not something that he caused through his own actions as president.

    There are so many unwarranted invasions of other countries, assassinations, and human rights violations that I don't even know where to link to as a starting point.

    Don't forget the large scale surveillance both within and without the country.

    And then there's all the undemocratic qualities of unregulated free market capitalism. Politicians are lobbied. News outlets belong to wealthy individuals who often have other businesses as well. Social media too. Technically, you get to cast a vote that is equal to everybody else's. But your decision is based on false data, and your representative is massively incentivized to lie to you and enact policies that server their lobbyists and wealthy friends instead. Do we all really have equal power?

    So if you mean democracy in a very literal and minimal sense, that the people have some sort of power through their vote, that's technically still going on. If you mean in it a more general sense, where people have fundamental rights that are always protected regardless of race or other characteristics, and where power is not unfairly distributed between individuals and racial groups, then again not much has changed. Because that was never the case. If you think fascism was universally condemned then you just hadn't realized how widespread and normalized it always was. Maybe fascism is growing. Maybe it's becoming more blatant. But it was always there.

  • We are going through more or less Wine anyway, the libraries on the system don’t matter as long as Wine compiles

    Which wine though?

    The one pre-packaged by your distro? That doesn't work because Valve needs to control the version you use and to provide additional stuff not part of vanilla wine.

    The one part of proton that is built and delivered to your system by Valve? They would have to compile and support it for every set of dependency versions out there.

    One of the core features of containers is process and process memory separation from host.

    As far as container technology is concerned, the isolation is configurable. pressure-vessel is most likely using (possibly indirectly) namespaces and/or cgroups to achieve the isolation. I don't see a technical reason that you can't disable the isolation of shared memory or any other resource. The issue is whether you are given access to disable it.

    According to the docs the runtime is based on flatpak and uses bubblewrap and libcapsule. I don't know about libcapsule, but I recall that bubblewrap has granular control over what resources it isolates.

    We have no control over what they put in those containers.

    Apparently, you can modify the container as shown here. But there's no reason why you shouldn't be able to install custom containers alongside the default ones in the same way that you can install custom proton versions. Steam just doesn't provide the interface for it.

    Once they disable the PRESSURE_VESSEL_SHELL=instead we will have no insight into what’s inside.

    There already exists an alternative that is "more likely to be extended in future" rather than being removed as shown here. But I believe you would always be able to gain access to the container because it remains a chroot + namespace + cgroup isolation, all of which you can control on your system.

    and app developers neither have!

    App developers don't control what's on your system either. The container is a huge improvement for them because it at least gives them a known target to build for. They can still bundle dependencies in any way that they would on a non-containerized system. There's no loss of control from their perspective.

    if it doesn’t work for some reason (with Wine I don’t really see it happening as what we run doesn’t rely on our OS libraries directly), you can create chroot, additional library packages with old versions, etc.

    That's what pressure-vessel is and as shown above you can modify it. And if you couldn't it would be a tooling issue, not an inherent container disadvantage.

    Worst case scenario, Linux community will figure something out

    No, they won't. Compatibility significantly increased after Valve got involved. In fact, the linux community is porting pressure-vessel outside of Steam to use it across different launchers as umu. The community is headed towards using pressure-vessel for everything.

    Now I replied to each claim individually, but it's not really about any specific point you're making. The general idea is that there's nothing inherent to container technology that prevents you from tinkering with it. Anything that you can't do currently is because Steam is not designed to allow you to do it. It's got nothing to do with whether Steam uses containers or not. Any control that you've lost over your system is because you're using a proprietary app. They could remove the containers and still prevent tinkering, eg by using a bundled wine with no way for you to modify it or its launch options. It's not about what Steam does, but about how it does it.

  • No way. Containers are absolutely necessary to provide reliability across a wide range of distros and to keep games working in the future.

    It makes running additional programs harder (opentrack for example)

    Then we need better tooling and documentation to interact with the container, not to get rid of them. I don't see any technical limitation that would prevent your use case. It's just not implemented or maybe simply undocumented.

    our computers less ours

    How so? The end result is probably the opposite. Without the containers Steam would be less reliable on unsupported distros, which might mean your only choice would be to use Ubuntu LTS. That would be a much bigger loss of control.

  • It's a custom solution called pressure-vessel, which seems to be based on flatpak. You can read about it here. This is used to create a reproducible linux environment and has nothing to do with the windows translation layer. They run wine (proton) inside the container as you would expect.

    There is a recent effort to port this solution outside of steam in the form of umu. As far as I know it's in a working state but I don't know if it's at feature parity with steam, especially on the game-specific fixes front. The end goal is to be a universal launcher that can be used from all frontends, so that all windows games run reliably and identically regardless of which GUI you use to manage your games.

    EDIT: welp, I just now noticed this info has already been posted by another user 🤷

  • The other commenter already answers your quest, but I will just point out that python doesn't come included "on Linux". It just happens to be a dependency of so much stuff that some other packages is going to pull it in. A minimal distro which doesn't include programs written in python will probably not have python installed at all.

  • The 75% of your contacts you describe sound like they installed Signal only to talk to you or at most a handful of people, while most of their social circle is on WhatsApp. These people are trapped on WhatsApp exactly because there is no interoperability.

  • My question: How do I actually physically notice the difference between these kernels?

    Generally, you don't. You can look for some benchmark to try and find a difference between them, but if you don't notice a difference in your day to day tasks, then it's all the same. In my experience you should pick a kernel based on your desired experience. For my needs this is how the kernels differ:

    • Generic kernel: a sane default for most regular users
    • LTS: only makes sense if you're worried about regressions in the generic kernel causing issues, and only viable if you can afford to stay behind on hardware driver updates, ie you use old hardware and/or optimal performance is not required
    • Zen: sometimes better for gaming, but often indistinguishable from the generic kernel
    • Realtime: rarely what you want, it sounds "faster" but it's basically optimized for very specific use cases and if you're not among them you'll see the same or worse performance
  • I encrypt all my filesystems, boot partitions excluded. I started with my work laptop. It made the most sense because there is a real possibility that it gets lost or stolen at some point. But once I learned how simple encryption is, I just started doing it everywhere. It's probably not gonna come into play ever for my desktop, but it also doesn't really cost me anything to be extra safe.

  • Who's gonna come at me with a $5 wrench because they really want my data, though? The attack I'm most likely to experience is someone stealing my laptop while I'm out traveling. That's what full filesystem encryption solves best.

  • Yes, Proton is primarily a Steam thing, but it's free software and it's being actively ported to other launchers as umu (not by Valve). The project is very new and I'm not sure it perfectly matches Proton behavior yet, at least as far as game-specific tweaks are concerned.

    Personally, for a non-Steam game I would just try to run it via Lutris. Lutris tries to automatically setup everything so you don't need to tinker with anything in the best case. It even automatically downloads the game installer and wine, and you can configure it to use the aforementioned umu instead of vanilla wine. In the ideal case, you get the game installed and running with minimal effort all from within the Lutris client. The problem is that the Lutris scripts are maintained by the project itself with recommended corrections from the community. So it's possible that a game could run with tinkering, but it hasn't been automated yet.

  • This wouldn't appear like this when upgrading the system with pacman. pacman does not automatically remove orphaned dependencies during upgrades. You have to query for them and remove them explicitly as a separate operation afterwards. So in the OP what we're seeing is the new versions of packages themselves getting smaller.

  • These are valid concerns but to me they sound more like lack of tooling rather than inherent disadvantages of immutable distros. Linux distros have not historically been designed from the ground up for immutability and it makes sense that there are issues that aren't handled optimally. Surely we can come up with clean and simple solutions to basic problems like setting up daemons and drivers if we work on it!

  • Interesting. Mind sharing which compression algorithms you compare and how?

  • Maybe it was good 10-20 years ago. What's it got to offer today? Why should we use a proprietary format when there are faster and more space-efficient open formats widely available today?

  • I'm using pipewire with easyeffects and they both work great.

    For pipewire I've installed all the available compatibility layers: pipewire-pulse, pipewire-alsa, pipewire-jack, as well as every lib32 variant. Without all of these some apps would not work via pipewire.

    As for easyeffects, depending on your distro and how you install it, you might need to install the plugins separately. Otherwise the app will open but it won't be able to actually apply any effects. First time I tried to use it I was confused about this.