You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First off, thanks for all your hard work on Winlator!
I’d like to request renewed support for USB flash drives on newer Android versions (14+). In older releases (before v8), I could enable this by adding MANAGE_EXTERNAL_STORAGE to the manifest, granting “All Files Access,” and specifying a path such as /mnt/media_rw/XXXX-XXXX in the container config. This worked fine in Wine. However, since v8, even with those permissions in place, the drive appears in Wine configuration but remains inaccessible.
I’ve experimented with a fix in my own fork by modifying FileUtils.java and ContainerDetailFragment.java to properly detect external storage paths. I can't really show you a proper commit, because of deactivation of my previous GitHub, but below is a snippet of how I implemented it (please note it’s a bit hacky and may break on older devices that mount external storage differently):
In ContainerDetailFragment.java:
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (requestCode == MainActivity.OPEN_DIRECTORY_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
if (data != null) {
Uri uri = data.getData();
Log.d(TAG, "URI obtained in onActivityResult: " + uri.toString());
String path = FileUtils.getFilePathFromUri(getContext(), uri);
Log.d(TAG, "File path in onActivityResult: " + path);
if (path != null) {
if (openDirectoryCallback != null) {
openDirectoryCallback.call(path);
}
} else {
Toast.makeText(getContext(), "Invalid directory selected", Toast.LENGTH_SHORT).show();
}
}
openDirectoryCallback = null;
}
}
While this code helps construct the correct path from a file picker in Winlator v7.1, accessing the drive in newer Winlator releases (v9) with the path explicitly defined in a container's settings still doesn’t work for me. I’m not sure if this is due to changes in container file management or something else in Wine itself. Any insight you have would be greatly appreciated—external drives are crucial for me to run larger games and applications.
Side Note: True Mouse Control Feature
I also have a feature I’d love to PR called “True Mouse Control.” It uses requestPointerCapture() in XServerDisplayActivity and a delta-based movement approach in TouchPadView.java. This provides a full-range mouse experience without being limited by the bounds of the Android screen or status bar. I also added an additional device filter that prevents devices like Mice from being considered as Game Controllers (without this, games like Skyrim will think some mice are a controller, overriding your actual controller, preventing any form of input). If you’re interested in merging that, I can attempt to prepare a proper PR using the 7.1 source code.
Again, thank you for all that you've done towards the continued development of Winlator, and I hope this feedback is helpful! Let me know if you have any questions or need additional details.
The text was updated successfully, but these errors were encountered:
from version 8.0, Tiny PRoot was introduced which I believe the /mnt path is not being checked, later I will check it. About mouse movement using requestPointerCapture()/onCapturedPointerEvent() is a cool feature, thanks for the suggestions.
Hi Bruno,
First off, thanks for all your hard work on Winlator!
I’d like to request renewed support for USB flash drives on newer Android versions (14+). In older releases (before v8), I could enable this by adding MANAGE_EXTERNAL_STORAGE to the manifest, granting “All Files Access,” and specifying a path such as /mnt/media_rw/XXXX-XXXX in the container config. This worked fine in Wine. However, since v8, even with those permissions in place, the drive appears in Wine configuration but remains inaccessible.
I’ve experimented with a fix in my own fork by modifying FileUtils.java and ContainerDetailFragment.java to properly detect external storage paths. I can't really show you a proper commit, because of deactivation of my previous GitHub, but below is a snippet of how I implemented it (please note it’s a bit hacky and may break on older devices that mount external storage differently):
In ContainerDetailFragment.java:
Then in FileUtils.java:
While this code helps construct the correct path from a file picker in Winlator v7.1, accessing the drive in newer Winlator releases (v9) with the path explicitly defined in a container's settings still doesn’t work for me. I’m not sure if this is due to changes in container file management or something else in Wine itself. Any insight you have would be greatly appreciated—external drives are crucial for me to run larger games and applications.
Side Note: True Mouse Control Feature
I also have a feature I’d love to PR called “True Mouse Control.” It uses requestPointerCapture() in XServerDisplayActivity and a delta-based movement approach in TouchPadView.java. This provides a full-range mouse experience without being limited by the bounds of the Android screen or status bar. I also added an additional device filter that prevents devices like Mice from being considered as Game Controllers (without this, games like Skyrim will think some mice are a controller, overriding your actual controller, preventing any form of input). If you’re interested in merging that, I can attempt to prepare a proper PR using the 7.1 source code.
Again, thank you for all that you've done towards the continued development of Winlator, and I hope this feedback is helpful! Let me know if you have any questions or need additional details.
The text was updated successfully, but these errors were encountered: