Wine/hu
Wine (Wine Is Not an Emulator) egy Microsoft Windows szoftverek futtatását Linuxon és más POSIX-kompatibilis operációs rendszereken lehetővé tévő alkalmazás-kompatibilitási réteg. Ez a cikk a Wine általános célú környezetének telepítésével, beállításával és karbantartásával foglalkozik a Gentoo operációs rendszeren.
Wine változatai
- app-emulation/wine-vanilla: Alapvető Wine külső javítócsomagok nélkül.
- app-emulation/wine-staging: Wine a Wine Staging javítócsomaggal.
- app-emulation/wine-proton: Wine a Valve Software javítócsomaggal, amelyet a Steam Linux verziója is használ.
Változat kiválasztása
További javítócsomagok olyan hibákat is bevezethetnek, amelyek az alapvető Wine-ban nem léteznek, ugyanakkor kijavíthatnak más, meglévő problémákat is.
Telepítés
USE jelölőzászlók
USE flags for virtual/wine Virtual for Wine that supports multiple variants and slotting
USE flags for app-emulation/wine-vanilla Free implementation of Windows(tm) on Unix, without external patchsets
+X
|
Add support for X11 |
+alsa
|
Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture) |
+dbus
|
Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc) |
+fontconfig
|
Support for configuring and customizing font access via media-libs/fontconfig |
+gecko
|
Enable mshtml support using app-emulation/wine-gecko |
+gstreamer
|
Add support for media-libs/gstreamer (Streaming media) |
+mingw
|
Build PE files using a MinGW toolchain for better compatibility |
+mono
|
Enable .NET support using app-emulation/wine-mono |
+opengl
|
Add support for OpenGL (3D graphics) |
+sdl
|
Enable gamepad support using media-libs/libsdl2 |
+ssl
|
Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security) |
+strip
|
Allow symbol stripping to be performed by the ebuild for special files |
+truetype
|
Add support for FreeType and/or FreeType2 fonts |
+unwind
|
Add support for call stack unwinding and function name resolution |
+vulkan
|
Add support for 3D graphics and computing via the Vulkan cross-platform API |
+xcomposite
|
Enable support for the Xorg composite extension |
bluetooth
|
Enable Bluetooth Support |
capi
|
Enable ISDN support using net-libs/libcapi |
crossdev-mingw
|
Use sys-devel/crossdev for the toolchain rather than dev-util/mingw64-toolchain (requires manual setting up and is mostly unsupported, try disabling if have issues) |
cups
|
Add support for CUPS (Common Unix Printing System) |
custom-cflags
|
Build with user-specified CFLAGS (unsupported) |
dos
|
Pull in games-emulation/dosbox to run DOS applications |
ffmpeg
|
Enable ffmpeg/libav-based audio/video codec support |
gphoto2
|
Add digital camera support |
kerberos
|
Add kerberos support |
llvm-libunwind
|
Use llvm-runtimes/libunwind instead of sys-libs/libunwind |
netapi
|
Enable support for configuring remote shares using net-fs/samba |
nls
|
Add Native Language Support (using gettext - GNU locale utilities) |
odbc
|
Add ODBC Support (Open DataBase Connectivity) |
opencl
|
Enable OpenCL support (computation on GPU) |
pcap
|
Support packet capture software (e.g. wireshark) |
perl
|
Install helpers that require perl (winedump/winemaker) |
pulseaudio
|
Add sound server support via media-libs/libpulse (may be PulseAudio or PipeWire) |
samba
|
Pull in net-fs/samba with winbind for NTLM auth support |
scanner
|
Add support for scanner hardware (e.g. build the sane frontend in kdegraphics) |
selinux
|
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
smartcard
|
Enable smartcard support |
udev
|
Enable virtual/udev integration (device discovery, power and storage device support, etc) |
usb
|
Add USB support to applications that have optional USB support (e.g. cups) |
v4l
|
Enable support for video4linux (using linux-headers or userspace libv4l libraries) |
wayland
|
Enable dev-libs/wayland backend |
wow64
|
Enable running 32bit applications without 32bit ELF multilib by mapping to 64bit calls (experimental, *may* have worse/unusable OpenGL performance or other issues compared to USE=abi_x86_32, also lacks 16bit support) -- still need dev-util/mingw64-toolchain with abi_x86_32 which itself does not need multilib |
xinerama
|
Add support for querying multi-monitor screen geometry through the Xinerama API |
USE flags for app-emulation/wine-staging Free implementation of Windows(tm) on Unix, with Wine-Staging patchset
+X
|
Add support for X11 |
+alsa
|
Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture) |
+dbus
|
Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc) |
+fontconfig
|
Support for configuring and customizing font access via media-libs/fontconfig |
+gecko
|
Enable mshtml support using app-emulation/wine-gecko |
+gstreamer
|
Add support for media-libs/gstreamer (Streaming media) |
+mingw
|
Build PE files using a MinGW toolchain for better compatibility |
+mono
|
Enable .NET support using app-emulation/wine-mono |
+opengl
|
Add support for OpenGL (3D graphics) |
+sdl
|
Enable gamepad support using media-libs/libsdl2 |
+ssl
|
Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security) |
+strip
|
Allow symbol stripping to be performed by the ebuild for special files |
+truetype
|
Add support for FreeType and/or FreeType2 fonts |
+unwind
|
Add support for call stack unwinding and function name resolution |
+vulkan
|
Add support for 3D graphics and computing via the Vulkan cross-platform API |
+xcomposite
|
Enable support for the Xorg composite extension |
bluetooth
|
Enable Bluetooth Support |
capi
|
Enable ISDN support using net-libs/libcapi |
crossdev-mingw
|
Use sys-devel/crossdev for the toolchain rather than dev-util/mingw64-toolchain (requires manual setting up and is mostly unsupported, try disabling if have issues) |
cups
|
Add support for CUPS (Common Unix Printing System) |
custom-cflags
|
Build with user-specified CFLAGS (unsupported) |
dos
|
Pull in games-emulation/dosbox to run DOS applications |
ffmpeg
|
Enable ffmpeg/libav-based audio/video codec support |
gphoto2
|
Add digital camera support |
kerberos
|
Add kerberos support |
llvm-libunwind
|
Use llvm-runtimes/libunwind instead of sys-libs/libunwind |
netapi
|
Enable support for configuring remote shares using net-fs/samba |
nls
|
Add Native Language Support (using gettext - GNU locale utilities) |
odbc
|
Add ODBC Support (Open DataBase Connectivity) |
opencl
|
Enable OpenCL support (computation on GPU) |
pcap
|
Support packet capture software (e.g. wireshark) |
perl
|
Install helpers that require perl (winedump/winemaker) |
pulseaudio
|
Add sound server support via media-libs/libpulse (may be PulseAudio or PipeWire) |
samba
|
Pull in net-fs/samba with winbind for NTLM auth support |
scanner
|
Add support for scanner hardware (e.g. build the sane frontend in kdegraphics) |
selinux
|
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
smartcard
|
Enable smartcard support |
udev
|
Enable virtual/udev integration (device discovery, power and storage device support, etc) |
usb
|
Add USB support to applications that have optional USB support (e.g. cups) |
v4l
|
Enable support for video4linux (using linux-headers or userspace libv4l libraries) |
wayland
|
Enable dev-libs/wayland backend |
wow64
|
Enable running 32bit applications without 32bit ELF multilib by mapping to 64bit calls (experimental, *may* have worse/unusable OpenGL performance or other issues compared to USE=abi_x86_32, also lacks 16bit support) -- still need dev-util/mingw64-toolchain with abi_x86_32 which itself does not need multilib |
xinerama
|
Add support for querying multi-monitor screen geometry through the Xinerama API |
USE flags for app-emulation/wine-proton Valve Software's fork of Wine
+alsa
|
Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture) |
+dbus
|
Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc) |
+fontconfig
|
Support for configuring and customizing font access via media-libs/fontconfig |
+gecko
|
Enable mshtml support using app-emulation/wine-gecko |
+gstreamer
|
Add support for media-libs/gstreamer (Streaming media) |
+mono
|
Enable .NET support using app-emulation/wine-mono |
+sdl
|
Enable gamepad support using media-libs/libsdl2 |
+ssl
|
Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security) |
+strip
|
Allow symbol stripping to be performed by the ebuild for special files |
+unwind
|
Add support for call stack unwinding and function name resolution |
+xcomposite
|
Enable support for the Xorg composite extension |
crossdev-mingw
|
Use sys-devel/crossdev for the toolchain rather than dev-util/mingw64-toolchain (requires manual setting up and is mostly unsupported, try disabling if have issues) |
custom-cflags
|
Build with user-specified CFLAGS (unsupported) |
llvm-libunwind
|
Use llvm-runtimes/libunwind instead of sys-libs/libunwind |
nls
|
Add Native Language Support (using gettext - GNU locale utilities) |
perl
|
Install helpers that require perl (winedump/winemaker) |
pulseaudio
|
Add sound server support via media-libs/libpulse (may be PulseAudio or PipeWire) |
selinux
|
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
udev
|
Enable virtual/udev integration (device discovery, power and storage device support, etc) |
usb
|
Add USB support to applications that have optional USB support (e.g. cups) |
v4l
|
Enable support for video4linux (using linux-headers or userspace libv4l libraries) |
wow64
|
Enable running 32bit applications without 32bit ELF multilib by mapping to 64bit calls (experimental, *may* have worse/unusable OpenGL performance or other issues compared to USE=abi_x86_32, also lacks 16bit support) -- still need dev-util/mingw64-toolchain with abi_x86_32 which itself does not need multilib |
xinerama
|
Add support for querying multi-monitor screen geometry through the Xinerama API |
32-bit kontra 64-bit
Gyakran előfordul, hogy a Windows alkalmazások 32 bites támogatást igényelnek. Ez igaz lehet még 64 bites alkalmazások esetén is, mivel ezek továbbra is használhatnak 32 bites telepítőt.
Ez azt jelenti, hogy a Wine számos függősége szintén 32 bites támogatást igényel. Ha ez nincs globálisan engedélyezve az összes csomaghoz, akkor az autounmask
opció használata az emerge
segédprogrammal hasznos lehet a lista felépítésében.
A Wine lefordítása engedélyezett wow64
USE jelölőzászlóval lehetővé teszi a 32 bites alkalmazások futtatását anélkül, hogy a Wine szoftvert és annak függőségeit 32 bites támogatással kellene létrehozni. Ez azonban (ezen angol nyelvű cikk írásának időpontjában) többé-kevésbé kísérleti jellegű. Számos alkalmazásnál nagyon jól működik, de más alkalmazásoknál használhatatlan.
Vegye figyelembe, hogy a Wine bizonyos függőségeihez a kernelbeállításban a CONFIG_COMPAT_32BIT_TIME
beállítása szükséges a működéshez. Ennek elmulasztása olyan hibaüzeneteket generálhat, mint például: "The futex facility returned an unexpected error code." a kódfordítás során vagy a binárisra lefordított kód futásának idején. Az érintett szoftvercsomagok például a dev-libs/icu[1] és a sys-devel/llvm.
Kódfordítás közbeni környezeti változók
A live (9999) ebuild-ek támogatják a tároló-ág, commit, commit dátum és tároló beállítását a következő környezeti változók segítségével:
- EGIT_OVERRIDE_BRANCH
- EGIT_OVERRIDE_COMMIT
- EGIT_OVERRIDE_COMMIT_DATE
- EGIT_OVERRIDE_REPO
Példaként kiválaszthatja a WineHQ "wine-2.0-rc5" címkét a 2.0 RC 5 verzió emerge-vel történő előállításához:
root #
EGIT_OVERRIDE_COMMIT_WINE_WINE="wine-2.0-rc5" emerge -a '=app-emulation/wine-vanilla-9999'
Ezenkívül a Wine Staging is rögzíthető ugyanahhoz a kiadáshoz a megfelelő "v2.0-rc5" címke megtalálásával, és kiegészíti az előző parancs a következőképpen:
root #
EGIT_OVERRIDE_COMMIT_WINE_WINE="wine-2.0-rc5" EGIT_OVERRIDE_COMMIT_WINE_WINE_STAGING="v2.0-rc5" emerge -a '=app-emulation/wine-staging-9999'
A Wine szoftverre futásidőben ható egyéb változóiról lentebb esik szó.
Emerge
Engedélyezze az Ön által választott USE jelölőzászlókat először a virtuális szoftvercsomagon, majd a kiválasztott variánson (amelyet automatikusan a virtuális szoftvercsomag vagy manuálisan Ön választ ki), és emerge parancs segítségével hozza létre a szoftvercsomagot:
root #
emerge --ask virtual/wine
vagy
root #
emerge --ask app-emulation/wine-${VARIANT}
Csak az upstream által "stabilnak" minősített verziók kerülnek stabilizálásra a Gentoo-ban, és kizárólag a app-emulation/wine-vanilla variánsként, mivel a külső javítócsomagokat nem tekintik stabilnak. Egyes felhasználók dönthetnek úgy, hogy hozzáadják a Wine variánsokat a package.accept_keywords fájlhoz, hogy lehetővé tegyék a Wine fejlesztői verzióinak telepítését.
Beállítás
Futásidejű környezeti változók
Az a shell környezeti változók, amelyből a wine elindul, elérhetővé válnak a Windows/DOS folyamatok számára. Néhány nagyon hasznos, kifejezetten a Wine szoftverre vonatkozó változó többek között a WINEPREFIX, a WINEARCH és a WINEDEBUG.
Tekintse meg a man wine és a man wineserver súgókat a Wine környezeti változóival kapcsolatos részletesebb információkért.
WINEPREFIX
A prefix könyvtár (alapértelmezetten $HOME/.wine) létrejön, amikor a Wine bármilyen módon elindul (például a
winecfg
futtatásával). Ez azt is jelenti, hogy ha root felhasználóként hajtják végre (részletek a WineHQ GYIK - Should I Run Wine as Root leírásban), akkor a Wine prefix (alapértelmezés szerint) a /root/.wine helyen lesz létrehozva.Futtassa a következő parancsot az egyedi helyen (~/.wine helyett) történő Wine prefix létrehozásához anélkül, hogy az alapértelmezettet befolyásolná:
user $
WINEPREFIX="$HOME/.wine-someprefix" wineboot
A fenti megoldás létrehozna egy Wine prefix -et a következő helyen: /home/<user>/.wine-someprefix.
Miután egy prefix létrejött, az 'architektúra' (arch) nem változtatható meg. Ennek megfelelően, ha a felhasználó felül szeretné írni az alapértelmezést, akkor a WINEARCH értékét az prefix létrehozásakor kell meghatározni. A WINEARCH az prefix létrehozásán túl értelmetlen.
WINEARCH
32 bites telepítés létrehozása az alapértelmezett 64 bites helyett:
user $
WINEARCH="win32" WINEPREFIX="$HOME/.wine-someprefix" wineboot
A használt Wine végrehajtható fájl bármely olyan fájl lehet, amely a Wineszoftvert futtatja, például a winecfg, amely gyakran hasznos egy tiszta, új prefix létrehozásakor.
A WINEARCH értékének használatához a Wine szoftvert a megfelelő abi_x86
jelölőzászlókkal kell felépíteni.
WINEDEBUG
Alapvető fontosságú annak kiderítéséhez, hogy egy alkalmazás miért működik hibásan, amikor az alapvető terminál kimenet vagy az üzenetablakok nem elegendőek. Példaként tekintse meg a https://wiki.winehq.org/Debug_Channels leírást.
Beállítást segítő eszközök
Az alábbi eszközök grafikus és parancssori felületeket tartalmaznak a Wine prefix-ek kezeléséhez:
- app-emulation/q4wine – Qt5 grafikus felhasználói felülettel rendelkező beállítást segítő eszköz a Wine számára.
- app-emulation/winetricks – Egyszerű módszer a Wine problémáinak megoldásához, például amikor a szükséges DLL fájlokat kell telepíteni.
Grafikus illesztőprogramok
Grafikus rendszerleíró adatbázis értéke vesszővel elválasztott karakterlánc és REG_SZ típusú.
Illesztőprogram | Leírás |
---|---|
x11 | X11 illesztőprogramot használ. |
wayland | Wayland illesztőprogramot használ. |
mac | Natív quartz meghajtót használ. (Alapértelmezett macOS). |
null | Null eszközmeghajtót használ. (Egy virtuális képernyő létrejön, de nem jelenik meg. Elérhető a Wine 5.2 verziója óta). |
Alapértelmezett (Linux rendszeren)
user $
wine cmd /c "reg add HKEY_CURRENT_USER\\Software\\Wine\\Drivers /v Graphics /t REG_SZ /d x11 /f"
Kísérleti wayland eszközmeghajtó engedélyezéséhez:
user $
wine cmd /c "reg add HKEY_CURRENT_USER\\Software\\Wine\\Drivers /v Graphics /t REG_SZ /d wayland /f"
Easy Anti Cheat Support
Mivel a DT_HASH alapértelmezés szerint nincs engedélyezve a glibc 2.36 óta, ezért a következő lépéseket kell alkalmazni az EAC (Easy Anti-Cheat) játékok működéséhez:
/etc/portage/package.use/glibc
sys-libs/glibc hash-sysv-compat
root #
emerge --ask --oneshot sys-libs/glibc
Upstream GYIK
Néhány upstream GYIK bejegyzés, amit a felhasználók hasznosnak találhatnak:
- How to uninstall individual applications
- How to remove a Wine prefix
- How to prevent Wine from creating menu items
Hibaelhárítás
Ha egy felhasználó problémát tapasztal egy alkalmazással, akkor érdemes kipróbálni a legújabb fejlesztői verziót, hogy lássa, a nem kívánt viselkedés továbbra is fennáll-e. Ha a Wine szoftver olyan opciókkal lett létrehozva, mint a -fomit-frame-pointer
vagy a --hash-style=both
, akkor a Wine fejlesztők valószínűleg nem tudnak segíteni a problémában, és az ilyen build-ek kimenetét tartalmazó jelentéseket nem szabad beküldeni a Wine Bugzilla weboldalra.
A strip
USE jelölőzászlót le kell tiltani a MinGW build-ek hibakereséséhez.
Hibák bejelentésével kapcsolatos további útmutatásért tekintse meg a Bugzilla and Bugs részt a wiki.winehq oldalon.
Támogatás
A felhasználók további támogatást találhatnak a #gentoo-wine (webchat) csatornán a Libera.Chat weboldalon.
További olvasnivaló a témában
- DOSEMU — an application compatibility layer for MS-DOS geared more towards running MS-DOS applications than running games.
- Játékemulátorok — Gentoo által csomagolt játékemulátorok listája.
- Lutris — an open source gaming platform for Linux.
- Steam — egy videójáték digitális terjesztési szolgáltatás a Valve által.
- Winetricks — an easy way to work around problems in Wine.
Külső források
- Gentoo bugtracker: known bugs – Wine related bugs.
- Wine Application Database – Search for the game or program to install here to see if it is stable.
- Wine Staging at GitHub
- WineHQ Wiki
Hivatkozások
- ↑ Can't emerge dev-libs/icu[abi_x86_32], futex error? [SOLVED], Gentoo Forums. Elérve 2020. október 17-én.