From 0a728a7fd98bcbfca21f7d03b6661cb9d4b4bdd6 Mon Sep 17 00:00:00 2001 From: Pekka Helenius Date: Fri, 27 Apr 2018 23:35:36 +0300 Subject: [PATCH] Add README --- README.md | 181 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1e941db --- /dev/null +++ b/README.md @@ -0,0 +1,181 @@ +# 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 + +IMAGE_PLACEHOLDER + +*Above 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 + + * DLL override multiselection + * with possibility to set all selected overrides to use any mixture of Native, Builtin DLLs + +IMAGE_PLACEHOLDER + +*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 + +IMAGE_PLACEHOLDER + +*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)