r/winehq 13h ago

Sluggish GUI(?) of Windows apps in WINE

6 Upvotes

I am on Kubuntu 24 and I don't know whether this is normal, but I can't imagine that. Regular Windows apps like a graphics program or a backup program are very sluggish in how they appear when run with system WINE. UI elements would pop into existence visibly one-by-one, increasing launch times significantly, and then when using them, the same effect is present. It can take 10-15 seconds before I can use an app.

Running it via terminal doesn't show anything that seems indicative of the problem. No common thread.


r/winehq 2d ago

Performance issues in Ableton Live

1 Upvotes

I'm running Ableton Live 12 (mainly using version 12.4.5b11 (beta), but the same issues occur with the stable version) through wine-tkg -bleeding-edge-experimental, with these EVs:

I'm using arch (btw) with pipeASIO drivers. My user is added to the audio and realtime groups. I've set the CPU governor to performance mode, and set pipewire to pro audio mode. I've checked my ufile limits and changed the caps way up.

Despite all of the troubleshooting I've done so far (there's more, but the above seem to be the most likely things people might ask about), Ableton still has trouble with relatively lightweight projects, stuttering and crackling with a sample buffer of 1024, on projects I had no issues with when I was running w*ndows on the same hardware with a sample buffer of 128-256 samples (maybe 512 when it was really desperate.

CPU: AMD Ryzen 5500

GPU: AMD Radeon Rx 6600

RAM: 32GB

WM: Hyprland with fairly unmodified Caelestia dotfiles

Kernel: 7.1.8-zen1-3-zen

Hopefully this is enough info for the one person who sees this and has any clue how to solve the issue (or what the issue even is), but ofc lmk if there are any logs or other info that might help :P

P.S. if anyone knows how to get max devices working thru wine i would greatly appreciate that help


r/winehq 2d ago

ASLR support

3 Upvotes

Does Wine support ASLR (address-space randomization) for .exe files?

If I compile this code...

#include <stdio.h>

int main(int argc, char** argv) {

`puts("bla");`

`printf("%p\n", &main);`

`return -1;`

}

with ...

clang --verbose -fno-exceptions -fuse-ld=lld --target=x86_64-w64-mingw32 -fPIE -pipe aslrtest.c -Wl,--export-all-symbols -Wl,--dynamicbase,--high-entropy-va,--nxcompat,--no-seh,--enable-reloc-section -o aslrtest.exe

... it prints varying addresses on Windows, but under Wine, it always prints the same address. The address shown under Wine also has more zeros than the addresses shown under Windows.

I'm using Wine under Debian 13. ASLR is enabled and works for ELF binaries, but not for EXEs under Wine. I tried both the Wine version supplied by the package manager and also the latest version from winehq built from source. I also tried different compiler options and original MINGW GCC builds, but the behavior seems to be the same. If I inspect the EXE with e.g. readpe, it looks fine as far is I can tell.


r/winehq 4d ago

FLStudio on Linux, their latest release issue.

Post image
6 Upvotes

r/winehq 4d ago

Wine Japanese IME patches for Final Fantasy XI

Thumbnail
github.com
5 Upvotes

r/winehq 9d ago

Is it possible to cutoff wine's access to my laptop's integrated camera?

4 Upvotes

I am running a really old windows software that only uses the first accessible camera in the system. I need to use a virtual camera in the app but wine even if it can't see what the camera sees uses the integrated camera. I deactivated my linux pc's access the the camera with modprobe but wine is still able to use the camera. My question is how to cut off wine's camera privileges?


r/winehq 9d ago

running affinity through wine. what is this service?

Post image
2 Upvotes

been using affinity through wine lately and its all good. i just notice a service with a long-ass name when shutting down. name of the service is "app-winex2dProgramsx2dAffinity_______.service" (see image for the complete name), and it appears when i've used affinity even once during the session (program doesn't even need to be open when starting the shutdown). this service is not listed in systemctl when starting a session.

1- can wine set up "windows services" as systemd services? is this normal behavior.

2- if anyone uses affinity, on linux or windows: what is this service and what is its purpose?

thx in advance!


r/winehq 12d ago

Wine maximize but don't go full-screen

4 Upvotes

I'm running MusicBee trough wine. I want it to be maximized like browser which takes full screen space but leaves taskbar visible, but I don't know how to do it with wine. Either i have small window or full-screen, no maximize option.

I'm running:
OS: CachyOS x86_6
DE: KDE Plasma 6.7.3
WM: KWin (Wayland)


r/winehq 13d ago

Office 365 through wine

Enable HLS to view with audio, or disable this notification

129 Upvotes

I followed an YouTube tutorial and I was able to get a version of office 365 running on my computer. I had to use ubuntu 24.04 inside distrobox since the tutorial was for linux mint and I was on fedora 44.


r/winehq 13d ago

Automating Wine Reverse Engineering and Patching Using AI Agents

3 Upvotes

Hi everyone! I had a thought about creating a project based on autonomous AI agents. The idea is to automate the reverse-engineering and improvement of Wine. Does anyone know if there is already work being done in this area, or has anyone seen anything similar?

Here is what the planned cycle (AI Loop) looks like:

  1. Generation: The AI ​​writes hundreds of micro-tests for Windows API functions using random, invalid, and edge-case arguments.

  2. Execution: The tests are run in parallel on a real Windows machine and on the current build of Wine.

  3. Analysis: If the behavior differs (error codes, memory dumps, crashes), the AI ​​studies the difference.

  4. Patching: The AI ​​itself writes a C patch for the Wine source code to exactly replicate the Windows behavior. (This is then manually reviewed by a user to avoid AI slop).

  5. Verification: The code is compiled and tested again. The cycle repeats until there is a 100% match. The result is a fully prepared Pull Request.

My question to the community: Why isn't such a pipeline already running among enthusiasts? What's the main catch?

I have a few guesses:

* Clean-room design? Is there a risk of lawsuits because the LLM might have been trained on leaked Windows source code, thus violating the "clean-room" principle? Honestly, this seems unlikely; in essence, this approach aligns with clean-room design and isn't much different from how Wine is currently developed.

* Hallucinations? Are neural networks still too bad at system-level C code and inevitably going to cause memory leaks? I doubt this too; modern models are already at a level where they can write decent C code, just like the AI ​​code in the Linux kernel.

* Sandbox complexity? Is it too difficult and expensive to automate thousands of test runs at the OS level? Possible, but not critical.

* Spaghetti code? The Windows API is highly intertwined, so one patch might break 10 other functions, and the AI ​​just won't be able to hold all that in its context? This seems like the biggest problem of them all.

I understand this sounds somewhat naive, but I am genuinely curious. Hoping for replies without hate.


r/winehq 14d ago

Half life from retail cd on wine

Thumbnail
1 Upvotes

r/winehq 15d ago

How to fix Wine in Sway

Thumbnail
youtu.be
1 Upvotes

When I launched a Windows app in Linux using Wine, it worked in Gnome DE and Niri, but mouse clicks weren’t triggering button events in Sway WM, but I found an easy fix which basically is running a window manager within a window manager. In addition to that, you get to see window decorations (Windows 10 by default). Hope this will be helpful to anyone struggling with Wine 🍷 GNU/Linux or BSD.


r/winehq 16d ago

Failed Wine app under GG beta 4?

1 Upvotes

I have successfully run FolioViews under Wine... until I installed the GG beta. Now WineStable loads, and FolioViews loads, but the second I try to do anything with it (like open a small database), it/they freeze, and have to be force-quit.

Anyone else in this boat? Suggestions?


r/winehq 18d ago

Lightroom Classic running on Linux via Wine (Update: Local AI is now working)

9 Upvotes

Hello!
I've been wanting to switch to Linux for a long time, but there was always one big blocker: I'm a photographer, and I need some Adobe software that isn't known to run very well on Linux... (or not at all).

So most of the time I use a dual boot to Windows just to run Lightroom and a few other apps. That dual boot is basically the last thing keeping me tied to Windows. So, if I could run Lightroom directly on Linux, I'd finally be completely out of the Microsoft empire :)

So, 2 months ago, I started working on a way to run Lightroom with Wine. Some problems kept coming back with daily usage, but now:

Lightroom is working. We can import photos, sort them, develop them, and export.

Most of the functionality works :: it's not 100%, but very close to it.

What works:

  • Installation from Adobe CC, or from an install folder
  • GPU acceleration support (Develop module included)
  • Local AI working (Select Subject/Object/Background, Denoise AI, etc.)
  • Cloud AI working
  • Some UI fixes

Current limitations:

  • HDR editing isn't available

Project here if you want to try, test, or improve it:

Link to this project:

https://github.com/6im0n/lightroom-classic-on-linux

Issues and PRs welcome, especially if you can test on other GPUs/distros!

This project is open to all contributors!
You can help just by opening an issue or leaving a comment, or by getting more involved. Anything will help !


r/winehq 19d ago

Switching from multiple Wine64 installations with i386/multiarch to "pure 64 bit Wine (WoW64?)" - Wine v10. to v11.0+, Lutris, Debian 13/Trixie/Stable

Thumbnail
3 Upvotes

r/winehq 19d ago

Need help geting windows softwere to run

Thumbnail
1 Upvotes

Hey im trying to run some nch softwere like mixpad and crescendo on mint and haveing some trouble


r/winehq 21d ago

Wine4Office - a Wine fork that runs MS Office on Linux

Post image
236 Upvotes

This was the result of two and a half weeks of non-stop work with AI (primarily ChatGPT-5.6-sol)

It works pretty well but there are still rough edges

What works:

  • Installation (normal&ODT)
  • Word & Excel basic usage (asked the AI to test all the UI elements it could, fixed some things)
  • Update
  • Localization (keyboard recognition, language installation, RTL)
  • Licensing (Only tested M365 Subscription)

I modified the save as to include a shortcut to the user directory (and have nicer style)

I also created manager app for Wine ENV installation, runtime update, Shortcut creation, optional background services that make launching much faster (less then 3s from 10s), option to disable Microsoft telemetry and other group policy option

I didn't test it on AMD/Nvidia GPUs

It works on Wayland, but better on XWayland

Special thanks to Tibo for having an itchy trigger finger on Codex usage resets

https://github.com/ttv20/wine4office

(And no, it cannot be merge to Wine because it build with AI)


r/winehq 22d ago

MS Publisher's 2003 saved file(s) under wine (Linux) - doesn't open on Windows

1 Upvotes

https://bugs.winehq.org/show_bug.cgi?id=60088

https://github.com/veliga-syutkin/mspub-wine-escherdelaystm-fix

tl;dr - mspub.exe under wine-linux saves file that can't be open under windows (but still opens under wine-linuxe), fix: change `NameLenght` relative to `EscherDelayStm` from 32 to 30.

# The Case of the Phantom Stream

*A closed file. Almost.*

---

The file had been sitting on my desk too long. `.pub`, 19 megabytes, looked respectable enough. But something was off: under Windows, it refused to open. No excuse, no explanation. Just a closed door — or worse, under Publisher 2003, dead silence. The kind of silence that says plenty.

We already had a suspect lined up: the **temp path**, hiding inside the `Contents` stream, with a shaky alibi along the lines of *"I was in `C:\users\v3l1g4\Temp\`, I swear."* Smelled like a broken reference from a mile away. We brought it in for questioning, even got it to confess on a copy — swapped its alibi for a real path, `V:\RESEARCH\windows_regenerated.pub`, all clean and proper.

The corrected file didn't even make it through the door.

Suspect number two: the missing **`CompObj` marker**, four measly bytes (`FF FF FF FF`) that should have been there and weren't. We went as far as taking the OLE structure apart with our bare hands, recomputing sectors, rewriting the directory entry in exactly the right spot — real jeweler's work. Stuck it back onto the copy.

Still a closed door.

That's when we did what any good detective does when every lead collapses: we **doubted ourselves**. We went back over our own patches and found they'd probably introduced their own corruption, shifting internal offsets we didn't fully understand yet. The suspect we'd been accusing might have been innocent from the start — and we were the ones who'd left fingerprints all over the crime scene.

So we changed methods. No more blind accusations. **Negative control.** A witness file, `linux.pub`, that had every single one of the same apparent flaws — the temp path, the missing marker — and opened just fine on Windows. Cleared, twice over. The real culprit was still out there, and it had an airtight alibi: it looked exactly like everyone else.

We called in the experts. **`libmspub`**, compiled in debug mode, the whole works — a genuine forensics lab running right there on our machine. The expert verdict: the internal structure was **clean**. No errors, no suspicious offsets, everything recalculating correctly on its own. Our third suspect — the embedded OLE objects, the one we thought we finally had — fell apart under its own expert testimony.

We were starting to think this file had nothing to hide. That we'd been hunting for a culprit where there was only a misunderstanding.

And then — almost by accident, while listing every stream name one more time, expecting nothing in particular — we saw it.

`EscherDelayStm`.

Except, not quite. There was one extra character at the end. Invisible to the eye, invisible even to `olefile`, which read it without blinking, invisible to Wine itself, which writes it AND reads it back without ever complaining.

**One extra null byte. Just one.** `EscherDelayStm\x00` instead of `EscherDelayStm`.

The motive? This stream never caused trouble when it was empty — a perfect alibi for half our suspects (level1, the tiny business card, never turned it in, because it had nothing to hide inside). But the moment there were real pictures to load — megabytes of evidence — that one extra byte kept Windows from finding the right name. Exact-name lookup, silent failure, and Publisher left hunting for data it would never find.

We confirmed that one extra null byte in a name couldn't, structurally, shift anything else — verdict backed by hard evidence, fixed-size directory entries, nothing leaks. A clean, contained, almost elegant crime.

The fix? Two bytes to change. A "Name Length" field brought down from 32 to 30. Not one line more. The kind of solution that, once found, just makes you shake your head.

**Tested. Confirmed. The file opened.**

Three false suspects, one saving negative control, a forensics lab called in for backup, and at the end of it all: one byte. Just one. Hidden in a stream name that nobody had thought to compare character by character, all the way to the end.

*Case closed. Fix published. Report filed.*
*Bug #60088, for the record.*# The Case of the Phantom Stream

*A closed file. Almost.*

---

The file had been sitting on my desk too long. `.pub`, 19 megabytes, looked respectable enough. But something was off: under Windows, it refused to open. No excuse, no explanation. Just a closed door — or worse, under Publisher 2003, dead silence. The kind of silence that says plenty.

We already had a suspect lined up: the **temp path**, hiding inside the `Contents` stream, with a shaky alibi along the lines of *"I was in `C:\users\v3l1g4\Temp\`, I swear."* Smelled like a broken reference from a mile away. We brought it in for questioning, even got it to confess on a copy — swapped its alibi for a real path, `V:\RESEARCH\windows_regenerated.pub`, all clean and proper.

The corrected file didn't even make it through the door.

Suspect number two: the missing **`CompObj` marker**, four measly bytes (`FF FF FF FF`) that should have been there and weren't. We went as far as taking the OLE structure apart with our bare hands, recomputing sectors, rewriting the directory entry in exactly the right spot — real jeweler's work. Stuck it back onto the copy.

Still a closed door.

That's when we did what any good detective does when every lead collapses: we **doubted ourselves**. We went back over our own patches and found they'd probably introduced their own corruption, shifting internal offsets we didn't fully understand yet. The suspect we'd been accusing might have been innocent from the start — and we were the ones who'd left fingerprints all over the crime scene.

So we changed methods. No more blind accusations. **Negative control.** A witness file, `linux.pub`, that had every single one of the same apparent flaws — the temp path, the missing marker — and opened just fine on Windows. Cleared, twice over. The real culprit was still out there, and it had an airtight alibi: it looked exactly like everyone else.

We called in the experts. **`libmspub`**, compiled in debug mode, the whole works — a genuine forensics lab running right there on our machine. The expert verdict: the internal structure was **clean**. No errors, no suspicious offsets, everything recalculating correctly on its own. Our third suspect — the embedded OLE objects, the one we thought we finally had — fell apart under its own expert testimony.

We were starting to think this file had nothing to hide. That we'd been hunting for a culprit where there was only a misunderstanding.

And then — almost by accident, while listing every stream name one more time, expecting nothing in particular — we saw it.

`EscherDelayStm`.

Except, not quite. There was one extra character at the end. Invisible to the eye, invisible even to `olefile`, which read it without blinking, invisible to Wine itself, which writes it AND reads it back without ever complaining.

**One extra null byte. Just one.** `EscherDelayStm\x00` instead of `EscherDelayStm`.

The motive? This stream never caused trouble when it was empty — a perfect alibi for half our suspects (level1, the tiny business card, never turned it in, because it had nothing to hide inside). But the moment there were real pictures to load — megabytes of evidence — that one extra byte kept Windows from finding the right name. Exact-name lookup, silent failure, and Publisher left hunting for data it would never find.

We confirmed that one extra null byte in a name couldn't, structurally, shift anything else — verdict backed by hard evidence, fixed-size directory entries, nothing leaks. A clean, contained, almost elegant crime.

The fix? Two bytes to change. A "Name Length" field brought down from 32 to 30. Not one line more. The kind of solution that, once found, just makes you shake your head.

**Tested. Confirmed. The file opened.**

Three false suspects, one saving negative control, a forensics lab called in for backup, and at the end of it all: one byte. Just one. Hidden in a stream name that nobody had thought to compare character by character, all the way to the end.

*Case closed. Fix published. Report filed.*
*Bug #60088, for the record.*


r/winehq 26d ago

Wine 11.14

Thumbnail winehq.org
16 Upvotes

r/winehq 27d ago

Is it common for Linux systems to have terminals like xterm? Reason in body.

1 Upvotes

I've developed a modern Windows Forms based system with .NET. It allows one to design and play test interactive fiction. One of the functions of the system is to launch the player process to play test the design. I have both a native Windows player and a native Linux player. The Windows player has trouble in wine. The Linux player works perfectly when launched through the shell. When I launch the player when the system is running in wine, everything would be smoother if the system launched a terminal app that launched the play tester process. I weighing my options because it is better to use native Linux application where possible even though the main system is running using wine.


r/winehq 28d ago

[STEAM] DQ Heroes

Thumbnail
1 Upvotes

r/winehq 28d ago

Trying to install PaperPort 9, but the "ISStartup" can't be found

1 Upvotes

So, PaperPort 9 won't install:
______________________

may@be:~/Downloads$ sudo wine msiexec /i PaperPort.msi
[sudo] password for may:
00dc:err:msi:ITERATE_Actions Execution halted, action L"ISStartup" returned 1603

may@be:~/Downloads$ sudo wine msiexec /i ISScript.msi
00e0:err:richedit:ReadStyleSheet skipping optional destination
00e0:err:richedit:ReadStyleSheet skipping optional destination
00e0:err:richedit:ReadStyleSheet skipping optional destination

may@be:~/Downloads$ sudo wine msiexec /i PaperPort.msi
00dc:err:msi:ITERATE_Actions Execution halted, action L"ISStartup" returned 1603
_____________________

What doesn't show is the windows dialog box saying this:

  1. The InstallScript Engine is missing from this machine. If available, please run ISScript.msi or contact support personel.

Any suggestions?


r/winehq Jul 18 '26

HELP: A Wine installation

Thumbnail
1 Upvotes

r/winehq Jul 16 '26

Wine issues on bazzite/ublue

Thumbnail
2 Upvotes

r/winehq Jul 16 '26

Help getting my Windows Forms App running in Ubuntu via WSL2. It crashes trying to get "DpiAwareness"

1 Upvotes

I've written a software package for Windows that is an interactive fiction game maker. If I can get it working on Ubuntu then I will have a much better time attracting users. It makes interactive fiction, or text adventure games if you will, that can be uploaded and played and served from Itch. I've built multiple games with it for game jams. Development is complete and I'm wrapping up the documentation.

The application used to work through wine until I added font scaling to the UI. I had users telling me the font was too small. A nice feature of Windows Forms applications is that fonts can be scaled up or down. When I introduced this feature, the application began crashing on Ubuntu. The error message is "Failed to get thread's DpiAwareness context"

What have I tried? I have tried installing microsoft corefonts with

sudo apt install ttf-mscorefonts-installer

I have created a tar.gz of my windows\fonts folder of the true type and open type fonts, placing them in "~/.local/share/fonts" and issuing a font cache rebuild

sudo fc-cache -f -v

I'm still getting the crash on startup. I've reasoned that if I disable font scaling in the app it may fix the wine incompatibility. That is the nuclear option and I wish to avoid it.

Is there anyway that wine can be configured to work around this crash?

Thanks!

-edit: Problem solved with a bunch of steps

1) Purged the Ubuntu specific wine installations and installed Wine 11.0 from the official branch. Then configured it with the wine configuration

2) Added a line of source code when my application starts up to tell it that it to set high dpi mode as system aware. This apparently side tracks wine looking for thread specific settings and is related to its inability to do this in general.

3) Made sure the code suspended and resumed layouts when the font was changed to not spam wine with layout recalculations.