Professional C# .NET developer, React and TypeScript hobbyist, proud Linux user, Godot enthusiast!

https://blog.fabioiotti.com/\ https://github.com/bruce965

  • 3 Posts
  • 120 Comments
Joined 4 years ago
cake
Cake day: March 9th, 2022

help-circle
















  • As absurd as it might seem, the Steam Controller is technically not compatible with Linux.

    What I mean by this: officially, it only works with Steam Input, which only works for Games you launch from Steam. It is not fully recognized and supported by Linux yet, and perhaps it never will.


    EDIT: alright. This comment was obviously partially driven by frustration, I apologize for my tone. Since this comment received a low upvote/downvote ratio, I decided to educate myself a bit more on the topic. Here are my findings and understandings…

    There are a lot of controllers. Some of them have a somewhat standard layout (think Xbox, Play Station, Switch), and some of them are just special (think controllers with special buttons or trackpads like the Steam Controller).

    Computers and controllers can communicate through various protocols, such as XInput, DirectInput, “Switch mode”, or other less common ones. Some of these protocols expect a fixed layout with an exact number of buttons, joysticks, triggers, etc (such as XInput), some are more flexible. Some of these protocols support gyro, some don’t. Some of these protocols have a higher bandwidth, and thus can offer lower latency.

    Option 1 (ideal): Linux can support some of these protocols through drivers. Unfortunately some of these drivers do not work very well with non-standard controllers. They might not see some buttons, they might not see some features such as gyro, or even worse (this is what I personally experienced) they can map buttons incorrectly. These inconsistencies can make a controller unusable without some tinkering, or they might limit the set of supported features for a specific controller.

    Option 2 (per-game fallback): SDL is FOSS application-level layer to communicate with controllers. If a game makes use of SDL, it can support all controllers that its specific SDL version supports. Even if the operating system doesn’t fully recognize it. But this only works if the game does make use of SDL. If it doesn’t, you are out of luck.

    Option 3 (user fallback): Steam Input is a proprietary (i.e. non-FOSS) way to try to bring some order in this mess. It takes any random controller, and allows the user to remap buttons to make it behave consistently, in a way that all games can understand. Even games that were never designed to be played with a controller can be coerced to work.

    Basically, if Linux supports the controller fully and maps all features correctly (option 1, this is the ideal situation), it will work with every game that supports it. Otherwise, (option 2) games that implement SDL can try to make it work anyway. Otherwise (option 3) if the game doesn’t use SDL, or if its SDL version doesn’t recognize the controller, Steam Input can still make it work with some help from the user.

    So… Why am I upset with Valve? That’s because, as far as I understand, Valve decided to make their controller only compatible with Steam Input. Some volunteers adapted it to make it work with SDL, but that only works for games that make use of an SDL layer. And what about Linux? Does Linux have a driver for this controller? No. As far as I understand, this controller doesn’t make use of any of the standard protocols, so a new ad-hoc driver would have to be developed just for this controller. Valve decided to reinvent the wheel.

    There would be an “Option 0”, which some controllers support: protocol-switching. When you buy an Xbox controller, it runs as XInput. When you buy a Switch controller, it runs in “Switch mode”. When you buy a third party controller, it usually implements one or multiple of these, and allows the user to switch on-demand. This way the system is more likely to recognize it correctly using at least one mode.

    As far as I understand, the newest Steam Controller does not support any of these. This is why I am upset with Valve. Hopefully they will eventually release a firmware update to add XInput or another standard protocol, then Linux will recognize this controller natively. But right now, the Steam Controller is technically not compatible with Linux.

    (This is my understanding of the situation, some of my findings may be incorrect. Please correct me if this is the case!)


  • I don’t think you need a guide. Just install the extension and give it a try. It’s pretty simple and intuitive.

    still no possibility to set default container for Ctrl + T

    It might be possible now, you could give it a try. But anyways, I don’t see how changing the default container for new tabs could be useful. There is a default container which is the “no container”, why would you want to change it?

    EDIT: yes, it is possible now.


  • Are you talking about these containers?

    Each container is isolated from the others. If you don’t want a tab to track you, just use a dedicated container for it.

    You can also configure Firefox to always use a dedicated container for certain domains.

    As for destroying the data, you probably just need to clear cookies on close. That’s configurable. If you are extra paranoid you can also clear the cache.

    Did I miss something?