I refuse to let SPICE die
Recorded: Sept. 12, 2026, 5:09 p.m.
| Original | Summarized |
GitHub - nefarius/vd_agent: Windows SPICE guest agent. Community-maintained fork of the abandoned freedesktop.org vd_agent. · GitHub Skip to content Navigation MenuSign inAppearance settingsPlatformAI CODE CREATIONGitHub CopilotWrite better code with AIGitHub Copilot appDirect agents from issue to mergeMCP RegistryIntegrate external toolsDEVELOPER WORKFLOWSActionsAutomate any workflowCodespacesInstant dev environmentsIssuesPlan and track workCode ReviewManage code changesCode QualityEnforce quality at mergeAPPLICATION SECURITYGitHub Advanced SecurityFind and fix vulnerabilitiesCode securitySecure your code as you buildSecret protectionStop leaks before they startEXPLOREWhy GitHubDocumentationBlogChangelogMarketplaceView all featuresSolutionsBY COMPANY SIZEEnterprisesSmall and medium teamsStartupsNonprofitsBY USE CASEApp ModernizationDevSecOpsDevOpsCI/CDView all use casesBY INDUSTRYHealthcareFinancial servicesManufacturingGovernmentView all industriesView all solutionsResourcesEXPLORE BY TOPICAISoftware DevelopmentDevOpsSecurityView all topicsEXPLORE BY TYPECustomer storiesEvents & webinarsEbooks & reportsBusiness insightsGitHub SkillsSUPPORT & SERVICESDocumentationCustomer supportCommunity forumTrust centerPartnersView all resourcesOpen SourceCOMMUNITYGitHub SponsorsFund open source developersPROGRAMSSecurity LabMaintainer CommunityGitHub StarsArchive ProgramREPOSITORIESTopicsTrendingCollectionsEnterpriseENTERPRISE SOLUTIONSEnterprise platformAI-powered developer platformAVAILABLE ADD-ONSGitHub Advanced SecurityEnterprise-grade security featuresCopilot for BusinessEnterprise-grade AI featuresPremium SupportEnterprise-grade 24/7 supportPricingSearch/Sign inSign upAppearance settings You signed in with another tab or window. Reload to refresh your session. Dismiss alert nefarius vd_agent Public
Notifications
Fork
Star Code Issues Pull requests Actions Security and quality Insights
Additional navigation options
Code Issues Pull requests Actions Security and quality Insights
masterBranchesTagsGo to fileCodeOpen more actions menuLatest commit History426 Commits426 CommitsFolders and filesNameNameLast commit messageLast commit date.cursor/rules.cursor/rules .github/workflows.github/workflows assetsassets build-auxbuild-aux commoncommon m4m4 msys2msys2 spice-common @ 05c0c26spice-common @ 05c0c26 spice-protocol @ ce0c421spice-protocol @ ce0c421 teststests vdagentvdagent vdservicevdservice .gitattributes.gitattributes .gitignore.gitignore .gitlab-ci.yml.gitlab-ci.yml .gitmodules.gitmodules CHANGELOG.mdCHANGELOG.md CMakeLists.txtCMakeLists.txt COPYINGCOPYING Makefile.amMakefile.am README.mdREADME.md appveyor.ymlappveyor.yml autogen.shautogen.sh configure.acconfigure.ac git.mkgit.mk mingw-spice-vdagent.spec.inmingw-spice-vdagent.spec.in spice-vdagent.wxs.inspice-vdagent.wxs.in test-logtest-log test-pngtest-png test-shelltest-shell View all filesRepository files navigationREADMEGPL-2.0 licenseMore itemsSpice VD Agent for Windows Client mouse mode without grabbing the pointer Status Submodule spice-protocol spice-common Submodule URLs use HTTPS. MSI upgrades keep the historical WiX UpgradeCode MSYS2 From the UCRT64 shell, in the repository root: Version strings come from git describe via Event Pull request / master push Tag v* Signing uses SignRelay so the Build and test unsigned binaries The SignRelay composite action is pinned to commit Name SIGN_RELAY_SERVER SIGN_RELAY_CI_TOKEN WEBHOOK_URL Copy SIGN_RELAY_CI_TOKEN and WEBHOOK_URL from an already-working repo such Update CHANGELOG.md Tag an annotated release and push it: Confirm the Build workflow: unsigned path is not used Install the MSI in a Windows 11 SPICE guest and run the checklist below If a tagged build fails after signing started, fix the tree and move the tag Clean install — run spice-vdagent-x64-*.msi as Administrator Optional CMake / Fedora notes Fedora cross-builds still work via .gitlab-ci.yml and AboutWindows SPICE guest agent. Community-maintained fork of the abandoned freedesktop.org vd_agent.ResourcesReadmeGPL-2.0 licenseActivityStars2 starsWatchers0 watchingForks0 forksReport repositoryReleasesContributorsLanguages Footer © 2026 GitHub, Inc. Footer navigation Terms Privacy Security Status Community Docs Contact Manage cookies Do not share my personal information You can’t perform that action at this time. |
The vd_agent is a community-maintained fork of the abandoned freedesktop.org vd_agent project, specifically designed as a Windows guest agent for the SPICE protocol. This agent serves a critical function in allowing SPICE guests, particularly those running on Linux systems, to interact seamlessly with the Windows environment. Key functionalities provided by the agent include enabling client mouse mode without requiring the pointer to be grabbed, synchronizing the desktop resolution to the client display, facilitating clipboard sharing for both text and images, and enabling file transfers into the guest environment. The core mechanism involves a Windows service, named spice-agent, which is responsible for initiating the vdagent.exe process in each active session. The project operates in a context where Red Hat no longer maintains the upstream SPICE project, necessitating this fork to ensure the continued building and shipping of the Windows agent for contemporary guests, notably Windows 11 Virtual Machines running on Linux. The codebase incorporates specific fixes, such as an adjustment in desktop layout code to resolve issues related to mouse movement when a real GPU is passed through alongside the SPICE display device. The agent is licensed under the GPL-2.0-or-later, with original copyright attributed to Red Hat, Inc. and other upstream authors, and the fork makes no claim to the Red Hat or SPICE trademarks. The distribution and development process outlines a complex build pipeline. The repository details the use of Autotools and MinGW-w64 UCRT64 as the supported method for creating the installer. The process involves executing provided scripts to handle configuration, compilation, and packaging, ultimately generating an MSI installer. The build process relies on specific tools to pull in necessary components, including autotools, autoconf-archive, the UCRT64 toolchain, and ImageMagick for testing. Version strings are derived from git describe, and the process contains specific checks to prevent version nomenclature collisions. The project emphasizes a rigorous security signing workflow for publishing releases. This process utilizes SignRelay to manage the signing of the compiled executables and the resulting MSI. The workflow ensures that the executable files and the MSI are signed, verifying the Authenticode signature, and generating a corresponding SHA-256 checksum. This signed artifact is then uploaded to GitHub Releases, attaching the MSI and checksum to the release, thereby ensuring the integrity and authenticity of the distributed software. The repository settings further specify variables for configuring the SignRelay endpoint and the CI bearer token, which must be managed securely. For deployment and validation, the documentation outlines steps for installing the MSI in a Windows 11 SPICE guest environment, typically utilizing a QEMU/KVM setup with a QXL display device. Validation steps confirm that the agent successfully establishes the SPICE connection, maintains dynamic resolution, allows bidirectional clipboard sharing, and correctly handles multi-GPU passthrough, confirming the functionality of the mouse and display synchronization fixes. Although cross-builds are supported via Gitlab CI for historical parity, the maintained pipeline focuses on GitHub Actions as the authoritative Continuous Integration system. |