luxtorpeda-dev / packages

Package build scripts and support for luxtorpeda client
https://luxtorpeda.org
zlib License
37 stars 28 forks source link

vkQuake invisible dynamic objects #1274

Closed Duffking closed 3 months ago

Duffking commented 3 months ago

Game

Quake

Engine

vkQuake

Linux Distribution

Steam Deck/Arch

Luxtorpeda Version

67.1.2

Bug description

Loading vkQuake or vkQuake Re-release on Steam Deck results in dynamic objects like doors, switches, etc completely invisible. For example, the floor in the main hub after the difficulty select is not visible, the secret door to the right on E1M1 is transparent, the door to the elevator is invisible, etc.

Have tried nuking cache/config stuff relating to vkQuake and uninstalling/reinstalling the game itself, no luck though. I also updated to latest Luxtorpeda, though I haven't repeated the delete cache/config loop yet.

Doesn't appear to affect other engines.

Steps To Reproduce

  1. Install Quake, compat mode Luxtorpeda
  2. Launch vkQuake or vkQuake Rerelease
  3. Start a new game and run through the portal
  4. Observe floor is missing

Expected Behavior

Dynamic objects appear correctly.

Additional Context

No response

Relevant log output

(deck@steamdeck ~)$ $steam
(deck@steamdeck ~)$ steam
steam.sh[41540]: Running Steam on steamos rolling 64-bit
steam.sh[41540]: STEAM_RUNTIME is enabled automatically
setup.sh[41619]: Steam runtime environment up-to-date!
steam.sh[41540]: Steam client's requirements are satisfied
[2024-07-20 18:43:08] Startup - updater built Jul 16 2024 23:21:18
[2024-07-20 18:43:08] Startup - Steam Client launched with: '/home/deck/.local/share/Steam/ubuntu12_32/steam' '-srt-logger-opened' '-steamdeck'
[2024-07-20 18:43:08] Opted in to client beta 'steamdeck_stable' via beta file
You are in the 'steamdeck_stable' client beta.
07/20 18:43:08 minidumps folder is set to /tmp/dumps
07/20 18:43:08 Init: Installing breakpad exception handler for appid(steam)/version(1721173382)/tid(41672)
[2024-07-20 18:43:08] Loading cached metrics from disk (/home/deck/.local/share/Steam/package/steam_client_metrics.bin)
[2024-07-20 18:43:08] Using the following download hosts for Public, Realm steamglobal
[2024-07-20 18:43:08] 1. https://client-update.akamai.steamstatic.com, /, Realm 'steamglobal', weight was 1000, source = 'update_hosts_cached.vdf'
[2024-07-20 18:43:08] 2. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'update_hosts_cached.vdf'
[2024-07-20 18:43:08] 3. https://cdn.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2024-07-20 18:43:08] Verifying installation...
[2024-07-20 18:43:08] Verification complete
UpdateUI: skip show logo
Steam logging initialized: directory: /home/deck/.local/share/Steam/logs

XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xeab0a370
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xeab08cc0
/usr/share/themes/Breeze/gtk-2.0/widgets/entry:70: error: unexpected identifier 'direction', expected character '}'
/usr/share/themes/Breeze/gtk-2.0/widgets/styles:36: error: invalid string constant "combobox_entry", expected valid string constant
Steam Runtime Launch Service: starting steam-runtime-launcher-service
Steam Runtime Launch Service: steam-runtime-launcher-service is running pid 41836
bus_name=com.steampowered.PressureVessel.LaunchAlongsideSteam
CAppInfoCacheReadFromDiskThread took 285 milliseconds to initialize
BRefreshApplicationsInLibrary 1: 2ms
BuildCompleteAppOverviewChange: 1040 apps
RegisterForAppOverview 1: 109ms
RegisterForAppOverview 2: 110ms
pressure-vessel-wrap[42450]: N: Not replacing "/etc/vulkan/implicit_layer.d" with tmpfs: Path "/etc" is reserved by the container framework
ignoring iscriptevaluator.exe
chdir "/home/deck/.local/share/Steam/steamapps/common/Quake"
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 42683 for gameID 2310
Adding process 42684 for gameID 2310
Adding process 42685 for gameID 2310
pressure-vessel-wrap[42684]: N: Not replacing "/etc/vulkan/implicit_layer.d" with tmpfs: Path "/etc" is reserved by the container framework
LD_PRELOAD found with /tmp/pressure-vessel-libs-MW82Q2/${LIB}/gameoverlayrenderer.so
pid 42847 != 42846, skipping destruction (fork without exec?)
Adding process 42846 for gameID 2310
Initialize GDExtension API for Rust: Godot Engine v4.1.1.stable.official
Fossilize INFO: Overriding serialization path: "/home/deck/.local/share/Steam/steamapps/shadercache/2310/fozpipelinesv6/steamapprun_pipeline_cache".
17:43:25 [INFO] setup_logging success
17:43:25 [INFO] detected running on steam deck
17:43:25 [INFO] config_file_path exists, reading
17:43:25 [INFO] luxtorpeda version: 67.1.2
17:43:25 [INFO] steam_app_id: "2310"
17:43:25 [INFO] original command: ["/home/deck/.local/share/Steam/compatibilitytools.d/luxtorpeda/luxtorpeda.x86_64", "waitforexitandrun", "/home/deck/.local/share/Steam/steamapps/common/Quake/rerelease/Quake_x64_steam.exe"]
17:43:25 [INFO] working dir: Ok("/home/deck/.local/share/Steam/steamapps/common/Quake")
17:43:25 [INFO] tool dir: "/home/deck/.local/share/Steam/compatibilitytools.d/luxtorpeda"
17:43:25 [INFO] config_file_path exists, reading
17:43:26 [INFO] update_packages_json. found hash: 1f33b66d359b88c1b728b6f9a2b11e66f8789f2c721129d79ab7290774ac39f6
17:43:26 [INFO] update_packages_json. found hash and remote hash: 1f33b66d359b88c1b728b6f9a2b11e66f8789f2c721129d79ab7290774ac39f6 1f33b66d359b88c1b728b6f9a2b11e66f8789f2c721129d79ab7290774ac39f6
17:43:26 [INFO] packages_json_file exists, reading
17:43:26 [INFO] user_packages_file not found
17:43:26 [INFO] packages_json_file exists, reading
17:43:26 [INFO] controller_detection_change: Steam Virtual Gamepad
17:43:27 [INFO] controller_detection_change: 
17:43:29 [INFO] packages_json_file exists, reading
17:43:29 [INFO] user_packages_file not found
17:43:29 [INFO] picked for engine_choice: vkquake Re-release
17:43:29 [INFO] engine choice complete
17:43:29 [INFO] vkquake-common-47.tar.xz found in cache (skip)
17:43:29 [INFO] Downloads is empty
17:43:29 [INFO] packages_json_file exists, reading
17:43:29 [INFO] user_packages_file not found
17:43:29 [INFO] engine choice complete
17:43:29 [INFO] json:
17:43:29 [INFO] Game { game_name: "Quake", engine_name: "vkQuake", command: Some("./vkquake.sh"), command_args: ["rerelease"], download_config: None, cloud_not_available: false, cloud_supported: true, cloud_available: true, cloud_issue: false, download: [DownloadItem { name: "vkquake", url: "https://github.com/luxtorpeda-dev/packages/releases/download/vkquake-47/", file: "vkquake-common-47.tar.xz", cache_by_name: true }], app_id: "2310", choices: None, notices: Some([Notice { label: Some("Cloud saves with Ironwail for the original option only"), key: None, value: None }]), controller_steam_default: true, use_original_command_directory: false, app_ids_deps: None, setup: None, commands: None }
17:43:29 [INFO] config_file_path exists, reading
17:43:29 [INFO] hash_check_install is enabled, checking for vkquake, game_command_file_found: true
17:43:29 [INFO] vkquake.hash has been found, checking hash against file
17:43:29 [INFO] cached hash is 591c8cd8bf73a86dea885bfb420c7add73ca1d3fe8c5dfb8c30d5dead05d9421; install file hash is 591c8cd8bf73a86dea885bfb420c7add73ca1d3fe8c5dfb8c30d5dead05d9421
17:43:29 [INFO] hash for vkquake is same, skipping install
17:43:29 [INFO] run: "./vkquake.sh" with args: ["rerelease"] []
17:43:29 [INFO] config_file_path exists, reading
pid 43047 != 43045, skipping destruction (fork without exec?)
Linking Quake kpf
Running re-release 
Adding process 43045 for gameID 2310
Adding process 43048 for gameID 2310
Adding process 43050 for gameID 2310
Adding process 43053 for gameID 2310
Fossilize INFO: Overriding serialization path: "/home/deck/.local/share/Steam/steamapps/shadercache/2310/fozpipelinesv6/steamapprun_pipeline_cache".
GameOverlay: started '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayui' (pid 43087) for game process 43053
07/20 18:43:29 minidumps folder is set to /tmp/dumps
07/20 18:43:29 Init: Installing breakpad exception handler for appid(gameoverlayui)/version(20240716232148)/tid(43087)
07/20 18:43:29 Init: Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)/tid(43087)
Command line: ./vkquake -basedir share/quake/rerelease rerelease
Found SDL version 2.30.4
Detected 8 CPUs.
Initializing vkQuake 1.31.1
Built with GCC 10.3.0
Host_Init
Playing registered version.
Console initialized.
UDP4 Initialized
UDPv6 Initialized
Server using protocol 999+ (FTE-RMQ)
Exe: 01:45:56 Jun 23 2024

Vulkan Initialization
Using Vulkan 1.1
Instance extensions:
 VK_KHR_surface
 VK_KHR_xlib_surface
 VK_KHR_get_surface_capabilities2
 VK_KHR_get_physical_device_properties2

Vendor: AMD
Device: AMD Custom GPU 0405 (RADV VANGOGH)
Driver: radv Mesa 23.3.0-devel (git-4870e346ff)
Using subgroup operations
Using ray queries
Device extensions:
 VK_KHR_swapchain
 VK_KHR_get_memory_requirements2
 VK_KHR_dedicated_allocation
 VK_EXT_subgroup_size_control
 VK_KHR_acceleration_structure
 VK_EXT_descriptor_indexing
 VK_KHR_buffer_device_address
 VK_KHR_deferred_host_operations
 VK_KHR_shader_float_controls
 VK_KHR_spirv_1_4
 VK_KHR_acceleration_structure
 VK_KHR_ray_query
Using A2B10G10R10 color buffer format
Using D32_S8 depth buffer format

Creating command buffers
Initializing staging
Creating descriptor set layouts
Reallocating dynamic vertex buffers (256 KB)
Reallocating dynamic index buffers (1024 KB)
Reallocating dynamic uniform buffers (256 KB)
Initializing samplers
Texture lod bias: 0.000000
Creating pipeline layouts
detected controller: Steam Virtual Gamepad
Allocating lightstyles buffer (0 KB)
Allocating lights buffer (8 KB)

Sound Initialization
Using IMMEDIATE present mode
Creating color buffer
8 AA Samples
Supersampling enabled
Creating depth buffer
Creating render passes
Creating frame buffers
Creating pipelines
SDL audio spec  : 44100 Hz, 1024 samples, 2 channels
SDL audio driver: pulseaudio - Filter Chain Sink, 65536 bytes buffer
Audio: 16 bit, stereo, 44100 Hz
CDAudio disabled at compile time

Language initialization
Loaded 1317 strings from 'localization/loc_english.txt'

========= Quake Initialized =========

execing quake.rc
execing default.cfg
execing config.cfg
couldn't exec autoexec.cfg
3 demo(s) in loop
Playing demo from demo1.dem.

the Necropolis
Using protocol 15
Allocating lightmap compute surface data (326 KB)
Allocating acceleration structure data (5484 KB)
Allocating indirect draw data (1 KB, 72 draws)
Allocating indirect IBs (165 KB)
Allocating visibility buffers (1 KB)
Reallocating dynamic storage buffers (0 KB)
You got the shells
Reallocating dynamic storage buffers (1 KB)
You got the Grenade Launcher

vkQuake 1.31.1 Server (3064 CRC)

Introduction
Using protocol fte999
Allocating lightmap compute surface data (386 KB)
Allocating acceleration structure data (6272 KB)
Allocating indirect draw data (1 KB, 80 draws)
Allocating indirect IBs (200 KB)
Allocating visibility buffers (2 KB)
player entered the game

     This hall selects NORMAL skill

Client player removed
Shutting down SDL sound
17:43:46 [INFO] run returned with exit status: 0
ERROR: BUG: Unreferenced static string to 0: Physics2DConstraintSolveIslands
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: Physics2DConstraintSetup
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: @export_enum
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: @export_flags
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: @export_placeholder
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: @export
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: @export_multiline
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: @export_range
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: @warning_ignore
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: Variant
   at: unref (core/string/string_name.cpp:129)
ERROR: BUG: Unreferenced static string to 0: @icon
   at: unref (core/string/string_name.cpp:131)
Godot Engine v4.1.1.stable.official.bd6af8e0e - https://godotengine.org
Vulkan API 1.3.261 - Forward+ - Using Vulkan Device #0: AMD - AMD Custom GPU 0405 (RADV VANGOGH)

ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools11BucketLargeE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:170)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools12BucketMediumE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:170)
ERROR: Pages in use exist at exit in PagedAllocator: N7Variant5Pools11BucketSmallE
   at: ~PagedAllocator (./core/templates/paged_allocator.h:170)
ERROR: BUG: Unreferenced static string to 0: item_clicked
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: text_set
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: lines_edited_from
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: GodotPhysicsDirectSpaceState2D
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: interface_added
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: frame_pre_draw
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: frame_post_draw
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: SceneReplicationInterface
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: physics_frame
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: bus_layout_changed
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: SceneCacheInterface
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: SceneRPCInterface
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: fallback_changed
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: completed
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: button_down
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: button_up
   at: unref (core/string/string_name.cpp:131)
ERROR: BUG: Unreferenced static string to 0: child_entered_tree
   at: unref (core/string/string_name.cpp:131)
/home/deck/.local/share/Steam/compatibilitytools.d/luxtorpeda/luxtorpeda.sh: line 16: 42849 Segmentation fault      (core dumped) "$DIR/luxtorpeda.x86_64" "$@"
Uploaded AppInterfaceStats to Steam
Removing process 43053 for gameID 2310
Removing process 43050 for gameID 2310
Removing process 43048 for gameID 2310
Removing process 43045 for gameID 2310
Removing process 42846 for gameID 2310
Removing process 42685 for gameID 2310
Removing process 42684 for gameID 2310
Removing process 42683 for gameID 2310

(process:43087): GLib-GObject-CRITICAL **: 18:43:47.928: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
reaping pid: 43087 -- gameoverlayui
d10sfan commented 3 months ago

I can replicate this on my steam deck but not the desktop. This may point to some weirdness with the mesa and vkquake combination. It may be worth trying to create a ticket on the vkquake side, as I can't think of anything I'm doing that could cause this.

d10sfan commented 3 months ago

I was able to successfully re-produce this problem with their appimage, so this looks to be a bug on their side.