这些年来我是如何设法从Windows切换到Linux的

2020-08-20 14:02:04

90年代末,我还是个十几岁的孩子,浏览着当地Babbecs(在它成为GameStop之前)的过道,不知何故说服了我不喜欢游戏的父亲,我们需要一些东西来测试新的CD-ROM驱动器。我什么都不知道,除了星际争霸盒子(还记得那些吗?)。看起来最酷,这就是我们得到的。大约在那一年的一个生日上,我迫不及待地撕开礼物的包装,露出了…。波德之门。我以前从未见过RPG,也不知道任何关于地下城(D&;D)的事情,但很明显,当地游戏店的那个孩子很清楚应该向我妈妈推荐什么,适合像我这样的孩子。

有时你很幸运:在正确的时间进行正确的游戏,终生的爱好就诞生了。其他时候你工作很辛苦:软件RAID和火热的、摇晃的Windows、Gentoo、全磁盘加密…。但是您热爱修补工作,对Linux的热爱由此而生。这些世界的融合通常就像石油和水,但是有了开源和独立游戏开发者的魔力,我一直生活在这两个世界的最好的地方。这是我在玩游戏的同时,过上只有Linux的生活的旅程。回想起来,我的一些记忆比我想要的要模糊得多,但我会归咎于所有不同的计算机、硬件、发行版和不断尝试新事物,而不是年龄。

最初的“星际争霸”和“暗黑破坏神”手册,我和哥哥都读得很透彻,特别是为了这个传说。

我对电脑游戏最美好的回忆是童年和哥哥一起度过的夏天和一座空荡荡的房子。我们轮流玩星际争霸,希望它能在这部挑剔的老486的重启中发挥作用,并在游泳池边休息,倾诉手册中的知识(还记得那些吗?)。当它跑起来的时候,它跑得非常慢。几年后,我意识到:30分钟的求生任务不应该花掉整个下午。在这个令人着迷的夏天,人族、虫族和神族是我们的伙伴和敌人。暴雪的另一款游戏“暗黑破坏神”开启了动作RPG的世界,与D&D经典的“波德之门”(带有手册之墓)形成了平衡。屠夫的叫喊声萦绕在我们的心头,“新鲜的肉!”我还学会了如何通过点击正确的位置来欺骗咒语书。与此同时,第二版和第三版D&;D游戏给了我们深奥的THAC0,咒语定序器,以及用僧侣颤抖的手掌杀死一条红龙。当我学习编程时,这些游戏很快就消耗了我的精力,并激发了我的灵感,从QBasic、Java和C开始,通常着眼于开发游戏。

虽然游戏是早期与计算机的联系,但一开始并不是吸引我的原因。要做到这一点,我不得不回到5岁的TRS-80(如标题图像所示):我会不停地敲打它半坏的键盘,试图复制我保姆打印“Hi podiki!”的BASIC程序。我年轻的时候已经数不清了。我会要求一遍又一遍地看。

电脑有某种魔力,这些机器似乎能做任何事情,只要你知道如何用正确的方式讲述它。我仍然在追逐我小时候坐在壁橱里拿着剩下的电脑的感觉,无论是牦牛刮掉我的Emacs配置,还是用Common Lisp制作游戏引擎。

以前的游戏都有很酷的地图(左边是鲍德之门,右边是莫罗风的Vvardenfall),甚至还有参考卡。

我还没有明确提到Linux,这是因为我不太确定我是什么时候第一次听说它的。我的父母都从事计算机(编程、系统管理)工作,所以听Unix、打孔卡的故事、调试等等只是背景的一部分。虽然我第一次用电脑是在DOS上,然后是Windows3.1,还有当时在学校的苹果,我当然知道还有更多。

我只知道我在国家实验室实习时接触过Linux,当时我还是一名物理本科生。虽然科学和工程中的一些领域在专有软件和硬件接口方面与Windows捆绑在一起,但在高能或粒子物理领域,它们都是定制的(无论是好是坏,因为物理学家不是计算机科学家),而Linux要普遍得多。当我学习LaTeX时,我会明白为什么,说得委婉些,因为它在Windows中并不令人愉快。我认为Linux和开源很自然地适合科学家类型:实验、学习和控制。如果你不能看到一个程序的本质,不能打破它,不能修复它,不能使它成为你自己的程序,那它还有什么用呢?一开始对我来说并不容易;谁知道我在醒来时留下了多少运行vi的僵尸ssh会话。我想我只记得15年后如何退出vi(显然,我在《编辑圣战》中选择了Emacs)。

回过头来看,我和Linux上的游戏似乎很早就播下了种子,但要把它们完全融合在一起需要很多年的时间。

就像任何一个有血有肉的大学生一样,我做了实验。当然,这意味着要在Soltek Qbic EQ3801的基础上构建一台鞋盒大小(小巧)的计算机,该计算机运行Windows,但后来(大约2005年)运行Debian,然后是Gentoo,带有软件RAID,并带有Compiz窗口效果。如果我不能让它看起来很酷,那又有什么意义呢?虽然我学习Linux的方式一部分是有用的(作为一个物理研究生的生活),一部分是天生的好奇心,但我主要是觉得它赋予了我力量,让我觉得很有趣。随着那台电脑的老化,我把它改成了一台媒体服务器(仍然在Gentoo上),用哈帕格电视调谐器/采集卡录制电视。大约在那时,我也开始涉足Mac世界,将一台旧的戴尔笔记本电脑改造成了Hackintosh笔记本电脑。这成为了另一个通往*nix系统乐趣的门户,它可以轻松地使用终端和包管理器来使事情按照我想要的方式进行。

游戏盒(左边是“牺牲”,右边是“星球大战:绝地武士II:绝地弃儿”的收藏版)曾经很大,有可以炫耀游戏的襟翼。没有什么比读一些好的市场营销更能让你兴奋地去玩游戏了。而那些手册,比如“鲍德之门2”,可能会很大。

虽然我非常喜欢玩Mac和Linux,但有一样东西仍然让我留在了Windows桌面上:游戏。(摄影软件Adobe Lightroom也能让我长时间使用Mac电脑。)。我仍然喜欢AAA级的游戏-尽管独立游戏在这一点上已经开始腾飞-最新和最棒的游戏,它们的奇特图形需要Windows。

我并不是没有尝试过:WINE、虚拟机,最后是使用虚拟函数输入/输出(VFIO)的硬件直通。虽然我在使用Wine的旧游戏和软件上有时会有不错的结果,但我在Linux上玩得并不多。我偶尔会在网上搜索一下,看看在Linux上使用Wine或支持游戏可以做些什么,因为我希望有一天能在Linux上做所有的事情。然后,大约在2015年,我发现了VFIO。更好的是,我碰巧有一个应该支持它的主板和硬件配置。VFIO是一个启示。对于那些不熟悉的人来说,这种虚拟化技术允许您在虚拟机中直接使用一块硬件,如GPU,几乎没有任何开销。这意味着本机性能,特别是在多核CPU和大量RAM的情况下,您可以为VM预留。就像这个领域的任何东西一样,所需的硬件细节(主板制造商通常不清楚他们是否支持所需的虚拟化技术,或者在哪些硬件插槽上)以及软件配置通常都是艺术和运气。然而,很快,我就不再引导进入Windows,而是通过虚拟机中的Linux启动该分区,以便在本地玩Windows游戏。

太棒了。我基本上两全其美,因为我可以每天生活在Linux中,并根据需要切换到VM上的Windows,甚至不需要注销会话,也不会对性能产生明显的影响!只需运行虚拟机并切换显示器的输入,因为Windows使用的是显卡,而不是我在Linux上使用的集成显卡(因此与显示器的硬件连接不同)。“末日降临”(2016)、“侠盗猎车手5”以及我想要玩的其他任何东西都在那里。我意识到我几乎不需要或使用Windows来做任何其他事情,我的下一台笔记本电脑也不是Mac电脑,因为我(很高兴地)转向了一个完全开源的摄影软件生态系统,也是以Darktable为中心的。我终于可以不再遇到专有软件设置的障碍,让事情按照我想要的方式来做,或者至少可以尝试这样做。

现在我的大部分时间都花在了Linux上,我开始欣赏自由和开放源码软件(FOSS)的道德和伦理方面。我不仅喜欢通过潜心于代码来修复问题(通常是我自己做的,但这也是乐趣的一部分),而且我还将其视为软件的一个整体价值和目标,即开放

我几乎所有的时间都花在开源程序上,主要是Firefox、Emacs和Termite,唯一的例外是游戏本身。虽然我看不到这一点会很快改变,但我会努力支持实现这一点的程序,我总是很高兴看到一款带有原生Linux版本的游戏。想想我们在Wine、Proton和DXVK上与几年前相比已经走了多远,这是令人震惊的。质子和DXVK是又向前迈进了一大步,让我最终切断了最后的虚拟纽带。我已经有几年没有用VFIO启动Windows VM了--我根本不需要它。我笔记本电脑上2016年的原始Windows分区从未被使用过,我最近删除了它,以回收空间。它总是看起来像是在路上更远的地方,直到它突然出现在这里。

这就把我带到了今天,并加入了沸腾的蒸汽公司。我不确定我几年前第一次访问这个网站是什么时候,但作为为数不多的专注于Linux的游戏网站之一,它一直是我定期查看的一个网站。当征集撰稿人的号召发出时,我欣然接受了这个机会。我一直想做更多的公开写作;我的日常工作是为本科生教授(更多的是学术性的或专业性的)写作研讨会,所以我没有借口。我发现写作帮助我收集思想,弄清楚事情,写关于Linux和游戏的文章是更多地参与社区的一种有趣的方式。

我的第一篇文章,“超级怪兽列车”的评论,你会看到更多,可能是我最喜欢的类型(A)RPG,甲板建造者,几乎任何流氓般的/精简的,以及随机的独立电影。最近最受欢迎的一些游戏是:

QBasic Gorillas(自由/开源软件,我记忆中最早的游戏之一,你可以在网上玩)。

我目前在笔记本电脑上的设置是在StumpWM上运行Arch,在picom上运行一点Eyecandy(特别是一个带有一些额外好东西的叉子)。

现在我在笔记本和台式机上都运行Arch,作为Gentoo更多控制和编译的折衷方案。我没有跳转发行版,因为我真正想要的是一个最低限度的开始,并获得最新和最好的软件包,所以Arch对我来说工作得很好。与这个主题保持一致,从2016年开始,我一直在i3和StumpWM上使用平铺窗口管理器,而不是桌面环境(保持轻便和定制)(尽管我刚刚开始学习Haskell和Xmonad)。我最近还买了一台Raspberry PI4来运行一台家庭服务器,并开始用自托管自由/开源软件选项(目前为止是Syncthing、Matrix和PI-HOLE)替换一些服务。它运行Arch Linux arm。

因为我总是在玩新软件和调整配置,所以我希望做一些有用的指南或分享我认为有帮助的任何提示。我的台式机(GeForce970,英特尔i5-4690k,以及我VFIO时代遗留下来的24 GB RAM)仍然有能力,但寿命有点长了,所以一些硬件升级,也许VR也在未来。最后,正如我最近写到的那样,我想帮助发出其他声音,并继续探索游戏和开源可以成为斗争的一部分,或者更好的是,斗争的非常现实的问题。

其他时候,我可能只想分享我对最新的怪异游戏或很酷的程序的看法。这些年来,我了解到,你真的可以拥有一切,至少需要一些努力和帮助。现在是成为Linux用户和游戏玩家的最佳时机。

如果我的猫对那个15万美元的“制造不真实的东西”大赛感兴趣,那就晚了20年,但盒子仍然闪闪发光。

(在下面的评论中分享您的想法,并加入Hacker News、r/linux和r/linux_gaming的讨论。)