Skip to content

Commit

Permalink
Merge branch 'GloriousEggroll:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
mandruis7 authored May 7, 2023
2 parents a762735 + 6a3321d commit 1d99296
Show file tree
Hide file tree
Showing 384 changed files with 39,864 additions and 1,489 deletions.
16 changes: 15 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ This section is for those that use the Steam flatpak.

##### Flathub

This unofficial build isn't supported by GloriousEggroll nor Valve and wasn't tested with all possible games and cases. It can behave differently from upstream builds. Use at your own risk.
[The unofficial build provided by Flathub](https://github.com/flathub/com.valvesoftware.Steam.CompatibilityTool.Proton-GE) isn't supported by GloriousEggroll nor Valve and wasn't tested with all possible games and cases. It can behave differently from upstream builds. Use at your own risk.

1. [Add the Flathub repository](https://flatpak.org/setup/).
2. Run:
Expand All @@ -139,6 +139,20 @@ This unofficial build isn't supported by GloriousEggroll nor Valve and wasn't te
4. Restart Steam.
5. [Enable proton-ge-custom](#enabling).

#### Snap

This section is for those that use the Steam [snap](https://snapcraft.io/steam).

This unofficial build isn't supported by GloriousEggroll nor Valve and wasn't tested with all possible games and cases. It can behave differently from upstream builds. Use at your own risk.

##### Manual

1. Download a release from the [Releases](https://github.com/GloriousEggroll/proton-ge-custom/releases) page.
2. Create a `~/snap/steam/common/.steam/steam/compatibilitytools.d/` directory if it does not exist.
3. Extract the release tarball into `~/snap/steam/common/.steam/steam/compatibilitytools.d/`.
* `tar -xf GE-ProtonVERSION.tar.gz -C ~/snap/steam/common/.steam/steam/compatibilitytools.d/`
4. Restart Steam.
5. [Enable proton-ge-custom](#enabling).

## Building

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
GE-Proton8-1
GE-Proton8-2
16 changes: 7 additions & 9 deletions docker/Makefile
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
STEAMRT_VERSION = 0.20220601.0
STEAMRT_VERSION = 0.20221017.1
STEAMRT_URLBASE = registry.gitlab.steamos.cloud

PROTONSDK_URLBASE = $(STEAMRT_URLBASE)/proton/soldier/sdk
PROTONSDK_URLBASE = $(STEAMRT_URLBASE)/proton/sniper/sdk
PROTONSDK_VERSION = $(STEAMRT_VERSION)-0-dev

# this is just for building toolchain, as we do static builds it should
# not have any impact on the end result, but changing it will invalidate
# docker caches, so we need something that don't change much
BASE_IMAGE_i686 = docker.io/i386/ubuntu:18.04
BASE_IMAGE_x86_64 = docker.io/amd64/ubuntu:18.04
BASE_IMAGE = $(STEAMRT_URLBASE)/steamrt/sniper/sdk:0.20221017.1

BINUTILS_VERSION = 2.37
GCC_VERSION = 10.3.0
MINGW_VERSION = 9.0.0
RUST_VERSION = 1.65.0
RUST_VERSION = 1.68.0

SOURCES_URLBASE = https://repo.steampowered.com/proton-sdk
BINUTILS_URLBASE = $(SOURCES_URLBASE)
Expand All @@ -30,8 +29,8 @@ RUST_SOURCE_i686 = rust-$(RUST_VERSION)-i686-unknown-linux-gnu.tar.gz
BINUTILS_SHA256 = 820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c
GCC_SHA256 = 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344
MINGW_SHA256 = 1929b94b402f5ff4d7d37a9fe88daa9cc55515a6134805c104d1794ae22a4181
RUST_SHA256_x86_64 = 8f754fdd5af783fe9020978c64e414cb45f3ad0a6f44d045219bbf2210ca3cb9
RUST_SHA256_i686 = b29869f8e2c7029150a929b2c4e26843f363846ad99253a25be6abcfa8e84f46
RUST_SHA256_x86_64 = 7be1acdac656d0b0b7e909e5c0d4ddf61c755c203ec26ebafbd306322335b361
RUST_SHA256_i686 = dc931adeb2943dcadfbd29546481f0296fcb97a511421053ecae6586a85869b1

DOCKER = docker

Expand Down Expand Up @@ -84,7 +83,6 @@ DOCKER = docker
define create-build-base-rules
.PHONY: build-base-$(1)
all build-base: build-base-$(1)
build-base-$(1): BASE_IMAGE = $(BASE_IMAGE_$(1))
build-base-$(1): build-base-$(1).Dockerfile
rm -rf build; mkdir -p build
$(DOCKER) build -f $$< \
Expand Down Expand Up @@ -189,7 +187,7 @@ $(eval $(call create-gcc-rules,x86_64,w64-mingw32))
define create-proton-rules
.PHONY: proton
all: proton
proton: BASE_IMAGE = $(STEAMRT_URLBASE)/steamrt/soldier/sdk:$(STEAMRT_VERSION)
proton: BASE_IMAGE = $(STEAMRT_URLBASE)/steamrt/sniper/sdk:$(STEAMRT_VERSION)
proton: proton.Dockerfile | gcc
rm -rf build; mkdir -p build
$(DOCKER) build -f $$< \
Expand Down
8 changes: 4 additions & 4 deletions docker/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Proton (soldier) SDK
Proton (sniper) SDK
====================

These are the build rules that are used to create docker images to build
Proton. The automated creation of the official images lives in
<https://gitlab.steamos.cloud/proton/soldier/sdk>, but this can be
<https://gitlab.steamos.cloud/proton/sniper/sdk>, but this can be
used to create local images too.

Local usage
Expand Down Expand Up @@ -31,7 +31,7 @@ To update the official Proton SDK images:
commit and push the changes.

2) Update `.gitlab-ci.yml` in the
[Proton SDK](https://gitlab.steamos.cloud/proton/soldier/sdk)
[Proton SDK](https://gitlab.steamos.cloud/proton/sniper/sdk)
repository to point to the new commit, commit and push to trigger a
new build of "-dev" images.

Expand Down Expand Up @@ -72,7 +72,7 @@ replacements done using `sed`.
The <https://gitlab.steamos.cloud> CI uses Kaniko instead of Docker,
with a bit of script conversion to generate commands usable there. More
details are available in
[Proton SDK](https://gitlab.steamos.cloud/proton/soldier/sdk).
[Proton SDK](https://gitlab.steamos.cloud/proton/sniper/sdk).

The `build-base` images are there to create a common ground to build the
other elements of the toolchain. They are based on fairly recent (more
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cb_converters.dat
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ case 0x00180835: win_msg->m_cubParam = 32; win_msg->m_pubParam = HeapAlloc(GetPr
case 0x000c0836: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTTPRequestHeadersReceived_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
case 0x00140837: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_HTTPRequestDataReceived_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
case 0x00200af3: win_msg->m_cubParam = 40; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamInputConfigurationLoaded_t_40((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
case 0x00180af4: win_msg->m_cubParam = 32; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamInputGamepadSlotChange_t_32((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
case 0x26280d4a: win_msg->m_cubParam = 9784; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_SteamUGCRequestUGCDetailsResult_t_9784((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
case 0x00100d4b: win_msg->m_cubParam = 24; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_CreateItemResult_t_24((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
case 0x000c0d4d: win_msg->m_cubParam = 16; win_msg->m_pubParam = HeapAlloc(GetProcessHeap(), 0, win_msg->m_cubParam); cb_ItemInstalled_t_16((void*)lin_msg.m_pubParam, (void*)win_msg->m_pubParam); break;
Expand Down
4 changes: 4 additions & 0 deletions lsteamclient/cb_converters.h
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,10 @@ struct SteamInputConfigurationLoaded_t;
struct winSteamInputConfigurationLoaded_t_40;
extern void cb_SteamInputConfigurationLoaded_t_40(const struct SteamInputConfigurationLoaded_t *l, struct winSteamInputConfigurationLoaded_t_40 *w);

struct SteamInputGamepadSlotChange_t;
struct winSteamInputGamepadSlotChange_t_32;
extern void cb_SteamInputGamepadSlotChange_t_32(const struct SteamInputGamepadSlotChange_t *l, struct winSteamInputGamepadSlotChange_t_32 *w);

struct SteamUGCRequestUGCDetailsResult_t;
struct winSteamUGCRequestUGCDetailsResult_t_9784;
extern void cb_SteamUGCRequestUGCDetailsResult_t_9784(const struct SteamUGCRequestUGCDetailsResult_t *l, struct winSteamUGCRequestUGCDetailsResult_t_9784 *w);
Expand Down
4 changes: 4 additions & 0 deletions lsteamclient/cb_getapi_sizes.dat
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ case 2103: /* HTTPRequestDataReceived_t_24 */
return 20;
case 2803: /* SteamInputConfigurationLoaded_t_40 */
return 32;
case 2804: /* SteamInputGamepadSlotChange_t_32 */
return 24;
case 3402: /* SteamUGCRequestUGCDetailsResult_t_9784 */
return 9768;
case 3403: /* CreateItemResult_t_24 */
Expand Down Expand Up @@ -195,6 +197,8 @@ case 2103: /* HTTPRequestDataReceived_t_24 */
return 20;
case 2803: /* SteamInputConfigurationLoaded_t_40 */
return 32;
case 2804: /* SteamInputGamepadSlotChange_t_32 */
return 24;
case 3402: /* SteamUGCRequestUGCDetailsResult_t_9784 */
return 9768;
case 3403: /* CreateItemResult_t_24 */
Expand Down
12 changes: 12 additions & 0 deletions lsteamclient/cb_getapi_table.dat
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,12 @@ case 2803:
case 40: cb_SteamInputConfigurationLoaded_t_40(lin_callback, callback); break;
}
break;
case 2804:
switch(callback_len){
default:
case 32: cb_SteamInputGamepadSlotChange_t_32(lin_callback, callback); break;
}
break;
case 3402:
switch(callback_len){
default:
Expand Down Expand Up @@ -602,6 +608,12 @@ case 2803:
case 40: cb_SteamInputConfigurationLoaded_t_40(lin_callback, callback); break;
}
break;
case 2804:
switch(callback_len){
default:
case 32: cb_SteamInputGamepadSlotChange_t_32(lin_callback, callback); break;
}
break;
case 3402:
switch(callback_len){
default:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#include "steamworks_sdk_155/steam_api.h"
#include "steamworks_sdk_155/steamnetworkingtypes.h"
#define __cdecl
#include "steamworks_sdk_157/steam_api.h"
#include "steamworks_sdk_157/steamnetworkingtypes.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
#ifdef __cplusplus
extern "C" {
#endif
#define SDKVER_155
#define SDKVER_157
#include "struct_converters.h"
#include "cppISteamAppList_STEAMAPPLIST_INTERFACE_VERSION001.h"
uint32 cppISteamAppList_STEAMAPPLIST_INTERFACE_VERSION001_GetNumInstalledApps(void *linux_side)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#include "steamworks_sdk_155/steam_api.h"
#include "steamworks_sdk_155/steamnetworkingtypes.h"
#include "steamworks_sdk_155/isteamappticket.h"
#define __cdecl
#include "steamworks_sdk_157/steam_api.h"
#include "steamworks_sdk_157/steamnetworkingtypes.h"
#include "steamworks_sdk_157/isteamappticket.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
#ifdef __cplusplus
extern "C" {
#endif
#define SDKVER_155
#define SDKVER_157
#include "struct_converters.h"
#include "cppISteamAppTicket_STEAMAPPTICKET_INTERFACE_VERSION001.h"
uint32 cppISteamAppTicket_STEAMAPPTICKET_INTERFACE_VERSION001_GetAppOwnershipTicketData(void *linux_side, uint32 nAppID, void * pvBuffer, uint32 cbBufferLength, uint32 * piAppId, uint32 * piSteamId, uint32 * piSignature, uint32 * pcbSignature)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_100/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_103/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_111/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_117/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_125/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_131/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_136/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
7 changes: 4 additions & 3 deletions lsteamclient/cppISteamApps_STEAMAPPS_INTERFACE_VERSION008.cpp
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#include "steamworks_sdk_155/steam_api.h"
#include "steamworks_sdk_155/steamnetworkingtypes.h"
#define __cdecl
#include "steamworks_sdk_157/steam_api.h"
#include "steamworks_sdk_157/steamnetworkingtypes.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
#ifdef __cplusplus
extern "C" {
#endif
#define SDKVER_155
#define SDKVER_157
#include "struct_converters.h"
#include "cppISteamApps_STEAMAPPS_INTERFACE_VERSION008.h"
bool cppISteamApps_STEAMAPPS_INTERFACE_VERSION008_BIsSubscribed(void *linux_side)
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cppISteamClient_SteamClient006.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_099y/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cppISteamClient_SteamClient007.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_103/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cppISteamClient_SteamClient008.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_107/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cppISteamClient_SteamClient009.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_111/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cppISteamClient_SteamClient010.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_115/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cppISteamClient_SteamClient011.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_116/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cppISteamClient_SteamClient012.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_128/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cppISteamClient_SteamClient013.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_128x/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cppISteamClient_SteamClient014.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_129a/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cppISteamClient_SteamClient015.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_130/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cppISteamClient_SteamClient016.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_131/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cppISteamClient_SteamClient017.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_142/steam_api.h"
#pragma pop_macro("__cdecl")
#include "steamclient_private.h"
Expand Down
1 change: 1 addition & 0 deletions lsteamclient/cppISteamClient_SteamClient018.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#include "steam_defs.h"
#pragma push_macro("__cdecl")
#undef __cdecl
#define __cdecl
#include "steamworks_sdk_145/steam_api.h"
#include "steamworks_sdk_145/steamnetworkingtypes.h"
#pragma pop_macro("__cdecl")
Expand Down
Loading

0 comments on commit 1d99296

Please sign in to comment.