在Ubuntu中,X是堆栈中最关键的部分之一。因此,我们会收到大量有关它的问题和错误报告,大约是我们要处理的人的100倍。
Canonical正在雇用其他工程师来研究X,这将有所帮助,但仍有许多事情超出了Canonical的工作范围,因此,我认为拥有一个强大的社区来参与Ubuntu的X改进工作尤其重要。使所有这些大量的错误报告得到答复,分类和(希望)得到解决。
但是,很难找到人来研究X或说服人们他们值得花时间在X上。您如何建议鼓励人们参与,而他们本来不打算从事X方面的工作?
在Ubuntu中,X是堆栈中最关键的部分之一。因此,我们会收到大量有关它的问题和错误报告,大约是我们要处理的人的100倍。
Canonical正在雇用其他工程师来研究X,这将有所帮助,但仍有许多事情超出了Canonical的工作范围,因此,我认为拥有一个强大的社区来参与Ubuntu的X改进工作尤其重要。使所有这些大量的错误报告得到答复,分类和(希望)得到解决。
但是,很难找到人来研究X或说服人们他们值得花时间在X上。您如何建议鼓励人们参与,而他们本来不打算从事X方面的工作?
Answers:
就像所有其他内容一样,它使人们可以轻松且轻松地找到它。因此,根据我记得的Bug分类一文,社区并没有太多帮助。然后,当一些Wiki页面解释了对错误进行分类的常规过程以及一些错误日时,就有更多的社区成员参与其中。另外,如果您可以开始定期进行社区活动,并为尝试该活动的人提供帮助,您也会有所兴趣。
如果您需要有关活动的帮助,则可以给我发送电子邮件,而在组织活动方面却遇到帮助。
因此,我的答案是制作一个包含问题和命令的Wiki页面,以获取良好的错误分类信息,以使人们参与其中。
对于发展来说,这是一个大问题。Xorg和Kernel的东西需要低级的编程技能才能解决大多数错误并实现这些功能。因此,您必须针对特定的程序员群体,并使他们感兴趣。我在这里没有任何建议,只询问了一下,看看谁在#ubuntu-x中闲逛,并询问他们是否可以提供帮助。
X无法进行大量工作的原因是,它需要大量有关GPU,内存等的工作方式的知识,并且熟悉X.org代码库以及某种程度上的内核编程。进入社区并从社区的角度来看,对X或X驱动程序感兴趣的人可能已经这样做了,这并不是一件容易的事。目前,除了个人兴趣之外,对于开发人员而言,没有任何动机去开发Xorg。
社区拥有的X.org开发人员不一定拥有的东西就是可以使用各种硬件。拥有人谁愿意花时间去写“好”的错误报告和测试驱动程序和Xorg的堆栈的一部分之前释放很可能将帮助工程师比什么。
当前,有一个Xorg edgers存储库,可用于测试稳定系统上的驱动程序。完成测试后,回滚单个软件包非常容易。但是,我们可以测试的唯一其他方法是自己构建X或安装从上游构建的edgers存储库。据我所知,这可以批发X。这意味着它是测试X的全有或全无的方法。
有一种方法可以拥有两个要使用的X版本(并且很容易选择),这将使测试人员不仅可以测试X,而且还可以返回工作的Xorg,以便他们可以提交错误报告。
作为对X感兴趣的开发人员,这是我的问题:
我只能使用少数几个图形卡,而且我怀疑大多数人只能使用一个。因此,对于绝大多数错误,我将无能为力,因为这些错误总是存在于“其他卡”上。
与大多数软件包不同,我无法轻松地为新的驱动程序版本创建测试环境。虚拟机具有自己的X驱动程序。
我无法轻松地更新到最新的驱动程序,对其进行测试,然后还原。这不鼓励实验(因为如果出了什么问题,我也很可能会变砖);它也阻碍了回归测试。
上次查看时,成功地应用补丁,编译和运行X很难做到,遍及整个软件包管理器,也需要对内核模块进行补丁修补,这几乎是不可逆的一步。
如今,X驱动程序将其代码分为内核,Mesa,udev(用于设置和默认值)和用户级驱动程序。这意味着补丁也会分裂...
因此,我想答案是使应用程序更改和恢复更改由程序包管理器处理,并且易于在系统崩溃时恢复。
同样,应该考虑使用像DKMS这样的系统来寻找X驱动程序。如果我可以轻松地修补/编译/测试/卸载(例如,我的触摸屏的输入驱动程序)而不必重建整个整体结构(可能会使X完全无法使用),那么您将获得更多的随便贡献,并激发我的兴趣。看一下与这些硬件有关的错误分类和测试补丁。
为了补充jbowtie所说的内容,我想补充一下,作为bug分类者,我发现X的bug非常难以处理,因为X是非常复杂的野兽。这反映在故障排除Wiki页面的复杂性中。对于BugSquad成员来说,一定是一种指导程序,以学习如何更好地处理X错误。也许有个虫子拥抱一天吗?还是在#ubuntu课堂上进行动手培训课程?
当许多用户使用专有的驱动程序替换部分图形堆栈并在内核升级/ X.org升级中断驱动程序安装时向X.org团队寻求帮助时,很难改进X.org。
关于“我没有所有可用卡”的很多讨论也是有效的。
如果您不是一个好的程序员,那么图形编程就相当困难。调试可能是一个真正的痛苦,特别是如果您看不到正在发生什么。