2005 年开始的 macOS 主力用户,终于要换到 Linux 了

2024-06-22 13:54:33 +08:00
 othercat

大家都说 Linux 的未来是 Windows ,或者是 macOS 。 大家都说 Linux 的桌面不堪用, 大家都说。。。

是的,大家也许都是对的,只是我想换主力机了。

从 macOS10.4 Tiger 用到如今 Sonoma 14.5 ,之后还会继续用 Mac 笔记本,但是不会作为主力了。 目前家里常用的 Mac 还有:

18288 次点击
所在节点    Linux
143 条回复
bob121
2024-06-23 11:24:26 +08:00
linux 挺好用的
lolizeppelin
2024-06-23 11:52:26 +08:00
fedora 因为版权问题官方仓库不提供但是第三方库提供
有需要可以用官方的 src rpm 重新编译出支持 hevc 和 av1 的版本
othercat
2024-06-23 12:20:20 +08:00
@lolizeppelin 嗯,能编译大概是最后一招,我现在是如果用起来对发热,续航,风扇没太多体感的影响,那就暂时先不着急编译,可以等 2 ,3 个月内核主线并入更好的 Intel 驱动就行了。

目前看到是 mpv 通过修改参数设置 vo=gpu-next 以及 hwdec=vaapi ,至少 AV1 可以硬解,而且还支持色彩管理了。之前 vo=gpu 是不支持色彩管理的,具体这篇 https://github.com/mpv-player/mpv/issues/8009 也有一些讨论。

大概这样目前用起来凑合,CPU 的确很强,掩饰了驱动的不足。
ShadowPower
2024-06-23 13:06:08 +08:00
@BernieDu 最近几年的版本是挺好用的,我在做那个项目的时候,Docker Desktop 仅提供 Docker ,别的都没有……
当时还有 Docker Toolbox 这玩意,用 VirtualBox 来运行的。

那时候 k8s 也没有 kubeadm 之类的便捷的安装工具,Linux 下都得自己写 systemd 配置。

当时直接用 Linux (虚拟机里也可以)是最方便的,和今天的情况不太一样。后来 Docker Desktop 才方便了点。
huijiewei
2024-06-23 13:23:19 +08:00
Linux desktop 还可以,不知道现在的电源管理和休眠如何了
othercat
2024-06-23 13:26:02 +08:00
@huijiewei Intel 14 代 U 加上硬件通过 Intel EVO 认证,加上这台 99Wh 的电池( 16 寸笔电重量还能保持在 1.8kg)我最近几次全天出去忙事情电源都没用上,常规使用 10-15 小时,如果有时间不用不盒盖,会很快进入到激进待机,这样考虑如果轻量使用 20 小时。
休眠的问题目前没遇到任何问题,只是 165Hz 刷新率下突然发生过 2 次 Night Shift 的色温失控,所以我调整到了 120Hz ,就没看到过类似问题了
vhwwls
2024-06-23 13:27:28 +08:00
这个说法在十年前的百度贴吧特别流行(我是 Linux 吧的黄牌 dog 了),2014-2015 年那会的 Linux 吧还是有很多大神在里面的,不像现在的 Linux 吧基本上全是问大学作业的,那会最流行的说法就是那些用 Linux 做主力的人最后都买了 MacBook Air
othercat
2024-06-23 13:31:09 +08:00
@vhwwls 我是从 03 年开始用 Redhat Linux 5.5-6.0 作为双启动用了一年多,那个时候的配置更麻烦,FreeBSD 也用过。05 年主要是工作相关主力换到了 macOS 。其实也就是 18 年之后我觉得 Linux 桌面才算是堪用起来,而且如果身边没有朋友的成功案例,加上 Intel 14 代 U 的确在 45-90W 这个能耗比能用了,所以我才开始决心换了,否则我也是继续观望还是不会出手的。
othercat
2024-06-23 13:35:14 +08:00
@vhwwls 同期应该还尝试过 Fedora Core 3 还是 4 ,OpenSuse 好像在 2011 年尝试过,反正都是无疾而终,这次就正式切换了。
lolizeppelin
2024-06-23 15:29:41 +08:00
@othercat
我 jellyfin 就能硬解,下面几个包装了应该就行了,ffmpeg 的要自己编译,mpv 我就不知道了
libavcodec-freeworld-6.1.1-11.fc40.x86_64
mesa-va-drivers-freeworld-24.1.1-1.fc40.x86_64
mesa-vdpau-drivers-freeworld-24.1.1-1.fc40.x86_64

我用 qsv 硬解的
lslqtz
2024-06-23 15:36:04 +08:00
用 Mac 笔记本和 Linux 不冲突, 但如果要求特定发行版除外.
whyrookie
2024-06-23 16:19:03 +08:00
我是刚 wWn10 下安装了 Ubuntu 双系统,后面娱乐就是 win ,开发就 ubuntu ,更加沉浸式一些.Ubuntu 对开发友好很多,好多年没用再次拿起来(arch 是真的搞不动了)
othercat
2024-06-23 17:43:49 +08:00
@lolizeppelin 非常感谢,这个话题我下午和朋友仔细聊了聊,他给我介绍一些故事:

```
大概 f36 或者 f37 的时候,fedora 因为法律限制决定移除 mesa 相关包里面的 h264 h265 hevc 这些解码器支持。不过这个只影响使用 amd 开源驱动的用户,intel 和 amd 闭源驱动不受影响,但是相关包的依赖结构变了。
所以很长一段时间,Fedora 很多包在官方仓库和 rpmfusion 都有两个版本。
比如 chromium ,比如官方包的 chromium 有硬件解码支持,但因为其依赖的 gstreamer 也是官方包的版本,所以前面那几个编码格式是不支持的。
然后去年的时候,fedora 和 rpmfusion 把这个解码器相关的包依赖结构重做了,你看到 gstreamer1 相关的包不是替代关系,而是 rpmfusion 把官方没有的包补全了,所以 rpmfusion 就没必要再维护一整套 ffmpeg gstreamer 以及依赖他们的 chromium 这些。
因为我是一路升级上来的,依赖一直是 rpmfusion 那边的,所以没想起来这个事情。你是新安装的,如果没把依赖切换过去就会少一些解码器支持。av1 这些有是因为它版权公开,h264 这些就不行。
```

所以,他让我按照 rpmfusion 那个 multimedia 页面把 codec 补了一下,页面地址 https://rpmfusion.org/Howto/Multimedia

这样我的 vainfo 就比较齐全了。

```
Trying display: wayland
vainfo: VA-API version: 1.21 (libva 2.21.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.1.5 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointEncSlice
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointEncSlice
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointEncSlice
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointEncSlice
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain422_12 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSlice
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSlice
VAProfileHEVCMain444_12 : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointEncSlice
VAProfileHEVCSccMain10 : VAEntrypointVLD
VAProfileHEVCSccMain10 : VAEntrypointEncSlice
VAProfileHEVCSccMain444 : VAEntrypointVLD
VAProfileHEVCSccMain444 : VAEntrypointEncSlice
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileAV1Profile0 : VAEntrypointEncSlice
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointEncSlice
```

另外朋友补充了一些内容:
```
目前 ff 和 chromium 的加速处理是不一样的,ff 只用到了解码,但是 chromium 用到了 enhance ,所以 chromium 那个硬解效果要好一些,特别是叠加 b 站弹幕之后,但是估计还没对最新的 cpu 做适配。
```

这个反馈在我这台红米上,就是通过 intel_gpu_top 看到的,FF 解码的确没用到 enhance ,而 chromium 是用到了,但是 chromium 目前显示是花屏,这个估计要等 chromium 对新的 cpu 做适配就好了。

再次谢谢你的信息,至少我现在可以在系统层面使用 H264/HEVC 硬解了( AV1 是默认支持的)
wtdd
2024-06-23 17:48:18 +08:00
@othercat 如果有良好的备份习惯和能力,那确实什么坑货机器都没问题啦^_^
othercat
2024-06-23 18:02:39 +08:00
@lolizeppelin 另外补充一下上面说的内容

按照 https://rpmfusion.org/Howto/Multimedia 这个页面的操作对我来说,就是如下的几个行为:
1. 使用标准方式用 ffmpeg 替换 ffmpeg-free ,并且更换一切对应依赖
2. 多出来两个 gstreamer 的包用于 codec 的补完,目前我这里是 streamer1-plugins-bad-freeworld 和 gstreamer1-plugins-ugly

当然那个页面还有一些额外的第三方支持,但是对于 Codec 补完,大约就是上面描述的。
lolizeppelin
2024-06-23 18:10:34 +08:00
@othercat
包名前两天都还在变
oneVPL-intel-gpu 变成 intel-vpl-gpu-rt

fedora 官方的包加载库是有区分 free 和 nofree 的

Trying display: drm
libva info: VA-API version 1.21.0
libva info: Trying to open /usr/lib64/dri-nonfree/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_21


vainfo 能看见引用到 dri-nonfree 中的 so 就支持 264/265 这硬解了
othercat
2024-06-23 18:14:45 +08:00
@lolizeppelin 嗯,其实 Linux 下很多人的做法很多,自己编译然后配置环境变量替换 so 等等,不过我个人还是比较倾向使用官方文档的标准做法,红帽系发行版的特点就是标准化,使用标准的硬件,搭配标准化的系统和发行版,剩下的就是标准化的使用方式和习惯吧,当然这纯粹是我个人看法。
lolizeppelin
2024-06-23 18:15:04 +08:00
@othercat

自己编译比 rpmfusion 好
rpmfusion 的 ffmpeg 编译参数没有使用--enable-libvpl
用 fedora 官方的 src rpm, 官方版支持编译非 free 版本,放开就是
lolizeppelin
2024-06-23 18:16:13 +08:00
@othercat

就是标准 rpm, 官方都预留好了,你自己编译放开就是..官方自己的包编译的时候屏蔽了而已
othercat
2024-06-23 18:18:23 +08:00
@lolizeppelin 好的多谢,针对 oneVPL 相关信息,我会先学习学习,之后再来更新~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1051677

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX