|
|
- # winecfg_patch
- An unofficial patch for Wine configuration window (winecfg)
-
- # About
-
- This project adds the following features to the default Wine configuration dialog window (winecfg):
-
- ### Winecfg About tab
-
- - Shows Wine prefix architecture (either 32-bit or 64-bit)
-
- - Adds Wine prefix folder URL link: open the current prefix folder with your default file manager (Dolphin, Nautilus, Thunar etc.)
-
- ### Winecfg Staging tab
-
- - Adds checkbox: Disable GLSL support
-
- - Adds checkbox: Disable Multisampling Support
-
- - Adds checkbox: Check Float Constants in D3D shaders
-
- ![winecfg-links](https://raw.githubusercontent.com/Fincer/winecfg_patch/master/images/winecfg-links.png)
-
- NEW WINECFG FEATURES. The project adds prefix architecture information & prefix folder link to 'About' tab, and several new checkboxes to 'Staging' tab. These features have already been implemented.
-
- ## System Requirements
-
- - Wine or Wine Staging (Staging version is recommended for the provided patch file)
-
- - The following Unix/Linux binaries must be found in the PATH: patch, diff, make, git, ping, nproc, wine
-
- Tested on Arch Linux, 64-bit Wine Staging Git
-
- ----------------------------------
-
- # Roadmap
-
- There are several ideas how to improve usability of Wine configuration window. These ideas have not yet been implemented but are as follows.
-
- ## TODO list
-
- - meet quality requirements - get rid of compiler warnings
-
- - **Staging tab** - add the following sections:
-
- * **Combobox: DirectDrawRenderer (Direct3D)**
- * Values: [gdi, opengl]
-
- * **Combobox: MaxVersionGL (Direct3D)**
- * Values: [4.5, 3.2, 1.0]
-
- * **Combobox: OffscreenRenderingMode (Direct3D)**
- * Values: [fbo, backbuffer]
-
- * **Combobox: VideoMemorySize (Direct3D)**
- * Values: [8192, 4096, 3072, 2048, 1024, 768, 512, 384, 256, 128, 64, 32]
-
- * **Combobox: MouseWarpOverride (DirectInput)**
- * Values: [enable, disable, force]
-
- * **ShowCrashDialog (WineDbg)**
- * Checkbutton: [yes, no]
- * If set to yes, show default crash pop-up window when an application crashes
-
- * **Input value: ForceRefreshRate (DirectDraw)**
- * Value: User input (only integers allowed, max value is 120, min value is 1)
-
- - **Libraries tab**:
-
- * Expanded list of available DLL overrides for easier management
- * In current Wine it is only a single-line list which is troublesome to use
-
- ![winecfg-dlloverride-redesign](https://raw.githubusercontent.com/Fincer/winecfg_patch/master/images/winecfg-dlloverride-redesign.png)
-
- DLL OVERRIDE RE-DESIGN. This manipulated image is for demonstration purposes.
-
- * DLL override multiselection
- * with possibility to set all selected overrides to use any mixture of Native, Builtin DLLs
-
- ![winecfg-dlloverride-multiselection](https://raw.githubusercontent.com/Fincer/winecfg_patch/master/images/winecfg-dlloverride-multiselect.png)
-
- DLL MULTISELECTION. This manipulated image is for demonstration purposes.
-
- - **Debug tab** - add new this new tab to winecfg with the following contents:
-
- * **Button: Generate bug report**
- * Wine version
- * CPU model
- * GPU model
- * GPU Drivers
- * OpenGL version
- * DLL overrides
- * Windows version
- * etc. (Other Wine prefix-specific configuration...)
-
- - **Winetricks tab** - implement Winetricks management directly into winecfg
-
- * Improves usability of Winetricks on Wine
-
- * Features:
-
- * **1)** Find Winetricks script file
-
- * a) Find Winetricks script automatically
-
- * b) IF Winetricks script is not automatically found, THEN let user define its location in the system and print text "Winetricks not configured" to winecfg Winetricks tab
-
- * **2)** Available Winetricks packages
-
- * Parse all available packages listed in Winetricks script file
-
- * Create an item array list "Available runtime libraries" which consist of all these packages for winecfg
-
- * Make all items selectable in winecfg. Support for multiselection
-
- * **3)** Create back-end for installing and uninstalling Wineprefix runtime libraries
-
- * **Button: Install**
- * Available if single or multiple libraries with status "Not installed" is selected from the runtime library list in winecfg
- * If above conditions are not met, grey the button out
-
- * **Button: Uninstall**
- * Available if single or multiple libraries with status "Installed" is selected from runtime library list in winecfg
- * If above conditions are not met, grey the button out
- * Needs additional back-end support, reverting Winetricks changes not yet implemented in Wine
-
- ![winecfg-winetricks](https://raw.githubusercontent.com/Fincer/winecfg_patch/master/images/winecfg-winetricks.png)
-
- WINETRICKS TAB. This manipulated image is for demonstration purposes.
-
- ----------------------------------
-
- # Purpose & Motivation
-
- Purpose of this project is to improve usability of Wine Configuration dialog window for a casual Wine user
-
- ----------------------------------
-
- # Usage
-
- - **1) Set up the environment:** 1-preconf-winecfg.sh
-
- * Downloads Wine & Wine Staging sources, sets up development environment & applies the patched code provided by _wine-staging_winecfg.patch_
- * Run only once
-
- - **2) Test winecfg changes:** 2-run-winecfg.sh
-
- * Creates a new Wine prefix for winecfg test runs and runs Wine configuration window
- * Run after every code change
-
- - **3) Create a new patch file:** 3-create-patchfile.sh
-
- * Run whenever you patch the code in 'winecfg_edits' subfolder and want to create a new patch file. NOTE: Replaces the patch file _wine-staging_winecfg.patch_
-
- If you just want to apply the modifications for Wine configuration window but not to involve into development, grab _wine-staging_winecfg.patch_ and apply it to Wine source code after having applied Staging patchsets (Wine source <- Wine Staging patchsets <- wine-staging_winecfg.patch).
-
- ----------------------------------
-
- # FAQ
-
- - Q: Which users this project is targeted to?
-
- * A: Mainly to developers who want to improve Wine and to people who want to try new things.
-
- - Q: Can I use this patch on my default Wine installation?
-
- * A: Yes, but you probably need to compile Wine from source first.
-
- - Q: Which licence does this project use?
-
- * A: The code is licensed under the same license than the Wine main project. See 'License' section for details.
-
- - Q: I have an idea and want to implement it? Can I contribute the project?
-
- * A: Absolutely! Feel free to fork and improve the code as you wish. Just follow the terms of the project license.
-
- ----------------------------------
-
- # License
-
- This project is licensed under [LGPLv2.1](https://github.com/Fincer/winecfg_patch/blob/master/LICENSE) to stay compatible with the Wine main project. For Wine licensing, see the following links:
-
- - [WineHQ - License](https://www.winehq.org/license)
-
- - [Wine source - COPYING.LIB](https://source.winehq.org/source/COPYING.LIB)
|