Browse Source

[frontend] Expose nxlink server mode

xbzk 12 hours ago
parent
commit
7263e3aeb1
  1. 1
      src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/IntSetting.kt
  2. 9
      src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt
  3. 1
      src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt
  4. 10
      src/android/app/src/main/res/values/arrays.xml
  5. 2
      src/android/app/src/main/res/values/strings.xml
  6. 2
      src/qt_common/config/shared_translation.cpp
  7. 7
      src/yuzu/configuration/configure_debug.cpp
  8. 39
      src/yuzu/configuration/configure_debug.ui

1
src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/IntSetting.kt

@ -50,6 +50,7 @@ enum class IntSetting(override val key: String) : AbstractIntSetting {
GPU_UNSWIZZLE_TEXTURE_SIZE("gpu_unswizzle_texture_size"),
GPU_UNSWIZZLE_STREAM_SIZE("gpu_unswizzle_stream_size"),
GPU_UNSWIZZLE_CHUNK_SIZE("gpu_unswizzle_chunk_size"),
HOMEBREW_NXLINK_SERVER_MODE("homebrew_nxlink_server_mode"),
BAT_TEMPERATURE_UNIT("bat_temperature_unit"),
CABINET_APPLET("cabinet_applet_mode"),
CONTROLLER_APPLET("controller_applet_mode"),

9
src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt

@ -132,6 +132,15 @@ abstract class SettingsItem(
descriptionId = R.string.program_args_description
)
)
put(
SingleChoiceSetting(
IntSetting.HOMEBREW_NXLINK_SERVER_MODE,
titleId = R.string.nxlink_server_mode,
descriptionId = R.string.nxlink_server_mode_description,
choicesId = R.array.nxlinkServerModeEntries,
valuesId = R.array.nxlinkServerModeValues
)
)
put(
SwitchSetting(
BooleanSetting.RENDERER_USE_SPEED_LIMIT,

1
src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt

@ -1288,6 +1288,7 @@ class SettingsFragmentPresenter(
add(ShortSetting.DEBUG_KNOBS.key)
add(StringSetting.PROGRAM_ARGS.key)
add(IntSetting.HOMEBREW_NXLINK_SERVER_MODE.key)
if (!NativeConfig.isPerGameConfigLoaded()) {
add(HeaderSetting(R.string.gpu_logging_header))

10
src/android/app/src/main/res/values/arrays.xml

@ -630,6 +630,16 @@
<item>3</item>
</integer-array>
<string-array name="nxlinkServerModeEntries">
<item>Disabled</item>
<item>Eden Log</item>
</string-array>
<integer-array name="nxlinkServerModeValues">
<item>0</item>
<item>1</item>
</integer-array>
<string-array name="installKeysResults">
<item>""</item>
<item>""</item>

2
src/android/app/src/main/res/values/strings.xml

@ -436,6 +436,8 @@
<string name="program_args">Homebrew Args</string>
<string name="program_args_description">Command-line arguments passed to homebrew at launch (e.g. -noglsl).</string>
<string name="nxlink_server_mode">nxlink Server</string>
<string name="nxlink_server_mode_description">Starts a local nxlink server for homebrew stdout/stderr streams.</string>
<!-- System settings strings -->
<string name="device_name">Device name</string>

2
src/qt_common/config/shared_translation.cpp

@ -302,6 +302,8 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QObject* parent) {
INSERT(Settings, device_name, tr("Device Name"), tr("The name of the console."));
INSERT(Settings, program_args, tr("Homebrew Args"),
tr("Command-line arguments passed to homebrew at launch (e.g. -noglsl)."));
INSERT(Settings, homebrew_nxlink_server_mode, tr("nxlink Server"),
tr("Starts a local nxlink server for homebrew stdout/stderr streams."));
INSERT(Settings, custom_rtc, tr("Custom RTC Date:"),
tr("This option allows to change the clock of the console.\n"
"Can be used to manipulate time in games."));

7
src/yuzu/configuration/configure_debug.cpp

@ -67,6 +67,11 @@ void ConfigureDebug::SetConfiguration() {
ui->homebrew_args_edit->setEnabled(runtime_lock);
ui->homebrew_args_edit->setText(
QString::fromStdString(Settings::values.program_args.GetValue()));
ui->nxlink_server_mode->setEnabled(runtime_lock);
const int nxlink_server_mode =
static_cast<int>(Settings::values.homebrew_nxlink_server_mode.GetValue());
ui->nxlink_server_mode->setCurrentIndex(
nxlink_server_mode < ui->nxlink_server_mode->count() ? nxlink_server_mode : 0);
ui->toggle_console->setEnabled(runtime_lock);
ui->toggle_console->setChecked(UISettings::values.show_console.GetValue());
ui->fs_access_log->setEnabled(runtime_lock);
@ -116,6 +121,8 @@ void ConfigureDebug::ApplyConfiguration() {
Settings::values.log_flush_line = ui->flush_line->isChecked();
Settings::values.censor_username = ui->censor_username->isChecked();
Settings::values.program_args = ui->homebrew_args_edit->text().toStdString();
Settings::values.homebrew_nxlink_server_mode =
static_cast<Settings::HomebrewNxlinkServerMode>(ui->nxlink_server_mode->currentIndex());
Settings::values.enable_fs_access_log = ui->fs_access_log->isChecked();
Settings::values.reporting_services = ui->reporting_services->isChecked();
Settings::values.dump_audio_commands = ui->dump_audio_commands->isChecked();

39
src/yuzu/configuration/configure_debug.ui

@ -309,20 +309,40 @@
<property name="title">
<string>Homebrew</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Arguments String</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="homebrew_args_edit"/>
</item>
<item>
<widget class="QLabel" name="nxlink_server_mode_label">
<property name="text">
<string>nxlink Server</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="nxlink_server_mode">
<property name="toolTip">
<string>Starts a local nxlink server for homebrew stdout/stderr streams.</string>
</property>
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Arguments String</string>
</property>
</widget>
<property name="text">
<string>Disabled</string>
</property>
</item>
<item>
<widget class="QLineEdit" name="homebrew_args_edit"/>
<property name="text">
<string>Eden Log</string>
</property>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
@ -800,6 +820,7 @@
<tabstop>extended_logging</tabstop>
<tabstop>open_log_button</tabstop>
<tabstop>homebrew_args_edit</tabstop>
<tabstop>nxlink_server_mode</tabstop>
<tabstop>enable_graphics_debugging</tabstop>
<tabstop>enable_shader_feedback</tabstop>
<tabstop>enable_nsight_aftermath</tabstop>

Loading…
Cancel
Save