Wine 3.0 Android

0 views
Skip to first unread message

Lola Maroun

unread,
Aug 5, 2024, 1:20:26 AM8/5/24
to softnernilee
AsAndroid is gaining more and more users every day (and Windows losing some), i consider reasonably fair for me to ask: Is there ANY Wine equivalent for Android apps? I'm not asking for native linux support for apk packages, just for a non-emulator like Wine is.

Touch-interface hardware is getting cheaper every day, and Android being king there, is just natural that all programmers keep on rushing into making Android apps. In the last year alone i've seen most famous software getting implemented in Android: Photoshop, Autocad, Revit, Pixlr, etc


I'm not an Android developer, not looking for an android-sdk, just regular user looking to use certain android apps in Ubuntu. Typical example: Autocad and Photoshop - neither one working properly under wine, but having Android variants. I'm hoping that Android being linux, it could be more easy to adapt Android to Ubuntu code, than adapting Windows to Ubuntu code.


Anbox is a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu. In other words: Anbox will let you run Android on your Linux system without the slowness of virtualization.


The Android inside the container has no direct access to any hardware. All hardware access is going through the anbox daemon on the host. We're reusing what Android implemented within the QEMU-based emulator for OpenGL ES accelerated rendering. The Android system inside the container uses different pipes to communicate with the host system and sends all hardware access commands through these.


so.. I want to run a special program called CWCOM which gives me "morse over the internet". and I use this quite successfully on Linux Mint 20 ( and have done since about Mint 10 ). with the current version of WINE .


CWCOM works on Windows, from Win 95 to present . It also works on Linux and MAC through WINE... which "simulates" a windows environment. . Many other (.exe ) windows type programs also run on LINUX and MAC through wine.


You're missing something important shutter, there are differing chip architectures - x86 and ARM.

The vast majority of Windows machines are x86 (Intel / AMD chips for example) whereas most phones and tablets are ARM.

The instruction sets for these machines are not compatible so an x86 windows application, such as your morse code one, will not run natively on ARM architecture.

The full version of windows 11 for ARM does provide a translation layer, but the Android WINE version does not.

In the article you linked read this paragraph:



"As most of us own a device powered by an ARM CPU, we can only run WinRT apps using Wine on Android. "

CWCOM is not WinRT.



Bluntly, it will not work.


No it isnt. VirtualBox provides a virtual machine in which the 'real' operating system and applications run just as though they were on real hardware. Wine is an application which runs the Windows.exe and provides a 'doctored' set of windows libraries which fool the application into believing its running on windows.


In your case it sounds like (as @dvorak says ) the Wine application itself is crashing. Your Android version is very old, that could well be part of the problem. Ive never tried Wine on Android (didnt even know it existed!) so dont really have much idea of why it might not be working.


As for the Android version being "old" .. not really a problem,... as CWCOM was written for w9f and ran on Wine 1.3 when I first started playing with it, on LInux Mint 8... many years ago !... it also runs on all versions since, ... right up to the current version WINE 6.2


Currently the Keyboard won't pop up by itself as you would expect it. A workaround is to install the App "Hacker's Keyboard" from F-Droid or the Play Store. Then open its settings and check "Use permanent notification". Now, when running Wine you can swipe down the notification area to enable the keyboard when you need it.


Search the Internet how to get adb shell access for your Android device. In that shell you can then run "run-as org.winehq.wine" to get into the correct folder and become the same user as the App files expect. Under files/ you can then set debug channels (e.g. ddraw) by writing them into a file called winedebug: "echo ddraw > files/winedebug".


For the past few years I've spent a lot of time working on our (still relatively) new Android version of CrossOver. Of course the core of CrossOver is Wine, which just had it's 3.0 release in January. Along with the Wine 3.0 release, Wine has begun hosting pre-built packages of Wine on Android, available for download from www.winehq.org.


It is a Saturday at 10:30 a.m. I'm sitting in the lobby of the Minneapolis Institute of Art with my Google Pixelbook. I'm lucky to have this place down the street from my house, and luckier still that they have fast internet, decent coffee, great pastries and excellent beer.


Android isn't a totally walled garden, but a side-load on a Chromebook requires turning off some security features. I've done that plenty of times during my life as a CrossOver developer. It takes a little while and I think I will probably end up needing to wipe the hard drive on this Pixelbook to get there, but that's OK.


Er, Nope. A search on Google Play for 'wine' gives a lot of apps which, unsurprisingly, seem to be about fermented grapes. Searching for 'winehq wine' gives me a paid app which claims it will search the winehq app db (I'm not sure why a person would pay even the asking price of $0.99 for an app like that).


Ok, that wasn't too bad. I finished my coffee and searched Google for instructions to switch to devloper mode; pressed some magic keys; let my machine reboot a couple of times, wandered around and saw some nice things in the museum, and sat back down with another snack. One important detail when transitioning to Developer Mode: I clicked the 'Enable debugging features' link when I did that. I've forgotten now what is not available if you don't do this, but I'm pretty sure the ability to sudo or get a root shell in the Android container requires it. So any aspiring Android Wine hacker will want to do it.


The transition to Developer Mode did wipe my hard drive, so I had to re-download the wine package. This time, when I clicked on it, instead of telling me to switch to developer mode it just told me I needed to change my security settings. I clicked 'OK' and that took me to the settings page, where I flipped the switch to allow side-loaded packages. That gave me one more security warning, and I clicked 'OK' again.


Now I can try installing a third time. I click on the .apk and I get an offer to install. I accept that offer and after a progress spinny and some notes about what permission I must grant Wine, I finally have success! My Chromebook tells me Wine is installed.


Umm, it's a little weird. I get a Window with a Windows-style desktop. The screen is small. Most of it is taken up by a 'Wine Command Prompt' window. Looks like there are a couple of less-than-ideal things. The screen size of Wine's Android window on the Pixelbook is quite a bit smaller than I'd want, and the text in both the Start Menu and the command shell is too small for comfort. The command prompt window title looks good.


I use the Chrome OS window decorations to increase the size of my window and I get a warning saying it will re-start my app and that Wine may not behave well. I go ahead, and now Wine is fullscreen. The size of the Start Menu text has changed and looks great. The text in the command prompt is still too small, and the Wine desktop now obscures my entire Chrome OS desktop, but overall this is much better.


I wonder what to do next. My Start Menu has a 'Run' command and a couple of other entries, and I can launch Wine's builtins (winecfg, notepad) from my command prompt. I'd like to install a more interesting Windows application.


For the next step I head upstairs into the galleries for a change of scene. I wander into the ancient Roman area and find a nice sculpture of a drunken Dionysus sprawled across a donkey. Sounds appropriate for my adventure with Wine. There's a nice couch next to it, and it's quiet here. I sit down and try to install Microsoft Office 2010.


I have an installer for Office on my usb stick. It's a single .exe, so I figure it will be easy to use. I insert the stick in my chromebook and click on it. I get a helpful message: "This file is designed for a PC using Windows software. This is not compatible with your device which runs Chrome OS." Fair enough. Next trick.


I use my Wine command prompt to open a file explorer (by typing 'explorer'). Not obvious where my usb stick might be. I open some various drives, including z: and something labeled '/'. Both are empty. I browse to 'My Computer' and 'My Documents'. Nada.


Because I've been doing this for a long time with CrossOver, I know the problem is that Wine has a z:\ drive pointing at the Unix root, but can't actually read that directory to list the contents. I also know that if I cd to the Download folder, I'll have permission to see what's there. So back to my command prompt, I can cd z:\sdcard\Downloads (I just know that's the right path from experience - there's no hint to point me that way). From there a dir gives me a reasonable listing. I use the Chrome file browser to copy my Office executable there. Now I can launch it by just typing the .exe filename in the command prompt.


For a while, things look good. The installer starts right up. I can enter a product key and it shows me a EULA and guides me through the start of the install. Soon, however, I get a sad window. Office tells me an error has occurred during setup and that's it: install over.


I know the Office 2010 installer in Wine has suffered from failures in Windows 7 style environments - winehq bug 38838 for the curious - and I suspect this is what's bitten me. I figure I should try again with a Windows XP prefix. I'd like to wipe my prefix away and start again fresh. No obvious way to do that from within Wine, but I can use the Android settings to just delete all the local data without totally uninstalling the app, so I do that.

3a8082e126
Reply all
Reply to author
Forward
0 new messages