uuyc-wine packages the NetEase UU Remote (网易UU远程) Windows client for Arch Linux and runs it in a dedicated Wine prefix. It installs the official upstream installer, prepares Microsoft Edge WebView2 Runtime, configures the required Wine compatibility settings, and starts the required service, supervisor, and server before the desktop client.
The -wine suffix distinguishes this compatibility package from a future native Linux package that may use the canonical uuyc name. This is an unofficial package; NetEase does not support this Wine setup.
Install from the AUR with an AUR helper:
paru -S uuyc-wineOr build the package manually:
git clone https://aur.archlinux.org/uuyc-wine.git
cd uuyc-wine
makepkg -siStart NetEase UU Remote (Wine) from the application menu or run:
uuyc-wineThe first launch can take several minutes. The launcher creates a 64-bit Wine prefix, installs UU Remote and WebView2 Runtime, verifies the installation, and then starts the application.
After a package upgrade, close the visible UU Remote client before launching the new release. The launcher refuses to replace compatibility files while GameViewer.exe is active. Once the client has closed, it stops any remaining background processes in that Wine prefix before applying the update and starting a fresh service, supervisor, and server.
The default per-user paths are:
Wine prefix: ${XDG_DATA_HOME:-$HOME/.local/share}/uuyc-wine/wineprefix
Setup state: ${XDG_STATE_HOME:-$HOME/.local/state}/uuyc-wine
Setup log: ${XDG_STATE_HOME:-$HOME/.local/state}/uuyc-wine/setup.log
Set UUYC_WINE_PREFIX to select a different Wine prefix explicitly.
Close UU Remote before starting uuyc-wine for the first time. The launcher checks the exact previous WINEPREFIX and aborts before moving any data if the client, background service, or another Wine process is still running. Stop the default previous prefix with:
WINEPREFIX="${XDG_DATA_HOME:-$HOME/.local/share}/uuyc/wineprefix" wineserver -kWhen the previous prefix is inactive and the new destination does not already exist, the launcher atomically migrates the valid Wine installation and setup state:
${XDG_DATA_HOME:-$HOME/.local/share}/uuyc
-> ${XDG_DATA_HOME:-$HOME/.local/share}/uuyc-wine
${XDG_STATE_HOME:-$HOME/.local/state}/uuyc
-> ${XDG_STATE_HOME:-$HOME/.local/state}/uuyc-wine
It also migrates the older $HOME/Games/uu-remote prefix into the new default prefix location when applicable. The entire Wine prefix is moved so registry data, WebView2, cookies, login state, device configuration, and Wine symlinks remain intact.
Migration refuses to merge or overwrite an existing destination. An explicit UUYC_WINE_PREFIX disables automatic prefix migration.
After verifying that uuyc-wine starts with the expected account and devices, remove the old package if it is still installed:
paru -Rns uuycuuyc-wine [OPTION] [CLIENT_ARGUMENT...]
--stop Stop the UU Remote wineserver and its clients
--repair Recheck and repair the Wine prefix before launching
--setup-only Prepare the Wine prefix without launching UU Remote
--uri URI Open a uuremote: URI through Wine's registered handler
--version Print the AUR package release
-h, --help Show command-line help
Examples:
uuyc-wine --stop
uuyc-wine --setup-only
uuyc-wine --repair
uuyc-wine --uri 'uuremote:...'--stop exits before prefix migration, repair, or application startup. It asks
the selected prefix's wineserver to terminate its clients and itself, allows
Wine's built-in kill escalation to complete, then waits for the server lock to
be released. It never scans or signals numeric PIDs; if no server is running,
it reports that state without touching unrelated processes. Set
UUYC_WINE_PREFIX to stop a custom prefix.
The desktop entry registers uuyc-wine.desktop as a handler for the upstream uuremote: URI scheme.
The launcher applies and verifies the compatibility settings required by UU Remote:
- a 64-bit Wine prefix configured as Windows 10;
- Microsoft Edge WebView2 Runtime from the bundled upstream installer;
- a Windows 8 application override limited to
msedgewebview2.exe; - a package-built native
wevtapi.dllcompatibility layer that makes unsupported Windows Event Log queries fail cleanly instead of entering Wine's unimplementedEvtOpenPublisherMetadatastub; UseTakeFocus=Nfor Wine's X11 driver;GameViewerServiceexplicitly started and verified asRUNNING;GameViewerHealthd.exestarted in the interactive Wine session to supervise the server;GameViewerServer.exestarted after the supervisor and beforeGameViewer.exe;- Wine menu generation disabled so the upstream installer cannot replace the packaged desktop and URI entries;
- a prefix-local Windows Desktop directory so the installer cannot write shortcuts into the host desktop.
The installed Windows application remains under the per-user prefix because UU Remote includes its own updater and writes runtime data beside the application.
The package, CLI, desktop ID, icon, system share directory, license directory, and XDG data/state directories all use the uuyc-wine namespace. The package intentionally does not declare provides, conflicts, or replaces for uuyc, so a future native Linux package can use that canonical name.
A native client and this Wine package may both register the upstream uuremote: URI scheme. Desktop environments allow only one default handler at a time; select the preferred handler through the desktop environment or xdg-mime if both packages are installed.
Run a full prefix check and repair:
uuyc-wine --repairInspect the setup log:
less "${XDG_STATE_HOME:-$HOME/.local/state}/uuyc-wine/setup.log"Useful version information:
uuyc-wine --version
wine --versionWhen reporting a problem, include the package release, Wine version, the relevant setup log section, and whether a custom UUYC_WINE_PREFIX is in use. Do not publish account credentials, device identifiers, remote-assistance codes, or complete application logs without reviewing them first.
Stop UU Remote, remove the system package with pacman or an AUR helper, then optionally remove the preserved per-user Wine data:
uuyc-wine --stop
paru -Rns uuyc-wine
rm -rf -- "${XDG_DATA_HOME:-$HOME/.local/share}/uuyc-wine" "${XDG_STATE_HOME:-$HOME/.local/state}/uuyc-wine"Pacman intentionally does not delete per-user Wine data. The package's post-remove script prints the same cleanup command.
Verify the paths before running the removal command. A custom UUYC_WINE_PREFIX is not removed by those commands.
GitHub is the development repository and uses the main branch. The AUR repository remains a separate Git repository whose required branch is master.
.github/workflows/aur-publish.yml publishes the checked-in package recipe to AUR when package files change on main, and it can also be started manually with workflow_dispatch. The workflow deliberately does not derive pkgver, the installer URL, or checksums from a Git tag. Every upstream update must be validated in this repository before it is pushed to main.
The GitHub repository must define this Actions secret:
AUR_SSH_PRIVATE_KEY
Its value is the complete private SSH key whose public key is registered for an AUR account that owns or co-maintains uuyc-wine. Never commit that key to either repository.
For an upstream update:
- Update
pkgver, resetpkgrelto1, and update the installer URL and checksums inPKGBUILD. - Update the launcher checksum if
uuyc-winechanged. - Regenerate
.SRCINFOwithmakepkg --printsrcinfo > .SRCINFO. - Run the local syntax, desktop-entry, source, package-build, migration, and launch checks.
- Commit the verified files and push
mainto GitHub. - Confirm that the Publish to AUR workflow completed and inspect the resulting AUR commit.
For packaging-only behavioral changes, keep pkgver and increment pkgrel.
UU Remote is proprietary software distributed under the upstream UU Remote EULA. During each build, makepkg downloads the official EULA page; verify() accepts only the reviewed agreement tags and attributes, preserves paragraphs, line breaks, and strong emphasis, and validates a fixed semantic SHA-256. Any agreement text, emphasis, tag, or semantic-style change fails closed for maintainer review. prepare() then produces self-contained HTML and plain-text copies under /usr/share/licenses/uuyc-wine/. Neither the upstream page nor the extracted agreement is stored in this repository or published to AUR.
The AUR packaging files and the package-built wevtapi.dll compatibility layer are licensed under the 0BSD license, as declared by REUSE.toml. The package installs both the upstream EULA and the 0BSD license under /usr/share/licenses/uuyc-wine/.