protonscr

Proton build instructions does not include initial vagrant setup

protonclosed
ValveSoftware/Proton#4423 · opened 2020-11-28 by Darxus · updated 2021-01-10 · 8 comments · github
DDarxus 2020-11-28 github

Two days ago, 2020-11-28, I tried following the build instructions in the README.md in the root of the proton repo: https://github.com/ValveSoftware/Proton

I would like for those instructions to add a recommendation of some place to go to talk about difficulties building it. Since there isn't a recommendation there, and I haven't been able to find a better option, I'm opening an issue here.

On Ubuntu 20.04 (with packages updated), and this proton commit:
commit 4e84cd392d8b6c4bae0b21ef4ad5b6c86f13cb3b (HEAD -> proton_5.13, tag: proton-5.13-2-rc3, tag: proton-5.13-2, origin/proton_5.13-next, origin/proton_5.13, origin/HEAD)
Author: Andrew Eikum [email protected]
Date: Mon Nov 9 09:26:02 2020 -0600

Running make install, with vagrant installed for the first time ever, gave me:

$ git clone --recurse-submodules https://github.com/ValveSoftware/Proton.git proton
...
$ cd proton
$ sudo apt install vagrant
...
$ /usr/bin/time make install
vagrant up
Platform: 16 CPUs, 16043 MB memory
Vagrant has detected project local plugins configured for this
project which are not installed.

  vagrant-sshfs
Install local plugins (Y/N) [N]: y
Installing the 'vagrant-sshfs' plugin. This can take a few minutes...
/usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/environment.rb:1013: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/plugin/manager.rb:116: warning: The called method `install_plugin' is defined here
Traceback (most recent call last):
	16: from /usr/bin/vagrant:23:in `<main>'
	15: from /usr/bin/vagrant:23:in `load'
	14: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/bin/vagrant:145:in `<top (required)>'
	13: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/bin/vagrant:145:in `new'
	12: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/environment.rb:178:in `initialize'
	11: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/environment.rb:1004:in `process_configured_plugins'
	10: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/environment.rb:1004:in `each'
	 9: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/environment.rb:1013:in `block in process_configured_plugins'
	 8: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/plugin/manager.rb:148:in `install_plugin'
	 7: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/plugin/manager.rb:138:in `block in install_plugin'
	 6: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/bundler.rb:143:in `install'
	 5: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/bundler.rb:370:in `internal_install'
	 4: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/bundler.rb:512:in `activate_solution'
	 3: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/bundler.rb:512:in `each'
	 2: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.6/lib/vagrant/bundler.rb:515:in `block in activate_solution'
	 1: from /usr/lib/ruby/2.7.0/rubygems/specification.rb:1367:in `activate'
/usr/lib/ruby/2.7.0/rubygems/specification.rb:2235:in `check_version_conflict': can't activate vagrant-libvirt-0.3.0, already activated vagrant-libvirt-0.0.45 (Gem::LoadError)
make: *** [Makefile:101: vagrant] Error 1
Command exited with non-zero status 2
1.95user 0.24system 0:24.91elapsed 8%CPU (0avgtext+0avgdata 207188maxresident)k
13272inputs+30544outputs (41major+76207minor)pagefaults 0swaps
darxus@dancer:~/source/proton$ /usr/bin/time make install
vagrant up
Platform: 16 CPUs, 16043 MB memory
Vagrant has detected project local plugins configured for this
project which are not installed.

  vagrant-sshfs
Install local plugins (Y/N) [N]: 
Vagrant failed to initialize at a very early stage:

Vagrant is missing plugins required by the currently loaded Vagrantfile.
Please install the configured plugins and run this command again. The
following plugins are currently missing:

  vagrant-sshfs

To install the plugins configured in the current Vagrantfile run the
following command:

  vagrant plugin install --local
make: *** [Makefile:101: vagrant] Error 1
Command exited with non-zero status 2
0.58user 0.12system 0:02.11elapsed 33%CPU (0avgtext+0avgdata 52688maxresident)k
0inputs+16outputs (0major+13413minor)pagefaults 0swaps
$ 
Kkisak-valve maintainer 2020-11-28 github

Hello @Darxus, sounds like the version of vagrant-sshfs that it's trying to install has dependencies that are newer than what your system has installed. Maybe try sudo apt install vagrant-sshfs and check how it responds?

DDarxus 2020-11-28 github

After sudo apt install vagrant-sshfs:

$ rm -rf proton && /usr/bin/time git clone --recurse-submodules https://github.com/ValveSoftware/Proton.git proton && cd proton && make install
...
167.26user 9.59system 5:41.11elapsed 51%CPU (0avgtext+0avgdata 241372maxresident)k
16inputs+3784848outputs (0major+886803minor)pagefaults 0swaps
vagrant up
Platform: 16 CPUs, 16043 MB memory
Bringing machine 'debian10' up with 'libvirt' provider...
Error while connecting to libvirt: Error making a connection to libvirt URI qemu:///system?no_verify=1&keyfile=/home/darxus/.ssh/id_rsa:
Call to virConnectOpen failed: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
make: *** [Makefile:101: vagrant] Error 1

I saw somebody once fixed a similar error by installing virtualbox. Which I do not have installed. Because the instructions didn't tell me to.

DDarxus 2020-11-28 github
DDarxus 2020-11-28 github

$ make install
vagrant up
Platform: 16 CPUs, 16043 MB memory
Bringing machine 'debian10' up with 'virtualbox' provider...
==> debian10: Box 'generic/debian10' could not be found. Attempting to find and install...
debian10: Box Provider: virtualbox
debian10: Box Version: >= 0
==> debian10: Loading metadata for box 'generic/debian10'
debian10: URL: https://vagrantcloud.com/generic/debian10
==> debian10: Adding box 'generic/debian10' (v3.1.8) for provider: virtualbox
debian10: Downloading: https://vagrantcloud.com/generic/boxes/debian10/versions/3.1.8/providers/virtualbox.box
debian10: Download redirected to host: vagrantcloud-files-production.s3.amazonaws.com
debian10: Calculating and comparing box checksum...
==> debian10: Successfully added box 'generic/debian10' (v3.1.8) for 'virtualbox'!
==> debian10: Importing base box 'generic/debian10'...
==> debian10: Matching MAC address for NAT networking...
==> debian10: Checking if box 'generic/debian10' version '3.1.8' is up to date...
==> debian10: Setting the name of the VM: proton_debian10_1606581205538_82718
==> debian10: Clearing any previously set network interfaces...
==> debian10: Preparing network interfaces based on configuration...
debian10: Adapter 1: nat
==> debian10: Forwarding ports...
debian10: 22 (guest) => 2222 (host) (adapter 1)
==> debian10: Running 'pre-boot' VM customizations...
==> debian10: Booting VM...
There was an error while executing VBoxManage, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "ca7df217-1b88-4bcb-8824-a9379af51b54", "--type", "headless"]

Stderr: VBoxManage: error: AMD-V is disabled in the BIOS (or by the host OS) (VERR_SVM_DISABLED)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole

make: *** [Makefile:101: vagrant] Error 1
$

Going to enable it in my bios....

DDarxus 2020-11-28 github

Alright, looks like that worked, thanks. Can you please add a suggestion to install virtualbox and vagrant-sshfs to the README.md?

I believe this is the full set of commands I ran:

sudo apt install vagrant vagrant-sshfs virtualbox
git clone --recurse-submodules https://github.com/ValveSoftware/Proton.git proton
cd proton
make install

And it looks like in my "Force the use of a specific steam play compatibility tool" dropdown, that added the option: proton-5.13-local. Which would also be nice to mention in the README.md.

Aaeikum 2020-12-01 github

It already mentions this:

The VM is managed with Vagrant, which you will need to install before invoking these commands. Proton's build system is most well tested with Vagrant's VirtualBox and libvirt/qemu backends. It also requires the vagrant-sshfs plugin.

We can't document how to install and set up Vagrant and its plugins for every distribution.

It also mentions the tool name:

The tool's name in the Steam client will be based on the currently checked out branch of Proton.

Jjcochran26 2020-12-19 github

This issue has apparently resurfaced.

Ddgapitts 2021-01-10 github

FYI ... I was reviewing this thread as I was having similar "Box could not be found" issues (in another project). My problems were because my laptop's vagrant client version (1.7.x) was seriously out of date and upgrading to the latest version fixed this issue for me. More details in: https://wiki.ebabel.eu/index.php?title=Vagrant_Box_could_not_be_found_issues_-_update_vagrant_client_to_latest_version

Proton versions

Error codes