I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Questions about Wine on Linux
giorgiofox
Newbie
Newbie
Posts: 2
Joined: Wed Dec 12, 2012 6:24 am

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by giorgiofox »

Hi All,


I need a little help: I want to run a little windows applicatione on my arm with debian.
I've compiled sucessfully Wine on Arm, but if I try to launch a windows app, obviously I receive this error:
err:virtual:check_architecture Trying to load PE image for unsupported architecture I386

What I need to to solve this? What I need to to with qemu?

Thanks in advance
Giorgio
juan
Level 1
Level 1
Posts: 6
Joined: Tue Dec 11, 2012 4:35 pm

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by juan »

Please read again from the first post. Wine/ARM status is at http://wiki.winehq.org/ARM and currently cannot be used to execute x86 binaries; QEMU allows to execute Wine/x86 in ARM if you apply some hacks as described earlier.
User avatar
orokusaki
Level 2
Level 2
Posts: 16
Joined: Sat Oct 13, 2012 8:08 pm

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by orokusaki »

How to compile Qemu 0.14.1 on Ubuntu 13.04
You must edit the configure file... Otherwise normal directions. I use the NPTL patch on this.
http://git.qemu.org/?p=qemu.git;a=commi ... 276e3c229d Click on Snapshot

It must look like this:

##########################################
# Do we need librt
# uClibc provides 2 versions of clock_gettime(), one with realtime
# support and one without. This means that the clock_gettime() don't
# need -lrt. We still need it for timer_create() so we check for this
# function in addition.
cat > $TMPC <<EOF
#include <signal.h>
#include <time.h>
int main(void) {
timer_create(CLOCK_REALTIME, NULL, NULL);
return clock_gettime(CLOCK_REALTIME, NULL);
}
EOF

if compile_prog "" "" ; then
:
# we need pthread for static linking. use previous pthread test result
elif compile_prog "" "-lrt $pthread_lib" ; then
LIBS="-lrt $LIBS"
libs_qga="-lrt $libs_qga"
fi

if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \
"$aix" != "yes" -a "$haiku" != "yes" ; then
libs_softmmu="-lutil $libs_softmmu"
fi

##########################################
# spice probe
User avatar
orokusaki
Level 2
Level 2
Posts: 16
Joined: Sat Oct 13, 2012 8:08 pm

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by orokusaki »

About to upload Ubuntu 13.04 for the HP TouchPad with wine + qemu loaded.

http://forum.xda-developers.com/showthr ... ?t=1304475
User avatar
orokusaki
Level 2
Level 2
Posts: 16
Joined: Sat Oct 13, 2012 8:08 pm

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by orokusaki »

bernhardu
Level 2
Level 2
Posts: 11
Joined: Thu Jan 31, 2013 4:08 pm

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by bernhardu »

Because I have invested too much time already, and some of you might find it
useful, I want to post here this summary to get some windows application running
on wine-1.5.26 and qemu-1.4.0 on a Raspberry Pi.

This is not using the gnemul approach but an chroot.
First patch is the well known NTPL patch for qemu 1.4.0.
Second Patch disables the EPOLL syscalls.

Unfortunately starting the application takes very long. After that it is quite usable.

Following commands are run on a Raspbian image (2012-12-16-wheezy-raspbian.zip)

Code: Select all

#get current git
    mkdir -p ~/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu
    cd ~/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu
    git clone git://git.qemu.org/qemu.git
    git reset --hard v1.4.0



# patches
    # adjusted version of http://patchwork.ozlabs.org/patch/45206/
    #       wine: fork : Invalid argument
    patch -p1 < ../0001-add-usermode-NPTL-support-for-i386_qemu-v1.4.0.patch

    #       wineserver crashed, please enable coredumps (ulimit -c unlimited) and restart.
    #       wine client error:0: recvmsg: Connection reset by peer
    patch -p1 < ../0002-disable-epoll-syscalls_qemu-v1.4.0.patch



# build qemu
    ./configure --target-list=i386-linux-user --static
    make



# prepare environment for x86
    # as root
        mount -t binfmt_misc none /proc/sys/fs/binfmt_misc
        echo -1 > /proc/sys/fs/binfmt_misc/status
        echo ':i386:M::\x7fELF\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfb\xff\xff:/usr/bin/qemu-i386-static:' > /proc/sys/fs/binfmt_misc/register



# prepare chroot
    # as root
        debootstrap --arch=i386 --foreign wheezy chroot-wheezy-i386 http://ftp.de.debian.org/debian
    # as user
        cp ~/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/i386-linux-user/qemu-i386 ~/chroot-wheezy-i386/usr/bin/qemu-i386-static
        id # note uid for later
    # as root
        DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C chroot chroot-wheezy-i386 /debootstrap/debootstrap --second-stage
        echo "deb http://ftp.de.debian.org/debian/ wheezy main" > chroot-wheezy-i386/etc/apt/sources.list.d/wheezy.list
        env -i TERM=xterm /usr/sbin/chroot chroot-wheezy-i386 /bin/su -l root
            apt-get update
            apt-get install libsm6 libxext6 libfreetype6 libpng12-0 libmpg123-0
            adduser --uid 1002 user2
            exit
        mount --bind /home/user2 /home/user2/chroot-wheezy-i386/home/user2
        mount --bind /dev /home/user2/chroot-wheezy-i386/dev
        mount --bind /proc /home/user2/chroot-wheezy-i386/proc
        exit



# prepare wine
    # as user
    mkdir wine
    cd wine
    wget http://www.playonlinux.com/wine/binaries/linux-x86/PlayOnLinux-wine-1.5.26-linux-x86.pol
    tar -jxf PlayOnLinux-wine-1.5.26-linux-x86.pol --strip-components=1 wineversion/1.5.26
    mv ~/wine/1.5.26/bin/wine-preloader ~/wine/1.5.26/bin/wine-preloader.renamed



# enter chroot again
    # as root
    env -i TERM=xterm /usr/sbin/chroot chroot-wheezy-i386 /bin/su -l user2
        # as user2 in chroot
        export WINEPREFIX=~/wineprefix
        export PATH=~/wine/1.5.26/bin:$PATH
        export DISPLAY=localhost:10.0           # this test was done by ssh, locally export DISPLAY=:0 should be right
        winecfg



# do a test
        # still as user2 in chroot
        mkdir ~/notepadpp
        cd ~/notepadpp
        wget http://download.tuxfamily.org/notepadplus/6.3.1/npp.6.3.1.bin.zip
        unzip npp.6.3.1.bin.zip
        cd unicode
        wine notepad++.exe
0001-add-usermode-NPTL-support-for-i386_qemu-v1.4.0.patch

Code: Select all

diff --git a/configure b/configure
index 8789324..5c48942 100755                                                                                                                               
--- a/configure                                                                                                                                             
+++ b/configure                                                                                                                                             
@@ -3891,6 +3891,7 @@ TARGET_ABI_DIR=""                                                                                                                     
                                                                                                                                                            
 case "$target_arch2" in                                                                                                                                    
   i386)                                                                                                                                                    
+    target_nptl="yes"                                                                                                                                      
   ;;                                                                                                                                                       
   x86_64)                                                                                                                                                  
     TARGET_BASE_ARCH=i386                                                                                                                                  
diff --git a/linux-user/syscall.c b/linux-user/syscall.c                                                                                                    
index 9e31ea7..86ecfbc 100644                                                                                                                               
--- a/linux-user/syscall.c                                                                                                                                  
+++ b/linux-user/syscall.c                                                                                                                                  
@@ -4253,6 +4253,13 @@ static abi_long do_get_thread_area(CPUX86State *env, abi_ulong ptr)                                                                  
     unlock_user_struct(target_ldt_info, ptr, 1);                                                                                                           
     return 0;                                                                                                                                              
 }                                                                                                                                                          
+
+static inline void cpu_set_tls(CPUX86State *env, target_ulong newtls)
+{
+    do_set_thread_area(env, newtls);
+    /* reload gs */
+    cpu_x86_load_seg(env, R_GS, env->segs[R_GS].selector);
+}
 #endif /* TARGET_I386 && TARGET_ABI32 */
 
 #ifndef TARGET_ABI32
@@ -4378,7 +4385,16 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
         init_task_state(ts);
         /* we create a new CPU instance. */
         new_env = cpu_copy(env);
-#if defined(TARGET_I386) || defined(TARGET_SPARC) || defined(TARGET_PPC)
+#if defined(TARGET_I386)
+        new_env->idt.base = target_mmap(0, sizeof(uint64_t) * (env->idt.limit + 1),
+                PROT_READ|PROT_WRITE,
+                MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
+        memcpy(g2h(new_env->idt.base), g2h(env->idt.base), sizeof(uint64_t) * (env->idt.limit + 1));
+        new_env->gdt.base = target_mmap(0, sizeof(uint64_t) * TARGET_GDT_ENTRIES,
+                PROT_READ|PROT_WRITE,
+                MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
+        memcpy(g2h(new_env->gdt.base), g2h(env->gdt.base), sizeof(uint64_t) * TARGET_GDT_ENTRIES);
+#elif defined(TARGET_SPARC) || defined(TARGET_PPC)
         cpu_reset(ENV_GET_CPU(new_env));
 #endif
         /* Init regs that differ from the parent.  */
0002-disable-epoll-syscalls_qemu-v1.4.0.patch

Code: Select all

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 9e31ea7..dc80c0a 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -8771,7 +8771,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
         break;
 #endif
 #endif
-#if defined(CONFIG_EPOLL)
+#if 0 //defined(CONFIG_EPOLL)
 #if defined(TARGET_NR_epoll_create)
     case TARGET_NR_epoll_create:
         ret = get_errno(epoll_create(arg1));
schneemann
Newbie
Newbie
Posts: 1
Joined: Sun May 19, 2013 2:41 pm

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by schneemann »

Thanks bernhardu. Your post has been helping me to get the live for speed dedicated server running on my raspberry pi. Not tested much yet, but it looks like a one-player gaming is very well possible. However, CPU load is going to become critical with more players.

I'm wondering, what's going on when renaming the wine-preloader? Without renaming, I always got the error "Unable to find space for application". Do you have a reference for this solution?

I'm also wondering if there is room for improvement with the qemu build? I followed your post and used the patched version 1.4.0 with additional '--extra-cflags=-march=armv6 -mfpu=vfp -mfloat-abi=hard' for the raspberry pi environment. When I start notepad, everything seems to work, but it feels very very slow. Clicking on a menu causes a delay of appr. 3 seconds (this is over ssh from a notebook in a chrooted i386 environment).

While debugging some wine issues, i've seen lots of cacheflush system calls in strace, which are not generated on my i386 machine. Maybe they are causing a severe performance degradation?
bernhardu
Level 2
Level 2
Posts: 11
Joined: Thu Jan 31, 2013 4:08 pm

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by bernhardu »

The hint for renaming wine-preloader was from the second post in this thread, from user orokusaki.

I have not tried the additional configure switches. For the performance - the delay on my side is similiar and I rated it when already started as "quite usable". But starting only "wine notepad" takes here nearly 2 minutes. (with (arm) Xvfb and x11vnc at the pi viewing from remote probably slower)

Did you an strace with the environment "export QEMU_STRACE=1" or with (arm)strace calling wine (or qemu-i386):
  • QEMU_STRACE=1 (arm)qemu-i386 (x86)wine (x86)notepad
    vs.
  • (arm)strace -f (arm)qemu-i386 (x86)wine (x86)notepad
In the latter case you probably saw what qemu needs to emulate the x86.

And to what you compared it on x86?:
  • (x86)strace -f (x86)wine (x86)notepad
    vs.
  • (x86)strace -f (x86)qemu-i386 (x86)wine (x86)notepad
    #which would run wine emulated - at least the first process - wineserver and others probably are here native
    vs.
  • QEMU_STRACE=1 (x86)qemu-i386 (x86)wine (x86)notepad
    #also x86 emulated on x86 - makes sense only for testing
:shock:
motzer
Newbie
Newbie
Posts: 1
Joined: Wed Dec 04, 2013 9:22 am

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by motzer »

Hey Guys,

I know this thread is a little bit old but there is a question about something fundamental. Everyone uses this to get wine work in qemu on Linux/ARM.
Me too, but I did'nt get it until now. What does this code really effect ? Without this I am not able to run a i386 Testprogram Hello World.

echo ':i386:M::\x7fELF\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfb\xff\xff:/path/to/patched/qemu/i386-linux-user/qemu-i386:' >/proc/sys/fs/binfmt_misc/register

echo ':DOSWin:M::MZ::/usr/gnemul/qemu-i386/usr/bin/wine:' >/proc/sys/fs/binfmt_misc/register

and something else...

when I run wine in qemu on a BeagleBone Black (ARM) with a debian Linux on it, it takes a long time to perform a simple print "Hello World" .exe file.


arm:~# qemu-i386 /root/wine-1.4.1/usr/lib/i386-linux-gnu/wine/wine.bin Hello.exe
Unsupported ancillary data: 1/2
Unsupported ancillary data: 1/2
Unsupported ancillary data: 1/2

Wine cannot find the FreeType font library. To enable Wine to
use TrueType fonts please install a version of FreeType greater than
or equal to 2.0.5.
http://www.freetype.org
err:module:load_builtin_dll failed to load .so lib for builtin L"winex11.drv": libSM.so.6: cannot open shared object file: No such file or directory
err:module:load_builtin_dll failed to load .so lib for builtin L"winex11.drv": libSM.so.6: cannot open shared object file: No such file or directory
Unsupported ancillary data: 1/2
Unsupported ancillary data: 1/2

Wine cannot find the FreeType font library. To enable Wine to
use TrueType fonts please install a version of FreeType greater than
or equal to 2.0.5.
http://www.freetype.org
err:module:load_builtin_dll failed to load .so lib for builtin L"winex11.drv": libSM.so.6: cannot open shared object file: No such file or directory
err:module:load_builtin_dll failed to load .so lib for builtin L"winex11.drv": libSM.so.6: cannot open shared object file: No such file or directory
Application tried to create a window, but no driver could be loaded.
Unknown error (127).
err:systray:initialize_systray Could not create tray window
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
Unsupported ancillary data: 1/2
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
err:wincodecs:PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
fixme:ole:CoCreateInstance no instance created for interface {00000103-a8f2-4877-ba0a-fd2b6645fb94} of class {27949969-876a-41d7-9447-568f6a35a4dc}, hres is 0x80004005
err:menubuilder:convert_to_native_icon error 0x80004005 creating bitmap encoder
Unsupported ancillary data: 1/2
Wine cannot find the FreeType font library. To enable Wine to
use TrueType fonts please install a version of FreeType greater than
or equal to 2.0.5.
http://www.freetype.org
err:module:load_builtin_dll failed to load .so lib for builtin L"winex11.drv": libSM.so.6: cannot open shared object file: No such file or directory
err:module:load_builtin_dll failed to load .so lib for builtin L"winex11.drv": libSM.so.6: cannot open shared object file: No such file or directory
Wine cannot find the ncurses library (libncurses.so.5).
Hello World << Finally it works =)

but it takes 35 seconds to perform this action.
What is this "Unsupported ancillary data" stuff ?

I do not want to open a window or a graphical applicaltion - I just want to run a simple Console Application.

So has anyone an idea what the two echo's at the beginning are good for and perhaps someone can intepret my output when running this "magic" stuff the people here created =)

best regards and hoping for help

Ben
oiaohm
Level 8
Level 8
Posts: 1020
Joined: Fri Feb 29, 2008 2:54 am

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by oiaohm »

motzer that little command line program is flagged wrong.

While you are on terminal if you run a program flagged console wine does not attempt to start X11 driver unless some graphical function is called.

http://ilostmynotes.blogspot.com.au/201 ... e-app.html

--subsystem,console and --subsystem,windows under mingw are two different things. There is equal under Microsoft provided compilers as well.

libncurses.so.5 is a required part for proper console applications.
bernhardu
Level 2
Level 2
Posts: 11
Joined: Thu Jan 31, 2013 4:08 pm

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by bernhardu »

These "echo ... >/proc/sys/fs/binfmt_misc/register" are telling the kernel with which "emulator" it should start non-native executables.

You could start it the long way: "/path/to/patched/qemu/i386-linux-user/qemu-i386 /usr/gnemul/qemu-i386/usr/bin/wine /path/to/Hello.exe
In our case this is done twice so in short this should also work: "./Hello.exe" (probably the executable flag is needed?)
This is convenient when used with a non-native chroot.

These "Unsupported ancillary data" are from deep inside QEmu.

If you would install some missing packages (x86, inside chroot) most of the messages would go away:
apt-get install libsm6 libfreetype6 libpng12-0 libncurses5
vksalian
Newbie
Newbie
Posts: 3
Joined: Mon Aug 11, 2014 2:53 am

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by vksalian »

Hello,

I tried to follow the procedure to install qemu-i386 & wine for x86 to run x86 windows applications on a BEAGLEBONE BLACK.
But I have problem in running the application. Please letme know if you have any idea on this.

Log is below,

debian@beaglebone:~/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/qemu$ qemu-i386 /usr/gnemul/qemu-i386/bin/wine /home/debian/putty.exe
/usr/gnemul/qemu-i386/bin/wine-preloader: Unable to find space for application
debian@beaglebone:~/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/qemu$ qemu-i386 -strace /usr/gnemul/qemu-i386/bin/wine /home/debian/putty.exe
9652 brk(NULL) = 0x7bf04000
9652 uname(0x408003f2) = 0
9652 access("/etc/ld.so.nohwcap",F_OK) = -1 errno=2 (No such file or directory)
9652 mmap2(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x40821000
9652 readlink("/proc/self/exe",0x407ff510,4096) = 30
9652 access("/etc/ld.so.preload",R_OK) = -1 errno=2 (No such file or directory)
9652 open("/usr/gnemul/qemu-i386/bin/../lib/tls/i686/sse2/cmov/libwine.so.1",O_RDONLY) = 3
9652 read(3,0x408001e0,512) = 512
9652 fstat64(3,0x40800100) = 0
9652 mmap2(NULL,1791456,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x40823000
9652 mprotect(0x409c3000,4096,PROT_NONE) = 0
9652 mmap2(0x409c4000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x1a0) = 0x409c4000
9652 mmap2(0x409c6000,75232,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x409c6000
9652 close(3) = 0
9652 open("/usr/gnemul/qemu-i386/bin/../lib/tls/i686/sse2/cmov/libpthread.so.0",O_RDONLY) = 3
9652 read(3,0x408001c4,512) = 512
9652 fstat64(3,0x408000e4) = 0
9652 mmap2(NULL,107008,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x409d9000
9652 mmap2(0x409f0000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x16) = 0x409f0000
9652 mmap2(0x409f2000,4608,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x409f2000
9652 close(3) = 0
9652 open("/usr/gnemul/qemu-i386/bin/../lib/tls/i686/sse2/cmov/libc.so.6",O_RDONLY) = 3
9652 read(3,0x408001a8,512) = 512
9652 fstat64(3,0x408000c8) = 0
9652 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x409f4000
9652 mmap2(NULL,1747676,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x409f5000
9652 mprotect(0x40b99000,4096,PROT_NONE) = 0
9652 mmap2(0x40b9a000,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x1a4) = 0x40b9a000
9652 mmap2(0x40b9d000,10972,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0) = 0x40b9d000
9652 close(3) = 0
9652 open("/etc/ld.so.cache",O_RDONLY) = 3
9652 fstat64(3,0x407fffd8) = 0
9652 mmap2(NULL,67338,PROT_READ,MAP_PRIVATE,3,0) = 0x40ba0000
9652 close(3) = 0
9652 access("/etc/ld.so.nohwcap",F_OK) = -1 errno=2 (No such file or directory)
9652 open("/lib/i386-linux-gnu/tls/i686/sse2/cmov/libdl.so.2",O_RDONLY) = 3
9652 read(3,0x4080010c,512) = 512
9652 fstat64(3,0x4080002c) = 0
9652 mmap2(NULL,16504,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0) = 0x40bb1000
9652 mmap2(0x40bb4000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x2) = 0x40bb4000
9652 close(3) = 0
9652 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x40bb6000
9652 set_thread_area(1082131880,1082253300,1086023360,1,0,1082131908) = 0
9652 mprotect(0x40bb4000,4096,PROT_READ) = 0
9652 mprotect(0x40b9a000,8192,PROT_READ) = 0
9652 mprotect(0x409f0000,4096,PROT_READ) = 0
9652 mprotect(0x409c4000,4096,PROT_READ) = 0
9652 mprotect(0x7bf02000,4096,PROT_READ) = 0
9652 mprotect(0x4081d000,4096,PROT_READ) = 0
9652 munmap(0x40ba0000,67338) = 0
9652 set_tid_address(1086023464,1084166132,1086023464,47,29,1086023360) = 9652
9652 set_robust_list(1086023472,12,1084166132,47,1082253344,1086023360) = -1 errno=38 (Function not implemented)
9652 futex(0x40800684,FUTEX_PRIVATE_FLAG|FUTEX_CLOCK_REALTIME|FUTEX_WAIT_BITSET,1,NULL,NULL,0) = -1 errno=11 (Resource temporarily unavailable)
9652 rt_sigaction(32,0x408002a4,NULL) = 0
9652 rt_sigaction(33,0x408002a4,NULL) = -1 errno=22 (Invalid argument)
9652 rt_sigprocmask(SIG_UNBLOCK,0x408005f4,NULL) = 0
9652 ugetrlimit(3,1082132092,1085915124,8,1,1082131956) = 0
9652 uname(0x408003f0) = 0
9652 brk(NULL) = 0x7bf04000
9652 brk(0x7bf25000) = 0x7bf25000
9652 mmap2(NULL,8392704,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|0x20000,-1,0) = 0x40bb7000
9652 mprotect(0x40bb7000,4096,PROT_NONE) = 0
9652 clone(CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID,child_stack=0x413b7494,parent_tidptr=0x413b7ba8,tls=0x408001f0,child_tidptr=0x413b7ba8) = 9653
9652 futex(0x413b7ba8,FUTEX_WAIT,9653,NULL,0x409f0ff4,1084166132)9652 set_robust_list(1094417328,12,1084166132,0,4001536,1094415512) = -1 errno=38 (Function not implemented)
9652 gettid(1084166132,0,4001536,1094415512,1084166132,1094415512) = 9653
9652 madvise(1086025728,8372224,4,1094417216,4001536,1094415512) = 0
9652 exit(0)
= 0
9652 munmap(0x80000000,1) = 0
9652 Unknown syscall 340
9652 Unknown syscall 340
9652 readlink("/proc/self/exe",0x7bf040e8,256) = 30
9652 stat64("/usr/gnemul/qemu-i386/bin/wineserver",0x40800200) = 0
9652 execve("/usr/gnemul/qemu-i386/bin/wine-preloader",{"/usr/gnemul/qemu-i386/bin/wine-preloader","/usr/gnemul/qemu-i386/bin/wine","/home/debian/putty.exe",NULL})/usr/gnemul/qemu-i386/bin/wine-preloader: Unable to find space for application
debian@beaglebone:~/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/qemu$
debian@beaglebone:~/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/qemu$ qemu-i386 /usr/gnemul/qemu-i386/bin/wine
Usage: wine PROGRAM [ARGUMENTS...] Run the specified program
wine --help Display this help and exit
wine --version Output version information and exit
debian@beaglebone:~/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/qemu$ qemu-i386 /usr/gnemul/qemu-i386/bin/wine --version
wine-1.6.2
debian@beaglebone:~/qemu/qemu-git_2013-03-23_v1.4.0+ntpl+static/qemu/qemu$
vksalian
Newbie
Newbie
Posts: 3
Joined: Mon Aug 11, 2014 2:53 am

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by vksalian »

Hello All,

I managed to run putty under wine on Beagle Bone Black. The step I missed was to export the DISPLAY as mentioned in the bernhardu's post. However, there are some little fixes needed. The following are the log files of errors that are not solved yet. BUT I can run simple .exe files which are not from .NET compiled.

LOG:...........................
debian@beaglebone:~$ wine putty.exe
Unsupported ancillary data: 1/2
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
debian@beaglebone:~$ WINEDEBUG+=NTDLL wine putty.exe
Unsupported ancillary data: 1/2
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
debian@beaglebone:~$ WINEDEBUG+=ntdll wine putty.exe
trace:ntdll:RtlInitializeBitMap (0x7bce4350,0x3ffff044,64)
trace:ntdll:RtlInitializeBitMap (0x7bce4358,0x3ffff154,1024)
trace:ntdll:RtlInitializeBitMap (0x7bce4360,0x3ffff21c,128)
Unsupported ancillary data: 1/2
trace:ntdll:fill_cpu_info <- CPU arch 0, level 6, rev 771, features 0x13fbf
trace:ntdll:NtQueryInformationProcess (0xffffffff,0x0000001a,0x407ff1ac,0x00000004,(nil))
trace:ntdll:NtOpenThreadTokenEx (0xfffffffe,0x00020008,1,0x00000000,0x407ff054)
trace:ntdll:NtOpenProcessTokenEx (0xffffffff,0x00020008,0x00000000,0x407ff054)
trace:ntdll:NtQueryInformationToken (0x8,1,0x407ff05c,80,0x407ff058)
trace:ntdll:FILE_CreateFile handle=0x407ff174 access=80000000 name=L"\\??\\C:\\windows" objattr=00000040 root=(nil) sec=(nil) io=0x407ff180 alloc_size=(nil) attr=00000080 sharing=00000001 disp=2 options=00000021 ea=(nil).0x00000000
warn:ntdll:FILE_CreateFile L"\\??\\C:\\windows" not found (c0000035)
trace:ntdll:FILE_CreateFile handle=0x407ff174 access=80000000 name=L"\\??\\C:\\windows\\system32" objattr=00000040 root=(nil) sec=(nil) io=0x407ff180 alloc_size=(nil) attr=00000080 sharing=00000001 disp=2 options=00000021 ea=(nil).0x00000000
warn:ntdll:FILE_CreateFile L"\\??\\C:\\windows\\system32" not found (c0000035)
trace:ntdll:FILE_CreateFile handle=0x407ff16c access=00000000 name=L"\\??\\Z:\\home\\debian" objattr=00000040 root=(nil) sec=(nil) io=0x407ff180 alloc_size=(nil) attr=00000000 sharing=00000000 disp=1 options=00000021 ea=(nil).0x00000000
trace:ntdll:NtOpenThreadTokenEx (0xfffffffe,0x00020008,1,0x00000000,0x407fec84)
trace:ntdll:NtOpenProcessTokenEx (0xffffffff,0x00020008,0x00000000,0x407fec84)
trace:ntdll:NtQueryInformationToken (0xc,1,0x407fec8c,80,0x407fec88)
trace:ntdll:NtOpenDirectoryObject (0x407ff0bc,0x00000006,{name=L"\\BaseNamedObjects", attr=0x00000000, hRoot=(nil), sd=(nil)}
)
trace:ntdll:NtOpenThreadTokenEx (0xfffffffe,0x00020008,1,0x00000000,0x407ff054)
trace:ntdll:NtOpenProcessTokenEx (0xffffffff,0x00020008,0x00000000,0x407ff054)
trace:ntdll:NtQueryInformationToken (0x10,1,0x407ff05c,80,0x407ff058)
trace:ntdll:FILE_CreateFile handle=0x407fefdc access=80000000 name=L"\\??\\Z:\\home\\debian\\putty.exe" objattr=00000040 root=(nil) sec=(nil) io=0x407fef18 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtOpenThreadTokenEx (0xfffffffe,0x00020008,1,0x00000000,0x407fedd4)
trace:ntdll:NtOpenProcessTokenEx (0xffffffff,0x00020008,0x00000000,0x407fedd4)
trace:ntdll:NtQueryInformationToken (0x14,1,0x407feddc,80,0x407fedd8)
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fefec,0x407ff037,0x00000055,0x407fefe0,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
trace:ntdll:NtOpenThreadTokenEx (0xfffffffe,0x00020008,1,0x00000000,0x407fed14)
trace:ntdll:NtOpenProcessTokenEx (0xffffffff,0x00020008,0x00000000,0x407fed14)
trace:ntdll:NtQueryInformationToken (0x10,1,0x407fed1c,80,0x407fed18)
trace:ntdll:FILE_CreateFile handle=0x407ff06c access=80000000 name=L"\\??\\C:\\windows\\winsxs\\manifests" objattr=00000040 root=(nil) sec=(nil) io=0x407ff080 alloc_size=(nil) attr=00000000 sharing=00000003 disp=1 options=00000021 ea=(nil).0x00000000
trace:ntdll:FILE_CreateFile handle=0x407ff06c access=80000000 name=L"\\??\\C:\\windows\\winsxs\\manifests\\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest" objattr=00000040 root=(nil) sec=(nil) io=0x407fefd0 alloc_size=(nil) attr=00000000 sharing=00000001 disp=1 options=00000010 ea=(nil).0x00000000
trace:ntdll:NtQueryInformationFile (0x10,0x407fefc0,0x407fefa8,0x00000008,0x00000014)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\ADVAPI32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\ADVAPI32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\ADVAPI32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\ADVAPI32.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x407fef7c access=80000000 name=L"\\??\\C:\\windows\\system32\\ADVAPI32.dll" objattr=00000040 root=(nil) sec=(nil) io=0x407feeb8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtOpenThreadTokenEx (0xfffffffe,0x00020008,1,0x00000000,0x407fed74)
trace:ntdll:NtOpenProcessTokenEx (0xffffffff,0x00020008,0x00000000,0x407fed74)
trace:ntdll:NtQueryInformationToken (0x14,1,0x407fed7c,80,0x407fed78)
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fef8c,0x407fefd7,0x00000055,0x407fef80,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
trace:ntdll:FILE_CreateFile handle=0x407fef7c access=80000000 name=L"\\??\\C:\\windows\\winsxs\\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef\\COMCTL32.dll" objattr=00000040 root=(nil) sec=(nil) io=0x407feeb8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fef8c,0x407fefd7,0x00000055,0x407fef80,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\user32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\user32.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x407fe49c access=80000000 name=L"\\??\\C:\\windows\\system32\\user32.dll" objattr=00000040 root=(nil) sec=(nil) io=0x407fe3d8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fe4ac,0x407fe4f7,0x00000055,0x407fe4a0,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\gdi32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\gdi32.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x407fd9bc access=80000000 name=L"\\??\\C:\\windows\\system32\\gdi32.dll" objattr=00000040 root=(nil) sec=(nil) io=0x407fd8f8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fd9cc,0x407fda17,0x00000055,0x407fd9c0,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\version.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\version.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x407fd9bc access=80000000 name=L"\\??\\C:\\windows\\system32\\version.dll" objattr=00000040 root=(nil) sec=(nil) io=0x407fd8f8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fd9cc,0x407fda17,0x00000055,0x407fd9c0,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\comdlg32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\comdlg32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\comdlg32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\comdlg32.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x407fef7c access=80000000 name=L"\\??\\C:\\windows\\system32\\comdlg32.dll" objattr=00000040 root=(nil) sec=(nil) io=0x407feeb8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fef8c,0x407fefd7,0x00000055,0x407fef80,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\shell32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\shell32.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x407fe49c access=80000000 name=L"\\??\\C:\\windows\\system32\\shell32.dll" objattr=00000040 root=(nil) sec=(nil) io=0x407fe3d8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fe4ac,0x407fe4f7,0x00000055,0x407fe4a0,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\shlwapi.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\shlwapi.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x407fd9bc access=80000000 name=L"\\??\\C:\\windows\\system32\\shlwapi.dll" objattr=00000040 root=(nil) sec=(nil) io=0x407fd8f8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fd9cc,0x407fda17,0x00000055,0x407fd9c0,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\winspool.drv" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\winspool.drv" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\winspool.drv" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\winspool.drv" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x407fe49c access=80000000 name=L"\\??\\C:\\windows\\system32\\winspool.drv" objattr=00000040 root=(nil) sec=(nil) io=0x407fe3d8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fe4ac,0x407fe4f7,0x00000055,0x407fe4a0,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\IMM32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\IMM32.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x407fef7c access=80000000 name=L"\\??\\C:\\windows\\system32\\IMM32.dll" objattr=00000040 root=(nil) sec=(nil) io=0x407feeb8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fef8c,0x407fefd7,0x00000055,0x407fef80,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\ole32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\ole32.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x407fef7c access=80000000 name=L"\\??\\C:\\windows\\system32\\ole32.dll" objattr=00000040 root=(nil) sec=(nil) io=0x407feeb8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fef8c,0x407fefd7,0x00000055,0x407fef80,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\rpcrt4.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\rpcrt4.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x407fe49c access=80000000 name=L"\\??\\C:\\windows\\system32\\rpcrt4.dll" objattr=00000040 root=(nil) sec=(nil) io=0x407fe3d8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fe4ac,0x407fe4f7,0x00000055,0x407fe4a0,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\WINMM.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\WINMM.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x407fef7c access=80000000 name=L"\\??\\C:\\windows\\system32\\WINMM.dll" objattr=00000040 root=(nil) sec=(nil) io=0x407feeb8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fef8c,0x407fefd7,0x00000055,0x407fef80,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\msacm32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\msacm32.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x407fe49c access=80000000 name=L"\\??\\C:\\windows\\system32\\msacm32.dll" objattr=00000040 root=(nil) sec=(nil) io=0x407fe3d8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x10,(nil),(nil),(nil),0x407fe4ac,0x407fe4f7,0x00000055,0x407fe4a0,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
trace:ntdll:NtQuerySystemInformation (0x00000000,0x7ba5ccc0,0x0000002c,(nil))
trace:ntdll:NtOpenThreadTokenEx (0xfffffffe,0x00020008,1,0x00000000,0x33fa04)
trace:ntdll:NtOpenProcessTokenEx (0xffffffff,0x00020008,0x00000000,0x33fa04)
trace:ntdll:NtQueryInformationToken (0x10,1,0x33fa0c,80,0x33fa08)
trace:ntdll:NtOpenThreadTokenEx (0xfffffffe,0x00020008,1,0x00000000,0x33f8b4)
trace:ntdll:NtOpenProcessTokenEx (0xffffffff,0x00020008,0x00000000,0x33f8b4)
trace:ntdll:NtQueryInformationToken (0x1c,1,0x33f8bc,80,0x33f8b8)
trace:ntdll:NtOpenThreadTokenEx (0xfffffffe,0x00020008,1,0x00000000,0x33f8d4)
trace:ntdll:NtOpenProcessTokenEx (0xffffffff,0x00020008,0x00000000,0x33f8d4)
trace:ntdll:NtQueryInformationToken (0x24,1,0x33f8dc,80,0x33f8d8)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\winex11.drv" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\winex11.drv" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x33f23c access=80000000 name=L"\\??\\C:\\windows\\system32\\winex11.drv" objattr=00000040 root=(nil) sec=(nil) io=0x33f178 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x3c,(nil),(nil),(nil),0x33f24c,0x33f297,0x00000055,0x33f240,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
trace:ntdll:RtlFindClearBitsAndSet (0x7bce4350,1,0)
trace:ntdll:RtlFindClearBits (0x7bce4350,1,0)
trace:ntdll:RtlAreBitsClear (0x7bce4350,0,1)
trace:ntdll:RtlSetBits (0x7bce4350,0,1)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\uxtheme.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\uxtheme.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x33f97c access=80000000 name=L"\\??\\C:\\windows\\system32\\uxtheme.dll" objattr=00000040 root=(nil) sec=(nil) io=0x33f8b8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x50,(nil),(nil),(nil),0x33f98c,0x33f9d7,0x00000055,0x33f980,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
trace:ntdll:RtlFindClearBitsAndSet (0x7bce4350,1,0)
trace:ntdll:RtlFindClearBits (0x7bce4350,1,0)
trace:ntdll:RtlAreBitsClear (0x7bce4350,0,1)
trace:ntdll:RtlAreBitsClear (0x7bce4350,1,1)
trace:ntdll:RtlSetBits (0x7bce4350,1,1)
trace:ntdll:RtlFindClearBitsAndSet (0x7bce4350,1,0)
trace:ntdll:RtlFindClearBits (0x7bce4350,1,0)
trace:ntdll:RtlAreBitsClear (0x7bce4350,0,1)
trace:ntdll:RtlAreBitsClear (0x7bce4350,1,1)
trace:ntdll:RtlAreBitsClear (0x7bce4350,2,1)
trace:ntdll:RtlSetBits (0x7bce4350,2,1)
trace:ntdll:FILE_CreateFile handle=0x33e3d4 access=80000000 name=L"\\??\\C:\\windows\\system.ini" objattr=00000040 root=(nil) sec=(nil) io=0x33e3e0 alloc_size=(nil) attr=00000080 sharing=00000007 disp=1 options=00000060 ea=(nil).0x00000000
trace:ntdll:NtQueryInformationFile (0x5c,0x33e310,0x33e318,0x00000018,0x00000005)
trace:ntdll:NtReadFile (0x5c,(nil),(nil),(nil),0x33e368,0x128580,0x000001e1,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (481)
trace:ntdll:NtQueryInformationFile (0x5c,0x33e3d0,0x33e3d8,0x00000028,0x00000004)
trace:ntdll:FILE_CreateFile handle=0x33fa2c access=80000000 name=L"\\??\\C:\\windows\\system32\\ws2_32.dll" objattr=00000040 root=(nil) sec=(nil) io=0x33f968 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33fa3c,0x33fa87,0x00000055,0x33fa30,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
trace:ntdll:FILE_CreateFile handle=0x33edf4 access=80000000 name=L"\\??\\Z:\\home\\debian\\putty.exe" objattr=00000040 root=(nil) sec=(nil) io=0x33ee00 alloc_size=(nil) attr=00000080 sharing=00000003 disp=1 options=00000060 ea=(nil).0x00000000
trace:ntdll:NtQueryInformationFile (0x78,0x33eed0,0x33eed8,0x00000028,0x00000004)
trace:ntdll:NtSetInformationFile (0x78,0x33ee48,0x33ee40,0x00000008,0x0000000e)
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33ee88,0x33ef3e,0x0000000e,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (14)
trace:ntdll:NtSetInformationFile (0x78,0x33ee98,0x33ee90,0x00000008,0x0000000e)
trace:ntdll:NtSetInformationFile (0x78,0x33eed8,0x33eed0,0x00000008,0x0000000e)
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33ef08,0x33f050,0x00000040,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (64)
trace:ntdll:NtSetInformationFile (0x78,0x33eed8,0x33eed0,0x00000008,0x0000000e)
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33ef08,0x33f04d,0x00000002,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (2)
trace:ntdll:NtSetInformationFile (0x78,0x33eed8,0x33eed0,0x00000008,0x0000000e)
trace:ntdll:NtQueryInformationFile (0x78,0x33ed68,0x33ed60,0x00000008,0x0000000e)
trace:ntdll:NtSetInformationFile (0x78,0x33ed68,0x33ed60,0x00000008,0x0000000e)
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33ed98,0x33eee8,0x00000108,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (264)
trace:ntdll:NtSetInformationFile (0x78,0x33ed68,0x33ed60,0x00000008,0x0000000e)
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33ed98,0x12c1c0,0x000000a0,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (160)
trace:ntdll:NtSetInformationFile (0x78,0x33ed68,0x33ed60,0x00000008,0x0000000e)
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33ed98,0x130bf0,0x00004000,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (16384)
trace:ntdll:FILE_CreateFile handle=0x33edf4 access=80000000 name=L"\\??\\Z:\\home\\debian\\putty.exe" objattr=00000040 root=(nil) sec=(nil) io=0x33ee00 alloc_size=(nil) attr=00000080 sharing=00000003 disp=1 options=00000060 ea=(nil).0x00000000
trace:ntdll:NtQueryInformationFile (0x78,0x33eed0,0x33eed8,0x00000028,0x00000004)
trace:ntdll:NtSetInformationFile (0x78,0x33ee48,0x33ee40,0x00000008,0x0000000e)
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33ee88,0x33ef3e,0x0000000e,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (14)
trace:ntdll:NtSetInformationFile (0x78,0x33ee98,0x33ee90,0x00000008,0x0000000e)
trace:ntdll:NtSetInformationFile (0x78,0x33eed8,0x33eed0,0x00000008,0x0000000e)
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33ef08,0x33f050,0x00000040,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (64)
trace:ntdll:NtSetInformationFile (0x78,0x33eed8,0x33eed0,0x00000008,0x0000000e)
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33ef08,0x33f04d,0x00000002,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (2)
trace:ntdll:NtSetInformationFile (0x78,0x33eed8,0x33eed0,0x00000008,0x0000000e)
trace:ntdll:NtQueryInformationFile (0x78,0x33ed68,0x33ed60,0x00000008,0x0000000e)
trace:ntdll:NtSetInformationFile (0x78,0x33ed68,0x33ed60,0x00000008,0x0000000e)
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33ed98,0x33eee8,0x00000108,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (264)
trace:ntdll:NtSetInformationFile (0x78,0x33ed68,0x33ed60,0x00000008,0x0000000e)
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33ed98,0x12c1c0,0x000000a0,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (160)
trace:ntdll:NtSetInformationFile (0x78,0x33ed68,0x33ed60,0x00000008,0x0000000e)
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33ed98,0x1311f8,0x00004000,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (16384)
trace:ntdll:NtSetInformationFile (0x78,0x33ef78,0x33ef70,0x00000008,0x0000000e)
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33efa8,0x130bf0,0x000002fc,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (764)
trace:ntdll:FILE_CreateFile handle=0x33f334 access=80000000 name=L"\\??\\Z:\\home\\debian\\putty.hlp" objattr=00000042 root=(nil) sec=(nil) io=0x33f340 alloc_size=(nil) attr=00000080 sharing=00000003 disp=1 options=00000060 ea=(nil).0x00000000
warn:ntdll:FILE_CreateFile L"\\??\\Z:\\home\\debian\\putty.hlp" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x33f334 access=80000000 name=L"\\??\\Z:\\home\\debian\\putty.cnt" objattr=00000042 root=(nil) sec=(nil) io=0x33f340 alloc_size=(nil) attr=00000080 sharing=00000003 disp=1 options=00000060 ea=(nil).0x00000000
warn:ntdll:FILE_CreateFile L"\\??\\Z:\\home\\debian\\putty.cnt" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x33f334 access=80000000 name=L"\\??\\Z:\\home\\debian\\putty.chm" objattr=00000042 root=(nil) sec=(nil) io=0x33f340 alloc_size=(nil) attr=00000080 sharing=00000003 disp=1 options=00000060 ea=(nil).0x00000000
warn:ntdll:FILE_CreateFile L"\\??\\Z:\\home\\debian\\putty.chm" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x33f9dc access=80000000 name=L"\\??\\C:\\windows\\system32\\secur32.dll" objattr=00000040 root=(nil) sec=(nil) io=0x33f918 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33f9ec,0x33fa37,0x00000055,0x33f9e0,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\netapi32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\netapi32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\netapi32.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\netapi32.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x33eefc access=80000000 name=L"\\??\\C:\\windows\\system32\\netapi32.dll" objattr=00000040 root=(nil) sec=(nil) io=0x33ee38 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33ef0c,0x33ef57,0x00000055,0x33ef00,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\iphlpapi.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\iphlpapi.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\iphlpapi.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\iphlpapi.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x33e41c access=80000000 name=L"\\??\\C:\\windows\\system32\\iphlpapi.dll" objattr=00000040 root=(nil) sec=(nil) io=0x33e358 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x78,(nil),(nil),(nil),0x33e42c,0x33e477,0x00000055,0x33e420,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\usp10.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\usp10.dll" not found (c0000034)
trace:ntdll:FILE_CreateFile handle=0x33cb6c access=80000000 name=L"\\??\\C:\\windows\\system32\\usp10.dll" objattr=00000040 root=(nil) sec=(nil) io=0x33caa8 alloc_size=(nil) attr=00000000 sharing=00000005 disp=1 options=00000000 ea=(nil).0x00000000
trace:ntdll:NtReadFile (0x80,(nil),(nil),(nil),0x33cb7c,0x33cbc7,0x00000055,0x33cb70,(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (85)
trace:ntdll:FILE_CreateFile handle=0x33e3c4 access=80000000 name=L"\\??\\C:\\windows\\win.ini" objattr=00000040 root=(nil) sec=(nil) io=0x33e3d0 alloc_size=(nil) attr=00000080 sharing=00000007 disp=1 options=00000060 ea=(nil).0x00000000
trace:ntdll:NtQueryInformationFile (0x80,0x33e300,0x33e308,0x00000018,0x00000005)
trace:ntdll:NtReadFile (0x80,(nil),(nil),(nil),0x33e358,0x13cd28,0x00000253,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (595)
trace:ntdll:NtQueryInformationFile (0x80,0x33e3c0,0x33e3c8,0x00000028,0x00000004)
trace:ntdll:FILE_CreateFile handle=0x33e764 access=80000000 name=L"\\??\\C:\\windows\\win.ini" objattr=00000040 root=(nil) sec=(nil) io=0x33e770 alloc_size=(nil) attr=00000080 sharing=00000007 disp=1 options=00000060 ea=(nil).0x00000000
trace:ntdll:NtQueryInformationFile (0x84,0x33e760,0x33e768,0x00000028,0x00000004)
trace:ntdll:NtQueryInformationFile (0x84,0x33e6a0,0x33e6a8,0x00000018,0x00000005)
trace:ntdll:NtReadFile (0x84,(nil),(nil),(nil),0x33e6f8,0x13d628,0x00000253,(nil),(nil)),partial stub!
trace:ntdll:NtReadFile = SUCCESS (595)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\mscoree.dll" not found (c0000034)
warn:ntdll:NtQueryAttributesFile L"\\??\\Z:\\home\\debian\\mscoree.dll" not found (c0000034)
debian@beaglebone:~$

--
Thanks,
VKSALIAN
phanhan
Newbie
Newbie
Posts: 2
Joined: Tue Sep 16, 2014 12:15 am

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by phanhan »

I think, this is information very interesting.
I didn't really make any applications that could not run before suddenly run now... So I guess the idea is over..

Peter Maydell basically told me that someone is going to have to do some work to the user emulation to make more applications run regardless of what we do to wine.. That sounds about right, though I do wonder about hardware and libraries like alsa, and comctl32.dll or vc++ libraries and directx.. even if qemu was 100%.. how much of a change to wine would be required to run x86 binaries on wine and qemu-i386.

My motherboard went out yesterday.. :evil: Threw in some $50.00 one until I spring for a i7, 32GB ram, and many drives. I had a 975X chipset.. I really liked that board, I am going to replace the caps on it.
toomuchfreetime
Newbie
Newbie
Posts: 1
Joined: Tue Dec 16, 2014 1:53 pm

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by toomuchfreetime »

I just play around with a quite fast ARM board, how's the performance using qemu and f.e. BeagleBoard/Bone/etc?
Is it worth testing apps like MS Office? With qemu as VM and Win XP you can nearly watch the mouse pointer redraw pixel by pixel... :P
AlbrechtL
Newbie
Newbie
Posts: 1
Joined: Thu Sep 24, 2015 11:30 am

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by AlbrechtL »

Hi folks,

I created a ready-to-run SD-card image for the Raspberry Pi 2 with a working version of QEMU and wine!
You can find it here: https://github.com/AlbrechtL/RPi-QEMU-x86-wine

For those how would like to compile QEMU 1.4.0 itself, they can find the source code with included NPTL patches here: https://github.com/AlbrechtL/qemu

Have fun with playing with x86 Windows applications on the Raspberry Pi!
nHaskin739
Level 1
Level 1
Posts: 8
Joined: Mon May 26, 2014 10:20 am

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by nHaskin739 »

Thank you AlbrechtL for the patched qemu-1.4.0

I am having trouble getting x86 wine-1.6.2 to run on cubian-x1-debian-wheezy. Hardware is Cubietruck.
I compiled wine-1.6.2 on a x86 machine then copied /usr/local on the x86 wheezy install to /usr/gnemul/qemu-i386/usr/... on cubian-wheezy. I get no wine library errors.

proc is not writeable by anyone except the system. So the # echo ... >/proc/sys/fs/binfmt_misc/register doesn't work.

running wine with $ /home/sac/qemu-build/i386-linux-user/qemu-i386 /usr/gnemul/qemu-i386/usr/local/bin/wine some.exe
returns
wine: could not exec the wine loader

winepreloader is renamed, actually tried it both ways.

If you don't give wine an exe to run you get the normal help output from wine.

winecfg doesn't work either.
$ /home/sac/qemu-build/i386-linux-user/qemu-i386 /usr/gnemul/qemu-i386/usr/local/bin/winecfg
Error while loading /usr/gnemul/qemu-i386/usr/local/bin/winecfg: Exec format error

any help out there?
Thanks,
Ned
nHaskin739
Level 1
Level 1
Posts: 8
Joined: Mon May 26, 2014 10:20 am

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by nHaskin739 »

I have changed proc permissions to give root rw access to proc & all directories bellow it.
Still get

# echo ':i386:M::\x7fELF\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfb\xff\xff:/home/sac/qemu-build/i386-linux-user/qemu-i386:' >/proc/sys/fs/binfmt_misc/register
bash: /proc/sys/fs/binfmt_misc/register: No such file or directory

Thanks in advance for any help,
Ned
bernhardu
Level 2
Level 2
Posts: 11
Joined: Thu Jan 31, 2013 4:08 pm

Re: I got Wine/x86 1.5.11 to run on Linux/ARM with qemu!

Post by bernhardu »

You have the kernel module loaded?
$ lsmod | grep binfmt
binfmt_misc 16949 1
(In debian I guess this is done by installing package binfmt-support.)
Locked