mirror of
https://github.com/ValveSoftware/Proton.git
synced 2024-12-26 14:45:48 +03:00
Run Wine in the steam runtime
This commit is contained in:
parent
821a09cacd
commit
0ecb100046
@ -126,7 +126,7 @@ VM. If you are configuring manually, run these steps:
|
||||
|
||||
mkdir proton/mybuild/
|
||||
cd proton/mybuild
|
||||
../configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32
|
||||
../configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --steam-runtime=$HOME/steam-runtime/runtime/
|
||||
|
||||
If you are building without the Steam runtime, then instead use:
|
||||
|
||||
|
2
Vagrantfile
vendored
2
Vagrantfile
vendored
@ -36,7 +36,7 @@ Vagrant.configure(2) do |config|
|
||||
|
||||
#install host build-time dependencies
|
||||
apt-get update
|
||||
apt-get install -y gpgv2 gnupg2 g++ g++-6-multilib mingw-w64 git docker-ce fontforge-nox
|
||||
apt-get install -y gpgv2 gnupg2 g++ g++-6-multilib mingw-w64 git docker-ce fontforge-nox python-debian
|
||||
apt-get -y -t stretch-backports install meson
|
||||
|
||||
#winehq-devel is installed to pull in dependencies to run Wine
|
||||
|
@ -31,6 +31,7 @@ else # (Rest of the file is the else)
|
||||
# STEAMRT64_IMAGE - Name of the image if mode is set
|
||||
# STEAMRT32_MODE - Same as above for 32-bit container (can be different type)
|
||||
# STEAMRT32_IMAGE - Same as above for 32-bit container
|
||||
# STEAMRT_PATH - Path to built runtime which contains run.sh
|
||||
|
||||
ifeq ($(SRCDIR),)
|
||||
foo := $(error SRCDIR not set, do not include makefile_base directly, run ./configure.sh to generate Makefile)
|
||||
@ -73,6 +74,12 @@ else ifneq ($(STEAMRT32_MODE),)
|
||||
foo := $(error Unrecognized STEAMRT32_MODE $(STEAMRT32_MODE))
|
||||
endif
|
||||
|
||||
ifneq ($(STEAMRT_PATH),)
|
||||
STEAM_RUNTIME_RUNSH := $(STEAMRT_PATH)/run.sh
|
||||
else
|
||||
STEAM_RUNTIME_RUNSH :=
|
||||
endif
|
||||
|
||||
SELECT_DOCKER_IMAGE :=
|
||||
|
||||
# If we're using containers to sub-invoke the various builds, jobserver won't work, have some silly auto-jobs
|
||||
@ -334,8 +341,8 @@ dist: $(DIST_TARGETS) wine vrclient lsteamclient dxvk | $(DST_DIR)
|
||||
echo `date '+%s'` `GIT_DIR=$(abspath $(SRCDIR)/.git) git describe --tags` > $(DIST_VERSION)
|
||||
cp $(DIST_VERSION) $(DST_BASE)/
|
||||
rm -rf $(abspath $(DIST_PREFIX)) && \
|
||||
WINEPREFIX=$(abspath $(DIST_PREFIX)) $(WINE_OUT_BIN) wineboot && \
|
||||
WINEPREFIX=$(abspath $(DIST_PREFIX)) $(WINE_OUT_SERVER) -w && \
|
||||
WINEPREFIX=$(abspath $(DIST_PREFIX)) $(STEAM_RUNTIME_RUNSH) $(WINE_OUT_BIN) wineboot && \
|
||||
WINEPREFIX=$(abspath $(DIST_PREFIX)) $(STEAM_RUNTIME_RUNSH) $(WINE_OUT_SERVER) -w && \
|
||||
ln -s $(FONTLINKPATH)/LiberationSans-Regular.ttf $(abspath $(DIST_PREFIX))/drive_c/windows/Fonts/arial.ttf && \
|
||||
ln -s $(FONTLINKPATH)/LiberationSans-Bold.ttf $(abspath $(DIST_PREFIX))/drive_c/windows/Fonts/arialbd.ttf && \
|
||||
ln -s $(FONTLINKPATH)/LiberationSerif-Regular.ttf $(abspath $(DIST_PREFIX))/drive_c/windows/Fonts/times.ttf && \
|
||||
|
19
configure.sh
19
configure.sh
@ -71,6 +71,7 @@ function configure() {
|
||||
local steamrt64_name="${1#*:}"
|
||||
local steamrt32_type="${2%:*}"
|
||||
local steamrt32_name="${2#*:}"
|
||||
local steamrt_path="${3}"
|
||||
|
||||
check_steamrt_image "$steamrt64_type" "$steamrt64_name"
|
||||
check_steamrt_image "$steamrt32_type" "$steamrt32_name"
|
||||
@ -108,6 +109,7 @@ function configure() {
|
||||
echo "STEAMRT64_IMAGE := $(escape_for_make "$steamrt64_name")"
|
||||
echo "STEAMRT32_MODE := $(escape_for_make "$steamrt32_type")"
|
||||
echo "STEAMRT32_IMAGE := $(escape_for_make "$steamrt32_name")"
|
||||
echo "STEAMRT_PATH := $(escape_for_make "$steamrt_path")"
|
||||
|
||||
# Include base
|
||||
echo ""
|
||||
@ -171,6 +173,9 @@ function parse_args() {
|
||||
elif [[ $arg = --steam-runtime64 ]]; then
|
||||
val_used=1
|
||||
arg_steamrt64="$val"
|
||||
elif [[ $arg = --steam-runtime ]]; then
|
||||
val_used=1
|
||||
arg_steamrt="$val"
|
||||
elif [[ $arg = --no-steam-runtime ]]; then
|
||||
arg_no_steamrt=1
|
||||
else
|
||||
@ -207,7 +212,7 @@ function parse_args() {
|
||||
}
|
||||
|
||||
usage() {
|
||||
"$1" "Usage: $0 { --no-steam-runtime | --steam-runtime32=<image> --steam-runtime64=<image> }"
|
||||
"$1" "Usage: $0 { --no-steam-runtime | --steam-runtime32=<image> --steam-runtime64=<image> --steam-runtime=<path> }"
|
||||
"$1" " Generate a Makefile for building Proton. May be run from another directory to create"
|
||||
"$1" " out-of-tree build directories (e.g. mkdir mybuild && cd mybuild && ../configure.sh)"
|
||||
"$1" ""
|
||||
@ -230,6 +235,10 @@ usage() {
|
||||
"$1" " --steam-runtime32=docker:<image> The 32-bit docker image to use for steps that require"
|
||||
"$1" " a 32-bit environment. See --steam-runtime64."
|
||||
"$1" ""
|
||||
"$1" " --steam-runtime=<path> Path to the runtime built for the host (i.e. the output"
|
||||
"$1" " directory given to steam-runtime/build-runtime.py). Should"
|
||||
"$1" " contain run.sh."
|
||||
"$1" ""
|
||||
"$1" " --no-steam-runtime Do not automatically invoke any runtime SDK as part of the build."
|
||||
"$1" " Build steps may still be manually run in a runtime environment."
|
||||
exit 1;
|
||||
@ -240,10 +249,10 @@ parse_args "$@" || usage err
|
||||
[[ -z $arg_help ]] || usage info
|
||||
|
||||
# Sanity check arguments
|
||||
if [[ -n $arg_no_steamrt && (-n $arg_steamrt32 || -n $arg_steamrt64) ]]; then
|
||||
if [[ -n $arg_no_steamrt && (-n $arg_steamrt32 || -n $arg_steamrt64 || -n $arg_steamrt) ]]; then
|
||||
die "Cannot specify a Steam Runtime SDK as well as --no-steam-runtime"
|
||||
elif [[ -z $arg_no_steamrt && ( -z $arg_steamrt32 || -z $arg_steamrt64 ) ]]; then
|
||||
die "Must specify either --no-steam-runtime or both --steam-runtime32 and --steam-runtime64"
|
||||
elif [[ -z $arg_no_steamrt && ( -z $arg_steamrt32 || -z $arg_steamrt64 || -z $arg_steamrt ) ]]; then
|
||||
die "Must specify either --no-steam-runtime or all of --steam-runtime32, --steam-runtime64, and --steam-runtime"
|
||||
fi
|
||||
|
||||
configure "$arg_steamrt64" "$arg_steamrt32"
|
||||
configure "$arg_steamrt64" "$arg_steamrt32" "$arg_steamrt"
|
||||
|
@ -4,10 +4,11 @@
|
||||
git clone https://github.com/ValveSoftware/steam-runtime.git
|
||||
./steam-runtime/setup_docker.sh --beta amd64 --extra-bootstrap=/home/vagrant/proton/steamrt-bootstrap.sh steam-proton-dev-beta
|
||||
./steam-runtime/setup_docker.sh --beta i386 --extra-bootstrap=/home/vagrant/proton/steamrt-bootstrap.sh steam-proton-dev32-beta
|
||||
(cd steam-runtime && ./build-runtime.py --output=./runtime/)
|
||||
|
||||
#configure proton build
|
||||
mkdir build
|
||||
cd build
|
||||
../proton/configure.sh --steam-runtime64=docker:steam-proton-dev-beta --steam-runtime32=docker:steam-proton-dev32-beta
|
||||
../proton/configure.sh --steam-runtime64=docker:steam-proton-dev-beta --steam-runtime32=docker:steam-proton-dev32-beta --steam-runtime="$HOME"/steam-runtime/runtime/
|
||||
#if building without the runtime, use:
|
||||
#../proton/configure.sh --no-steam-runtime
|
||||
|
Loading…
Reference in New Issue
Block a user