Add local docker build scripts - #8
Open
granitrocky wants to merge 1 commit into
Open
Conversation
Bugged if you try to build arm64 and x86 at the same time, but typically you would use this to test on your own device anyway.
The412Banner
added a commit
to The412Banner/proton-wine
that referenced
this pull request
Jul 16, 2026
…id display config) - build GameNative#12 Device A/B (coordinator): mio PLAYS on Proton 11, BAILS on our build GameNative#11 with display-config errors P11 does not have: err:system:lock_display_devices Failed to read display config. err:system:find_monitor_from_path Failed to find monitor "DISPLAY\Default_Monitor\0001&0000" err:winediag:nodrv_CreateWindow "The explorer process failed to start." mio queries the CCD monitor path, our build can't resolve it -> mio's assertion -> exits before its render device. Root cause: build GameNative#8 dropped DISPLAY_DEVICE_PRIMARY_DEVICE from the driver-less fallback source in default_update_display_devices. That fixed desktop geometry but left the written display config with NO primary source -> update_display_cache_from_registry() fails -> lock_display_devices 'Failed to read display config' -> find_monitor_from_path can't resolve the monitor path. Fix: drop the build-GameNative#8 hunk (primary-flag drop + station-trace instrumentation) from the sysparams patch, restoring vanilla's default_update_display_devices with PRIMARY intact. This matches Proton (source_flags = ATTACHED|PRIMARY|VGA, byte-identical) so the config has a primary and reads back cleanly. Kept the build-GameNative#7 mode-emulation flags (emulate_modeset/modelist default TRUE) which also match Proton. Note: if desktop geometry regresses, the proper geometry fix is winex11 display-device enumeration (the real reason the nodrv default is used at all), not the sysparams flag - a separate follow-up; the config-read (mio blocker) is fixed here. Keeps XSTATE fixes (GameNative#9+GameNative#11) + all else; esync/fsync + sdk35 deferred. Device boot-test before handoff.
The412Banner
pushed a commit
to The412Banner/proton-wine
that referenced
this pull request
Aug 22, 2026
Solves case GameNative#8 of following bugzilla entry. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50132 Signed-off-by: Eric Pouech <epouech@codeweavers.com>
The412Banner
added a commit
to The412Banner/proton-wine
that referenced
this pull request
Aug 22, 2026
…ult display source Driver-less processes (services.exe/plugplay/wineboot/setup device installers, interactive station during boot) fall back to default_update_display_devices and upstream marks the synthetic 1024x768 Default source DISPLAY_DEVICE_PRIMARY_DEVICE, clobbering the real winex11 primary (container screenSize, e.g. 1280x720) in the shared display registry. Result: virtual desktop sized to stale 1024x768, shell desktop does not fill the panel (blue theme wallpaper + black margin). Drop PRIMARY from the driver-less fallback so the winex11-backed process owns the primary; keep the source ATTACHED so monitor/device path lookups still resolve. Add a station-name ERR trace to confirm the offending processes on-device. Re-derives the device-proven 10.6 build GameNative#8 display-core fix, re-anchored to 11.16 sysparams.c.
The412Banner
added a commit
to The412Banner/proton-wine
that referenced
this pull request
Aug 22, 2026
…meNative#8 device SIGSEGV) Build GameNative#8: esync ENGAGED on-device (esync: up and running) but SIGSEGV'd on the first event — infinite recursion / stack overflow in NtCreateEvent. ROOT CAUSE: I carried the 10.0-CLASSIC create/open hooks (esync_create_event/semaphore/ mutex + esync_open_*), but the 11.x INPROC esync does NOT hook create/open. The client create_esync() helper calls NtCreateEvent/Semaphore/Mutant to make the underlying object; with my create hooks, NtCreateEvent -> esync_create_event -> create_esync -> NtCreateEvent -> ... stack overflow on the first event at boot. FIX: match proton_11.0-2's inproc esync hook set exactly — REMOVE the 6 create/open esync hooks. In the inproc model NtCreateEvent creates a normal server object which the SERVER's inproc_sync.c esync branch turns into an eventfd esync object; the client only needs the release/query/set/reset/pulse/wait/signal + close hooks (which operate on the eventfds via get_inproc_sync_fd). Also ADDED the missing close_inproc_sync -> esync_close hook. Net esync client hooks now = 12 (close + 10 returns + NtDelayExecution), zero create/open = no recursion. fsync (13 sites) unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bugged if you try to build arm64 and x86 at the same time, but typically you would use this to test on your own device anyway.