Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
suoyuan666 committed Jun 15, 2024
1 parent 1420082 commit 96bd99c
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions src/content/blog/distroIntro.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "面向beginner: GNU/Linux发行版浅评与介绍"
title: "面向 beginner: GNU/Linux 发行版浅评与介绍"
author: suo yuan
pubDatetime: 2023-12-01T03:42:51Z
featured: false
Expand Down Expand Up @@ -51,15 +51,15 @@ GNU 这部分十分重要,而且一定程度上没太多替代品。Linux 发

如果你并不是虚拟机安装 Linux 发行版的话,我认为应该还是要思考该类系统是否符合你的需求再说,当然如果你并不在意就当我没说。

现在来说,NVIDIA 显卡驱动在 Wayland 桌面协议下的使用还有一堆事情,~~ 你会发现 night light 不可用,屏幕色温你根本无法调节。~~ (目前已经可以调节了)。已知现在 Linux 发行版中能选择的桌面协议要么是之前的 X11,要么是 Wayland,其中 X11 是之前搞的,Wayland 是新项目旨在取代 X11,所以 Wayland 中存在 XWayland 去运行只支持 X11 的应用,但是这样 Wayland 带来的一些特性是不能很好的体验到的(比如 Wayland 较 X11 要安全一些)。如果你用的 NVIDIA 显卡,而且如果是新卡的话大概率使用 nvidia-driver 这个 NVIDIA 官方提供的闭源驱动,那么 Wayland 下并不能完美的运行 XWayland 模拟的应用。
现在来说,NVIDIA 显卡驱动在 Wayland 桌面协议下的使用还有一堆事情,~~你会发现 night light 不可用,屏幕色温你根本无法调节。~~ (目前已经可以调节了)。已知现在 Linux 发行版中能选择的桌面协议要么是之前的 X11,要么是 Wayland,其中 X11 是之前搞的,Wayland 是新项目旨在取代 X11,所以还需要 XWayland 去运行只支持 X11 的应用,但是这样就无法体验到 Wayland 带来的好处了(比如 Wayland 较 X11 要安全一些)。如果你用的 NVIDIA 显卡,而且如果是新卡的话大概率使用 nvidia-driver 这个 NVIDIA 官方提供的闭源驱动,那么 Wayland 下并不能完美的运行 XWayland 模拟的应用。

下边这段关于 NVIDIA 的 XWayland 显示同步的内容写于 2024 年 4 月 26 日

NVIDIA 已经提交了 XWayland 显示同步的相关补丁,主流的桌面环境已经合并相关补丁,等到 NVIDIA 发布 560 版本的驱动应该就可用了。
NVIDIA 已经提交了 XWayland 显示同步的相关补丁,主流的桌面环境已经合并相关补丁,等到 NVIDIA 发布 560 版本的驱动应该就可用了。(貌似是 555 版本,而非 560)

~~现在还不支持 HDR~~(现在有了实验性支持),浏览器对硬件解码的支持也不是很完美, NVIDIA 有自己的一套,其他显卡用另一套 (nvidia-libva-drover 可以让 NVIDIA 的 NVDEC 以 VAAPI 解码,但只支持解码,编码尚不支持,编码的话就还是用 NVDEC 了),其中 FireFox 还支持了 VAAPI,但不支持 NVDEC(貌似),Chromium 内核的浏览器目前仍然处于实验状态,而且也是支持的 VAAPI,ChromiumOS 和其他 Linux 发行版的文档会有说明可以尝试添加哪些参数启用这个功能。Chromium 内核的浏览器默认还不是 Wayland。
~~现在还不支持 HDR~~(现在有了实验性支持)。浏览器对硬件解码的支持不是很完美。关于视频硬解加速,NVIDIA 有自己的一套 NVDEC,其他显卡用另一套 VAAPI ([nvidia-vaapi-driver](https://github.com/elFarto/nvidia-vaapi-driver) 可以让 NVIDIA 的 NVDEC 以 VAAPI 解码,但只支持解码,编码尚不支持,编码的话就还是用 NVDEC 了)FireFox 还支持了 VAAPI,但不支持 NVDEC,Chromium 内核的浏览器目前仍然处于实验状态,而且也是只支持 VAAPI,ChromiumOS 和其他 Linux 发行版的文档会有说明可以尝试添加哪些参数启用这个功能。Chromium 内核的浏览器默认还不是 Wayland。

我不好评价 GNU/Linux 玩游戏会是怎样的体验,不过 Valve 公司基于 wine 搞了一个[Proton](<https://en.wikipedia.org/wiki/Proton_(software)>),只要在 Steam Play 中勾选为所有应用启用 Steam Play 就可以玩那些只支持 Windows 平台的游戏了,但不好评价是否能一定起作用,Steam Deck 上搭载的系统 Steam OS 是基于 Arch Linux 做的,所以游戏方面也不至于那么难绷。有个非官方的网站[protondb](https://www.protondb.com/),可以在这上面搜索一下特定游戏的评价,有玩家会在上面分享这个游戏运行起来的体验如何,并且还有给出他运行这个游戏的发行版的相关信息,如果是不太好运行的游戏,也许还会分享他们是如何让这个游戏跑起来的。
我不好评价 GNU/Linux 玩游戏会是怎样的体验,不过 Valve 公司基于 wine 搞了一个 [Proton](<https://en.wikipedia.org/wiki/Proton_(software)>),只要在 Steam Play 中勾选为所有应用启用 Steam Play 就可以玩那些只支持 Windows 平台的游戏了,但不好评价是否能一定起作用,Steam Deck 上搭载的系统 Steam OS 是基于 Arch Linux 做的,所以游戏方面也不至于那么难绷。有个非官方的网站 [protondb](https://www.protondb.com/),可以在这上面搜索一下特定游戏的评价,有玩家会在上面分享这个游戏运行起来的体验如何,并且还有给出他运行这个游戏的发行版的相关信息,如果是不太好运行的游戏,也许还会分享他们是如何让这个游戏跑起来的。

国内软件的适配还不是很好,听说腾讯会议虽然支持了 Wayland,但是 Wayland 下的运行,窗口分享和摄像头都不能正常工作。QQ 虽然存在 Linux 平台的版本,但仍然有一些小问题等待修复。微信则是根本没有相应的版本,大体上办法只有两种:搞个 Windows 的虚拟机运行微信,如果是 VirtualBox 或者 VMWare 这样的虚拟机管理软件直接开剪切板共享什么的,或者原生态一点就自己装 spice 驱动也可以,但还是不太贴合正常用户日常的使用,而且一整个虚拟机的占用也是有点难绷;还有就是用 wine 去模拟 Windows 的微信,直接上来就`wine wechat.exe`这样的其实并不能完美的运行,会有很多小问题,这时候就可以参考别人的项目,但貌似还是天生存在一些小问题无法解决——wine 的微信不允许你传大于 1MB 的图片,并且小程序也用不了。

Expand Down Expand Up @@ -250,10 +250,12 @@ Gentoo Linux 的安装并不完全依赖于它的安装介质,比如我是使
emerge 的优点在于提供了 USE 变量,它允许用户自己决定软件的功能支持以确定依赖关系。Arch Linux 可能可以认为是可以定制你的系统,Gentoo Linux 就是可以定制你的软件。

> USE 是 Gentoo 为用户提供的最具威力的变量之一。很多程序通过它可以选择编译或者不编译某些可选的支持。例如,一些程序可以在编译时加入对 GTK+或是对 Qt 的支持。其它的程序可以在编译时加入或不加入对于 SLL 的支持。有些程序甚至可以在编译时加入对 framebuffer 的支持(svgalib)以取代 X11(X 服务器)。
> 大多数的发行版会使用尽可能多的支持特性编译它们的软件包,这既增加了软件的大小也减慢了启动时间,而这些还没有算上可能会涉及到的大量依赖性问题。Gentoo 可以让你自己定义软件编译的选项,而这正是 USE 要做的事。
>
> 大多数的发行版会使用尽可能多的支持特性编译它们的软件包,这既增加了软件的大小也减慢了启动时间,而这些还没有算上可能会涉及到的大量依赖性问题。Gentoo 可以让你自己定义软件编译的选项,而这正是 USE 要做的事。、
>
> 在 USE 变量里你可以定义关键字,它被用来对应相应的编译选项。例如,ssl 将会把 SSL 支持编译到程序中以支持它。-X 会移除其对于 X 服务器的支持(注意前面的减号)。gnome gtk -kde -qt5 将会以支持 GNOME(和 GTK+)但不支持 KDE(和 Qt)的方式编译软件,使系统为 GNOME 做完全调整(如果架构支持)。
摘自[Gentoo amd64 安装手册](https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation/zh-cn#.E9.85.8D.E7.BD.AE_USE_.E5.8F.98.E9.87.8F)
摘自 [Gentoo amd64 安装手册](https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation/zh-cn#.E9.85.8D.E7.BD.AE_USE_.E5.8F.98.E9.87.8F)

当然还有很多变量,比如 CFLAGS, L10N, VIDEO_CARDS 这些,可以指定编译选项,本地语言和显卡设备

Expand Down Expand Up @@ -384,8 +386,10 @@ WM 我只浅谈一下 i3wm, dwm 和 Hyprland。

### Hyparland

Hyprland 是基于 Wayland 做的 WM,官网对 NVIDIA 独显驱动用户的使用列了一个非官方的解决方案。不过我选择使用 Intel 核显体验一手,当时 Hyprland 戳我的点就是官网主页列的截图
Hyprland 是基于 Wayland 做的 WM,官网对 NVIDIA 独显驱动用户的使用列了一个非官方的解决方案。不过我选择使用 Intel 核显体验一手,当时 Hyprland 戳我的点就是官网主页列的截图

![Hyprland](../img/introdistro/hyprland.png)

真的好帅啊,当然 Hyparland 默认不是这样的,你需要安装其他的软件进行进一步的配置。

我尝试使用了几周,期间写的配置文件让我存放到 GitHub 仓库内了。

0 comments on commit 96bd99c

Please sign in to comment.