Difference between revisions of "Steam"

From FEX-Emu Wiki
Jump to navigation Jump to search
(Blanked the page)
Tag: Blanking
Line 1: Line 1:
 +
== Quirks ==
 +
=== 32-bit application under FEX ===
 +
FEX is a 64bit AArch64 application. To get 32-bit applications like Steam running under FEX you need both kernel patches and FEX patches that aren't upstreamed to the Linux kernel.
  
 +
There is an ongoing effort to upstream these kernel bits but the ARM kernel maintainers really don't want to support this use case.
 +
For more information about the problems we encounter. https://github.com/FEX-Emu/FEX/wiki/32Bit-x86-Woes
 +
=== Setting environment variable DEBUGGER ===
 +
* export DEBUGGER=`which FEXInterpreter`
 +
Setting this environment variables allows you to execute the installed binary `steam` directly and it will prefix the variable before executing the x86_32 binary.
 +
Alternatively if you have binfmt_misc on AArch64 installed then you don't need to set this environment variable
 +
 +
=== Setting environment variable STEAMOS and STEAM_RUNTIME ===
 +
* export STEAMOS=1
 +
* export STEAM_RUNTIME=1
 +
Setting these environment variables skips Steam's bash script from checking for glibc and throwing a warning window
 +
== Problems/Workarounds ==
 +
Steam is a very complex application which can cause FEX some pain.
 +
The primary application is also a 32bit binary which requires kernel patches to run on AArch64 platforms.
 +
 +
=== Game Library and other things not visible ===
 +
Steam is using CEF (Chromium Embedded Framework) for large amounts of its library rendering
 +
 +
This is currently broken under FEX but there are plans to fix it
 +
 +
Known bits that use CEF
 +
* Game Library (Switch over to Small Mode or Big Picture mode in the menu)
 +
* Friends List
 +
* Game properties window
 +
* Storefront and other web views
 +
 +
=== Long load times ===
 +
Steam's load time can take a couple minutes. This is due to x87 utilization during initialization which is particularly slow. This will take some time to optimize.
 +
It can look like Steam has hung while loading. Might be worth watching the process in something like htop to watch if it crashed or is running.
 +
 +
Additionally it launches a few applications in the background that searches for things which can be a bit slow.

Revision as of 06:45, 17 March 2021

Quirks

32-bit application under FEX

FEX is a 64bit AArch64 application. To get 32-bit applications like Steam running under FEX you need both kernel patches and FEX patches that aren't upstreamed to the Linux kernel.

There is an ongoing effort to upstream these kernel bits but the ARM kernel maintainers really don't want to support this use case. For more information about the problems we encounter. https://github.com/FEX-Emu/FEX/wiki/32Bit-x86-Woes

Setting environment variable DEBUGGER

  • export DEBUGGER=`which FEXInterpreter`

Setting this environment variables allows you to execute the installed binary `steam` directly and it will prefix the variable before executing the x86_32 binary. Alternatively if you have binfmt_misc on AArch64 installed then you don't need to set this environment variable

Setting environment variable STEAMOS and STEAM_RUNTIME

  • export STEAMOS=1
  • export STEAM_RUNTIME=1

Setting these environment variables skips Steam's bash script from checking for glibc and throwing a warning window

Problems/Workarounds

Steam is a very complex application which can cause FEX some pain. The primary application is also a 32bit binary which requires kernel patches to run on AArch64 platforms.

Game Library and other things not visible

Steam is using CEF (Chromium Embedded Framework) for large amounts of its library rendering

This is currently broken under FEX but there are plans to fix it

Known bits that use CEF

  • Game Library (Switch over to Small Mode or Big Picture mode in the menu)
  • Friends List
  • Game properties window
  • Storefront and other web views

Long load times

Steam's load time can take a couple minutes. This is due to x87 utilization during initialization which is particularly slow. This will take some time to optimize. It can look like Steam has hung while loading. Might be worth watching the process in something like htop to watch if it crashed or is running.

Additionally it launches a few applications in the background that searches for things which can be a bit slow.