The Patch Pile

Except where noted otherwise in the patch description or the patch file itself, all patches linked from this page were written by me and are hereby placed in the public domain. These patches are provided as-is; use at your own risk.

Package index



avoid-identity-memcpy.diff (1.0.23)
A minor optimization patch to avoid a memcpy() call on two identical pointers.
pcm-rate-stuck-fix.diff (1.0.23)
Fixes a bug which causes playback to get "stuck" after around 6 hours on 32-bit systems, repeating the same short segment of audio over and over. (There will still be a momentary discontinuity in the output stream every 6 hours, but playback will continue properly.)


allow-old-mtime.diff (2.2.15 | 2.4.3)
Fixes handling of files whose last-modified timestamp is before the Unix epoch (1970-01-01 00:00 UTC). Files whose timestamp is exactly the epoch are still not handled correctly; the current timestamp is sent instead of the actual file timestamp.
exec-cgi-to-include-virtual.diff (2.2.15 | 2.4.3)
Adds support for calling CGIs with the <!--#exec cgi="..." --> syntax.
no-server-header.diff (2.2.15 | 2.4.3)
Allows "None" as an argument to the ServerTokens configuration directive, which causes the Server header to be omitted from responses.
semifancy-autoindex.diff (2.2.15 | 2.4.3)
Adds a "SemiFancyIndexing" directory style for mod_autoindex.


dump-blobs.diff (4.0 | 6.1 | 7.1)
Adds a "--blobs" option to the apitrace dump command to allow dumping the contents of data blobs passed to GL calls.
dump-transform-feedback-fix.diff (7.1)
Fixes failure to dump transform feedback state when using separable shaders.
jump-to-large-frame-number.diff (4.0 | 6.1 | 7.1)
Fixes the GUI to allow jumping to any call in the range 0 through 2^31-1 (instead of 0 through 9999999).
raw-snapshot.diff (4.0 | 6.1 | 7.1)
Adds a raw-data snapshot option (-S RAW) when writing snapshots to standard output. This attempts to retrieve the data in the exact format in which it is stored, so that (for example) if the current render target has a floating-point format, the color components are written out as floating point values instead of 8-bit integers.


no-mouse-joystick-patch.diff (2.0.3)
A simple patch to prevent mouse movements from being interpreted as joystick input.


8-digit-sizes.diff (2.18 | 2.26.1 | 2.27 | 2.29)
Changes the output of the "size" command to use 8 digits rather than 7 for printing sizes and to use spaces rather than tabs between columns.
gprof-time-scale.diff (2.21 | 2.25 | 2.26.1 | 2.27 | 2.29)
Changes the auto-scaling logic used for printing time-per-call in the flat profile listing to increase the precision of the values printed when space allows.
m68k-motorola-format.diff (2.25 | 2.26.1 | 2.27 | 2.29)
Changes the objdump program to disassemble m68k (Motorola 68000 series) object code using Motorola syntax ("move.l d0,-(sp)") rather than MIT syntax ("movel %d0,%sp@-"). Also adds the missing "abcdb" -> "abcd" alias for assembly.
sh-imm-sign-fix.diff (2.29)
Fixes the sign of the immediate operand to the SuperH AND/OR/TST/XOR #imm,R0 instructions as printed by objdump. (See also:


ascii-quotes.diff (8.16 | 8.20 | 8.21 | 8.23 | 8.24 | 8.26 | 8.28)
Uses ASCII quote characters (' and ") instead of Unicode "smart quotes" to quote pathnames.
dd-noxfer-default.diff (6.9 | 6.10 | 6.11 | 6.12 | 7.1 | 7.4 | 7.6 | 8.1 | 8.11 | 8.16 | 8.20 | 8.21 | 8.23 | 8.24 | 8.26 | 8.28)
Makes "status=noxfer" the default for the "dd" command, and adds the option "status=xfer" to cause transfer statistics to be displayed. "status=noxfer" is still supported, though it is no longer displayed in the help text.
df-10-digits.diff (8.4)
Widens the "blocks", "used", and "available" columns in the default output format from 9 to 10 columns so that terabyte-size filesystems don't break the formatting. Obsoleted by subsequent changes in the upstream code to dynamically size the columns.
ls-disable-clear-to-eol.diff (8.31)
Prevents "ls" from outputting a clear-to-EOL control sequence at the end of a filename, which can (in some terminal programs; observed in rxvt-unicode) cause the last character in the filename to be erased if it is in the rightmost column of the terminal.
ls-enforce-min-column-width.diff (6.9 | 6.10 | 6.11 | 6.12 | 7.1 | 7.4 | 7.6 | 8.1 | 8.11 | 8.16 | 8.20 | 8.21 | 8.23 | 8.24 | 8.26 | 8.28)
Enforces minimum column widths on the link count, owner, group, device number, and file size columns in the "ls" long output format to prevent them from being squeezed too closely together.
tail-classic-syntax.diff (6.9 | 6.10 | 6.11 | 6.12 | 7.1 | 7.4 | 7.6 | 8.1 | 8.11 | 8.16 | 8.20 | 8.21 | 8.23 | 8.24)
Restores classic syntax to the "tail" command, allowing the use of "tail +N" instead of "tail -n+N". (Support for this syntax has been restored upstream in coreutils-8.26.)


disable-nanosecond-resolution.diff (2.8.1 | 2.8.7 | 2.9 | 3.3)
Adds a --disable-nanosecond-resolution option to the configure script to explicitly prevent diff from writing timestamps to nanosecond resolution.


bd-default-no-spare.diff (7.1)
Sets the default formatting mode for Blu-ray Disc media to "no spare area" (equivalent to the undocumented option "-use-the-force-luke=spare:none"). This is appropriate when writing single-session archival media which will be manually read-verified after writing.
compile-error-fixes.diff (7.0 | 7.1)
Fixes various errors which occur during compilation.


invalid-aspect-ratio-warning.diff (0.6.14)
Prevents multiple warnings from being output for consecutive frames with invalid aspect ratio flags.
subgen-debug-info.diff (0.6.14)
Modifies a debug message in subgen to print timestamps with fractional resolution.
until-next-sub.diff (0.6.14)
Fixes an issue with subgen I can't recall.


no-more-junk.diff (2.1 | 3.1)
Suppresses the writing of JUNK chunks to AVI files.


lsdel-large-files-fix.diff (1.40)
Fixes debugfs's "lsdel" command to work correctly with large files.
retry-prompt.diff (1.40 | 1.40.8 | 1.42.3)
Adds a "Retry?" prompt to the read error handler, allowing recovery from transient read errors.


python-no-font-lock.diff (23.2)
Prevents the Python mode from overriding the user's global-font-lock-mode setting.


gapless-long-option-fix.diff (2.8.1)
Fixes incorrect option definition for the --gapless command-line option.
mask-errors.diff (2.8.1)
Adds a --maskerrors (-m) option to mask errors in a block by repeating the previous block.
percent-display-fix.diff (2.6.1 | 2.7 | 2.8.1)
Fixes a bug causing the percentage display to stop before reaching 100% on large files.
surround-crash-fix.diff (2.8.1)
Fixes a crash when decoding corrupt surround streams.


grayscale-fix.diff (2.2.2)
(Fixed upstream as of SVN r3199.) Fixes incomplete emulation of grayscale mode (PPU register $2001 bit 0).
ignore-movie-guid.diff (2.2.2 | 2.2.3)
Adds a global flag (checkMovieGuid) to allow loading savestates during recording even if the movie GUIDs do not match, and adds a command line option "--ignoreguid" to the SDL port to clear that flag.
joystick-reset-hotkey.diff (2.2.2 | 2.2.3)
Adds a "reset joysticks" hotkey to the SDL driver (configuration option "SDL.Hotkeys.ResetJoysticks", default KP/) which closes and reopens all joystick devices. This can be used to restore joystick control if the joystick is accidentally disconnected from the host.
movie-delay.diff (2.2.2 | 2.2.3)
Adds a "movie delay" feature which can be used to adjust the sync of a playing movie, and adds SDL hotkeys to adjust the delay (Insert to increase it, Delete to decrease it -- the default "lag skip" toggle is changed from Delete to Backspace, but existing configurations will need to be modified accordingly; change 127 to 8 in the "SDL.Hotkeys.FrameAdvanceLagSkip" line). Note that attempting to record over a movie after changing the delay will likely result in a desynced state.
ntsc-3x.diff (2.2.2 | 2.2.3)
Adds a 3x scaling mode for the NTSC video filter, enabled with the command line option "--special 6" when using the SDL driver. Requires ntsc-fixes.diff to have been already applied.
ntsc-fixes.diff (2.2.2)
(Fixed upstream as of SVN r3201.) Fixes incorrect output when using the NTSC video filter, and adds support for PPUMASK ($2001) color emphasis bits.
ppu-emphasis-offby1-fix.diff (2.2.2 | 2.2.3)
Fixes an off-by-one error in PPU color emphasis handling.
sdl-faster-turbo.diff (2.2.2 | 2.2.3)
Makes turbo mode run faster with the SDL interface by suppressing video rendering and audio output while the turbo hotkey is held down.
sdl-missed-keys-fix.diff (2.2.2 | 2.2.3)
Fixes the SDL interface failing to detect keypresses if the key-down and key-up events both occur between polls of the keyboard state.
sdl-savestate-backup-option.diff (2.2.2 | 2.2.3)
Adds an "SDL.BackupSavestates" configuration option to set whether to backup savestates (1, default) or not (0).
sdl-toggle-turbo.diff (2.2.2 | 2.2.3)
Makes the Turbo hotkey act as a toggle when pressed with Shift, so that Shift-Turbo puts the emulator into turbo mode without having to hold the Turbo hotkey down (and the Turbo hotkey then disables turbo mode as long as it is held down).
sdl-turbovideo.diff (2.2.2 | 2.2.3)
Adds a --turbovideo option to the SDL port to control whether the emulator runs in turbo mode when recording a video (with --videolog). Also fixes a bug which causes audio popping when recording a video.
sdl-window-alt-fix.diff (2.2.2 | 2.2.3)
Fixes failure to recognize ALT keys when running in windowed mode in a non-GTK build.
stdin-filename-prompt.diff (2.2.2 | 2.2.3)
Prompts the user for filenames on standard input in a non-GTK SDL build, rather than simply cancelling all filename prompts.


pv3.diff (2.7 | 2.8 | 3.2.1)
Adds support for the Earth Soft PV3/PV4 video codec and file format (see ). This implementation performs decoding by calling into the Win32 DLL distributed with the device's recording software, and only runs on 32-bit Linux systems. See for a reimplementation in native C code.
s16le-pipe-fix.diff (2.2.11 | 2.5.3 | 2.7 | 2.8 | 3.2.1 | 4.1.2)
Simple hack to prevent FFmpeg from attempting to read from raw PCM S16LE streams to find stream parameters (thus consuming the first part of the data when the input is unseekable, such as a pipe).


ascii-quotes.diff (4.5.11)
Uses ASCII quote characters (' and ") instead of Unicode "smart quotes" to quote pathnames.


out-of-memory-fix.diff (0.07)
Fixes an "Out of memory!" error when calling bitmap() on an empty glyph (such as for the space character).
vertical-glyph-support.diff (0.07)
Adds basic support for vertical-layout substitute glyphs in Asian fonts. Pass FT_LOAD_VERTICAL_LAYOUT in the load_flags parameter when creating a FreeType::Face object to enable glyph substitution and vertical layout metrics, and use the new function $glyph->top_bearing() to get the vertical (Y) bearing for glyphs (works for both horizontal and vertical layouts; equivalent to "ascent" for horizontal layout).


intptr-fix.diff (2.6.3)
Fixes two harmless warnings about converting between a pointer and an integer of different size when building for 64-bit Windows.


argb-hack.diff (2.5.26 | 2.5.27 | 2.6.5)
A quick hack to ensure that the colors used by FVWM in e.g. window borders are opaque even for windows with alpha channels.
silence-querycolors-errors.diff (2.6.5)
Suppresses error logging for errors from QueryColors commands.


disable-fuzzy-name-lookup.diff (7.3.0 | 8.2.0 | 9.1.0)
Disables the "did you mean..." spell-check suggestions in some diagnostics.
mingw-format-fix.diff (5.3.0 | 6.1.0)
Fixes GCC's failure to recognize "ll" in format strings (such as in "%lld") for the mingw target. (This was originally designed behavior to handle missing support for %ll in Windows libraries, but the standard Windows libraries now support %ll, so this GCC behavior is no longer correct.)
mult-add-fix.diff (4.4.3)
Fixes a missed optimization of multiply-and-add operations on target architectures with multiply-accumulate instructions.
no-shared-libgcc.diff (4.1.2 | 4.2.2 | 4.3.1 | 4.4.1 | 4.5.3 | 4.6.2 | 4.7.3 | 4.7.4)
Makes GCC link the static version of the internal "libgcc" library rather than the shared version. (This can be accomplished on a per-invocation basis without this patch using the -static-libgcc command line option.)
suppress-c++98-brace-initializer-error.diff (6.3.0 | 6.4.0 | 7.1.0 | 7.2.0 | 9.1.0)
Suppresses the "in C++98 foo must be initialized by constructor, not by '{...}'" error. Can be useful when integrating old C++ code with newer code.
undeprecate-I-.diff (4.5.3 | 4.6.2 | 4.6.3 | 4.6.4 | 4.7.0 | 4.7.1 | 4.7.2 | 4.7.3 | 4.7.4 | 4.8.0 | 4.8.1 | 4.8.2 | 4.8.3 | 4.8.4 | 4.8.5 | 4.9.0 | 4.9.1 | 4.9.2 | 4.9.3 | 4.9.4 | 5.1.0 | 5.2.0 | 5.3.0 | 5.4.0 | 6.1.0 | 6.2.0 | 6.3.0 | 6.4.0 | 7.1.0 | 7.2.0 | 7.3.0 | 8.1.0 | 8.2.0 | 9.1.0)
Removes the "deprecated" notices attached to the -I- option, since there is not yet any replacement option (see


external-readline.diff (6.7.1 | 6.8)
Patches the configure script and Makefiles to use the "readline" library installed on the system instead of the one included in the GDB distribution archive.


disable-layer-mask-undo-name-fix.diff (2.6.11)
Changes the command name displayed in undo/redo for toggling the "Disable Layer Mask" flag from "Apply Layer Mask" to "Disable [or Enable] Layer Mask", to distinguish it from the Apply Layer Mask operation.
ghost-guide-fix.diff (2.6.11)
Fixes a "ghost" guide appearing in the previously active window when the mouse is moved over a guide in a window at the same time that window gains focus.
no-copy-suffix.diff (2.6.11)
Removes the " copy" suffix appended to object names in "duplicate" operations, e.g. to names of layers copied from one image to another. A "#n" suffix will be added if necessary to make the new object's name unique.
text-buffer-overrun-fix.diff (2.6.11)
Fixes a crash caused by a bitmap buffer overrun when rendering text which would extend outside the bounds of a fixed-size text layer.


font-style-fix.diff (3.6.7)
Fixes typos preventing label text styles from working properly.


no-arg-warning-fix.diff (2.28.8 | 2.30.3)
Fix a bogus "ignoring no-arg, optional-arg or filename flags (8) on option of type 0" warning when starting some GTK+ programs, such as the GIMP.


memstream-corruption-fix.diff (2.22)
Fixes a bug which causes data corruption when writing to the middle of a memory buffer opened with open_memstream() (see Fixed upstream in glibc-2.25.


no-double-error.diff (4.0 | 4.1)
Deletes the "recipe for target failed" error message so that only one error line is output per failed target.


csd-force-disable.diff (3.14.6 | 3.18.5 | 3.20.6 | 3.22.3)
Allows client-side decorations (custom window borders) to be forcibly disabled for all GTK+ windows by setting the environment variable GTK_CSD to 0. Based in part on:
disable-size-field-warning.diff (2.24.6 | 3.22.3)
Disables the "Theme directory X of theme Y has no size field" warning.
disable-sorted-style.diff (3.8.4 | 3.10.1 | 3.10.7 | 3.14.6 | 3.18.5 | 3.20.6 | 3.22.3)
Disables the ":sorted" selector in GTK+ CSS stylesheets. Written to work around poor color selection in file chooser widgets.
file-chooser-resize-workaround.diff (2.14.4)
Rough workaround to prevent the file chooser window from resizing while visible. (Only minimally tested—use at your own risk!)
file-chooser-start-in-cwd.diff (2.24.6 | 3.8.4 | 3.10.1 | 3.10.7 | 3.14.6 | 3.18.5 | 3.20.6 | 3.22.3)
Reverts the change in GTK+ 2.24.6 (git commit ca74dc6a873bb375bb2abc3ea7642ed41e9f6e79) which made the file chooser dialog default to "Recently Used" instead of the current directory when first opened.
gtkitemfactory-prototype-fix.diff (2.6.5 | 2.12.9 | 2.14.4 | 2.24.6)
Makes the GtkItemFactoryCallback declaration in gtkitemfactory.h a valid prototype so that GTK+ programs will successfully compile with the GCC -Werror option.
inconsistent-scrollbar-dragging-fix.diff (3.10.1 | 3.10.7 | 3.14.6 | 3.18.5 | 3.20.6 | 3.22.3)
Fixes inconsistent behavior in scroll bars: the handle would sometimes move more slowly than the mouse when being dragged.
path-bar-ellipsize-fix.diff (3.8.4)
Fixes a bug in the internal GtkPathBar widget (the widget used in file chooser dialogs which displays the current directory path as a row of buttons) that can cause the name of the currently selected path element to be truncated.
without-at-spi2.diff (3.12.2 | 3.18.5 | 3.20.6 | 3.22.3)
Adds a configure option (--without-at-spi2) to allow building GTK+ without a dependency on the at-spi2 libraries. Note that autoconf must be run after applying this patch to regenerate the configure script.
xrandr-panning-fix.diff (2.24.6 | 3.18.8 | 3.20.6 | 3.22.3)
Fixes window menus being mispositioned when the X11 display is configured with a virtual screen size larger than the current resolution and the display is panned away from the upper-left corner of the virtual screen.


submodules-as-hg.diff (0.5.0 | 0.8.3)
Causes Git submodules to be imported as Mercurial subrepositories under the control of hg-git rather than as separate Git repositories. Note that this will fail to update correctly if the remote link for any submodule changes.


disable-jarsigner-timestamp-warning.diff (2.5.4)
Disables the "No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not be able to validate..." warning from the jarsigner tool, displayed when (for example) using a self-signed certificate to build an Android app.


surrogate-border-fix.diff (0.75)
Works around a problem arising from the combination of Emacs 22, IIIMECF, and ATOK X3 which causes the error "invalid pos (larger than string length or at the surrogate border)" to occur when certain non-kana, non-kanji characters appear in the preedit string. Can be reproduced by e.g. entering "s-" in Japanese input mode.


cjpeg-dpi-options.diff (6b)
Adds "-xdpi", "-ydpi", "-xdpcm", and "-ydpcm" command-line options to cjpeg to allow setting the output image's resolution in dots per inch or centimeter.


prototypes.diff (0.9.8 | 1.0.1 | 1.1.1)
Ensures that all functions in library headers are properly prototyped to prevent warnings in GCC.


database-connectivity-fix.diff ( | | | | | | | | | |
Removes the unnecessary configure check for odbc when --disable-database-connectivity is given. (However, as of version this option still does not result in a successful build.)
enable-cmis.diff ( | | | | | | | | | |
Adds the configure option --disable-cmis to disable CMIS support.
enable-gpgmepp.diff (
Adds the configure option --disable-gpgmepp to disable gpgmepp support.
enable-nss.diff ( |
Adds the configure option --disable-nss to disable the use of NSS in favor of OpenSSL or GNUTLS.
enable-old-doc-filters.diff ( | | | | | | | | | |
Adds the configure option --disable-old-doc-filters to disable import/export filters for old/uncommon document formats (WordPerfect, Microsoft Publisher, MacWrite, ClarisWorks).
jpeg-9-fix.diff ( | |
Fixes compilation with version 9 of the jpeg library.
npapi-configure-fix.diff (
Removes the unnecessary configure check for the npapi.h header when not building the Mozilla browser plugin.
recent-files-extension.diff ( | |
Adds the filename extension to filenames shown in the recent files view.


no-wait-on-error.diff (0.1.12)
Ensures that errors are immediately reported to the caller regardless of any specified timeout, so callers don't wait indefinitely on (e.g.) a disconnected device.


alloca-header.diff (1.3.3 | 1.3.4)
Adds #include <alloca.h> to sources which call alloca(). Note that this patch may not be suitable for all systems.
oom-fixes.diff (1.3.3 | 1.3.4)
Fixes numerous NULL dereference errors and memory leaks caused by failures in unchecked memory allocation calls.
warning-fixes.diff (1.3.3 | 1.3.4)
Fixes compiler warnings about const mismatches, poorly written expressions, unused variables and functions, and missing function declarations.


oom-fixes.diff (1.3.0 | 1.4.0 | 1.5.0)
(Fixed upstream as of version 1.6.1.) Fixes out-of-memory crashes in VP8 decoder initialization.
x86inc-disabled-link-fix.diff (1.3.0)
Fixes an erroneous assembly function declaration that causes an undefined error at link time on x86-64 platforms if CONFIG_USE_X86INC is disabled.


XSendEvent-XInput2-support.diff (1.6.2)
Adds support for sending synthetic XInput2 events (XIDeviceEvent only) using the XSendEvent() function. Based on patches at Must be used with the same-named patches for libXi, xextproto, and xorg-server.


XSendEvent-XInput2-support.diff (1.7.4)
Adds support for sending synthetic XInput2 events (XIDeviceEvent only) using the XSendEvent() function. Based on patches at Must be used with the same-named patches for libX11, xextproto, and xorg-server.


invalid-config-crash-fix.diff (1.4.26)
Fixes a potential crash on reading a configuration file containing an invalid entry for a string parameter, e.g. server.bind = ("host1","host2").


aio-eperm-fix.diff (2.6.37)
Fixes a bug in Linux 2.6.3[78] (through at least and, respectively) which causes asynchronous I/O with the aio_* family of functions to fail with EPERM. From the Linux git repository.
cylinder-overflow-warning.diff (2.6.19 | 2.6.23 | 2.6.24 | 2.6.25 | 2.6.30 | 2.6.31 | 2.6.32 | 2.6.33 | 2.6.38 | 3.2 | 3.4 | 3.7 | 3.11.8 | 4.8 | 4.16 | 5.0)
Outputs a warning when an attempt is made to access a sector beyond the 65535th cylinder of an IDE device in CHS mode, as can happen with sufficiently large hard disks on some defective BIOSes.
export-pgoff_t.diff (2.6.19 | 2.6.23)
Exports the "pgoff_t" type from <linux/types.h> even when __KERNEL_STRICT_NAMES is defined. (This was, at least at one point, required to compile some program or module that I can't recall.)
ext2_fs-header-fix.diff (2.6.23 | 2.6.24 | 2.6.25 | 2.6.30 | 2.6.31 | 2.6.32 | 2.6.33 | 2.6.38 | 3.2)
Includes <linux/fs.h> in <linux/ext2_fs.h> (and <linux/ext3_fs.h>) to prevent a compilation error in sash-3.7.
fat-utf8-warning-fix.diff (4.4)
Fixes a misleading warning message about using UTF-8 encoding with FAT filesystems.
header-fix-for-vmware.diff (2.6.19 | 2.6.23)
Prevents redefinitions of the "false" and "true" constants and the "bool" type when compiling kernel modules written in C++, such as modules used by some versions of VMware.
ieee1394-dump-full-packet.diff (2.6.19 | 2.6.23 | 2.6.24 | 2.6.25)
Causes the IEEE1394 driver to dump the full contents of all packets sent, rather than just the packet headers, when debugging.
if_fddi-type-fix.diff (2.6.23)
Ensures that <linux/if_fddi.h> includes <linux/types.h> so that the __be16 type is defined.
japanese-text-on-console.diff (2.2.16 | 2.4.13 | 2.6.7)
Allows Japanese (ISO-2022-JP, EUC-JP) text to be displayed on the console when using a framebuffer console.
loadavg-cpu.diff (4.16 | 5.0)
Changes the load average calculation to only include ready-to-run tasks, not tasks in uninterruptible sleep states.
loop-ioctl-fix.diff (2.6.19 | 2.6.23 | 2.6.24 | 2.6.25 | 2.6.30 | 2.6.31 | 2.6.32 | 2.6.33 | 2.6.38 | 3.2 | 3.4 | 3.7 | 3.11.8)
Changes <linux/loop.h> to use the _IO() macro rather than literal numeric constants to define ioctl values for the loop device.
proc-fd-file-position.diff (2.6.13 | 2.6.19 | 2.6.23 | 2.6.24 | 2.6.25 | 2.6.30 | 2.6.31 | 2.6.32 | 2.6.33 | 2.6.38 | 3.2 | 3.4)
Changes the behavior of file descriptor entries in the /proc/NNN/fd directory so that the size (stat.st_size) field is set to the file descriptor's current file position. This allows lsof to show the current file position when invoked with the "-o" option.
sony-gamepad-raw-buttons.diff (4.16 | 5.0)
Adds a configuration option (SONY_GAMEPAD_COOKED_BUTTONS) to allow disabling of Sony Sixaxis/DualShock gamepad button remapping.
tdfx-allow-256-pixel-modes.diff (2.6.19 | 2.6.23 | 2.6.24 | 2.6.25)
Allows the use of 256-pixel-wide modes when using the tdfx framebuffer device.
touchscreens-are-not-mice.diff (3.8 | 3.11.8 | 4.8 | 4.16 | 5.0)
Prevents touchscreen and touchpad devices from being recognized as "mice" by the input subsystem, so that /dev/input/mice does not include touch events.


stream-weight-p60.diff (1.12.2)
Adjusts the stream weight algorithm (for selecting "best" and "worst" streams) to understand "p60" in strings like "720p60".
twitch-videos-url.diff (1.12.2)
Adds support for ""-style Twitch URLs.


omit-string-hash.diff (5.1.4)
Omits the hash value from the internal string data structure used to manage strings. This adds some CPU overhead to string table management, but reduces Lua's memory usage by 5-10%. Only useful in combination with use-float-alignment.diff.
static-strings.diff (5.1.4)
Experimental patch to store pointers to literal strings instead of copying the strings. Unfortunately, it seems that most Lua initialization is done through the exported API functions (which don't support the detection of static strings), so this patch currently has very little effect.
use-float.diff (5.1.4)
Forces Lua to use single-precision instead of double-precision floating-point values for numbers.
use-float-alignment.diff (5.1.4)
Uses "float" instead of "double" for determining the maximum alignment of a data type. Only useful on systems where no data types require 8-byte alignment.


icon-assertion-fix.diff (1.8.0)
Fixes an assertion failure ("marco:ERROR:ui/ui.c:854:meta_ui_get_default_window_icon: assertion failed: (default_icon)") when default icons are not available.


branch-no-bookmark-hint.diff (2.0.2)
Removes the "did you mean bookmark?" line output by "hg branch" when creating a new branch.
disable-git-subrepo-push.diff (3.8.4)
Prevents "hg push" from pushing changes to Git subrepositories. Useful when pushing between private repositories which include local changes in subrepos originally cloned from an external source, but those subrepos must then be manually synchronized.
disable-pull-summary.diff (4.6.1)
Disables the "new changesets" sumamry line printed after a pull or unbundle operation.
disable-push-response-txn.diff (3.9 | 4.4.1 | 4.6.1)
Prevents "hg push" from creating a "push-response" transaction in the local repository, which would prevent "hg rollback" from rolling back the last commit. As a side effect, this also disables the "pushback" functionality by which the server can modify the local repository.
subversion-1.5-import-fix.diff (1.0 | 1.0.1)
Fixes the Subversion import module in "hg convert" to work with the Subversion 1.5 API (avoiding an "svn_ra_get_log: Assertion `*path != '/'' failed" error). This patch is untested with Subversion 1.4.


memory-leak-fixes.diff (8.0.2 | 8.0.3 | 8.0.4)
Fixes a few memory leaks related to shaders.
uninitialized-data-fix.diff (8.0.2 | 8.0.3 | 8.0.4)
Fixes an uninitialized data warning from Valgrind when using shaders.


height-1080.diff (1.6.1)
Records a height of 1080 pixels if the input stream height is 1088 pixels (required for PlayStation 3 playback).
mp4chaps.diff (1.6.1)
Adds the ability to record Nero/QuickTime-style chapter markers in MP4 files. Patch taken from post on by Ullrich Pollaehne.
mp4v-buffer-size.diff ( | 1.6.1)
Increases the MPEG-4 video packet buffer from 256kB to 1024kB to avoid buffer overflow errors on high-bitrate streams.


audio-sync-hack.diff (1.2pre-20141011)
Inserts silence in the audio stream whenever a PTS discontinuity is detected. Useful when dumping a corrupt audio stream to keep it synchronized with the associated video.
detect-AVI-EOF.diff (1.0rc2 | 1.0rc2-p20090530 | 1.0rc4-p20100506)
Detects EOF chunks in AVI files, and stops processing when one is encountered.
ignore-keypress-in-slave-mode.diff (1.0rc2 | 1.0rc2-p20090530 | 1.0rc4-p20100506)
Makes MPlayer Ignore keypress events when running in slave mode.
mencoder-vobsub.diff (1.0rc4-p20090919)
Adds support for the -vobsub and -vobsubid options in MEncoder. Patch from Dani Church.
mpeg-seek-fix.diff (1.0rc2 | 1.0rc2-p20090530 | 1.0rc4-p20100506)
Fixes seek failures in high-bitrate MPEG-2 streams.
no-proprietary-codec-message.diff (1.0rc2 | 1.0rc2-p20090530 | 1.0rc4-p20100506)
Suppresses the snide remark about proprietary codecs displayed for certain types of files.
no-system-slow-message.diff (1.0rc2 | 1.0rc2-p20090530 | 1.0rc4-p20100506)
Suppresses the "system too SLOW" message displayed when the audio and video get out of sync.
nodup.diff (1.0rc2 | 1.0rc2-p20090530 | 1.0rc4-p20100506)
Adds a -nodup option to mencoder which prevents frames from being duplicated.
noskip-fix.diff (1.0rc2 | 1.0rc2-p20090530 | 1.0rc4-p20100506)
Ensures that no frames are skipped when the -noskip option is passed to mencoder.
time-left-in-seconds.diff (1.0rc2 | 1.0rc2-p20090530 | 1.0rc4-p20100506 | 1.0rc4-p20101107 | 1.2pre-20141011)
Displays the time remaining for an encode in "MM:SS" format instead of "MMmin" format.


disable-char-insert-delete.diff (5.6)
Disables the "ic" (insert character) and "dc" (delete character) terminal actions. This was needed at one point to correct some sort of misbehavior, possibly related to wide characters, but I can't remember any details.
disable-linux-console-cursor-type.diff (5.6)
Disables the "civis", "cnorm", and "cvvis" terminal actions on Linux consoles (the "linux" console type). The same effect can be achieved on a per-user basis by compiling the updated terminal data into the $HOME/.terminfo directory.


default-duration.diff (git-f462231)
Adds the nestegg_track_default_duration() interface to return the DefaultDuration track parameter (which typically gives the inverse of the video frame rate for a video track). Merged in Git changeset 4dda9b3.
oom-fixes.diff (git-f462231)
Fixes the library to fail gracefully on out-of-memory conditions rather than calling abort(). Merged in Git changeset 3f9c26a.


pamrgbatopng-best-compression.diff (10.51.00 | 10.70.00)
Changes the pamrgbatopng program to use maximum compression when writing the PNG file, mimicking the behavior of the -compression=9 option to pnmtopng.
pamrgbatopng-suppress-sRGB.diff (10.51.00 | 10.70.00)
Prevents the pamrgbatopng program from writing a PNG sRGB chunk to the output file.
pnmtopng-allow-large-palette.diff (10.70.00)
Removes the check that a palette supplied with the -palette option is the same size as the actual palette of the image, allowing images to be written with a larger palette than the minimum size. Useful when working with programs incapable of understanding palettes smaller than 256 colors.
pnmtopng-disable-alpha-palette.diff (10.51.00 | 10.70.00)
Prevents the pnmtopng program from using a palette to represent images with an alpha channel, since the resulting image is not read correctly by several programs (notably GIMP 2.6.11 and Netpbm's own pngtopam).

nvidia-drivers (169.12)
Modifies the NVIDIA X11 driver module to work around a bug which crashes the X server when switching to another virtual console while an SDL (or possibly other MITSHM-using) program is minimized (NVIDIA bug 413808). The bug appears to be fixed in the 173.14.05 release of the driver.


arm-fpu-control-fix.diff (1.14)
Fixes references to undefined FPU-related symbols when building on ARM.


disable-chroot-perms-check.diff (5.6p1)
Disables the directory permission checks for chroot directories, allowing e.g. SFTP for a user account to be chrooted to the user's home directory. (Note that if a user with write access to the chroot directory can also access the system without chroot restrictions, this patch exposes vulnerability CVE 2009-2904.)


utf8-extract.diff (9.38.1)
Ensures that non-ASCII filenames are extracted as UTF-8 by default, rather than replacing non-ASCII characters with question marks.


always-replace-after-patch.diff (2.7.5)
Ensures that a patched file is always rewritten, even if all hunks failed and the resulting file is unchanged. This ensures that the file is consistently delinked from any hard links, so that subsequent editing of the file (to manually apply failed hunks, for instance) does not affect any previously hardlinked files.
fix-bouncing-offsets.diff (2.5.4)
Prevents patch from alternately reporting nonzero and zero offsets when applying a patch which has a constant offset with respect to the target file. Fixed upstream in more recent versions.


jpeg-9-fix.diff (svn-r5714)
Fixes a build error when building with version 9 of the jpeg library.
onepad-negative-axis-fix.diff (1.0.0 | 1.3.1-git)
Fixes an arithmetic error in the OnePAD plugin which prevents full left or up input on the analog sticks. (This manifests as, for example, slow forward or leftward movement in the Katamari Damacy games.)


disable-auto-savestate.diff (1.9.93)
Disables automatic savestate creation when the emulation is paused.
gpu-fill-crash-fix.diff (1.9.93)
Fixes a crash in the dfxvideo plugin when negative coordinates are passed to a GPU fill-region command.
hide-cursor.diff (1.9.93)
Hides the mouse cursor on Linux while it is inside the game window, even when running in windowed mode.


posix-tmpnam.diff (5.26.1)
Restores the tmpnam() function, which was removed for security reasons, in the POSIX module. Be aware that tmpnam() is insecure, and File::Temp is a better replacement; this patch is intended only to support existing software which uses tmpnam().


autopatch.diff ( | | 2.1.4 | 2.1.5 | | 2.2_rc1 | 2.2_rc8 | 2.2.1)
[For Portage 2.2.0 and later, this patch has been superseded by the /etc/portage/bashrc fragment at] Allows packages to be automatically patched before compilation without the necessity of creating and maintaining separate ebuilds to apply the patches (and without requiring the ebuild to call epatch_user). Set PORTAGE_PATCHDIR in /etc/make.conf; then for package CATEGORY/PACKAGE-VERSION, store version-independent patches in ${PORTAGE_PATCHDIR}/CATEGORY/PACKAGE and version-dependent patches in ${PORTAGE_PATCHDIR}/CATEGORY/PACKAGE/VERSION, named *.diff (to avoid conflict with epatch-user, which uses *.patch). Based on a patch by wdsci at
concise-progress.diff ( | | 2.1.4 | 2.1.5 | | 2.2_rc1 | 2.2_rc8 | 2.2.1 | 2.2.10 | 2.2.11 | 2.2.12 | 2.2.16 | 2.2.19 | 2.2.22 | 2.2.25 | 2.3.0 | 2.3.7 | 2.3.36 | 2.3.45 | 2.3.66)
Implements a more concise progress display for downloading files and compiling packages. Add "concise-progress" to ${FEATURES} to activate. (As of 2.2_rc8, only works for fetches, not builds.)
decimal-units.diff (2.2.11 | 2.2.12 | 2.2.16 | 2.2.19 | 2.2.22 | 2.2.25 | 2.3.0 | 2.3.7 | 2.3.36 | 2.3.45 | 2.3.66)
Changes the size units for "emerge -pv" from KiB to kB.
delete-locale-files.diff ( | | 2.1.4 | 2.1.5 | | 2.2_rc1 | 2.2_rc8 | 2.2.1 | 2.2.10 | 2.2.11 | 2.2.12 | 2.2.16 | 2.2.19 | 2.2.22 | 2.2.25 | 2.3.0 | 2.3.7 | 2.3.36 | 2.3.45 | 2.3.66)
Automatically deletes all locale files (in /usr/share/locale/*/LC_MESSAGES) after installation if USE="-nls" is specified in make.conf.
no-depclean-note.diff (2.3.0 | 2.3.7 | 2.3.36 | 2.3.45 | 2.3.66)
Suppresses the "run emerge --depclean" message after a world update.
no-readonly-check.diff (2.2.10 | 2.2.11 | 2.2.12 | 2.2.16 | 2.2.19 | 2.2.22 | 2.2.25 | 2.3.0 | 2.3.7 | 2.3.36 | 2.3.45 | 2.3.66)
Disables the check for readonly filesystems when installing packages, to fix cases when Portage misdetects the read-only status of the filesystem (as can happen when running in a chroot). See (among others):
noclean-fix.diff (2.2.28 | 2.3.0 | 2.3.7 | 2.3.36 | 2.3.45 | 2.3.66)
Makes the emerge tool respect the "noclean" feature flag for the pre-clean phase.
silent-declare-f.diff (2.3.0 | 2.3.7 | 2.3.36 | 2.3.45 | 2.3.66)
Fixes user-defined shell functions (from /etc/portage/bashrc) being printed to the console at every ebuild stage.


HZ-calculation-fix.diff (3.2.7)
Fixes a bug in the calculation of the system clock tick frequency (the HZ constant).
extreme-prejudice.diff (3.2.7)
For those nostalgic about old Linux man pages.

gdb-typo-fix.diff (svn-r2460)
Fixes typos in some error messages sent to the remote GDB.
slim-memory-fix.diff (svn-r2460)
Allows the memory manipulation commands to access all 64MB of RAM in the Slim (PSP-2000) and later models. This patch does not check the model of PSP in use, so it will crash if you try to access memory above the 32MB limit on an original-model PSP.


autotools-fixes.diff (svn-r2450 | svn-r2493)
Fixes the autotools control files to work with more recent versions of the autotools suite.
function-decl-fixes.diff (svn-r2450 | svn-r2493)
Fixes system function declarations so that they are all valid prototypes, and adds "const" to some input-only pointer parameters.
icache-funcs.diff (svn-r2450 | svn-r2493)
Adds prototypes and stubs for the sceKernelIcacheInvalidateAll() and sceKernelIcacheInvalidateRange() functions, and fixes a couple of comment typos.
libgu-fixes.diff (svn-r2450 | svn-r2493)
Simplifies a couple of decompiled operation sequences to their original meanings.
no-cxx-cpp.diff (svn-r2450 | svn-r2493)
Disables compilation of the C++ portion of psplibc (for use when GCC has not been compiled with C++ support).
no-override-prefix.diff (svn-r2450 | svn-r2493)
Prevents the PSPSDK configure script from overriding the --prefix option.
no-printf-in-abort.diff (svn-r2450 | svn-r2493)
Removes the printf() call in the psplibc implementation of abort(), so programs which do not otherwise call printf() do not need to link the function into the final executable.
psp-config-prefix-detection.diff (svn-r2450 | svn-r2493)
Use the compiled-in installation prefix rather than manually searching directories for the psp-config executable.
quiet-pack-pbp.diff (svn-r2450 | svn-r2493)
Makes the pack-pbp program operate quietly, rather than outputting details of the files it adds to the output PBP package. Verbose output can be enabled again by adding the "-v" option before any filename parameters.
sdk-version-funcs.diff (svn-r2494)
Adds prototypes and stubs for the sceKernelSetCompiledSdkVersion() and sceKernelGetCompiledSdkVersion() functions.
stdio-fix.diff (svn-r2450 | svn-r2493)
Fixes a compilation error in the stdio portion of psplibc.


jpeg-9-fix.diff (4.8.5)
Fixes compilation with version 9 of the jpeg library.


nicovideo.diff (2.4)
Adds support for streams from (Japanese video streaming service). Source:


detailed-codeset-warnings.diff (8.8 | 9.02)
Prints more detailed warning messages when the codeset for a font cannot be determined.
iso-646-fix.diff (8.8 | 9.02)
Fixes a typo preventing the ISO-646.1991 character set from being recognized.
japanese-symbol-width.diff (8.3 | 8.8 | 9.02 | 9.07)
A crude patch to force all Unicode characters in the range U+2000...U+27FF to be treated as double-width, to ensure proper alignment when using a Japanese font.


nmbd-piddir.diff (3.4.3)
Adds support to nmbd for --piddir and related pathname specification command-line options.
no-subunit.diff (4.1.19 | 4.2.4)
Disables the check for the libsubunit library when configuring Samba. Useful to avoid having to install the subunit package and its dependencies when not running the Samba tests.


glx-memory-leak-fix.diff (1.2.13)
Fixes an OpenGL-related memory leak in X11 environments.
no-xim.diff (1.2.13)
Prevents SDL from creating an XIM (X Input Method) context in X11 environments, which seems to cause some SDL programs to freeze at startup.
yuv-crash-fix.diff (1.2.15)
Disables accelerated YUV-to-RGB decoding to work around multiple crashes in the accelerated decoding routines. See:


alsa-crash-fix.diff (2.49.6)
Fixes a crash in Seamonkey (and by extension Firefox) with the error "Assertion failed: (wrote >= 0 && wrote == got)" when playing sound on Linux, caused by failing to handle partial writes to the audio device. Adapted from
ffmpeg-58-support.diff (
Adds support for FFmpeg library version 58 (FFmpeg 4.1).
libjpeg-turbo-optional.diff (2.15 | 2.29 | 2.33)
Allows building with the system libjpeg even if it doesn't have the libjpeg-turbo extensions.
middle-click-ignore-empty-tab.diff (2.8 | 2.15 | 2.29 | 2.33 | 2.48b1)
Disables special treatment of empty tabs when using the middle mouse button (or Ctrl-click, etc.) to open a link in a new tab or window.
multi-user-download-fix.diff (2.40)
Fixes failure to download files when different users run SeaMonkey on the same system. From; will be fixed in the next SeaMonkey release.
no-checkCompatibility-suffix.diff (2.48b1)
Removes the version suffix on the "extensions.checkCompatibility" preference name, so a new preference does not need to be added for each new browser version.
suppress-update-prompt.diff (2.40 | 2.48b1)
Suppresses the "your copy of SeaMonkey is old [...] please update to a newer version" prompt for versions more than three months old. Use at your own risk!


chkname-fix.diff (
Changes the definition of an allowable user or group name to anything matching /^[A-Za-z0-9_.-]\$?$/. Note that this can cause problems with certain system utilities or daemons if not used correctly.


device-selection-patch.diff (3.5)
Allows different OSS devices to be selected from the command line (mixer -d /dev/mixerN, vplay -D /dev/dspN).


alsa-device.diff (1.53 | 1.54.1)
Adds a configuration option to the GTK port's sound preferences to allow selection of the ALSA device to be used for output.
configure-fix.diff (1.51)
Fixes a bug in the included file which causes configure to fail in the arithmetic-right-shift tests. Note that the configure script must be regenerated after applying this patch.
debug-poke-command.diff (1.51)
Adds a command "> [$BB:AAAA] $XX $XX..." to write byte data ($XX) to memory ($BB:AAAA, continues from the previous write if omitted).
hires-typo-fix.diff (1.43 | 1.51)
Fixes a typo preventing high-resolution graphics from being used in certain video resolutions.
linux-2.6.17-joystick_h-fix.diff (1.43 | 1.51)
Works around a compilation error under (at least) Linux 2.6.17 in which the <linux/joystick.h> header defines a field named "class", causing an error when used in C++ source.
loadsave-key-binding-fix.diff (1.43)
Inverts the meaning of the Shift key with respect to save states (so Shift-F# saves a state while the unshifted F# loads it), to avoid accidentally overwriting save states with a wayward keypress.
no-mode7int.diff (1.51)
Removes the default keyboard definition of Shift+9 to the undefined command "Mode7Interpolate", which causes an error message to be printed every time the program is started.
record-audio.diff (1.43 | 1.51)
Allows the emulated sound output to be recorded to a raw PCM file when using the Linux SVGAlib or X11 interfaces. Recording can be started by pressing Ctrl-R ("Record") and stopped by pressing Ctrl-T ("sTop") at any time. Recorded sound is written to the ROM filename with a ".pcm" extension in the same directory SPC dumps are written to (for version 1.43, the output file is "audio.raw" in the current directory); the file is truncated each time a new recording is started. Also adjusts the behavior of Linux audio output in synchronized sound mode for more accurate audio dumps at the cost of more popping while the emulation is running.
scale-3x.diff (1.51)
Adds a new interpolation mode 6 (command line option -y6) which expands the SNES display output by a factor of 3 relative to a low-resolution, non-interlaced screen, mimicking the scanlines of a traditional CRT television. This patch currently works properly only on 24- or 32-bit displays using BGRA pixel order, is only implemented for Linux/X11, and has not been tested with high-resolution or interlaced graphics.
sprintf-fix.diff (1.51)
Fixes incorrect usage of of sprintf() which breaks instruction and memory dumps in the debugger.
window-height-fix.diff (1.43 | 1.51)
Fixes a bug in X11 mode causing the window to be 1 pixel (2 pixels in high-resolution mode) too short to display the entire emulated screen.


8svx-preserve-repeat.diff (14.0.0 | 14.1.0)
Preserves the repeat (loop) start and length stored in IFF 8SVX files when changing such a file's sampling rate.
restore-short-options.diff (14.4.0 | 14.4.2)
Restores the short options for sample size (-1, -2, -3, -4, -8) and type (-s, -u, -f, -a, -i, -o, -g, -U, -A) which were deprecated in sox-14.4.0 and removed in sox-14.4.2.


support-loop-ioctls.diff (4.5.16 | 4.5.19 | 4.5.20)
Adds support for Linux loop device ioctl calls.
support-sound-ioctls.diff (4.5.16 | 4.5.19 | 4.5.20)
Adds support for Linux audio device ioctl calls.


gcc4-fixes.diff (1.4.3)
Fixes compilation errors when compiling with GCC 4.x.
make-depend-fix.diff (1.4.3)
Fixes a failure when running "make depend".
mmap-fix.diff (1.4.3)
Fixes a false error result when mmap() returns an address with the high bit set.
new-fbdev-driver.diff (1.4.3)
Replaces the distributed fbdev driver with a better-functioning one.


ignore-unknown-ls-colors.diff (6.15.00)
Ignores unknown color types in the LS_COLORS environment variable, rather than aborting.


brute-force-decryption.diff (0.11)
Allows the server to decrypt clients' connection messages using brute force if the standard algorithm (based on the client's IP address) does not work, so that clients behind NAT can connect to the server.
no-ipv6-fix.diff (0.11)
Fixes a careless error causing compilation to fail if IPv6 support was disabled.
server-lines.diff (0.11)
Adds the "server lines" feature from the original Windows version of Tetrinet, causing the server to start adding lines to all players' fields if the game does not end within a certain period of time.


alloca-header.diff (svn-r18116)
Adds #include <alloca.h> to sources which call alloca(). Note that this patch may not be suitable for all systems.
oom-fixes.diff (svn-r18116)
Fixes numerous NULL dereference errors and memory leaks caused by failures in unchecked memory allocation calls.
read-after-seek-fix.diff (svn-r18116)
Fixes a case in which the library can read past the end of a stream following a seek operation. See:
warning-fixes.diff (svn-r18116)
Fixes compiler warnings about missing function declarations and signed/unsigned comparison mismatches.


currprefs-stereo-fix.diff (0.8.25 | 0.8.26 | 0.8.29)
Fixes compilation errors resulting from use of the obsolete currprefs.stereo field name.
extra-file-mode-support.diff (0.8.25 | 0.8.26 | 0.8.29)
Maps the AmigaOS file modes FIBF_SCRIPT (command script), FIBF_DELETE (deletable), and FIBF_PURE (pure executable) to the Unix file modes S_ISUID (set-user-id), S_ISGID (set-group-id), and S_ISVTX (sticky) respectively.
gcc4-fixes.diff (0.8.25)
Fixes compilation errors that occur when compiling with GCC 4.x.
mathlib-fix.diff (0.8.29)
Fixes a link error when building with --with-sdl-gfx.
missing-header-fix.diff (0.8.25 | 0.8.26 | 0.8.29)
Adds the missing header src/cpu_prefetch.h.
nogui-cleanup.diff (0.8.25 | 0.8.26 | 0.8.29)
Adds missing interface functions to src/nogui.c, and removes two unused local functions (one of which conflicts with a system header declaration).


compressed-empty-file-fix.diff (6.0)
Fixes a bug which breaks extraction of size-zero entries in encrypted ZIP files.
disable-filename-translation.diff (5.52)
Disables the translation of filenames into the ISO 8859-1 character set (which can corrupt Japanese filenames, for example).


fdisk-4k-alignment.diff (2.27.1 | 2.29)
Sets the default partition alignment to 4k (4096 bytes) instead of 1M (1048576 bytes) in fdisk.
lomount-32-byte-key-fix.diff (2.12r | 2.13)
Fixes a bug which caused the last byte of a 32-byte key to be truncated.


arm-core-rewrite.diff (1.7.2)
Replaces the ARM/Thumb emulation core with a rewritten version that compiles significantly more quickly and runs 5-10% faster (patch #1292942 on Sourceforge). Requires cvs-20080121.diff to be applied first.
cvs-20080121.diff (1.7.2)
Applies all changes committed to CVS as of 2008/1/21 (note that the most recent change seems to be September 2006).
debug-key-change.diff (1.7.2)
Changes the key to activate debugging from F11 to D (so that debugging is not accidentally activated if the user intends to press F10 but misses).
sai-asm-fix.diff (1.7.2)
Fixes build errors in the file src/i386/2xSaImmx.asm after applying cvs-20080121.diff.
sound-outfile.diff (1.7.2)
Adds the command-line option "--sound-outfile=..." to allow sound to be output to a file rather than the system audio device.


sdl-sound-crash-fix.diff (2.0.0-beta2 | 2.0.1)
Fixes a potential crash on quit when using SDL sound.
sdl-sound-stutter-fix.diff (2.0.0-beta2)
Fixes severe stutter and occasional deadlocks when using SDL sound (caused by spawning multiple SDL audio playback threads). Fixed upstream in Git commit 891f17d6.
trace-log-fix.diff (2.0.0-beta2 | 2.0.1)
Prevents VBA-M from littering the current directory with "trace.log" files.


extended-history.diff (2.01.10)
Extends the monthly history summary so that more than one year's worth of data is listed. (The patch uses a default of 256 months; this can be changed via the HIST_SIZE macro in preserve.h.)
timezones.diff (2.01.10)
Properly handles time zones given in access log entries, and converts all times to the local time of the environment in which the program is run.


getaddrinfo-fix.diff (4.7.24 | 4.7.33)
Retries the getaddrinfo() call without the AI_IDN (internationalized domain name support) flag if the first call returns an EAI_BADFLAGS (invalid flags) error. Required to avoid runtime errors in environments where glibc is compiled without libidn.


alsa-reduced-latency.diff (1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
Reduces the default latency for the ALSA sound driver from 100ms to 33ms.
api-ms-win-stub-dlls.diff (1.9.11)
Adds stubs for missing Visual Studio 2015 runtime libraries. A merged version of the 27 patches from:
d3d11-blend-factor-fix.diff (2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18)
Adds support for the blend factor ("blend color" in OpenGL terms) in Direct3D 11. Fixed upstream as of wine-4.3.
disable-uid-check.diff (4.6 | 4.8)
Allows WINE to start in a prefix directory (or create a new prefix in a parent directory) not owned by the current user.
disable-unixfs.diff (1.7.0 | 1.7.3 | 1.7.11 | 1.7.29 | 1.7.38 | 1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
Adds a configuration option to disable the (undocumented) "unixfs" filesystem which exposes the full host filesystem through Windows file APIs. Note that with this patch applied, Wine will require a Z: drive mapped to the full host filesystem (as is the default) when upgrading a Wine data directory to a new Wine version, but not at any other time. Also note that this is NOT a substitute for a VM or chroot jail -- Wine-hosted programs can still execute Linux syscalls to access the host filesystem. Based in part on the patch to wine-1.3.19 attached to:
disable-winemenubuilder.diff (1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
Disables installation of the winemenubuilder program.
ff14-flicker-fix.diff (1.7.0 | 1.7.3 | 1.7.11 | 1.7.29 | 1.7.38 | 1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
(Only applicable when using DirectX 9.) Fixes flickering and corruption of some UI elements in the game Final Fantasy XIV. Note that this patch has a significant impact on rendering performance. For details, see:
ff14-hdr-fix.diff (1.7.0 | 1.7.3 | 1.7.11 | 1.7.29 | 1.7.38 | 1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
(Only applicable when using DirectX 9.) Fixes black squares appearing on the screen in some scenes when HDR (high dynamic range) rendering is enabled in the game Final Fantasy XIV, resulting from an idiosyncrasy of Direct3D 9 shader instructions. Note that this patch has a moderate impact on rendering performance. For details, see:
force-large-address-aware.diff (1.7.0 | 1.7.3 | 1.7.11 | 1.7.29 | 1.7.38 | 1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
Allows the user to set the WINEFORCELARGEADDRESSAWARE environment variable to a non-empty value to make Wine act as if all executable files have the LARGE_ADDRESS_AWARE flag set. This gives 32-bit Windows programs an additional 1GB of address space (somewhat less on a 32-bit host), but may break some programs or libraries which make assumptions about the address space layout.
gl-debug-message-callback-fix.diff (1.7.38 | 1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9)
(Fixed upstream in Wine 3.18.) Fixes crashes in programs which use glDebugMessageCallback(). (This is a trivial fix which assumes that the same callback function will be used with all GL contexts created by a process; the upstream fix properly handles multiple contexts.)
gridl-fix.diff (1.7.29 | 1.7.38 | 1.7.40 | 1.7.43)
(Fixed upstream in Wine 1.7.44.) Fixes failure of GetRawInputDeviceList() to set the system error code when the input buffer is too small.
joystick-button-map.diff (1.7.14 | 1.7.29 | 1.7.38 | 1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
Adds a "ButtonMap" configuration value to the DirectInput registry key which allows remapping any of the first 16 joystick buttons. The format of the value is a comma-separated list of numbers, with the first number giving the (zero-based) physical button index for DirectInput button 0, the second number giving the physical button index for DirectInput button 1, and so on for up to 16 buttons.
joystick-force-deadzone.diff (1.7.14 | 1.7.29 | 1.7.38 | 1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
Adds a "ForceDeadZone" configuration value to the DirectInput registry key which, when present with a nonzero value, overrides any joystick dead zone set by the application with the dead zone set by the DefaultDeadZone value. Like all Wine configuration settings, the value type must be "string" even though the value itself is numeric.
joystick-high-deadzone.diff (1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
Allows a second (comma-separated) value in the DirectInput DefaultDeadZone registry key which sets a dead zone at the high end of axis input ranges (for example, "2500,9000" excludes the low 25% and high 10% of the range on each axis). Useful for devices which do not return the full range of values they report, or for applications which process axes as digital inputs and treat anything less than the maximum input value as 0. Note that this is a simplistic implementation which uses a global rather than per-device variable.
joystick-reconnect.diff (1.7.0 | 1.7.3 | 1.7.11 | 1.7.29 | 1.7.38 | 1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
Enables reconnecting to a previously disconnected joystick when using the Linux evdev driver, as long as the joystick appears on the same device (/dev/input/eventN) on which it was originally detected.
joystick-report-aspect.diff (1.7.0 | 1.7.3 | 1.7.11 | 1.7.29 | 1.7.38 | 1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15)
(Fixed upstream in wine-1.9.17.) Fixes the DirectInput joystick driver to report "aspect" flags for axis (analog) inputs, since some games depend on those flags. For details, see:
joystick-trace-fix.diff (1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
Makes the joystick_map_axis() trace output more useful.
loader-trace.diff (1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
Adds some trace messages to the DLL loader.
long-debug-strings.diff (4.6 | 4.8)
Extends the maximum length of argument strings printed by the Wine debug interface. Note that this patch significantly increases Wine's stack usage.
procmeminfo.diff (1.7.11 | 1.7.29 | 1.7.38 | 1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3)
(Fixed upstream in version 2.7.) Fixes the GetProcessMemoryInfo() function to return actual data on Linux (
rawinput-xinput-devices.diff (1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9)
Causes the GetRawInputDeviceList() and GetRawInputDeviceInfo() functions to act as though XInput-supported joystick devices are connected to the system if the WINEXINPUTDEVICES environment variable is set to a positive number (1 through 4, indicating the number of XInput devices to report).
shader-edit.diff (1.7.0 | 1.7.3 | 1.7.11 | 1.7.29 | 1.7.38 | 1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
Allows dynamic rewriting of a single shader by placing the original shader source code (as generated by Wine) in the file "/tmp/shader_in" and the replacement source code in the file "/tmp/shader_out", both limited to 9999 bytes. This can be useful when debugging shader problems, but it should not be applied for normal use since it reduces performance (the files are read for every shader created) and introduces a security hole (an attacker could cause Wine to execute arbitrary code on the GPU).
xinput.diff (1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0)
Implements the XInput interface for joystick devices as a wrapper around DirectInput. Does not currently allow buttons to be remapped (the button mapping is hardcoded for the PlayStation 3 controller).
xrandr-mode-change-fix.diff (1.7.29 | 1.7.38 | 1.7.40 | 1.7.43 | 1.7.44 | 1.8 | 1.9.5 | 1.9.7 | 1.9.15 | 1.9.18 | 1.9.20 | 2.0 | 2.2 | 2.3 | 2.8 | 2.18 | 2.20 | 3.0 | 3.9 | 3.18 | 4.3 | 4.8)
Fixes failure to restore the display to its original resolution after changing to a lower resolution on Linux, reported by Wine as a "Resolution change not successful -- perhaps display has changed?" error in xrandr12_set_current_mode().


hrd_pulldown_interlace.diff (67 | 68 | 80 | 84)
(Obsoleted by later updates to x264.) Adds support for inserting NAL HRD parameters into the bitstream (via the configuration paramter "b_nal_hrd" or the corresponding command-line option "--nal-hrd") and several other features. Found on
nal-hrd1.22.diff (84)
(Obsoleted by later updates to x264.) An alternate version of the hrd_pulldown_interlace patch, from
nal-hrd1.22-fix.diff (84)
(Obsoleted by later updates to x264.) Fixes a bug in nal-hrd1.22.diff causing the top-field-first flag to be ignored when generating the H.264 bitstream.
no-assert-lowres.diff (80 | 84 | 107)
Removes the assert() call which causes an "Assertion `h->frames.b_have_lowres' failed." crash at the end of the second pass in a 2-pass encode when the 2-pass log file has fewer frames than the video itself (which is apparently caused by the use of B-frames).


include-pathname-fix.diff (3.95)
Fixes an incorrect #include pathname.
yuv420p-avi.diff (3.95)
Allows YUV 4:2:0 planar data to be written to AVI files.


debian.diff (2.4)
Patches from the Debian project (source: ).
sound-fixes.diff (2.4)
Various fixes to Linux sound output. Intended to be applied on top of debian.diff.


XSendEvent-XInput2-support.diff (7.3.0)
Adds support for sending synthetic XInput2 events (XIDeviceEvent only) using the XSendEvent() function. Based on patches at Must be used with the same-named patches for libX11, libXi, and xorg-server.


no-flush-buttons.diff (1.2.2)
Disables the "button flush" logic used when activating the X11 virtual terminal, which causes spurious button-release events to be propagated to X clients when switching from a text console back to X. (As a result, any buttons held down while switching away from X will still be considered "pressed" after switching back.) See:


filename-buffer-overflow-fix.diff (3.10 | 20.04p07)
Fixes an off-by-one bug in filename handling that can cause corruption of the stack.
gcc331-fixes.diff (3.10)
Fixes compilation errors that occur when compiling with GCC 3.3.1 and later.


menu-crash-fix.diff (1.12d)
Fixes a crash that can occur when using menus.


jp106-fixes.diff (1.0.1)
Fixes the X.Org keyboard data to properly recognize extended keys on Japanese 106-key keyboards.


gcc331-fixes.diff (2.46)
Fixes compilation errors that occur when compiling with GCC 3.3.1 and later.


gcc41-fixes.diff (4.7)
Fixes compilation errors that occur when compiling with GCC 4.1.


gcc4-fixes.diff (1.5.6)
Fixes compilation errors that occur when compiling with GCC 4.x.


dont-strip.diff (2.7.1)
Prevents the Makefiles from stripping symbols out of installed executable files.
envelope-reset-fix.diff (2.4.1)
Ensures that the waveform envelope is reset when appropriate, even when no note is given in the corresponding row (fixes playback of mod.AKingIsBorn).
missing-difftime-prototype-fix.diff (2.4.1)
Includes <time.h> in src/misc/control.c to ensure that difftime() is declared.
multiple-song-fix.diff (2.4.1)
Allows the second and later songs in a file with multiple independent songs (such as separate sequence loops in a MOD file) to be played. Also removes an extraneous "if" statement.
no-porta-on-tick-zero.diff (2.5.1)
Prevents portamento from being applied on the first tick of each row (fixes the speed of the portamento in pattern 04 of mod.Biomechanoid).
no-tempo-zero.diff (2.4.1 | 2.5.1 | 2.7.1)
Ignores attempts by modules to set the playback tempo to zero.
pan-divide-by-zero-fix.diff (2.4.1)
Prevents division by zero when the command-line option "-P 100" is given.
reset-dsp-on-exit.diff (2.4.1 | 2.5.1 | 2.7.1)
Resets the DSP device on exit, terminating playback immediately rather than waiting for buffered data to finish playing.
stop-build-on-error.diff (2.4.1 | 2.5.1 | 2.7.1)
Changes the top-level Makefile to abort the build when a compilation error occurs in a subdirectory.
tone-vslide-fix.diff (2.4.1 | 2.5.1 | 2.7.1)
Fixes handling of SoundTracker effect 5 (tone portamento with volume slide), preventing sound glitches in pattern 04 of mod.Biomechanoid.


XQueryColors-ignore-non-rgb-bits.diff (1.17.1 | 1.18.3)
Changes the XQueryColors request to ignore bits in the input pixel values not associated with red/green/blue components (alpha bits, for example) instead of raising a BadValue error. This fixes incorrect window title colors in FVWM when using a visual with alpha.
XSendEvent-XInput2-support.diff (1.17.1 | 1.18.3)
Adds support for sending synthetic XInput2 events (XIDeviceEvent only) using the XSendEvent() function. Based on patches at Must be used with the same-named patches for libX11, libXi, and xextproto.


verbose-show-mode-id.diff (1.4.3)
Inserts the mode ID in the diagnostic message output for XRRSetCrtcConfig() when the --verbose flag is given.


snprintf.diff (0.991 | 0.994 | 0.995)
Replaces sprintf() calls by snprintf() to avoid buffer overflows.
window-position-fix.diff (0.991 | 0.994 | 0.995)
Offsets the GTK window positions to prevent the windows from "crawling" toward the upper left corner of the display each time XSane is restarted.


libpng-1.4-fixes.diff (3.10a+20070520)
Updates the PNG code for libpng 1.4, avoiding direct references to the info_ptr structure (which are now deprecated). Intended to be applied on top of png-buffer-overflow-fix.diff.
png-buffer-overflow-fix.diff (3.10a+20070520)
Fixes a buffer overflow in loading PNG files with comments.


buffer-overflow-fixes.diff (0.7)
Fixes a buffer overflow (apparently harmless) in menu.c and a cosmetic buffer overflow (definitely harmless) in status.c.
force-stereo.diff (0.7)
Forces all audio to be played back in stereo mode (monaural files are played with the same sound repeated in both channels), to accommodate buggy sound drivers which claim to support monaural audio but play it back as stereo instead.
maxmem-off-by-one-fix.diff (0.7)
Fixes an off-by-one bug causing files of data size exactly "maxmem" bytes (16M by default) to be uneditable.
saved-mark.diff (0.7)
Implements a "saved mark" (a second cursor position), which can be swapped with the current cursor position by pressing F12.


socket-leak-fix.diff (1.3.7)
Fixes a socket descriptor leak when the remote server fails a transfer operation.


decimal-units.diff (2017.05.18.1)
Changes the download status output line to use decimal (kB, MB, ...) instead of binary (KiB, MiB, ...) units. Also changes the size parsing logic to correctly interpret "kB" as decimal and to use "k" (or "K"), "M", "G", etc. instead of "kB", "mB", "gB", etc. as abbreviations for binary units.
non-windows-filenames.diff (2017.07.02)
Disables stripping of characters such as ":" and "?" in filenames on non-Windows systems.


gcc4-fixes.diff (2.7.8)
Fixes compilation errors that occur when compiling with GCC 4.x.


cmake-test-example-flags.diff (1.2.6 | 1.2.11)
Adds ENABLE_TESTS and BUILD_EXAMPLES flags to the CMake configuration file.
negative-shift-fix.diff (1.2.8)
(Fixed upstream in version 1.2.9.) Fixes a shift of a negative value, which is undefined in the C standard.
remove-bogus-64bit-funcs.diff (1.2.8 | 1.2.11)
Removes the (unnecessary) definitions of the adler32_combine64() and crc32_combine64() when building on a 64-bit system, to avoid "missing declaration" warnings from the compiler.
uninitialized-access-fix.diff (1.2.3 | 1.2.11)
Prevents the compression algorithm from generating uninitialized data access errors when using a memory access checking tool like Valgrind, at the cost of a minor increase in execution time.

Andrew Church
Generated on 2019/6/11