luxtorpeda-dev/luxtorpeda

Two issue databases...

Closed this issue · 6 comments

Sorry if this is already implemented, I just heard of luxtorpeda and am happy to hear I'm not the only one.

Is your feature request related to a problem? Please describe. I'm playing with writing vulkan layers and am looking for a clear way to manage this task.

Describe the solution you'd like One screen where variables are selected and/or redirect, with autorotation, options are enabled. Another screen where a single variable can be configured, the default being "just text" but multiple choice, array(text/MC/bool) with default : delineation, as well as boolean would be useful.

Describe alternatives you've considered Currently, for No Man's Sky I'm doing...

~/.config/nms-vulkan.sh %command%

#!/bin/sh

export \
	RUST_BACKTRACE=1 \
	RENDERDOC_TEMP="$HOME" \
	VK_APIDUMP_LOG_FILENAME="$HOME/nms.vk.log" \
	VK_LAYER_MESA_OVERLAY_CONFIG="scale=4" \
	_RADV_PERFTEST="rt,sam" \
	_VK_INSTANCE_LAYERS="VK_LAYER_RENDERDOC_Capture" \
	_VK_INSTANCE_LAYERS="VK_LAYER_MESA_overlay" \
	_VK_INSTANCE_LAYERS="VK_LAYER_LUNARG_api_dump" \
	_VK_INSTANCE_LAYERS="VK_LAYER_LUNARG_api_dump:VK_LAYER_MESA_overlay" \
	_VK_INSTANCE_LAYERS="VK_LAYER_LUNARG_api_dump:VK_LAYER_MESA_overlay" \
	_WINEDEBUG="fps" \
	_DXVK_HUD=1 \
	_LD_DEBUG=libs \
	_ENABLE_VK_LAYER_VALVE_cheako_record_1=1 \
	_ENABLE_VK_LAYER_VALVE_cheako_lookup_tables_1=1 \
	CHEAKO_TARGET_FPS=y \
	ENABLE_VK_LAYER_VALVE_cheako_cache_1=1 \
	# CHEAKO_V=1 CHEAKO_I=1 CHEAKO_M=1 CHEAKO_S=1 \
	# CHEAKO_F=1 CHEAKO_P=1 CHEAKO_B=1 CHEAKO_A=1 \

false && {
    ## I don't know if this ever worked.
    MESA="/home/cheako/mesa"
    export MESA \
	LD_LIBRARY_PATH="${MESA}/lib64:${MESA}/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" \
	_LD_DEBUG=libs \
	LIBGL_DRIVERS_PATH="${MESA}/lib64/dri:${MESA}/lib/dri" \
	VK_ICD_FILENAMES="${MESA}/share/vulkan/icd.d/radeon_icd.x86_64.json:${MESA}/share/vulkan/icd.d/radeon_icd.x86.json" \
	D3D_MODULE_PATH="${MESA}/lib64/d3d/d3dadapter9.so.1:${MESA}/lib/d3d/d3dadapter9.so.1" \

}

## A selection of redirections.
#exec 1>/dev/null 2>&1
exec 1>/dev/null 2>~/nms_stderr.log
#exec 1>~/nms_stdout.log 2>~/nms_stderr.log
exec "$@"

As you could gleen I'm needing to manage variables, enabling and disabling them and having multiple choice settings for some.

I copied the original request in this issue.

@cheako

The dreamer/luxtorpeda isn't being maintained, so the luxtorpeda-dev/luxtorpeda is the best place :)

To make sure I understand the request, it sounds like you're asking for Proton games to let you see all of the environment variables and maintain/change them using luxtorpeda as a compatibility tool?

I'm using vi, but the same task could be accomplished with a GUI using a configuration panel and a backend database(like a json or xml file). Most of the environment variables ppl will want to configure follow common patterns. Now sure if this fits with the luxtorpeda dogma and I'd be interested if there were any tools that do anything close to this.

There is also something that I've never done, but VK_ICD_FILENAMES.

luxtorpeda itself assumes that it's going to be running a native application, so it may not be the best application of this, unless you may also want to do this for native games.

One thought I had, for the case of native games, for this could be to use the user-packages where you could set for an app id a set of environment variables you wanted to set and what the values should be, if that would be useful for this use-case.

This is extremely useful for all Vulkan applications, including DXVK. This would be useful to a smaller extent for both native and proton apps.

@cheako Going to close this for now, but I'll think about it as a possibility or maybe create a new app just for something like that.