Proton | Compatibility tool for Steam Play | Video Game library

 by   ValveSoftware C++ Version: proton-8.0-2c License: Non-SPDX

kandi X-RAY | Proton Summary

kandi X-RAY | Proton Summary

Proton is a C++ library typically used in Gaming, Video Game applications. Proton has no bugs, it has no vulnerabilities and it has medium support. However Proton has a Non-SPDX License. You can download it from GitHub.

Proton is a tool for use with the Steam client which allows games which are exclusive to Windows to run on the Linux operating system. It uses Wine to facilitate this. Most users should use Proton provided by the Steam Client itself. See this Steam Community post for more details. The source code is provided to enable advanced users the ability to alter Proton. For example, some users may wish to use a different version of Wine with a particular title. The changelog is available on our wiki.

            kandi-support Support

              Proton has a medium active ecosystem.
              It has 20497 star(s) with 920 fork(s). There are 377 watchers for this library.
              It had no major release in the last 12 months.
              There are 3811 open issues and 2681 have been closed. On average issues are closed in 133 days. There are 15 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of Proton is proton-8.0-2c

            kandi-Quality Quality

              Proton has 0 bugs and 0 code smells.

            kandi-Security Security

              Proton has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              Proton code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              Proton has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              Proton releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.
              It has 7834 lines of code, 91 functions and 10 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Proton
            Get all kandi verified functions for this library.

            Proton Key Features

            No Key Features are available at this moment for Proton.

            Proton Examples and Code Snippets

            No Code Snippets are available at this moment for Proton.

            Community Discussions


            New Firefox Update Bookmarks Toolbar (Show more bookmarks) | Double Space Problem
            Asked 2022-Mar-25 at 04:59

            I updated my firefox to the latest version :
            Version 92.0
            Now in Bookmarks Toolbar (Show more bookmarks) i have a problem about double Space between bookmarks.
            There is a thread in stack like this :
            But i could n't find any userChrome.css file in fiefox profile folder.
            How can i fix double space issue?

            Try browser.proton.contextmenus.enabled > false (disables Proton UI of context menus)

            Did not work for me.

            As you see in the image below spaces are more than usual.

            This is really annoying.
            Please guide me to fix this issue without manipulating or creating new rules in css.



            Answered 2021-Sep-10 at 22:44

            You have to create the file (and folder) yourself, and enable setting in about:config to tell Firefox it should apply it. Recycled howto for enabling and easy debugging from :

            How to inspect Firefox UI, make changes and persist them across restarts, in 9 steps: 1. Enable userChrome.css

            Visit about:config, search for '.styles' and toggle toolkit.legacyUserProfileCustomizations.stylesheets to true.

            2. Enable UI debugging

            Open ≡ Menu > More Tools > Web Developer Tools > ⚙ Settings > Advanced and check (or press F12, then F1)

            • [✓] "Enable browser chrome and add-on debugging toolboxes"
            • [✓] "Enable remote debugging"
            3. Obtain location of your Firefox user

            See path at about:support#profile-row

            4. Open Browser Toolbox

            Launch ≡ Menu > More Tools > Browser Toolbox (or press Ctrl+Shift+Alt+I)

            5. Allow incoming connection. 6. Switch to Style(sheet) Editor. 7. Create new style 8. Try canonical * { color: red !important; } 9. Save it as \chrome\userChrome.css (10.) Done. Now you can close the Toolbox and Firefox without losing your precious tweaks.



            npm run build is giving me errors I'm not sure how to fix
            Asked 2022-Mar-21 at 00:35

            This is my first app and first time trying to deploy and I'm facing an error I really don't know how to fix. This is what I'm getting when I run "npm run build"



            Answered 2022-Mar-21 at 00:35

            The real error seems to be the TypeError in your TypeScript code. This can be fixed in two ways.

            1. You can add the following code.



            Array map is giving me an error when trying to call the data in a dynamic render operation
            Asked 2022-Mar-09 at 19:23
            function UserTransactionsComponent1() {
              const [accounts, setAccounts] = useState();
              useEffect(() => {
                async function fetchData() {
                  const res = await fetch(
                  const { data } = await res.json();
              }, []);
     => {
                const { account } = result;
              return Hi! {account};
            export default UserTransactionsComponent1;


            Answered 2022-Mar-09 at 19:23

            The return statement is outside the variable (account) scope.



            Next.js, getStaticProps not working with component but does with page
            Asked 2022-Mar-05 at 08:14

            If I visit this code on local host, it is able to pull data from the API and then display it on a card.



            Answered 2022-Mar-02 at 08:27

            getStaticProps works only for pages inside pages folder. The data is fetched at build time. If you wanna use UserTransactionsComponent as a normal component, you should use useEffect and make the api call on mount.

            Here is what the Next.js's documentation says:

            If you export a function called getStaticProps (Static Site Generation) from a page, Next.js will pre-render this page at build time using the props returned by getStaticProps.

            Here is UserTransactionsComponent as a normal component:



            Trying to console.log data within useEffect. Not logging any information
            Asked 2022-Mar-03 at 01:31
            function UserAccounts() {
              const [accounts, setAccounts] = useState();
              useEffect(() => {
                async function fetchAccounts() {
                  const res = await fetch(
                  const { accounts } = await res.json();
              }, []);


            Answered 2022-Mar-03 at 01:14

            Well, you need to get the structure of the returned payload from the API correct. It does not have an accounts property.

            The payload looks like this:



            java.lang.NoSuchMethodError: '$SilentParametersBuilder using azure sdk for java service bus
            Asked 2022-Mar-02 at 15:16

            Im trying to send messages to my azure service bus topic using managed identity. None of the messages are sent to the topic. I have no problem when using connectionString instead of credential.




            Answered 2022-Mar-02 at 08:39

            Please check the below steps if they help to workaround -

            • java.lang.NoSuchMethodError majorly occurs due to version conflicts of dependencies.
            • There may be few methods or libraries not compatible or missing in the project.
            • To resolve this, try upgrading or even downgrading the dependent versions.
            • In some cases, removing the unnecessary dependencies also works.
            • Please check this official java doc of SilentParameter class and its related methods.
            • In general, NoSuchMethodError error happens if class A expects a method in class B which was compiled but at run time the other classes does not have that method. Here the method can be a third party jar library or normal method in the classes.
            • Sometimes it might be, you have complied the code against a version of some library that can also be the JDK itself, but your runtime is having other versions and it might be the case of one of the modules where you have added a method, forgot to compile, so at runtime it is using the old version.



            Kafka-connect to PostgreSQL - org.apache.kafka.connect.errors.DataException: Failed to deserialize topic to to Avro
            Asked 2022-Feb-11 at 14:44

            I've installed latest (7.0.1) version of Confluent platform in standalone mode on Ubuntu virtual machine.

            Python producer for Avro format

            Using this sample Avro producer to generate stream from data to Kafka topic (pmu214).

            Producer seems to work ok. I'll give full code on request. Producer output:



            Answered 2022-Feb-11 at 14:42

            If you literally ran the Python sample code, then the key is not Avro, so a failure on the key.converter would be expected, as shown

            Error converting message key



            Python redirect the path by detection of ../ from anothers path
            Asked 2022-Jan-20 at 06:28

            I have a path in variable A



            Answered 2022-Jan-20 at 06:28

            You could use the powerful pathlib module:



            Removing words from sentence when in lookup dataframe
            Asked 2021-Dec-07 at 21:13

            I have two dataframes, the one contains Reviews for cars and the second one contains the car make and car model. What I would like to do is use the car model df_brand['name'] to be used to lookup every word in the Review sentence df['Review'] and remove matching words. I would like to remove all the words that contain car brands in them.

            Input data df['Review']:



            Answered 2021-Dec-07 at 20:57

            Your problem wasn't quite condensed enough to reproduce, or to see the desired output, but your basic approach is fine. You may run into issues with misspellings, in which case maybe use an edit distance with a threshold for determining whether to take out the stopword. Here's my version of your code that seems to do fine



            How can I disable the return_bind_key in PySimpleGui?
            Asked 2021-Nov-25 at 20:26

            I need to disable the bind_return_key parameter to false after a question is answered incorrectly. The parameter is binded to the submit button under the key 'b1'. I used the .update() method and it worked around a week ago. It not longer works and I receive this error: "TypeError: update() got an unexpected keyword argument 'bind_return_key'"

            Is there a fix to this?

            Things I've tried:

            • changed what is being updated from key 'b1' to 'Submit'
            • opened a new project file to install the newest version which I think is 4.55.1


            Answered 2021-Nov-25 at 20:26

            This was an issue 2548 in PySimpleGUI.

            Since version 4.16.0 there is also a shortcut to unbind a key from an element:

            I've also added an Element.unbind method to match the Element.bind method. This will allow you to unbind tkinter events from an element without needing to access the element's Widget member variable.

            Thus you can use following to unbind tkinter's return key-press events ('') from your element, which is not the button (with key b1) but the input (text-field with key -INPUT-):


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install Proton

            You need either a Docker or a Podman setup. We highly recommend the rootless Podman setup. Please refer to your distribution's documentation for setup instructions (e.g. Arch Podman / Docker, Debian Podman / Docker).
            Running will create a Makefile allowing you to build Proton. The scripts checks if containers are functional and prompt you if any host-side dependencies are missing. You should run the command from a directory created specifically for your build. The configuration script tries to discover a working Docker or Podman setup to use, but you can force a compatible engine with --container-engine=<executable_name>. You can enable ccache with --enable-cache flag. This will mount your $CCACHE_DIR or $HOME/.ccache inside the container.<version> can be used to build with a custom version of the Proton SDK images. Check --help for other configuration options. NOTE: If SELinux is in use, the Proton build container may fail to access your user's files. This is caused by SELinux's filesystem labels. You may pass the --relabel-volumes switch to configure to cause the container engine to relabel its bind-mounts and allow access to those files from within the container. This can be dangerous when used with system directories. Proceed with caution and refer your container engine's manual.
            Steam ships with several versions of Proton, which games will use by default or that you can select in Steam Settings' Steam Play page. Steam also supports running games with local builds of Proton, which you can install on your machine. To install a local build of Proton into Steam, make a new directory in ~/.steam/root/compatibilitytools.d/ with a tool name of your choosing and place the directory containing your redistributable build under that path. The make install target will perform this task for you, installing the Proton build into the Steam folder for the current user. You will have to restart the Steam client for it to pick up on a new tool.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone ValveSoftware/Proton

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Video Game Libraries


            by ValveSoftware


            by JustArchiNET


            by MinecraftForge


            by raphw


            by fogleman

            Try Top Libraries by ValveSoftware


            by ValveSoftwareC++


            by ValveSoftwareC++


            by ValveSoftwareC++


            by ValveSoftwareC++


            by ValveSoftwareC++