Wine: Probleme, Hilfe, Verständnis

So mein nächstes “Problem”.

Habe wine installiert und auch schon win programme installiert.
Aber ich sehe bei der ganzen Geschichte nicht wirklich durch.

Wenn ich im web suche finde ich zwar “genrelle” infos aber entweder spezifisch auf z.b. ubuntu, in englisch oder schon recht alte forenbeiträge bei denen ich nicht sicher bin ob das noch passt.

Im moment fällt es mir sogar schwer zu beschreiben bzw konkret zu fragen.

  • Wine stellt eine Windows Umgebung her.
  • Wine gibt es in 32bit und 64bit
  • Bei Wine gibts prefixe.

sind so im ersten grob die Infos die ich gefunden habe, nur wie man das sauber einrichtet, bedient und win programme installiert wird mir nicht ganz klar.

Bis jetzt hat es gereicht das ich einfach die “install.exe” ausgeführt habe und dann war gut.

Nun habe ich ein Programm das ich noch installieren wollte, was nicht funktioniert hat.

  • Lässt sich nicht als Admin ausführen / installieren
    wine runas /trustlevel 0x20000 install.exe
  • Hat dann das Problem behoben

Nun aber lässt es sich dennoch nicht installieren. Es gibt eine große liste mit diversen rückmeldungen.
Auch wenn ich winetricks öffne bekomme ich diverse Meldungen

  • einmal das es nicht aktuell ist, aber via discover / paketmangaer gibts kein update
  • Ich nutze ein 64-bit wineprefix und das dies wohl zu problemen führen kann
  • Ich soll ein sauberes 32-bit prefix nutzen falls probleme auftauchen

bei dem Programm das ich installieren möchte konnte ich mit Lutris folgendes sehen.
Und gehe mal davon aus das der installer expilzit 32bit braucht aber nur 64bit bekommt, bin mir da aber absolut nicht sicher.

Von daher wäre mein Gedanke das ich erstmal Wine ordentlich und sauber installiere so wie es sich gehört das es keine Probleme gibt bezüglich 32bit 64bit, weil man sonst wohl nen fehler sucht der keiner ist.

Ausgabe von Lutris wenn ich “view installer source” anklicke.

{
    "game": {
        "exe": "_xXx_AUTO_WIN32_xXx_",
        "prefix": "$GAMEDIR"
    },
    "files": [
        {
            "setupfile": "N/A:Installationsdatei ausw\u00e4hlen"
        }
    ],
    "installer": [
        {
            "task": {
                "name": "wineexec",
                "executable": "setupfile",
                "arch": "win64"
            }
        }
    ],
    "system": {
        "env": {
            "LC_ALL": ""
        }

Ausgabe wenn ich versuche via konsole zu installieren
wine runas /trustlevel 0x20000 install.exe

00ac:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
0060:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 0121F384, 0121F394 0121F388
0060:fixme:nls:get_dummy_preferred_ui_language (0x38 0x407 0121F384 0121F394 0121F388) returning a dummy value (current locale)
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 4d02c (device=4 access=3 func=40b method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 7c088 (device=7 access=3 func=22 method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 4d02c (device=4 access=3 func=40b method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 7c088 (device=7 access=3 func=22 method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 4d02c (device=4 access=3 func=40b method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 7c088 (device=7 access=3 func=22 method=0)
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 4d02c (device=4 access=3 func=40b method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 7c088 (device=7 access=3 func=22 method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 4d02c (device=4 access=3 func=40b method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 7c088 (device=7 access=3 func=22 method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 4d02c (device=4 access=3 func=40b method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 7c088 (device=7 access=3 func=22 method=0)
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 4d02c (device=4 access=3 func=40b method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 7c088 (device=7 access=3 func=22 method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 4d02c (device=4 access=3 func=40b method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 7c088 (device=7 access=3 func=22 method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 4d02c (device=4 access=3 func=40b method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 7c088 (device=7 access=3 func=22 method=0)
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 4d02c (device=4 access=3 func=40b method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 7c088 (device=7 access=3 func=22 method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 4d02c (device=4 access=3 func=40b method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 7c088 (device=7 access=3 func=22 method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 4d02c (device=4 access=3 func=40b method=0)
0088:fixme:mountmgr:harddisk_ioctl Unsupported ioctl 7c088 (device=7 access=3 func=22 method=0)
0060:fixme:ole:CoInitializeSecurity 00000000, -1, 00000000, 00000000, 0, 3, 00000000, 0, 00000000 stub
0060:fixme:wbemprox:client_security_SetBlanket 77831850, 00A634F0, 10, 0, (null), 3, 3, 00000000, 0
0060:fixme:wbemprox:client_security_Release 77831850
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0060:fixme:wbemprox:get_system_propval returning empty array for __DERIVATION
0060:fixme:wbemprox:get_system_propval returning empty array for __DERIVATION
0088:fixme:mountmgr:query_property Unsupported property 0x6
0088:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
0088:fixme:mountmgr:query_property Unsupported property 0x6
0088:fixme:mountmgr:harddisk_ioctl The DISK_PARTITION_INFO and DISK_DETECTION_INFO structures will not be filled
00b4:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFA, 01DFFF08
00ac:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
00ac:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
00ac:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
00ac:fixme:wineusb:query_id Unhandled ID query type 0x5.
00ac:fixme:wineusb:query_id Unhandled ID query type 0x5.
00ac:fixme:wineusb:query_id Unhandled ID query type 0x5.
00ac:fixme:wineusb:query_id Unhandled ID query type 0x5.
00ac:fixme:wineusb:query_id Unhandled ID query type 0x5.
00ac:fixme:wineusb:query_id Unhandled ID query type 0x5.
00ac:fixme:wineusb:query_id Unhandled ID query type 0x5.
Es konnte keine Anwendung gestartet werden, oder es ist keine Anwendung mit der angegebenen Datei verknüpft.
ShellExecuteEx fehlgeschlagen: Datei nicht gefunden.

wäre dir nicht mehr geholfen wenn du das windows in einer virtuellen maschine installierst inklusive der programme unter windows. virtualbox oder kvm/qemu bieten sich da an. als lösung sicher besser als sich mit wine herumzuschlagen.

p.s.: wenn dein fokus auf windows-spielen liegt ist ein dual-boot system mit einem “echten” windows wahrscheinlich sinnvoller.

Das Problem mit windows in der virtualbox ist folgendes.

Das Programm das ich installieren möchte interagiert mit einem weiteren Programm das ich so nicht in der Virtualbox lauflassen kann. (zumindest wüsste ich nicht wie).

Um was es geht.
WoW und Autofish

Mein fokus liegt nicht direkt nur beim Gaming, ist aber ein Teil davon.
Ich möchte längerfristig eingtlich ganz von windows weg in der hinsicht auf windows12.
Morpheus hat was das angeht auf YouTube ein recht interessantes video geposted

Weg von Windows aber nicht unbedingt weg von windows bassierten programmen / spielen.

1 Like

wenn du langfristig von win weg willst und trotzdem ein win ab und an brauchst dann entweder dual-boot oder du arbeitest dich stück für stück in virtuelle maschinen rein. prinzipiell lässt sich eine VM auch “aufbohren”. das stichwort heißt “passtrough” mit der eine vm dann zum beispiel auch die reale grafikkarte nutzen lässt. der rest wie usb, netzwerk etc. lässt sich auch so einbinden und nutzen. was spiele unter linux angeht, da würde ich dann doch eher ein “echtes” windows nutzen, also real ein dual-boot. nicht nur linux hinkt auch windows-updates sorgen immer wieder dafür das dinge plötzlich nicht mehr funktionieren.
ansonsten solltest du dir eine liste von den programmen machen die du brauchst und dann für jedes einzelne schauen welche alternativprogramme es gibt.
als “ambitionierter” hobbyfotograf dachte ich auch adobe ist unmöglich zu ersetzen. heute habe ich mit der kombination aus gimp und raw-bild-convertern einen ersatz gefunden mit dem ich sogar besser arbeiten kann als mit dem was adobe anbietet. man muss aber davon abkommen das linux kostenlos ist. das ist es nicht, denn es kostet deine zeit und geduld bereit zu sein in manchen sachen von null wieder anzufangen und das ist das schwere weil wir nun mal alle gewohnheitstiere sind die das neue scheuen.

Hier hast du ein Beispiel, wie man es machen könnte:

Wenn du damit die fixme Zeilen meinst, dann sind das Aufrufe der EXE, die in Wine nicht implementiert sind, bedeutet: Es gibt keine DLL-Übersetzung nach Linux. In vielen Fällen ist das nicht schlimm, weil es das nicht braucht, sondern optional ist, dennoch muss man auch erwähnen, dass Wine kein 100% Ersatz für Windows ist.

Jedenfalls ist das von Programm zu Programm anders, deswegen ist es extrem wichtig zu wissen, welches Programm es ist. Wine wird im Grunde auf Basis von Annwendungen entwickelt, das bedeutet: Y will AppX zum laufen bringen, dann entwickelt Y für AppX Implementierungen, die das Problem lösen sollen und öfters bringen Implementierungen auch andere Programme zum laufen. Deswegen ist Wine bis heute eher minimal auf bekannte Anwendungen zugeschnitten. Es versucht erst gar nicht ein Windows-Ersatz zu sein.

In deiner DEBUG Protokoll sehe ich keinen Fehler, das ist erstmal gut, nur dass die Datei nicht gefunden wurde, was eher darauf zu schließen ist, dass der Pfad zu der install.exe falsch ist, bzw es befindet sich nicht im Arbeitsverzeichnis (pwd).

battle.net scheint derzeitig nur über lutris zu laufen.

Über wine oder bottle ist es bei mir zumindest gerade nicht möglich.

Hi,
es empfiehlt sich Prefix und Architektur des Wine-Prefixes anzugeben.
Ansonsten setze den Befehl einmal in Hochkommas und geben den kompletten Pfad zur install.exe an. Sollte der Pfad Leerzeichen enthalten, dann in Anführungszeichen (Hochkommas sind ja schon benutzt :wink: )

env WINEPRFIX=deinPrefix WINEARCH=[win32|win64] wine 'runas /trustlevel 0x20000 "C:\...pfad...\install.exe" '

Ansonsten bei Spielen einmal auf protondb.com und eventl. winehq.org schauen. (Die AppDB ist aber meinst nicht wirklich aktuell)

Dual Boot habe ich schon am laufen. Aber wenn ich gleich wieder in Win boote wenn ich auf ein Problem stoße bringt mich das ja nicht weiter in meinem Vorhaben von Win weg zu kommen.

Was VM angeht, bin ich auch dabei mir das anzuschauen. Test und spiele damit rum, damit ich da so ein bisschen das Grundverständniss und Grundwissen aufzubauen.
Damit wenn ich mal doch Win brauche, es darüber machen zu können.

Das mit den Programmen die ich brauche, da bin ich dran. Für das Meiste habe ich schon alternativen (mal mehr oder weniger gut) gefunden. Für das was ich nicht gefunden habe, läuft mit ein paar Ausnahmen via Wine.

Und wenn ich es schaffe mich in Wine soweit einzuarbeiten / verstehen um eigenständig lösungen zu finden bzw einschätzen kann ob es möglich ist etwas zum laufen zu bringen (im Verhältniss Aufwand / Nutzen) bin ich meiner Ansicht nach ein gutes Stück weiter in meinem Vorhaben.

Ja die meine ich. Das ist schonmal ne gute Info was es bedeutet,

Das ist mir bewusst. Das konnte ich auch schon soweit in Erfahrung bringen.
Finde aber das Wine durchaus ein gutes Tool sein kann um Programme zum laufen zu bringen, welche es so in der art nicht nativ auf linux ebene gibt.

Das ist eine Info, die ich bis dato in der Deutlichkeit nicht hatte, daher Danke :slight_smile:

Es konnte keine Anwendung gestartet werden, oder es ist keine Anwendung mit der angegebenen Datei verknüpft.

Ist das die Rückmeldung welche darauf schließen lässt das der Pfad nicht passt?

Könntest du mir erklären was du damit meinst?
Arbeitsverzeichniss? pwd?

Wo wir dann wieder den Brückenschlag zum Thema Wine sind.
Gibt es den ein Tutorial oder ähnliches auf deutsch das einem das ganze erklärt.
Vor allem wie man eine saubere Grundeinrichtung macht, so das wenn etwas nicht funktioniert man es aller Warscheinlichkeit nach ausschließen kann das es an den Einstellungen liegt?

Das bedeutet dann das die install.exe sich “innerhalb” von Wine liegen sollte, damit es überhaupt richtig funktionieren kann?
Bis dato habe ich die Programme nur herruntergeladen und direkt aus meinem Download Ordner via doppelklick installiert. Was auch funktioniert hat. War das dann mehr Zufall das es funktioniert hat?
Und der Standart ist das sich die .exe innerhalb der von .wine (c:\ pfad zur .exe) befinden soll?

Lutris mit battle,net habe ich am laufen und für meine Spiele funktioniert das auch, dank einem Tutorial auf YouTube.
Steam läuft auch mit den Spielen die ich da so spiele.

Wenn du deine EXE nach $HOME/Downloads/ herunterlädst, dann musst du im Terminal das Arbeitsverzeichnis wechseln. Bedeutet:

cd $HOME/Downloads/

Der Befehl pwd (Print Working Directory) zeigt dir dein aktuelles Arbeitsverzeichnis an.
Oder du gibst den vollen Pfad an:

wine runas /trustlevel 0x20000 $HOME/Downloads/install.exe

Unter Umständen musst du auch den UNIX-Pfad in einen Windows-Pfad umwandeln, damit das Programm runas es versteht:

winepath --windows $HOME/Downloads/install.exe

und diesen stattdessen verwenden.
Könnte man auch so machen:

wine runas /trustlevel 0x20000 $(winepath --windows $HOME/Downloads/install.exe)

Leider ist es nicht so einfach mit Wine.

Windows ist von Grundauf ein “esoterisches Betriebssystem”, was bedeutet, dass nur ein innerer Kreis von Personen das Wissen darüber haben, wie es wirklich funktioniert. Der äußere Kreis kann nur Rückschluße ziehen auf Grundlage des Wissens, was der innere Kreis für notwendig erachtet preiszugeben. Damit sind wir Bereich von Spekulationen und Mutmaßungen.

Unter Linux kannst du es selbst lesen, erlernen und verstehen. Klar gibt es auch “Gurus”, aber diese verwenden auch freizugängliche Quellen.

Das einizige was ich zu Wine auf Deutsch anbieten kann ist:

ansonsten gibt es ja noch das englische Benutzerhandbuch:

Übersetzer sollte helfen. Das waren auch die einzigen Quellen, die ich verwende, abgesehen von praktischen Beispielen, die man im Net findet.

Meine Meinung dazu und ich nutze Linux schon sehr lange, lass das mit wine. das ist ein irrweg der am ende nur frustriert. wine als schnittstelle um windowsprogramme zu nutzen hat nie wirklich funktioniert. für einsteiger hört sich das mit wine sehr gut an aber wie immer, wenn etwas zu schön ist um wahrzusein dann ist es auch nicht wahr. wine funktioniert mit einigen wenigen anwendungen und das war es dann auch. installiere dir eine vm mit windows und nutze windowsanwendungen in der vm oder eben ein dual-boot. alles andere ist nur gefrickel das am ende nicht funktioniert.

Wirklich brauchbare Anleitungen auf deutsch zu finden ist schwierig.
Allerdings hatte ich damals recht gute Anleitungen auf Youtube gefunden.
Ansonsten, wie megavolt vorgeschlagen hat, per deepl oder google übersetzen.

Muss man nicht, funktioniert auch meistens ohne. Ich hatte allerdings auch schon Fälle, in denen es nicht so war, von daher hab ich mir angewöhnt die .exe innerhalb von wine abzulegen und auch in das Verzeichnis zu wechseln, wenn ich das Kommando ausführe.
Ausserdem braucht man sich keine Gedanken machen, ob die .exe mit einem Unix-Pfad als Parameter klar kommt.

Gut ich habe das Wine soweit getestet und bekomme das so nicht installiert.
Und das Wine frickelig / frickelwerk ist mir jetzt dank euren Infos und dem testen, jetzt auch bewusst.

Dann würde ich es gerne anders machen.

Meine Gedanken gehen hin zu VM (VirtualBox)

  • ich clone mein vorhandes win10
    → win7 backup funktion: Image erstellen von C: und D: auf meine NAS
  • lasse dann Win10 (neu install) in der VM laufen
    → Stelle dann dort das backup von der NAS her
    → voreinstellungen bezüglich C und D Partition nötig?
  • Danach verschiebe ich den VM ordner auf die freigewordene SSD
    → formatieren auf ext4
    → in Manjaro einbinden?
  • Durchreichen von Grafikkarte vll. auch anderen nötigen Dingen
    → in wie weit ist das überhaupt möglich

Könnte der Ablauf so funktionieren?
Falls Ja, dann würde ich ein neues Thema aufmachen falls Probleme auftreten sollten.

DANN (!) nehme gleich das Original Qemu mit dem grafischen Frontend KVM. Damit kannst du ohne Einschränkungen alles umsetzen. ABER du wirst Wochen wenn nicht sogar Monate brauchen um dich reinzuarbeiten.

ein richtig guter einstieg:
https://www.youtube.com/@PavolElsig/videos

unter umständen musst du eventuell die schatulle nochmal aufmachen und eine windows-lizenz für virtuelle maschinen erwerben, aber dann bist du auf der sicheren seite.

kleiner tip:
hier:

findest du eine vielzahl von linux-distros. nutze die zum erlernen von qemu/kvm (libvirt) um vm’s zu erstellen und den umgang zu erlernen.

Also geht das mit VirtualBox nicht?

Im Discover sehe ich nur die Garfische Verwaltung aber kein Qemu.
Unter Arch Linux - Package Search beomme ich ca. 2 seiten als ergebniss.

scheint mir auf den ersten blick auch wie ein gefrickel / gebastel wie wine.

Doch, aber virtualbox ist eben nur bis zu einem gewissen punkt kostenfrei und dann musst du entscheiden ob du geld dafür zahlen willst. kvm/qemu ist dagegen komplett kostenfrei, noch viel universeller und am ende (meine meinung besser).
virtualbox hinkt auch immer mal wieder wenn neue updates installiert wurden. prinzipiell geht virtualbox anfangs auch aber ich wollte dir gleich den fingerzeig geben. kvm/qemu ist nunmal das werkzeug das in der linuxwelt, zu recht, mittel der wahl ist.

also gut, dann muss ich mich wohl mit kvm/qemu beschäftigen.
hast du mir ein paar links zu Tutorials, Doku, etc? Falls möglich in deutsch.

Manager dafür sind virt-manager oder gnome-boxes. Beides verwendet libvirtd und qemu/kvm.

Man kann mit gnome-boxes anfangen, da die Möglichkeiten in der GUI recht übersichtlich sind und vieles vordefiniert. Würde ich für den Einstieg empfehlen. Man kann aber jederzeit zu virt-manager wechseln, da der Unterbau derselbe ist, aber mehr Möglichkeiten da sind, die einen auch überfordern können.

Also im Prinzip ziemlich selbsterklärend. Einfach durch das Menü klicken.

Treiber für Windows sind hier zum Beispiel hier:

virtio is der Treiber für die virtuelle Hardware und spice für die Interaktion zwischen Host und Guest. In Linux kann man das einfach mit dem Paket-Manager installieren.

So bin jetzt gerade dabei es zu Testen.
Mit Boxes konnte ich keine installation hinbekommen.

Jetzt teste ich es mit dem virt-manager, nach folgendem Tutorial
https://raphtlw.medium.com/how-to-set-up-a-kvm-qemu-windows-10-vm-ca1789411760

So konnnte das Win10 jetzt installieren.

Wollte mich jetzt mit dem GPU passthrough beschäftigen und bin auf folgendes Video gestoßen.

wenn ich das dort richtig verstanden habe funktioniert der passthrough nur wenn man 2 Grafikarten im Rechner hat.
Jeweils eine für den Host, in dem Fall hier Manjaro
Und eine für die VM (win 10)

Das beide die selbe Grafikkarte nutzen geht dann wohl nicht, soweit wie ich das verstanden habe.

bitte poste mal den obligatorischen

inxi --admin --verbosity=7 --filter --no-host --width

igpu vorhanden ?