The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
This vignette shows how to set up parallel workers running R for MS Windows via Wine (https://www.winehq.org/) on Linux and macOS. This can be useful when we need to run R code or call R packages that work only on MS Windows.
The below instructions assume that you already have Wine installed.
To install R for MS Windows in Wine, first configure Wine to use Windows 11;
$ winecfg /v win11
$ winecfg /v
win11
Then, install R for Windows in Wine, by:
$ wget https://cran.r-project.org/bin/windows/base/R-4.5.2-win.exe
$ wine R-4.5.2-win.exe /SILENT
Finally, verify that R is available in Wine;
$ wine "C:/Program Files/R/R-4.5.2/bin/x64/Rscript.exe" --version
...
Rscript (R) version 4.5.2 (2025-10-31)
This example shows how to launch one worker running in Wine for Linux on the local machine.
cl <- makeClusterPSOCK(
1L,
rscript = c(
## Silence Wine warnings
"WINEDEBUG=fixme-all",
"LC_ALL=en_US.UTF-8",
## Don't pass LC_* and R_LIBS* environments from host to Wine
sprintf("%s=", grep("^(LC_|R_LIBS)", names(Sys.getenv()), value = TRUE)),
"wine",
"C:/Program Files/R/R-4.5.2/bin/x64/Rscript.exe"
)
)
print(cl)
#> Socket cluster with 1 node on host 'localhost'
#> (R version 4.5.2 (2025-10-31 ucrt), platform x86_64-w64-mingw32)
We can install R packages as usual, e.g.
void <- parallel::clusterEvalQ(cl[1], {
chooseCRANmirror(ind = 1L)
install.packages("future")
})
When using Wine, the system package library - the last one reported by
.libPaths() - is owned by the users that installed R in Wine. This
means that is not write protected for most users and any package can
be installed there.
Sometimes its preferred to install packages to a personal package library. To do this, all we have to do is pre-create the personal package library in Wine. This can be done as:
void <- parallel::clusterEvalQ(cl[1], {
dir.create(Sys.getenv("R_LIBS_USER"), recursive = TRUE)
})
To validate that the personal package library exists, restart the cluster. Then call:
parallel::clusterEvalQ(cl[1], { .libPaths() })[[1]]
[1] "C:/users/alice/AppData/Local/R/win-library/4.5"
[2] "C:/PROG~FBU/R/R-45~RZJ.2/library"
The first directory is the personal package library.
It might be that Wine produces warnings like:
0128:fixme:font:find_matching_face Untranslated charset 255
and R for Windows produces a warning on:
During startup - Warning message:
Using locale code page other than 65001 ("UTF-8") may cause problems.
These are typically harmless. Environment variable setting
WINEDEBUG=fixme-all should take care of the first one, and
LC_ALL=en_US.UTF-8 the second one.
A small number of the CRAN packages install only on MS Windows. Here is how to see which they are:
db <- read.dcf(url("https://cran.r-project.org/src/contrib/PACKAGES"))
db <- as.data.frame(db)
win_only <- subset(db, OS_type == "windows")
print(win_only$Package)
As of 2026-03-03, this outputs:
[1] "BiplotGUI" "blatr" "excel.link"
[4] "KeyboardSimulator" "MDSGUI" "MediaNews"
[7] "R2PPT" "R2wd" "rFUSION"
[10] "RWinEdt" "spectrino" "taskscheduleR"
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.