Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Preload Game Files (vmtouch) fail if an argument is used #3513

Open
TrusterX opened this issue Oct 1, 2024 · 0 comments
Open

[Bug]: Preload Game Files (vmtouch) fail if an argument is used #3513

TrusterX opened this issue Oct 1, 2024 · 0 comments

Comments

@TrusterX
Copy link

TrusterX commented Oct 1, 2024

Describe the bug

if you try to enable Preload Game data, while command arguments are passed in the launcher, you will receive an error from vmtouch - looks like a parse error to me:

08:43:53 (INFO) Launching an executable… 
08:43:55 (INFO) Using EasyAntiCheat runtime 
08:43:55 (INFO) Using BattlEye runtime 
/app/bin/vmtouch: invalid option -- 'c'
/app/bin/vmtouch: invalid option -- 'c'

vmtouch v1.3.1 - the Virtual Memory Toucher by Doug Hoyte
Portable file system cache diagnostics and control

Usage: vmtouch [OPTIONS] ... FILES OR DIRECTORIES ...

Options:
  -t touch pages into memory
  -e evict pages from memory
  -l lock pages in physical memory with mlock(2)
  -L lock pages in physical memory with mlockall(2)
  -d daemon mode
  -m <size> max file size to touch
  -p <range> use the specified portion instead of the entire file
  -f follow symbolic links
  -F don't crawl different filesystems
  -h also count hardlinked copies
  -i <pattern> ignores files and directories that match this pattern
  -I <pattern> only process files that match this pattern
  -b <list file> get files or directories from the list file
  -0 in batch mode (-b) separate paths with NUL byte instead of newline
  -w wait until all pages are locked (only useful together with -d)
  -P <pidfile> write a pidfile (only useful together with -l or -L)
  -o <type> output in machine friendly format.  'kv' for key=value pairs.
  -v verbose
  -q quiet
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]

To Reproduce

  1. $ LANG=C flatpak run com.usebottles.bottles
  2. Go to a Bottle (eg. Battle.net) → Settings → enable Preload Game files
  3. go back and change launch Option for a Starter (in my Example for wowclassic.exe)
  4. add "-console" to Command Arguments (without the quotas) and click save.
  5. click "play".

Package

Flatpak from Flathub

Distribution

Silverblue 40

Debugging Information

Official Package: true
Version: '51.13'
DE/WM: gnome-xorg
Display:
    X.org: true
    X.org (port): :0
    Wayland: false
Graphics:
    vendors:
        nvidia:
            vendor: nvidia
            envs:
                __NV_PRIME_RENDER_OFFLOAD: '1'
                __GLX_VENDOR_LIBRARY_NAME: nvidia
                __VK_LAYER_NV_optimus: NVIDIA_only
            icd: /usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json
            nvngx_path: /usr/lib/x86_64-linux-gnu/GL/nvidia-560-35-03/extra/nvidia/wine
    prime:
        integrated: null
        discrete: null
Kernel:
    Type: Linux
    Version: 6.10.11-200.fc40.x86_64
Disk:
    Total: 33587793920
    Free: 33587625984
RAM:
    MemTotal: 62.6GiB
    MemAvailable: 59.4GiB
Bottles_envs: null

Troubleshooting Logs

dame@x1-lan-home-arpa:~$ LANG=C flatpak run com.usebottles.bottles 
08:37:45 (INFO) Launching with URI: None 
08:37:45 (INFO) [Activate] request received. 
08:37:45 (INFO) Bottles Started! 
08:37:45 (INFO) Performing Bottles checks… 
08:37:45 (INFO) Dxvks found:
	 - dxvk-2.4
	 - dxvk-2.4.1
 
08:37:45 (INFO) Vkd3ds found:
	 - vkd3d-proton-2.13
 
08:37:45 (INFO) Nvapis found:
	 - dxvk-nvapi-v0.7.1
 
08:37:45 (INFO) Latencyflexs found:
	 - latencyflex-v0.1.1
 
08:37:45 (INFO) Runners found:
	 - soda-9.0-1
	 - wine-ge-proton8-26
	 - sys-wine-9.0
 
08:37:45 (INFO) Bottles found:
	 - Battle.net
	 - OpenBVE
 
08:37:45 (INFO) Catalog installers loaded 
08:37:45 (INFO) Catalog dependencies loaded 
08:37:45 (INFO) Catalog components loaded 
08:38:07 (INFO) Setting Key sync=fsync for bottle Battle.net… 
08:38:07 (INFO) There is no running wineserver. 
08:38:17 (INFO) Setting Key vmtouch=True for bottle Battle.net… 
08:43:31 (INFO) Setting Key d90d6932-a25b-4692-8b22-b761d08b0706={'executable': 'WowClassic.exe', 'arguments': '-console', 'name': 'World of Warcaraft Classic', 'path': '/var/home/dame/.var/app/com.usebottles.bottles/data/bottles/bottles/Battle.net/drive_c/Program Files (x86)/World of Warcraft/_classic_era_/WowClassic.exe', 'folder': '/var/home/dame/.var/app/com.usebottles.bottles/data/bottles/bottles/Battle.net/drive_c/Program Files (x86)/World of Warcraft/_classic_era_', 'icon': 'com.usebottles.bottles-program', 'script': None, 'dxvk': True, 'vkd3d': None, 'dxvk_nvapi': None, 'fsr': None, 'pulseaudio_latency': None, 'virtual_desktop': None, 'removed': None, 'id': 'd90d6932-a25b-4692-8b22-b761d08b0706'} for bottle Battle.net… 
08:43:53 (INFO) Launching an executable… 
08:43:55 (INFO) Using EasyAntiCheat runtime 
08:43:55 (INFO) Using BattlEye runtime 
/app/bin/vmtouch: invalid option -- 'c'
/app/bin/vmtouch: invalid option -- 'c'

vmtouch v1.3.1 - the Virtual Memory Toucher by Doug Hoyte
Portable file system cache diagnostics and control

Usage: vmtouch [OPTIONS] ... FILES OR DIRECTORIES ...

Options:
  -t touch pages into memory
  -e evict pages from memory
  -l lock pages in physical memory with mlock(2)
  -L lock pages in physical memory with mlockall(2)
  -d daemon mode
  -m <size> max file size to touch
  -p <range> use the specified portion instead of the entire file
  -f follow symbolic links
  -F don't crawl different filesystems
  -h also count hardlinked copies
  -i <pattern> ignores files and directories that match this pattern
  -I <pattern> only process files that match this pattern
  -b <list file> get files or directories from the list file
  -0 in batch mode (-b) separate paths with NUL byte instead of newline
  -w wait until all pages are locked (only useful together with -d)
  -P <pidfile> write a pidfile (only useful together with -l or -L)
  -o <type> output in machine friendly format.  'kv' for key=value pairs.
  -v verbose
  -q quiet
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]

Additional context

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant