mirror of
https://github.com/ValveSoftware/Proton.git
synced 2024-12-27 07:05:46 +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/
|
mkdir proton/mybuild/
|
||||||
cd 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:
|
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
|
#install host build-time dependencies
|
||||||
apt-get update
|
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
|
apt-get -y -t stretch-backports install meson
|
||||||
|
|
||||||
#winehq-devel is installed to pull in dependencies to run Wine
|
#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
|
# STEAMRT64_IMAGE - Name of the image if mode is set
|
||||||
# STEAMRT32_MODE - Same as above for 32-bit container (can be different type)
|
# STEAMRT32_MODE - Same as above for 32-bit container (can be different type)
|
||||||
# STEAMRT32_IMAGE - Same as above for 32-bit container
|
# STEAMRT32_IMAGE - Same as above for 32-bit container
|
||||||
|
# STEAMRT_PATH - Path to built runtime which contains run.sh
|
||||||
|
|
||||||
ifeq ($(SRCDIR),)
|
ifeq ($(SRCDIR),)
|
||||||
foo := $(error SRCDIR not set, do not include makefile_base directly, run ./configure.sh to generate Makefile)
|
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))
|
foo := $(error Unrecognized STEAMRT32_MODE $(STEAMRT32_MODE))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(STEAMRT_PATH),)
|
||||||
|
STEAM_RUNTIME_RUNSH := $(STEAMRT_PATH)/run.sh
|
||||||
|
else
|
||||||
|
STEAM_RUNTIME_RUNSH :=
|
||||||
|
endif
|
||||||
|
|
||||||
SELECT_DOCKER_IMAGE :=
|
SELECT_DOCKER_IMAGE :=
|
||||||
|
|
||||||
# If we're using containers to sub-invoke the various builds, jobserver won't work, have some silly auto-jobs
|
# 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)
|
echo `date '+%s'` `GIT_DIR=$(abspath $(SRCDIR)/.git) git describe --tags` > $(DIST_VERSION)
|
||||||
cp $(DIST_VERSION) $(DST_BASE)/
|
cp $(DIST_VERSION) $(DST_BASE)/
|
||||||
rm -rf $(abspath $(DIST_PREFIX)) && \
|
rm -rf $(abspath $(DIST_PREFIX)) && \
|
||||||
WINEPREFIX=$(abspath $(DIST_PREFIX)) $(WINE_OUT_BIN) wineboot && \
|
WINEPREFIX=$(abspath $(DIST_PREFIX)) $(STEAM_RUNTIME_RUNSH) $(WINE_OUT_BIN) wineboot && \
|
||||||
WINEPREFIX=$(abspath $(DIST_PREFIX)) $(WINE_OUT_SERVER) -w && \
|
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-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)/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 && \
|
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 steamrt64_name="${1#*:}"
|
||||||
local steamrt32_type="${2%:*}"
|
local steamrt32_type="${2%:*}"
|
||||||
local steamrt32_name="${2#*:}"
|
local steamrt32_name="${2#*:}"
|
||||||
|
local steamrt_path="${3}"
|
||||||
|
|
||||||
check_steamrt_image "$steamrt64_type" "$steamrt64_name"
|
check_steamrt_image "$steamrt64_type" "$steamrt64_name"
|
||||||
check_steamrt_image "$steamrt32_type" "$steamrt32_name"
|
check_steamrt_image "$steamrt32_type" "$steamrt32_name"
|
||||||
@ -108,6 +109,7 @@ function configure() {
|
|||||||
echo "STEAMRT64_IMAGE := $(escape_for_make "$steamrt64_name")"
|
echo "STEAMRT64_IMAGE := $(escape_for_make "$steamrt64_name")"
|
||||||
echo "STEAMRT32_MODE := $(escape_for_make "$steamrt32_type")"
|
echo "STEAMRT32_MODE := $(escape_for_make "$steamrt32_type")"
|
||||||
echo "STEAMRT32_IMAGE := $(escape_for_make "$steamrt32_name")"
|
echo "STEAMRT32_IMAGE := $(escape_for_make "$steamrt32_name")"
|
||||||
|
echo "STEAMRT_PATH := $(escape_for_make "$steamrt_path")"
|
||||||
|
|
||||||
# Include base
|
# Include base
|
||||||
echo ""
|
echo ""
|
||||||
@ -171,6 +173,9 @@ function parse_args() {
|
|||||||
elif [[ $arg = --steam-runtime64 ]]; then
|
elif [[ $arg = --steam-runtime64 ]]; then
|
||||||
val_used=1
|
val_used=1
|
||||||
arg_steamrt64="$val"
|
arg_steamrt64="$val"
|
||||||
|
elif [[ $arg = --steam-runtime ]]; then
|
||||||
|
val_used=1
|
||||||
|
arg_steamrt="$val"
|
||||||
elif [[ $arg = --no-steam-runtime ]]; then
|
elif [[ $arg = --no-steam-runtime ]]; then
|
||||||
arg_no_steamrt=1
|
arg_no_steamrt=1
|
||||||
else
|
else
|
||||||
@ -207,7 +212,7 @@ function parse_args() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
usage() {
|
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" " 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" " out-of-tree build directories (e.g. mkdir mybuild && cd mybuild && ../configure.sh)"
|
||||||
"$1" ""
|
"$1" ""
|
||||||
@ -230,6 +235,10 @@ usage() {
|
|||||||
"$1" " --steam-runtime32=docker:<image> The 32-bit docker image to use for steps that require"
|
"$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" " a 32-bit environment. See --steam-runtime64."
|
||||||
"$1" ""
|
"$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" " --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."
|
"$1" " Build steps may still be manually run in a runtime environment."
|
||||||
exit 1;
|
exit 1;
|
||||||
@ -240,10 +249,10 @@ parse_args "$@" || usage err
|
|||||||
[[ -z $arg_help ]] || usage info
|
[[ -z $arg_help ]] || usage info
|
||||||
|
|
||||||
# Sanity check arguments
|
# 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"
|
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
|
elif [[ -z $arg_no_steamrt && ( -z $arg_steamrt32 || -z $arg_steamrt64 || -z $arg_steamrt ) ]]; then
|
||||||
die "Must specify either --no-steam-runtime or both --steam-runtime32 and --steam-runtime64"
|
die "Must specify either --no-steam-runtime or all of --steam-runtime32, --steam-runtime64, and --steam-runtime"
|
||||||
fi
|
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
|
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 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
|
./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
|
#configure proton build
|
||||||
mkdir build
|
mkdir build
|
||||||
cd 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:
|
#if building without the runtime, use:
|
||||||
#../proton/configure.sh --no-steam-runtime
|
#../proton/configure.sh --no-steam-runtime
|
||||||
|
Loading…
Reference in New Issue
Block a user