https://bugs.winehq.org/show_bug.cgi?id=56756
Bug ID: 56756
Summary: Support the asahi gpu driver
Product: Wine
Version: unspecified
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: d3d
Assignee: wine-bugs(a)winehq.org
Reporter: m1m1k4tz(a)protonmail.com
Distribution: ---
When using krun + boxwine it complains that no card selector is available for
the vendor and polygonoffset scale factor detection failed
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56643
Bug ID: 56643
Summary: Ntdll support for custom baud rates
Product: Wine
Version: unspecified
Hardware: Other
OS: other
Status: UNCONFIRMED
Severity: enhancement
Priority: P2
Component: ntdll
Assignee: wine-bugs(a)winehq.org
Reporter: testator(a)protonmail.ch
Implementing custom baud rates across different OS's would be non-trivial but a
useful prerequisite for some obscure apps like qemu or the "mode" command.
Termios2 is a linux specific implementation of custom baud rates. In wine-9.8
there was a commit, 898ab8dab19d498c17859f39a55e317ee7e367a5 , that added
termios2 usage via glibc headers which breaks compilation on musl based
systems, doesn't work in osx, and doesn't work in *bsd.
In
https://opensource.apple.com/source/IOSerialFamily/IOSerialFamily-55/IOSeri…
there is a way to set custom baud rates for osx via IOSSIOSPEED e.g
<IOKit/serial/ioss.h> . Setting the rate on linux via <linux/termios.h> instead
of the glibc specific extensions of <termios.h> would work as well with how its
currently implemented in wine-9.8. It looks like net/openbsd use termios1
modified to their own thing to allow setting arbitrary speeds via tcsetattr
https://github.com/openbsd/src/blob/master/lib/libc/termios/tcsetattr.c e.g
<termios.h> . In general there doesn't seem to be a common unix implementation
for setting custom baud rates and looks like a huge complicated mess to
implement. The musl devs found this out already it seems
openwall.com/lists/musl/2024/04/11/8 .
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=50591
Bug ID: 50591
Summary: ReadFile schedules async read when ReadIntervalTimeout
is MAXDWORD
Product: Wine
Version: 6.1
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ntdll
Assignee: wine-bugs(a)winehq.org
Reporter: aaron.knister(a)gmail.com
Distribution: ---
Created attachment 69269
--> https://bugs.winehq.org/attachment.cgi?id=69269
ntdll: NtReadFile async reads always return success when avail_mode TRUE
TeraTerm is ending up with missing data when it reads from a COM/Serial port.
TeraTerm sets ReadIntervalTimeout to MAXDWORD and then calls ReadFile
asynchronously, and if there's pending IO it waits 1 second for the overlapped
struct event to be signalled. If the signal is received, it processes the
received I/O, else continues on and will perform another ReadFile. This is the
code snippet:
if (!ReadFile(cv->ComID,&(cv->InBuff[cv->InBuffCount]),
InBuffSize-cv->InBuffCount,&C,&rol)) {
if (GetLastError() == ERROR_IO_PENDING) {
if (WaitForSingleObject(rol.hEvent, 1000) != WAIT_OBJECT_0) {
C = 0;
}
else {
GetOverlappedResult(cv->ComID,&rol,&C,FALSE);
}
}
What's happening in WINE, is ReadFile returns non-zero with ERROR_IO_PENDING
and the WaitForSingleObject times out. The asynchronous read *does* complete
after the timeout, but by that point the application has given up and moved on.
I initially thought the application was at fault, because it should retry if
the wait times out. However, in the documentation for ReadFile it points to
documentation about COMMTIMEOUTS
(https://docs.microsoft.com/en-us/windows/win32/api/winbase/ns-winbase-commt…)
which says the following:
A value of MAXDWORD, combined with zero values for both the
ReadTotalTimeoutConstant and ReadTotalTimeoutMultiplier members, specifies that
the read operation is to return immediately with the bytes that have already
been received, even if no bytes have been received.
To me, that means Wine ought not to be triggering an asynchronous read when the
comm timeout parameters are set as indicated above.
I coded a simple fix, which is in NtReadFile, if avail_mode is TRUE return
success even if no bytes were read. See attached patch. It works for TeraTerm,
I have no idea if it causes other regressions.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56821
Bug ID: 56821
Summary: Keyboard modifiers behavior is unreliable
Product: Wine
Version: unspecified
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: winex11.drv
Assignee: wine-bugs(a)winehq.org
Reporter: rikul(a)inbox.ru
Distribution: ---
Sometimes, modifiers are unreliable in combination with letters.
The issue stems from Wine commit made 15 years ago:
https://gitlab.winehq.org/wine/wine/-/commit/a4a5a2ec121eeb2a7cd4ffbb5ba7b2…
Wine attempts to sync with the Linux SCIM keyboard state, leading to scenarios
where processing modifiers KeyUp events cause the state of ignoring them.
Attached example shows extra WM_KEYUP message of “Shift” in combination with
“e”.
Wine result:
KeyDown: 16
KeyUp: 16
KeyDown: 69
KeyUp: 69
KeyUp: 16
Expected result:
KeyDown: 16
KeyDown: 69
KeyUp: 69
KeyUp: 16
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56830
Bug ID: 56830
Summary: osu! setup fails to install
Product: Wine
Version: 9.10
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: svengrewe(a)posteo.de
Distribution: ---
Wine version: 9.10
Setup program:
https://archive.org/details/osuinstall-old
For another issue I stumbled upon this. This old setup doesn't seem to work at
all without .Net Framework 3.5 or so.
Workarounds I needed:
$ wine osu\!install.exe /extractcab
$ winetricks dotnet40
$ wine SupportFiles/osu\!.msi
The first EXE wants to install .Net Frameworks I think.
The MSI file in it needs it to succeed.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56832
Bug ID: 56832
Summary: universal document converter 6.8 fails to install
Product: Wine
Version: 9.10
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: alois.schloegl(a)gmail.com
Distribution: ---
Created attachment 76642
--> https://bugs.winehq.org/attachment.cgi?id=76642
debug log when running udc68-free-setup.exe
universal document converter 6.8 fails to install. It shows some dialog
windows, the last two dialog windows show these error messages.
"Environment variable issues detected ..."
"Unable to fix Enviroment variable issue"
The wine debug log is attached.
In order to reproduce, download and run
https://www.print-driver.com/files/udc.exe
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56794
Bug ID: 56794
Summary: Mono error when trying to run Osu
Product: Mono
Version: main
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: mono
Assignee: wine-bugs(a)winehq.org
Reporter: svengrewe(a)posteo.de
CC: madewokherd(a)gmail.com
Distribution: ---
Created attachment 76600
--> https://bugs.winehq.org/attachment.cgi?id=76600
Console Output
Osu Installer:
https://m1.ppy.sh/r/osu!install.exe
Starting the game gives an error. Doesn't happen with .NET Framework 4.0.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=47778
Bug ID: 47778
Summary: world of warcraft in game store browser crashes
Product: Wine
Version: 4.15
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: goin2mars(a)protonmail.com
Distribution: ---
Created attachment 65266
--> https://bugs.winehq.org/attachment.cgi?id=65266
backtrace from running in game wow browser opened when using shop feature
wow browser : BlizzardBrowser.exe found in /home/me/.wine/drive_c/Program Files
(x86)/World of Warcraft/_retail_/UTILS
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56823
Bug ID: 56823
Summary: Genshin Impact game rendering error.
Product: Wine
Version: 9.0
Hardware: x86-64
OS: MacOS
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: 1519364926(a)qq.com
Created attachment 76631
--> https://bugs.winehq.org/attachment.cgi?id=76631
3 program error details
Genshin Impact game rendering error.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=56650
Bug ID: 56650
Summary: Report on SELinux 'execheap' Issues with
wine-preloader
Product: Wine
Version: 9.8
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: chplee(a)gmail.com
Distribution: ---
This report was prepared by ChatGPT. I'm sorry that my own ability is not
enough to support such a large amount of code analysis, so I have to turn to
ChatGPT.
I'm filing this report because a lot of people are suffering from this problem.
Please refer to:
https://bugzilla.redhat.com/show_bug.cgi?id=2247299
### Report on SELinux 'execheap' Issues with `wine-preloader`
#### Introduction
The `wine-preloader` program is a crucial part of the Wine software, which
allows Windows applications to run on Unix-like operating systems. An issue has
been identified where SELinux prevents `wine-preloader` from executing code in
writable memory regions, raising security alerts related to 'execheap'
accesses. This report identifies potential sources of the issue in the program
and provides recommendations for modifications.
#### Potential Issues Identified
1. **Memory Mapping and Protection Setup**:
In `wine-preloader`, memory mapping is handled with protections set that
could potentially include both write and execute permissions. This is
particularly evident in the function calls to `wld_mmap`, where memory
protection flags are set based on the segment flags parsed from ELF headers.
```c
wld_mmap((void *)(l->l_addr + c->mapstart), c->mapend - c->mapstart,
c->prot, MAP_FIXED | MAP_COPY | MAP_FILE, fd, c->mapoff);
```
Here, the `c->prot` can contain combinations of `PROT_READ`, `PROT_WRITE`,
and `PROT_EXEC` based on the segment's flags.
2. **Dynamic Code Generation**:
Dynamic generation or modification of code could potentially occur, though
not explicitly shown in the code snippets provided, it could be inferred from
the overall functionality where executable code may be modified or generated
on-the-fly.
3. **Modifying Memory Protection Attributes**:
The use of `wld_mprotect` to change the protection attributes of memory
pages could lead to states where pages are both writable and executable.
```c
wld_mprotect((caddr_t) (zero & ~page_mask), page_size, c->prot|PROT_WRITE);
```
Although this snippet aims to make pages writable temporarily, if combined
inappropriately with executable flags elsewhere, it could trigger SELinux
policies.
#### Recommendations
- **Restricting Memory Permissions**:
Enforce strict separations between writable and executable pages. Modify the
logic that sets memory protections to ensure that no memory page is both
writable and executable at the same time. This can be achieved by adjusting the
ELF segment loading routines to separate code and data segments clearly.
- **Use of Memory Protection Changes**:
Implement a clear two-step process for handling memory that needs to be
executable:
- Initially, set memory to writable to modify or generate code.
- Once modifications are complete, change the memory protection to executable
only (removing write permissions).
- **Code Audit and Testing**:
Conduct a thorough audit of the places where memory permissions are set. Test
under a SELinux-enforced environment to ensure that the adjustments meet
security policies without hindering functionality.
- **SELinux Policy Adjustments**:
If `wine-preloader` inherently requires certain operations that SELinux
policies restrict, consider creating custom SELinux policy modules that allow
specific actions while maintaining overall security. This should be done
cautiously to avoid creating unnecessary security holes.
#### Conclusion
Adjustments to `wine-preloader` should focus on ensuring that memory regions
are either writable or executable but never both. By adhering to security best
practices and possibly adjusting SELinux policies, `wine-preloader` can
function effectively without triggering security violations in SELinux
environments.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.