Library
|
Your profile |
Software systems and computational methods
Reference:
Demidov, N.A., Vygonyailo, K.V., Manyaev, A.A., Efimov, D.A., Bazhenov, A.E. (2024). Comparative analysis of Wine and PortProton: Cross platforms in the context of Windows application emulation. Software systems and computational methods, 2, 99–118. https://doi.org/10.7256/2454-0714.2024.2.70773
Comparative analysis of Wine and PortProton: Cross platforms in the context of Windows application emulation
DOI: 10.7256/2454-0714.2024.2.70773EDN: MELEFCReceived: 16-05-2024Published: 19-06-2024Abstract: The modern development of computer technologies and operating systems is accompanied by an increase in the need for software capable of ensuring the interaction of various programs and applications with each other, regardless of their source environment. In this study, a comparative analysis of two such programs will be conducted – Wine and PortProton. Wine is a program capable of running most applications developed for Windows on Unix-like systems. This is a compatibility layer that allows you to work with Windows applications. There is also a domestic version – PortProton, that offers the launch of Windows applications. This study aims to compare these two programs, analyze their features, advantages and disadvantages, determine which of them is the most convenient and functional for the end user in the context of Windows application emulation. The research methodology involves a comparative analysis of the Wine and PortProton platforms through benchmark testing and checking the performance of Windows applications on Linux. Benchmark testing includes evaluating the performance, stability, and speed of Windows applications on each platform. Due to the lack of scientific sources on the topic of comparing Wine and PortProton in the context of Windows application emulation, this study has a unique character. In conclusion Wine and PortProton successfully cope with the emulation of Windows applications, showing in some moments the best performance due to the optimization of the Linux operating system. PortProton copes best with the task of emulating programs due to stable operation and ease of use. Wine, despite a slight advance in the context of performance and the ability to run several programs at the same time, showed the worst efficiency due to the incorrect operation of some programs and the lack of an intuitive graphical interface. Based on the above conclusions, PortProton can be recommended for most users. Keywords: Emulation, cross platforms, Wine, Portproton, Application compatibility, Performance, Technical specifications, Windows, Linux, UnixThis article is automatically translated. Introduction Currently, Linux distributions are becoming more and more in demand due to cost-effectiveness, high degree of flexibility, extensive language support and distribution of free software (PDF). [1] Many users of Linux and macOS operating systems are faced with the need to use Windows applications due to their wide distribution and functionality. There are several solutions for this, one of the most popular are Wine and PortProton. Both are software solutions that allow you to run Windows applications on Unix-like systems. However, they have different features, advantages and disadvantages that should be considered when choosing the right tool. This article provides a comparative analysis of Wine and PortProton, identifies their key characteristics and areas of application. 1. Description of Wine and PortProton 1.1. Wine: Open source software for the implementation of the Windows environment. Wine (Wine Is Not an Emulator) is an open source project developed by the community to run applications developed for Windows operating systems on Unix-like operating systems. [2] One of the key advantages of Wine is its accessibility to a wide audience, thanks to the open GNU LGPL license. This means that anyone can participate in the development of the project, make changes and improvements, and use Wine for free and without restrictions. Application compatibility with Wine is one of its key characteristics, which continues to improve with each new release. Wine strives to ensure maximum compatibility with a wide range of Windows applications, including both old and new programs. However, not all applications can work correctly under Wine, especially those that use specific functions of the Windows operating system or require special settings. The Wine interface provides the user with the flexibility to configure and manage the applications being launched. Users can use various configuration files and command-line options to optimize the operation of applications for their needs. In addition, Wine supports the use of different versions of the Windows API, which allows you to better adapt the applications you run to specific requirements. To install application packages, a terminal is used, with which all files, directories and applications are managed. Wine reproduces Windows system libraries using its own libraries with similar functionality.[3] 2.2. PortProton: Implementation of Windows applications for games and more. PortProton is a domestic development in the field of interpretation of Windows applications on Unix-like operating systems. This project, created on the basis of the open source [4] Proton (a separate version of Wine from Valve), focuses mainly on ensuring compatibility and optimizing the launch of gaming applications, but is also able to work successfully with conventional applications. One of the key advantages of PortProton is its specialization in gaming applications. The development team is actively working on optimizations aimed at improving performance and compatibility with a wide range of games. This includes optimizing work with graphics APIs, improving support for DirectX and Vulkan, as well as implementing additional features necessary for the successful launch of gaming applications. However, it is important to note that PortProton is also capable of running common applications such as office programs, image editors, browsers, and others. Users can successfully use PortProton to run a wide range of Windows applications on their Linux operating systems. In general, PortProton is a flexible tool for interpreting Windows applications on Unix-like operating systems, which successfully copes not only with gaming applications, but also with ordinary programs. Its active community of developers and users, constant updates and integration with gaming platforms make it an attractive choice for a wide range of users who want to access the rich world of Windows applications on alternative operating systems. 2. Materials and methods Before starting the comparison, Wine and Portproton were installed on computers with the following characteristics: Features of Laptop No. 1: Characteristics of laptop No. 2: Wine was downloaded through the standard package manager. On ubuntu of similar distributions, the command "sudo apt install wine" is executed. [2] After that, Winetricks was installed from the standard package manager, then the update was launched with the command "sudo winetricks --self-update". [5] To compare Wine and Portproton, the following methodology was used: Before starting work with a new program, a new prefix was created in Wine and Portproton. There are two ways to create a prefix and download dependencies in Wine: 2.1. Graphical method Open the console and run Winetricks [6] with the command of the same name. In the menu that opens, select "create a new Wine prefix" and click "ok". In the new window, select the architecture and the name of the prefix. Wine developers recommend using a 32-bit architecture, but not all programs support this mode, so it should be chosen depending on the program you are running. For example, let's create a 32-bit prefix named "test". Then, after downloading, the previous window will open and our created prefix will appear in it (Fig. 7). If information windows appear, click ok. 2.2. The console method After opening the console, you need to set variables, for this you should register them using the command "export WINEARCH=win32" (by default "win64") and "WINEPREFIX=~/.wine/test" [7] (by default "~/.wine"). To create a prefix, it is enough to write any command from Wine or Winetricks, but "wineboot -u" is often used. In both cases, if it is suggested to install additional modules such as "wine mono", we agree and wait for the download. Then the program under test is run using both tools, if problems arise, install the dependencies and check again. We estimate the required number of actions to run the programs. We evaluate performance in benchmark programs and perform comparisons. To install additional programs and libraries, use Winetricks with a graphical interface or register library names, for example, "winetricks -q dotnet20 vcrun2005", the prefix -q disables warnings. In Portproton, the processes are similar to Wine, but everything is done through a graphical interface. In the open window in the WINE SETTINGS tab, you can enter a new prefix in the drop-down list of prefixes and when you click "WINETRICKS" you will be prompted to install standard libraries, after installation you will be able to download the required libraries. 3. Performance comparison and analysis The following programs were used to evaluate performance and ease of startup: 1. Furmark (version 1.38.1.0) is a benchmark based on the OpenGL API. [8] 2. 3D Benchmark.OK (version 2.01) is a benchmark that measures performance in a virtual space. [9] 3. CINEBENCH R23.200 (Build RBBENCHMARK330542) is a benchmark based on the Redshift engine. [10] 4. Mathcad 15.0 (M045 [MC15_M050_20171129]) – engineering and mathematical software for analysis and documentation. [11] 5. FL Studio (version 21.0.3 build 3517) is a digital audio workstation, software for writing music. [12] In Furmark (Fig. 1-3) Wine showed the best result in terms of the number of frames and frames per second, slightly ahead of PortProton. At the same time, the performance on Windows turned out to be the lowest in the same parameters. However, on Wine, Furmark should be run in windowed mode due to the presence of crashes of this program in full-screen mode.
In the 3D Benchmark (Fig. 4-6), the results turned out to be similar, while the performance of Wine and PortProton in the benchmark is significantly ahead of Windows both in terms of the number of frames and operating time. It is worth noting that when choosing anti-aliasing on Wine, there are problems associated with the appearance of graphic artifacts when choosing anti-aliasing, which interferes with the normal operation of the program, so it is worth disabling it.
According to the results of CineBench (Fig.7), there is also a significant gap in the rendering on Wine and PortProton from Windows in single-core and multi-core testing.
4. Launching application programs 4.1. Mathcad Mathcad 15 has shown full performance on Wine and PortProton, but it is recommended to follow the following instructions to install it: 4.1.1. Wine Wine version 9.9 was used. Before starting, create a prefix and install the 32bit architecture: $ WINEARCH=win32 WINEPREFIX=~/.wine_mathcad wineboot -u Installing the libraries: $ WINEPREFIX=~/.wine_mathcad winetricks -q mdac27 mdac28 msxml3 msxml4 msxml6 vcrun2005 vcrun2010 wsh57 We put it on .NET (mathcad 15 requires .NET 3.5): $ WINEPREFIX=~/.wine_mathcad winetricks -q —force dotnet20 dotnet35sp1 Download the contents of the archive to your desktop Mathcad.tar.gz located along the way. Starting the Mathcad 15 installation: $ WINEPREFIX=~/.wine_mathcad wine ~/Working стол/Mathcad/setup.exe The installation process of the program does not differ from the installation on a Windows system. At the first launch, there is a possibility that the program will freeze, in which case it is worth restarting it. 4.1.2 PortProton The installation of Mathcad via PortProton takes place in a similar way, but through a graphical interface. Unlike Wine, PortProton already has the vcrun2005 and vcrun2010 libraries as part of the recommended ones, which we will be offered to install in the future (Fig.9). However, in the case of Mathcad, they will conflict with other libraries, respectively, it is worth abandoning their installation and downloading vcrun2005 vcrun2010 manually along with the rest of the libraries described in the installation section Mathcad on Wine. To create a new prefix, go to the "WINE SETTINGS" tab (fig. 8 point 1). Then enter the prefix name in the "PREFIX" field (fig. 8 point 2). All characters in the prefix name will be replaced with uppercase letters. Then, you need to click the "Winetricks" button (fig.8, point 3) to apply the changes. Next, a message will appear asking if we want to install standard libraries (Fig. 9) for Mathcad, we refuse for the reasons mentioned above.
After creating the prefix, the library selection menu will open (Fig. 10), in the future it can be opened by selecting the appropriate prefix and clicking on "Winetricks", just as described above. In the list, select the same libraries as when installing in Wine. Fonts are installed in the next "FONTS" tab, select "corefonts" there. After installation, the window will open again, where there will be ticks on those components that have been successfully installed. The fonts will have ticks in front of many items, since "corefonts" includes basic Windows fonts. In case of installation problems, you need to install the libraries in a different order. In this case, skip them, and after downloading the rest of the components, start the process again by selecting the skipped steps. Winetricks in Wine and PortProton installs everything in turn in the list. Unlike Wine, which created a link to the program automatically, we need to create a link, just open PortPorton and select "Create a shortcut..." (Fig. 11) and select the path to the file from the suggested ones (Fig. 12).
Next, you will be able to launch Mathcad from the same tab or from the application menu of the operating system. The window of the offer to run the program opens (Fig. 13), which appeared when the installer was launched. After all this, the Mathcad window opens, identical in appearance to the one that was launched through Wine (Fig. 14). 4.2. FL Studio FL Studio - the program for writing music starts without problems. Unlike Mathcad, FL Studio does not require the installation of additional libraries, so it is enough to run the installer and wait for completion. An example of a working FL Studio in the "about authors" tab is shown in Fig. 15.
5. Results To visualize the results of the comparison, criteria for evaluating platforms on a 5-point scale were added, where 5 is the maximum score and 1 is the minimum. (Table 1)
Table 1 Results of comparing Wine, PortProton and Windows Performance: At this point, Wine and PortProton showed the best results due to the optimization of the Linux operating system, since its kernel has an open development model, a high degree of flexibility [13] and integrity. Whereas Windows is a closed OS with limitations for software development. [14] Stability: When testing benchmarks, there were performance problems on the Wine platform, described in the "Comparison and analysis" section. As part of our study, PortProton showed similarly stable performance along with Windows, but taking into account the limited number of applications being launched, which are described in the Wine Application DataBase [15], it received one point less. Convenience: Windows is the best option in this comparison, as all the applications in question were originally created for this platform. PortProton, in turn, is convenient to install and run applications due to the presence of a graphical interface that will be intuitive for most ordinary users. Wine, as a platform, is the least convenient option to use, since it does not have a graphical interface, and for most ordinary users it will be problematic to operate. Windows Application Support: Not all Windows applications run on Wine and PortProton. You can check the possibility of running programs in the WineDB user database [15]. Since Wine and PortProton are developed by the community, it is extremely difficult to implement the interpretation of all system calls. For example, Linux does not support DirectX (API for interacting with a video card on the Windows platform), instead it uses DXVK (library for relaying DirectX calls), which converts calls to Vulkan (cross-platform API). For this reason, there is a possibility that some programs may be unstable or not work at all. Platform accessibility: Wine and PortProton are based on open source code, while PortProton is a domestic development, the use of which supports the development of technological sovereignty. Both platforms work on most distributions, including Russian ones, such as ROSA Linux, ALT Linux, Astra Linux, RED OS. The Wine and PortProton licenses allow them to be used, among other things, for commercial and educational purposes. Due to possible regional restrictions, using the Windows platform may cause certain problems. Conclusion From this study, it was concluded that Wine and PortProton successfully cope with the emulation of Windows applications, showing in some moments the best performance due to the optimization of the Linux operating system. But for some programs to work, you should install additional libraries, as in our case with Mathcad. No additional settings were required for the rest of the tested programs. In the context of running Windows applications, Wine copes worse than PortProton, due to the instability of some programs, for example, crashes in Furmark in full-screen mode and the presence of graphical artifacts in 3D Benchmark when anti-aliasing is selected. PortProton, despite the slight lag from Wine in terms of performance, which may be caused by an error, copes best with the task of emulating programs, due to stable performance. Also, one of the advantages is to emphasize the presence of a graphical interface, which causes a convenient user experience in running programs. Among the disadvantages, it is important to note that PortProton cannot run multiple applications at the same time, in which case it will offer to close an already running process. Summarizing all of the above, PortProton is recommended for running most programs, due to its stability and ease of use. In the context of the transition to domestic software, it is worth recommending Wine and PortProton as good alternative methods of launching Windows applications, as it is more profitable and convenient to use these solutions than to port applications or look for other analogues. This study examines only a limited number of programs and is designed to help in the further development of the field of running Windows applications on Unix-like systems. References
1. Kovalenkov, V. A. (2014). Modern trends in the popularization of Linux distributions. Ryazan State University named after S.A. Yesenin. Ryazan.
2. WineHQ [Electronic resource]. Retrieved from https://www.winehq.org/ 3. Mishchuk, B. R. (2013). Wine – the environment for the execution of Windows applications in Linux OS. State Educational Institution of Higher Professional Education "Tomsk State Pedagogical University", Department of Informatics. Tomsk. 4. GitHub [Electronic resource]. Retrieved from https://github.com/ValveSoftware/Proton 5. Debian wine [Electronic resource]. Retrieved from https://wiki.debian.org/Wine 6. WineHQ Winetricks [Electronic resource]. Retrieved from https://wiki.winehq.org/Winetricks 7. Archlinux wiki Wine [Electronic resource]. Retrieved from https://wiki.archlinux.org/title/Wine_(Русский) 8. Geeks3D FurMark [Electronic resource]. Retrieved from https://www.geeks3d.com/furmark 9. SoftwareOK.com [Electronic resource]. Retrieved from https://www.softwareok.com/?seite=Freeware/3D .Benchmark.OK 10. CineBench [Electronic resource]. Retrieved from https://www.maxon.net/en/cinebench 11. Mathcad [Electronic resource]. Retrieved from https://www.mathcad.com/en 12. FL Studio [Electronic resource]. Retrieved from https://www.image-line.com/ 13. Zainabidinov, R. H. (2024). Review of the Linux kernel and its role in modern information systems. Tashkent University of Information Technologies named after Muhammad al-Khorezmiy. Ferghana. 14. Dawid Bis, Kryspin Baran, & Oliwia Kulawska. (2023). Perfomance comparison of different versions of Windows and Linux operating systems. Advances in Web Development Journal. 15. WineHQ. Wine Application DataBase [Electronic resource]. Retrieved from https://appdb.winehq.org/
First Peer Review
Peer reviewers' evaluations remain confidential and are not disclosed to the public. Only external reviews, authorized for publication by the article's author(s), are made public. Typically, these final reviews are conducted after the manuscript's revision. Adhering to our double-blind review policy, the reviewer's identity is kept confidential.
Second Peer Review
Peer reviewers' evaluations remain confidential and are not disclosed to the public. Only external reviews, authorized for publication by the article's author(s), are made public. Typically, these final reviews are conducted after the manuscript's revision. Adhering to our double-blind review policy, the reviewer's identity is kept confidential.
Third Peer Review
Peer reviewers' evaluations remain confidential and are not disclosed to the public. Only external reviews, authorized for publication by the article's author(s), are made public. Typically, these final reviews are conducted after the manuscript's revision. Adhering to our double-blind review policy, the reviewer's identity is kept confidential.
|