Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Add option to select WineD3D renderer
  • Loading branch information
Suall1969 committed Apr 25, 2025
commit 6de72bba367da0b2e67f70f9b4361390bcb99c85
8 changes: 8 additions & 0 deletions app/src/main/java/com/winlator/ContainerDetailFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,9 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup r
private void saveWineRegistryKeys(View view) {
File userRegFile = new File(container.getRootDir(), ".wine/user.reg");
try (WineRegistryEditor registryEditor = new WineRegistryEditor(userRegFile)) {
Spinner sRenderer = view.findViewById(R.id.SRenderer);
registryEditor.setStringValue("Software\\Wine\\Direct3D", "renderer", Arrays.asList("vulkan", "gl", "no3d").get(sRenderer.getSelectedItemPosition()));

Spinner sCSMT = view.findViewById(R.id.SCSMT);
registryEditor.setDwordValue("Software\\Wine\\Direct3D", "csmt", sCSMT.getSelectedItemPosition() != 0 ? 3 : 0);

Expand Down Expand Up @@ -320,6 +323,11 @@ public void onNothingSelected(AdapterView<?> parent) {}
File userRegFile = new File(containerDir, ".wine/user.reg");

try (WineRegistryEditor registryEditor = new WineRegistryEditor(userRegFile)) {
List<String> rendererList = Arrays.asList("Vulkan", "OpenGL", "GDI (no3d)");
Spinner sRenderer = view.findViewById(R.id.SRenderer);
sRenderer.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, rendererList));
sRenderer.setSelection(Arrays.asList("vulkan", "gl", "no3d").indexOf(registryEditor.getStringValue("Software\\Wine\\Direct3D", "renderer", "gl")));

List<String> stateList = Arrays.asList(context.getString(R.string.disable), context.getString(R.string.enable));
Spinner sCSMT = view.findViewById(R.id.SCSMT);
sCSMT.setAdapter(new ArrayAdapter<>(context, android.R.layout.simple_spinner_dropdown_item, stateList));
Expand Down
10 changes: 10 additions & 0 deletions app/src/main/res/layout/container_detail_fragment.xml
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,16 @@
android:layout_height="wrap_content">

<LinearLayout style="@style/FieldSet">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/renderer" />

<Spinner
style="@style/ComboBox"
android:id="@+id/SRenderer"
android:layout_width="match_parent" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
<string name="unable_to_import_profile">Unable to import profile</string>
<string name="wine_configuration">Wine Configuration</string>
<string name="registry_keys">Registry Keys</string>
<string name="renderer">Renderer</string>
<string name="csmt">CSMT (Command Stream Multi-Thread)</string>
<string name="gpu_name">GPU Name</string>
<string name="offscreen_rendering_mode">Offscreen Rendering Mode</string>
Expand Down