Skip to content

Instantly share code, notes, and snippets.

@felipec
Created July 11, 2026 12:12
Show Gist options
  • Select an option

  • Save felipec/86dcbe352d9f01bdc43c89bb5846e1bd to your computer and use it in GitHub Desktop.

Select an option

Save felipec/86dcbe352d9f01bdc43c89bb5846e1bd to your computer and use it in GitHub Desktop.
proton-ge-custom-bin
# Maintainer: Felipe Contreras <felipe.contreras@gmail.com>
## pkginfo
pkgdesc='A fancy custom distribution of Valves Proton with various patches'
pkgname=proton-ge-custom-bin
pkgver=GE_Proton11_1
pkgrel=1
epoch=1
arch=('x86_64')
license=('BSD' 'LGPL' 'zlib' 'MIT' 'MPL' 'custom')
changelog=changelog.md
provides=('proton' "proton-ge-custom=${pkgver/_/.}")
conflicts=('proton-ge-custom')
## dependencies
depends=('python'
'lapack'
'lib32-lapack')
optdepends=('kdialog: KDE splash dialog support'
'zenity: GNOME splash dialog support'
'python-kivy: splash dialog support (big picture mode)'
'steam: use proton with steam like intended'
'vulkan-icd-loader: dxvk dependency'
'lib32-vulkan-icd-loader: dxvk dependency for 32bit prefixes'
'vulkan-driver: driver to be used by dxvk'
'winetricks: protonfixes backend - highly recommended'
'wine: support for 32bit prefixes'
'xboxdrv: gamepad driver service')
## makepkg options
options=(!strip emptydirs)
install=pleasenote.install
## fix naming conventions, matching upstream
_pkgname=${pkgname//-bin/}
_pkgver=${pkgver//_/-}
_srcdir=${_pkgver}
## paths and files
_protondir=usr/share/steam/compatibilitytools.d/${_pkgname}
_licensedir=usr/share/licenses/${pkgname}
_execfile=usr/bin/proton-ge
_protoncfg=${_protondir}/user_settings.py
## user edited files to backup
backup=("$_protoncfg")
## sources
url='https://github.com/GloriousEggroll/proton-ge-custom'
source=("${_pkgver}_${pkgrel}.tar.gz::${url}/releases/download/${_pkgver}/${_pkgver}.tar.gz"
'user_settings.py'
'launcher.sh'
'proton-ge-custom-bin.conf'
'pam_limits.conf')
sha512sums=('d5792f4ac81d3832f5fe40467090c67d561b780c6a4236e76f8b59cb1d4ca25c82df91018e79d156bb267a67224a41f0d621a1e6cbbeec79040cc60275dc9e5a'
'09b6523516b07ec40b895867ef3cdb5dfb1eda6b188d0edf0acea9c3141583f43b2b5c1a396f4d52eb2ddb3ae6f111b4a7bc6409c003f09ff8c505b81f2a7297'
'78ede6d50f9c43407da511c8b37dcf60aae2ddbd461c0081f0d0ce3de08ace3a84dee86e9253acbac829b47c5818ef4e1a354ccb05feaa9853ce279dc3f903fd'
'ac2bd634838ffe6b90f2637e229013f0993fc1013271dbeefd216dc262a8bb79e4a5ce15a75cbfcb0c3b521d32f4ebe1ed25a6b066b99cc327b60bd6d7212e6f'
'60bcb1ad899d108fca9c6267321d11871feae96b696e44607ef533becc6decb493e93cbe699382e8163ad83f35cfa003a059499c37278f31afeba4700be6e356')
build() {
## patches
sed -i "s|_proton=echo|_proton=/${_protondir}/proton|" "${srcdir}"/launcher.sh
sed -i -r 's|"GE-Proton.*"|"Proton-GE"|' "${_srcdir}"/compatibilitytool.vdf
## fixes from namcap inspection
strip --preserve-dates --strip-unneeded "${_srcdir}"/files/bin/wine*
}
package() {
## create paths
install -d "${pkgdir}/${_protondir}/"
install -d "${pkgdir}/${_licensedir}/"
install -d "${pkgdir}/$(dirname "${_execfile}")/"
install -d "${pkgdir}/etc/security/limits.d/"
install -d "${pkgdir}/usr/lib/modules-load.d"
## licenses
mv "${_srcdir}/LICENSE" "${pkgdir}/${_licensedir}/license"
mv "${_srcdir}/LICENSE.OFL" "${pkgdir}/${_licensedir}/license_OFL"
mv "${_srcdir}/PATENTS.AV1" "${pkgdir}/${_licensedir}/license_AV1"
## config files
install --mode=0775 --group=50 "${srcdir}"/user_settings.py "${pkgdir}/${_protoncfg}"
install --mode=0644 "${srcdir}"/pam_limits.conf "${pkgdir}"/etc/security/limits.d/10-games.conf
install --mode=0644 "${srcdir}"/${pkgname}.conf "${pkgdir}"/usr/lib/modules-load.d/${pkgname}.conf
## executables
mv "${_srcdir}"/* "${pkgdir}/${_protondir}"
install --mode=0755 "${srcdir}"/launcher.sh "${pkgdir}/${_execfile}"
}
@Richardn2002

Copy link
Copy Markdown

thank you! But question: why the lapack dependencies?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment