我该如何应用这个补丁/修复程序?

我该如何应用这个补丁/修复程序?

我需要修复玩游戏时鼠标出现的这个问题,但我不知道如何应用此补丁。http://cgit.freedesktop.org/xorg/xserver/commit/?id=2d4fda4b09e67e47d3e6fc4743fc6e81bfe40f28

任何帮助都很好。谢谢。

答案1

您可以尝试这个 PPA,它为您提供了尖端的 Xorg 构建和相关软件包。添加:

sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get dist-upgrade

还要确保您安装了此工具,它将允许您撤销 PPA 所做的更改:

sudo apt-get install ppa-purge

然后重新启动计算机。

请注意,此 PPA 对重要系统组件有重大影响。如果出现问题,您可能会进入图形安全模式,甚至更糟的是,进入恢复控制台。

要撤消更改,请运行:

sudo ppa-purge xorg-edgers

答案2

要应用补丁,您需要一个版本控制系统来获取原始源代码,然后您需要找到包含已更改源代码的分支并合并它们。您也可以手动合并它们(直接复制粘贴整个源代码副本中的代码段)。这对您来说会更容易。

之后,您必须安装编译器(就您而言)并构建 x11。然后,您需要使用新生成的二进制文件重新安装它。如您所见,这是一个复杂的过程,一旦主源代码树更新(当然,如果您需要更新),也需要重新执行此过程。

总而言之,要么尝试上面建议的不稳定 PPA,要么降级到 ubuntu 11.10 您的问题出现在 Ubuntu 12.04 版本的 X11(更具体地说是 XInput)中 X11 是您的操作系统的一个非常重要的组件,干预它不是一个好主意。您已经收到警告。如果您真的需要这样做,请继续阅读。

这些是修补某些内容所需的步骤(命令)。它们不是对您的问题的直接一对一回答。

假设 X11 使用 git VCS,首先我们需要安装 git

sudo apt-get install git git-core

然后我们需要安装编译器

sudo apt-get install build-essential

然后我们需要获取源树(假设 git.freedesktop.x11.git 存在)

git clone git.freedesktop.x11.git

这可能需要一段时间,所以玩一些非 Wine 游戏直到它完成。完成后转到 x11 目录

cd x11

跑步 :

./configure

如果缺少某些内容,此脚本将会发出警告。使用 synaptic 或 sudo apt-get package-name 安装该软件包/那些软件包现在运行(numberOfCores 是处理器中的核心数):

make -j(numberOfCores * 2)

这可能还需要一段时间。一旦完成运行:

sudo make install

现在您已经安装了 x11 的自定义版本。既然我们确定一切都很好,我们就可以修补它了。有几种方法可以做到这一点:第一:git pull guyWhoFixed11 x11fixed && git merge x11fixed master && make && sudo make install 第二:找到需要修复的文件(例如 X11Mouse.c)并用链接中的内容替换 grab_mouse 函数内容。然后:make && sudo make install

正如我所说,这只是修补的一般程序,并不 100% 直接适用于您的问题。

git am --signoff < x11fixed.patch 

也可能适用于修补部分。

相关内容