FEX-Emu / FEX-Emu/FEX

Very bad performance with HLDS (SRCDS maybe too)

Open
#5,102 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
8k
Forks
351
Avg merge
12h 31m
Merged PRs (30d)
102

Description

Hi, I'm trying to run svencoop dedicated server on my Ampere A1 server, which is running under Kubernetes with Talos Linux ARM64 build.
```
apiVersion: apps/v1
kind: Deployment
metadata:
name: fex-deployment
namespace: kube-system
spec:
replicas: 1
selector:
matchLabels:
app: fex
strategy:
type: Recreate
template:
metadata:
labels:
app: fex
spec:
# Node selector for ARM64 architecture
nodeSelector:
kubernetes.io/arch: arm64

# Toleration for control plane scheduling
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule

hostNetwork: true
containers:
- args:
- >-
cd '/home/fex/Steam/steamapps/common/Sven Co-op Dedicated Server' && mkdir -p /home/fex/.steam/sdk32/ && ln steamclient.so /home/fex/.steam/sdk32/steamclient.so && FEX ./svends_run +map osprey -pingboost 3 -reuse -sys_ticrate 1000 -netthread -num_edicts 8192
command:
- sh
- "-c"
env:
# [... all your environment variables remain unchanged ...]
- name: FEX_MULTIBLOCK
value: "'true'"
# - name: FEX_MAXINST
# value: "50000"
# - name: FEX_ENABLECODECACHINGWIP
# value: "'false'"
# - name: FEX_HOSTFEATURES
# value: enableatomics,enablecrypto,enablepmull128
# - name: FEX_SMALLTSCSCALE
# value: "'false'"
- name: FEX_CPUFEATUREREGISTERS
- name: FEX_ROOTFS
value: /opt/.fex-emu/RootFS/Ubuntu_24_04.sqsh
- name: FEX_THUNKHOSTLIBS
value: /usr/lib/aarch64-linux-gnu/fex-emu/HostThunks
- name: FEX_THUNKGUESTLIBS
value: /usr/share/fex-emu/GuestThunks
- name: FEX_THUNKCONFIG
- name: FEX_ENV
- name: FEX_HOSTENV
# - name: FEX_DISABLEL2CACHE
# value: "'false'"
# - name: FEX_DYNAMICL1CACHE
# value: "'false'"
# - name: FEX_DYNAMICL1CACHEINCREASECOUNTHEURISTIC
# value: "250"
# - name: FEX_DYNAMICL1CACHEDECREASECOUNTHEURISTIC
# value: "50"
- name: FEX_SINGLESTEP
value: "'false'"
- name: FEX_GDBSERVER
value: "'false'"
- name: FEX_DUMPIR
value: "'no'"
- name: FEX_PASSMANAGERDUMPIR
value: "'off'"
- name: FEX_DUMPGPRS
value: "'false'"
- name: FEX_O0
value: "'false'"
# - name: FEX_GLOBALJITNAMING
# value: "'false'"
# - name: FEX_LIBRARYJITNAMING
# value: "'false'"
# - name: FEX_BLOCKJITNAMING
# value: "'false'"
- name: FEX_GDBSYMBOLS
value: "'false'"
- name: FEX_INJECTLIBSEGFAULT
value: "'false'"
- name: FEX_DISASSEMBLE
value: "'off'"
# - name: FEX_FORCESVEWIDTH
# value: "0"
- name: FEX_DISABLETELEMETRY
value: "'true'"
- name: FEX_SILENTLOG
value: "'true'"
# - name: FEX_OUTPUTLOG
# value: server
# - name: FEX_TELEMETRYDIRECTORY
# - name: FEX_PROFILESTATS
# value: "'false'"
# - name: FEX_ENABLEGPUVISPROFILING
# value: "'false'"
# - name: FEX_SMCCHECKS
# value: mtrack
# - name: FEX_TSOENABLED
# value: "'false'"
# - name: FEX_VECTORTSOENABLED
# value: "'false'"
# - name: FEX_MEMCPYSETTSOENABLED
# value: "'false'"
# - name: FEX_HALFBARRIERTSOENABLED
# value: "'false'"
# - name: FEX_STRICTINPROCESSSPLITLOCKS
# value: "'false'"
# - name: FEX_KERNELUNALIGNEDATOMICBACKPATCHING
# value: "'false'"
# - name: FEX_VOLATILEMETADATA
# value: "'false'"
# - name: FEX_X87REDUCEDPRECISION
# value: "'false'"
# - name: FEX_STALLPROCESS
# value: "'false'"
# - name: FEX_HIDEHYPERVISORBIT
# value: "'false'"
# - name: FEX_STARTUPSLEEP
# value: "0"
# - name: FEX_STARTUPSLEEPPROCNAME
# - name: FEX_MONOHACKS
# value: "'false'"
# - name: FEX_SERVERSOCKETPATH
# - name: FEX_NEEDSSECCOMP
# value: "'false'"
# - name: FEX_EXTENDEDVOLATILEMETADATA
# - name: FEX_APP_CONFIG_LOCATION
# - name: FEX_APP_CONFIG
# - name: FEX_APP_DATA_LOCATION
# - name: FEX_PORTABLE
image: stevenlafl/fex:svends
imagePullPolicy: Always
name: fex
securityContext:
privileged: true
stdin: true
tty: true
```
It runs but the performance is insanely terrible. Time to load the map is also very long and I also have to wait 3 minutes to wait for the game to finally be able to connect, but whenever something is trying to move, the server is half freezing. I replicated this on another ARM server I own in Tokyo, but it has the same problem. I tried to run stadium4 and spawn some monsters, but it is surprisingly working well. I have no idea how to debug it.

I also mixed the K8S cluster with x86 nodes in the same network region, and ran the same map, but it is not lagging at all, so it should be a FEX problem

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.