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

15 天前
 othercat

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

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

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

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

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

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

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

当时直接用 Linux (虚拟机里也可以)是最方便的,和今天的情况不太一样。后来 Docker Desktop 才方便了点。
huijiewei
14 天前
Linux desktop 还可以,不知道现在的电源管理和休眠如何了
othercat
14 天前
@huijiewei Intel 14 代 U 加上硬件通过 Intel EVO 认证,加上这台 99Wh 的电池( 16 寸笔电重量还能保持在 1.8kg)我最近几次全天出去忙事情电源都没用上,常规使用 10-15 小时,如果有时间不用不盒盖,会很快进入到激进待机,这样考虑如果轻量使用 20 小时。
休眠的问题目前没遇到任何问题,只是 165Hz 刷新率下突然发生过 2 次 Night Shift 的色温失控,所以我调整到了 120Hz ,就没看到过类似问题了
vhwwls
14 天前
这个说法在十年前的百度贴吧特别流行(我是 Linux 吧的黄牌 dog 了),2014-2015 年那会的 Linux 吧还是有很多大神在里面的,不像现在的 Linux 吧基本上全是问大学作业的,那会最流行的说法就是那些用 Linux 做主力的人最后都买了 MacBook Air
othercat
14 天前
@vhwwls 我是从 03 年开始用 Redhat Linux 5.5-6.0 作为双启动用了一年多,那个时候的配置更麻烦,FreeBSD 也用过。05 年主要是工作相关主力换到了 macOS 。其实也就是 18 年之后我觉得 Linux 桌面才算是堪用起来,而且如果身边没有朋友的成功案例,加上 Intel 14 代 U 的确在 45-90W 这个能耗比能用了,所以我才开始决心换了,否则我也是继续观望还是不会出手的。
othercat
14 天前
@vhwwls 同期应该还尝试过 Fedora Core 3 还是 4 ,OpenSuse 好像在 2011 年尝试过,反正都是无疾而终,这次就正式切换了。
lolizeppelin
14 天前
@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
14 天前
用 Mac 笔记本和 Linux 不冲突, 但如果要求特定发行版除外.
whyrookie
14 天前
我是刚 wWn10 下安装了 Ubuntu 双系统,后面娱乐就是 win ,开发就 ubuntu ,更加沉浸式一些.Ubuntu 对开发友好很多,好多年没用再次拿起来(arch 是真的搞不动了)
othercat
14 天前
@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
14 天前
@othercat 如果有良好的备份习惯和能力,那确实什么坑货机器都没问题啦^_^
othercat
14 天前
@lolizeppelin 另外补充一下上面说的内容

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

当然那个页面还有一些额外的第三方支持,但是对于 Codec 补完,大约就是上面描述的。
lolizeppelin
14 天前
@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
14 天前
@lolizeppelin 嗯,其实 Linux 下很多人的做法很多,自己编译然后配置环境变量替换 so 等等,不过我个人还是比较倾向使用官方文档的标准做法,红帽系发行版的特点就是标准化,使用标准的硬件,搭配标准化的系统和发行版,剩下的就是标准化的使用方式和习惯吧,当然这纯粹是我个人看法。
lolizeppelin
14 天前
@othercat

自己编译比 rpmfusion 好
rpmfusion 的 ffmpeg 编译参数没有使用--enable-libvpl
用 fedora 官方的 src rpm, 官方版支持编译非 free 版本,放开就是
lolizeppelin
14 天前
@othercat

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

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

https://www.v2ex.com/t/1051677

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

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

© 2021 V2EX