https://bugs.winehq.org/show_bug.cgi?id=55600
Bug ID: 55600 Summary: Connecting a GPU after X was started causes wine to break Product: Wine Version: 8.15 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: activeds Assignee: wine-bugs@winehq.org Reporter: mark@unserver.de Distribution: ---
Hi
I have a notebook with Intel GPU and an external Nvidia connected via Thunderbolt. Native software works always fine: vkcube, glmark2, glxgears, vkmark all good, on booth GPUs and their 32 bit versions all run fine as well. More complex stuff runs fine too.
And wine also runs fine, as long as i connect the Egpu before i start X. But if i connect the eGPU after X was started, wine breaks. No matter what i run, even winecfg or Explorer.exe. The system starts to stutter (mouse moves fine, background processes seem to run fine too, but X hangs for a few seconds, then works for a brief moment, hangs again, ...) and no window ever appears.
Wine reports: 0138:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
I can happily provide full logs, configs and the usual stuff, but as i do not know whats necessary i refrain from dumping a wall of text until i'm asked to do so.
One thing i noted is that xrandr reports two providers when the Gpu was connected before X was started, and only when it was connected after. But keep in mind that everything works in both cases except wine. Another thing, as soon as the stutter begins i get kernel messages: [ 1413.308613] i915 0000:00:02.0: [drm] *ERROR* LSPCON init failed on port D [ 1414.701163] i915 0000:00:02.0: [drm] *ERROR* Failed to probe lspcon in time with the stutter and on each stutter.
I can reproduce the problem even without an eGpu by just unbinding a Gpu and rebinding it after X is started: Unbind: echo "1" > /sys/bus/pci/devices/0000:01:00.0/remove Rebind: echo '\_SB.PCI0.PEG0.PEGP._ON' > /proc/acpi/call; echo 1 > /sys/bus/pci/rescan
I can always force wine onto the Intel GPU VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/intel_icd.i686.json" wine whatever.exe and then it works. But only on the intel Gpu, which kind of defeats the purpose of an eGpu :D