Steamuxulation redux

I see GUI winecfg
and second terminal show me:
[admin@ ~]$ sudo procstat -b `pgrep wine`
PID COMM OSREL PATH
14382 wine32 1202000 /usr/home/steamdev/.i386-wine-pkg/usr/local/wine-proton/bin/wine32
14380 wine32 1202000 /usr/home/steamdev/.i386-wine-pkg/usr/local/wine-proton/bin/wine32
14363 wine32 1202000 /usr/home/steamdev/.i386-wine-pkg/usr/local/wine-proton/bin/wine32
14356 wine32 1202000 /usr/home/steamdev/.i386-wine-pkg/usr/local/wine-proton/bin/wine32
14352 wineserver 1201000 /usr/local/bin32/wineserver
14343 wine32 1202000 /usr/home/steamdev/.i386-wine-pkg/usr/local/wine-proton/bin/wine32
 
MMM, I dont know, its clean FreeBSD 12.2 + lib32, i have no modification system files.

Do I need to fix this path?

You mean you need to add to ~/.bashrc?

14352 wineserver 1201000 /usr/local/bin32/wineserver - I could not understand what this line is for?
---
In system i have i386-wine, winetricks -

This is to run the "Steam Desktop Autentificator"
I need this program to login steam
What do you think it takes to fix this?
 
[admin@ ~]$ sudo su steamdev -c '/opt/steam-utils/bin/lsu-wine-env printenv PATH'
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/wine-proton/bin:/home/steamdev/.i386-wine-pkg/usr/local/wine-proton/bin:/usr/local/bin
 
Weird. You'll have to temporarily remove i386-wine to check whether it's somehow causing any conflicts.
 
sudo pkg remove i386-wine
sudo pkg remove winetricks
sudo pkg remove wine-mono
sudo pkg remove wine-gecko
sudo pkg autoremove
sudo reboot
 
i delete completely wine, reinstall linux-steam-utils and its still not work
$ sudo su steamdev -c 'env WINEPREFIX=$HOME/.wine-test /opt/steam-utils/bin/lsu-wine-env wine winecfg'
empty (nothing)
$ sudo procstat -b `pgrep wine`
usage: procstat [--libxo] [-h] [-M core] [-N system] [-w interval] command
[pid ... | core ...]
 
It try to install on GhostBSD, but i got even more errors:

[root@admin-ghostbsd-pc /usr/home/admin]# sudo su steamdev -c /opt/steam-utils/bin/steam
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
[2021-02-19 14:41:20] Startup - updater built Apr 9 2019 22:48:20
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
Installing breakpad exception handler for appid(steam)/version(0)
No protocol specified
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
../steamexe/updateui_xwin.cpp (339) : Assertion Failed: Could not open connection to X
../steamexe/updateui_xwin.cpp (339) : Assertion Failed: Could not open connection to X
Installing breakpad exception handler for appid(steam)/version(1.0)
sh: /usr/home/steamdev/.steam/steam/steam_msg.sh: Нет такого файла или каталога
ExceptionHandler::GenerateDump waitpid failed:No child processes
No minidump written, nothing to upload.
../steamexe/main.cpp (754) : Assertion Failed: failed to initialize update status ui, or create initial window
../steamexe/main.cpp (754) : Assertion Failed: failed to initialize update status ui, or create initial window
 
Wine proton no from pkg, only ports on GhostBSD:

[root@admin-ghostbsd-pc /usr/ports/emulators/wine-proton]# make install clean
====> Compressing man pages (compress-man)
===> Installing for vulkan-loader-1.2.169
===> Checking if vulkan-loader is already installed
===> Registering installation for vulkan-loader-1.2.169 as automatic
pkg-static: Unable to access file /usr/ports/graphics/vulkan-loader/work/stage/usr/local/lib/libvulkan.so.1.2.169:No such file or directory
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/graphics/vulkan-loader
*** Error code 1

Stop.
make: stopped in /usr/ports/emulators/wine-proton
 
On FreeBSD without preinstalled wine i do:

$ env WINEPREFIX=$HOME/.wine-test /opt/steam-utils/bin/lsu-wine-env wine winecfg
Segmentation fault
 
[admin@ ~]$ sudo su steamdev -c '/opt/steam-utils/bin/lsu-wine-env which wine'
/home/steamdev/.i386-wine-pkg/usr/local/wine-proton/bin/wine
[admin@ ~]$ sudo su steamdev -c '/opt/steam-utils/bin/lsu-wine-env which wine64'
/usr/local/wine-proton/bin/wine64
[admin@ ~]$ sudo su steamdev -c '/opt/steam-utils/bin/lsu-wine-env which wineserver'
/usr/local/wine-proton/bin/wineserver
[admin@ ~]$ sudo su steamdev -c '/opt/steam-utils/bin/lsu-wine-env which wineserver32'
/home/steamdev/.i386-wine-pkg/usr/local/wine-proton/bin/wineserver32
[admin@ ~]$ sudo su steamdev -c '/opt/steam-utils/bin/lsu-wine-env printenv PATH'
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/wine-proton/bin:/home/steamdev/.i386-wine-pkg/usr/local/wine-proton/bin:/usr/local/bin
 
It try to install on GhostBSD, but i got even more errors:

[root@admin-ghostbsd-pc /usr/home/admin]# sudo su steamdev -c /opt/steam-utils/bin/steam

../steamexe/main.cpp (754) : Assertion Failed: failed to initialize update status ui, or create initial window
../steamexe/main.cpp (754) : Assertion Failed: failed to initialize update status ui, or create initial window
This actually means the DISPLAY environment variable is unset, probably as a result of all this dumb sudo su chaining.

make[1]: stopped in /usr/ports/graphics/vulkan-loader
No idea. Not my problem either.

$ env WINEPREFIX=$HOME/.wine-test /opt/steam-utils/bin/lsu-wine-env wine winecfg
Segmentation fault
Is it a VM?
 
I try without sudo su steamdev and still not work for GhostBSD
I use sudo su steamdev -c for automatic install proton
Is it a VM?
No, this is real machine: Pentium G4560, Nvidia GT 1030, 8 Gb RAM, HDD TOSHIBA 5400rpm


P.S
I understand you did a very difficult job (for which I am grateful to you), but people want this to work out of the box. I am trying to make a fully working distribution. You can download it and try it yourself (not advertising) by removing i386-wine and installing proton (installation is very fast: just choose disk and driver).
Download ISO or IMG: https://lpros.blogspot.com/p/download.html

This is a fresh distribution based FreeBSD 12.2 compiled two days ago

My commands final version for SteamBSD (actual for FreeBSD):

Bash:
### remove wine installation
sudo pkg remove -y i386-wine
sudo pkg remove -y winetricks
sudo pkg remove -y wine-mono
sudo pkg remove -y wine-gecko
sudo rm -rf /home/admin/.wine
sudo reboot

### Dependeses
sudo pkg ins gcc
sudo pkg ins linux-c7-devtools linux-c7-libgfortran linux_libusb
### Steam
fetch https://github.com/shkhln/linuxulator-steam-utils/archive/master.zip
unzip master.zip
cd linuxulator-steam-utils-master
sudo make
sudo make install
sudo pw useradd steamdev -m
sudo su steamdev -c /opt/steam-utils/bin/steam-install
sudo su steamdev -c /opt/steam-utils/bin/steam
### Proton
sudo pkg install wine-proton libc6-shim python3
sudo su steamdev -c '/opt/steam-utils/bin/lsu-pkg32 install wine-proton mesa-dri'
sudo su steamdev -c '/opt/steam-utils/bin/steam "steam://install/1420170"'
sudo su steamdev -c '/opt/steam-utils/bin/steam "steam://install/1391110"'
cd /home/steamdev/.steam/steam/steamapps/common/SteamLinuxRuntime_soldier/
sudo su steamdev -c 'mkdir com.valvesoftware.SteamRuntime.Platform-amd64,i386-soldier-runtime'
sudo su steamdev -c 'tar xvfz ./com.valvesoftware.SteamRuntime.Platform-amd64,i386-soldier-runtime.tar.gz -C ./com.valvesoftware.SteamRuntime.Platform-amd64,i386-soldier-runtime'
sudo su steamdev -c /opt/steam-utils/bin/lsu-register-proton
# close steam and run again
sudo su steamdev -c /opt/steam-utils/bin/steam
sudo su steamdev -c '/opt/steam-utils/bin/steam "steam://install/280790"'
# select emulators/wine-proton in Properties -> Compatibility (per game) or Settings -> Steam Play (globally) and restart steam

By doing this we will get in steam ...

1613783542216.png


But!
$ env WINEPREFIX=$HOME/.wine-test /opt/steam-utils/bin/lsu-wine-env wine winecfg
Segmentation fault

Test command:

Code:
#run game in terminal
sudo su steamdev -c '/opt/steam-utils/bin/steam "steam://run/280790"'
#wineserver location
sudo su steamdev -c '/opt/steam-utils/bin/lsu-wine-env which wine'
sudo su steamdev -c '/opt/steam-utils/bin/lsu-wine-env which wine64'
sudo su steamdev -c '/opt/steam-utils/bin/lsu-wine-env which wineserver'
sudo su steamdev -c '/opt/steam-utils/bin/lsu-wine-env which wineserver32'
sudo su steamdev -c 'ls -lh ~/.steam/steam/compatibilitytools.d/FreeBSD_Proton/proton/dist/bin'
#first terminal
sudo su steamdev -c
env WINEPREFIX=$HOME/.wine-test /opt/steam-utils/bin/lsu-wine-env wine winecfg
#second terminal
sudo procstat -b `pgrep wine`
#path wine
sudo su steamdev -c '/opt/steam-utils/bin/lsu-wine-env printenv PATH'

🤔 HMM... What am I doing wrong?

Proton is the last thing left to do, everything else works pretty well (linux compat):
 
Last edited:
P.S
I understand you did a very difficult job (for which I am grateful to you), but people want this to work out of the box.
Well, I'm genuinely interested in making this as foolproof as reasonably possible. We won't be having this conversation if I weren't. Especially since the majority of your issues are self-inflicted.

I am trying to make a fully working distribution. You can download it and try it yourself (not advertising) by removing i386-wine and installing proton (installation is very fast: just choose disk and driver).
Download link: https://drive.google.com/drive/folders/18toZCkXbWEp226KgjWZecLe1ad6-FMze
I'm not going to download any binaries from you no matter what.

But
$ env WINEPREFIX=$HOME/.wine-test /opt/steam-utils/bin/lsu-wine-env wine winecfg
Segmentation fault
Sigh, run it through truss -H -f.
 
Sorry, but I'm just an enthusiast and a newbie 😯

$ truss -H -f env WINEPREFIX=$HOME/.wine-test /opt/steam-utils/bin/lsu-wine-env wine winecfg

1919 101348: munmap(0x623d5000,65536) = 0 (0x0)
1919 101348: freebsd32_mmap(0x1000,0x10f000,0x0,0x5012,0xffffffff,0x0,0x0) = 4096 (0x1000)
1919 101348: freebsd32_mmap(0x0,0x1000,0x0,0x1012,0xffffffff,0x0,0x0) ERR#22 'Invalid argument'
1919 101348: openat(AT_FDCWD,"/usr/home/steamdev/.i386-wine-pkg/usr/local/wine-proton/bin/../lib/wine/ntdll.dll.so",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
1919 101348: freebsd32_fstat(0x3,0xffffc788) = 0 (0x0)
1919 101348: fstatfs(3,{ fstypename=zfs,mntonname=/usr/home,mntfromname=zroot/usr/home,fsid= }) = 0 (0x0)
1919 101348: freebsd32_mmap(0x0,0x1000,0x1,0x40002,0x3,0x0,0x0) = 1648185344 (0x623d5000)
1919 101348: freebsd32_mmap(0x7bc00000,0xcf000,0x0,0x6010,0xffffffff,0x0,0x0) = 2076180480 (0x7bc00000)
1919 101348: freebsd32_mmap(0x7bc00000,0xc2000,0x5,0x60012,0x3,0x0,0x0) = 2076180480 (0x7bc00000)
1919 101348: freebsd32_mmap(0x7bcc2000,0xc000,0x3,0x40012,0x3,0xc1000,0x0) = 2076975104 (0x7bcc2000)
1919 101348: freebsd32_mmap(0x7bcce000,0x1000,0x3,0x1012,0xffffffff,0x0,0x0) = 2077024256 (0x7bcce000)
1919 101348: munmap(0x623d5000,4096) = 0 (0x0)
1919 101348: close(3) = 0 (0x0)
1919 101348: openat(AT_FDCWD,"/home/steamdev/.i386-wine-pkg/usr/local/wine-proton/lib/wine/libm.so.5",O_RDONLY|O_CLOEXEC|O_VERIFY,00) ERR#2 'No such file or directory'
1919 101348: openat(AT_FDCWD,"/usr/local/lib32/libm.so.5",O_RDONLY|O_CLOEXEC|O_VERIFY,00) ERR#2 'No such file or directory'
1919 101348: openat(AT_FDCWD,"/home/steamdev/.i386-wine-pkg/usr/local/lib/libm.so.5",O_RDONLY|O_CLOEXEC|O_VERIFY,00) ERR#2 'No such file or directory'
1919 101348: openat(AT_FDCWD,"/usr/local/lib/gcc9/libm.so.5",O_RDONLY|O_CLOEXEC|O_VERIFY,00) ERR#2 'No such file or directory'
1919 101348: openat(AT_FDCWD,"/usr/lib32/libm.so.5",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
1919 101348: freebsd32_fstat(0x3,0xffffc788) = 0 (0x0)
1919 101348: fstatfs(3,{ fstypename=zfs,mntonname=/,mntfromname=zroot/ROOT/default,fsid= }) = 0 (0x0)
1919 101348: freebsd32_mmap(0x0,0x1000,0x1,0x40002,0x3,0x0,0x0) = 1648185344 (0x623d5000)
1919 101348: freebsd32_mmap(0x0,0x35000,0x0,0x2000,0xffffffff,0x0,0x0) = 1650458624 (0x62600000)
1919 101348: freebsd32_mmap(0x62600000,0xf000,0x1,0x60012,0x3,0x0,0x0) = 1650458624 (0x62600000)
1919 101348: freebsd32_mmap(0x6260f000,0x24000,0x5,0x60012,0x3,0xe000,0x0) = 1650520064 (0x6260f000)
1919 101348: freebsd32_mmap(0x62633000,0x1000,0x3,0x40012,0x3,0x31000,0x0) = 1650667520 (0x62633000)
1919 101348: freebsd32_mmap(0x62634000,0x1000,0x3,0x40012,0x3,0x31000,0x0) = 1650671616 (0x62634000)
1919 101348: munmap(0x623d5000,4096) = 0 (0x0)
1919 101348: close(3) = 0 (0x0)
1919 101348: freebsd32_mprotect(0x7bc00000,0xc2000,0x7) = 0 (0x0)
1919 101348: freebsd32_mprotect(0x7bc00000,0xc2000,0x5) = 0 (0x0)
1919 101348: freebsd32_mprotect(0x62633000,0x1000,0x1) = 0 (0x0)
1919 101348: SIGNAL 11 (SIGSEGV) code=SEGV_MAPERR trapno=12 addr=0x18
1919 101348: process killed, signal = 11
 
screenfetch.png


$ sudo find / -name ld-elf32.so.1
/libexec/ld-elf32.so.1
/usr/libexec/ld-elf32.so.1

$ nm -D /libexec/ld-elf.so.1 | grep _rtld_version_laddr_offset
0000000000026938 B _rtld_version_laddr_offset

How i can reinstall it lib?
 
$ nm -D /libexec/ld-elf.so.1 | grep _rtld_version_laddr_offset
0000000000026938 B _rtld_version_laddr_offset
That's not ld-elf32.so.1, freebsd-update actually allows skipping 32-bit compatibility libs on upgrade among other things.
 
$ nm -D /libexec/ld-elf32.so.1 | grep _rtld_version_laddr_offset
000230f4 B _rtld_version_laddr_offset

---

$ sudo freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 12.2-RELEASE from update4.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.

No updates needed to update system to 12.2-RELEASE-p3.

---

$ sudo find / -name lib32
/opt/steam-utils/lib32
/usr/local/lib32
/usr/local/steam-utils/lib32
/usr/home/admin/linuxulator-steam-utils-master/lib32
/usr/home/steamdev/.steam/steam/steamapps/common/SteamLinuxRuntime_soldier/com.valvesoftware.SteamRuntime.Platform-amd64,i386-soldier-runtime/files/lib32
/usr/lib32

My be remove and fetch lib32 but i dont know how ☹️😱

I try
# cd /usr/ports/misc/compat11x
# make reinstall clean
# pkg upgrde -f
Proton still not work
 
$ ls /usr/local/wine-proton/bin/wine64
/usr/local/wine-proton/bin/wine64
$ env WINEPREFIX=$HOME/.wine-test /opt/steam-utils/bin/lsu-wine-env wine winecfg
Segmentation fault
---
$ cd /usr/local/wine-proton/bin/
$ ls -lh
total 2648
-rwxr-xr-x 1 root wheel 8,0K 17 февр. 04:21 function_grep.pl
-rwxr-xr-x 1 root wheel 2,0K 17 февр. 04:21 msidb
-rwxr-xr-x 1 root wheel 2,0K 17 февр. 04:21 msiexec
-rwxr-xr-x 1 root wheel 2,0K 17 февр. 04:21 notepad
-rwxr-xr-x 1 root wheel 2,0K 17 февр. 04:21 regedit
-rwxr-xr-x 1 root wheel 2,0K 17 февр. 04:21 regsvr32
-rwxr-xr-x 1 root wheel 477K 17 февр. 04:21 widl
-rwxr-xr-x 1 root wheel 20K 17 февр. 04:21 wine64
-rwxr-xr-x 1 root wheel 2,0K 17 февр. 04:21 wineboot
-rwxr-xr-x 1 root wheel 151K 17 февр. 04:21 winebuild
-rwxr-xr-x 1 root wheel 2,0K 17 февр. 04:21 winecfg
-rwxr-xr-x 1 root wheel 2,0K 17 февр. 04:21 wineconsole
lrwxr-xr-x 1 root wheel 7B 17 февр. 04:21 winecpp -> winegcc
-rwxr-xr-x 1 root wheel 2,0K 17 февр. 04:21 winedbg
-rwxr-xr-x 1 root wheel 228K 17 февр. 04:21 winedump
-rwxr-xr-x 1 root wheel 2,0K 17 февр. 04:21 winefile
lrwxr-xr-x 1 root wheel 7B 17 февр. 04:21 wineg++ -> winegcc
-rwxr-xr-x 1 root wheel 58K 17 февр. 04:21 winegcc
-rwxr-xr-x 1 root wheel 93K 17 февр. 04:21 winemaker
-rwxr-xr-x 1 root wheel 2,0K 17 февр. 04:21 winemine
-rwxr-xr-x 1 root wheel 2,0K 17 февр. 04:21 winepath
-rwxr-xr-x 1 root wheel 619K 17 февр. 04:21 wineserver
-rwxr-xr-x 1 root wheel 77K 17 февр. 04:21 wmc
-rwxr-xr-x 1 root wheel 249K 17 февр. 04:21 wrc
 
Back
Top