如何在 Linux 上启用 10 位颜色深度(以及是否启用 30 位颜色) 您所在的位置:网站首页 显示器色深怎么看 如何在 Linux 上启用 10 位颜色深度(以及是否启用 30 位颜色)

如何在 Linux 上启用 10 位颜色深度(以及是否启用 30 位颜色)

2024-06-29 22:47| 来源: 网络整理| 查看: 265

如何在 Linux 上启用 10 位颜色深度(以及是否启用 30 位颜色) 目录

1. 我的显示器(电视)是否使用 10 位颜色深度

2. 为什么在 Linux 上启用 10 位颜色支持

3. Windows 中如何实现 10 位颜色支持

4. Linux 中如何实现 10 位颜色支持

5. 如何知道我的显示器(电视)是否支持 10 位颜色深度

6. 如何确定X11中的颜色数量(每像素位数)

7. 如何在Linux中启用30位颜色深度

8. 检查10位颜色的图片和视频

9. 启用 10 位颜色后,为什么 Google Chrome 网络浏览器呈灰色以及如何修复

10. 如何在 Linux 上观看 YouTube 上的 HDR 视频

11. 如何在Linux上观看10位视频

12. 如何在Linux上观看10位视频

13. 如何检测10位颜色深度的内容

13.1 确定图像的颜色深度

13.2 确定视频中的颜色深度

14. 在 Linux 上切换到 10 位颜色时哪些程序不起作用

15. 如何在 Linux 中禁用 10 位颜色

结论

我的显示器(电视)是否使用 10 位颜色深度

大多数显示器和操作系统支持的标准颜色深度是每种颜色 8 位(或三种颜色 24 位)。

某些显示器支持 10 位颜色深度(当指所有三种颜色时有时也称为 30 位)。

即使您的显示器支持 10 位颜色,如果没有在操作系统级别启用对此颜色深度的支持,您仍然会看到具有 8 位颜色空间深度的屏幕。看来有必要用这个。但是,正如您将从本文中了解到的那样,事情并不那么简单。

为什么在 Linux 上启用 10 位颜色支持

如果您的显示器支持 10 位颜色(10.7 亿种颜色),则在 Linux 中启用 10 位颜色是有意义的。

通常,支持 HDR 的电视和显示器具有 10 位颜色深度。

我购买了一台具有 HDR 和 10 位色深的显示器,我想在这篇文章中分享我设置 Linux 与 10 位显示器(电视)配合使用的经验。我将讨论出现的所有问题,以及为什么我最终切换回 8 位颜色深度。

Windows 中如何实现 10 位颜色支持

除了Linux之外,我还在Windows上测试了HDR。您可以在此处阅读详细信息:HDR 完整指南:如何启用、如何设置、如何观看 HDR 电影和 YouTube、解决 Windows 中的 HDR 问题

简而言之,在特殊的 HDR 测试视频中,您确实可以在专门准备的图像中看到更多的细节和颜色。但是,如果您不仔细观察差异明显的特别突出显示的区域,则很难通过肉眼确定 HDR(以及相应的 10 位颜色深度)是否启用或禁用。也就是说,10位视频不会引起WOW效果。

启用 HDR 时,Windows 自动启用 10 位颜色深度支持。如果关闭 HDR,则无法单独启用 10 位颜色 - 至少我还没有找到方法来做到这一点。

至于 HDR 本身,它会导致“非 HDR 内容”的问题,即几乎您在屏幕上看到的所有内容,包括操作系统中所有应用程序的窗口以及操作系统本身。所有程序和操作系统窗口都变成灰色,甚至变暗。暗度可以调节,但实际上我只是关闭了 HDR。

结论:没有WOW效果,但是有各种不便。

Linux 中如何实现 10 位颜色支持

至于根本不支持HDR的Linux就更糟糕了。有关 Linux 中 HDR 的更多详细信息,请参阅:如何在 Linux 中启用 HDR 显示器支持

但在 Linux 操作系统本身上,可以启用 10 位颜色。与此同时,一些应用程序变成深灰色——显然这些是支持 HDR 的程序。这些程序检测到正在使用 10 位颜色深度并自动启用 HDR 模式。但由于 Linux 不支持 HDR,因此程序窗口看起来很暗。有些应用程序根本拒绝运行。对于其中一些人,我解决了问题,但对于另一些人,却无法解决。

至于查看10位色深的测试图像,似乎只有Krita程序完全支持30位色。即使如此,前提是您选择了正确的颜色配置文件。

在 Linux 上打开 10 位颜色可以在 YouTube 上播放 HDR 视频。差异在测试视频中非常明显,您需要查看的帧区域会突出显示。

我也观看了 10 位电影,但与 8 位视频相比没有发现任何差异。我怀疑 Linux 上的视频播放器根本不支持 30 位颜色深度。

如何知道我的显示器(电视)是否支持 10 位颜色深度

有关 10 位颜色支持的确切信息,请检查显示器或电视的规格。

如果您的显示器支持 HDR,则不保证支持 10 位颜色。

要使用 Linux 上的程序测试对 30 位颜色深度的支持,请安装并运行 Hardinfo(系统信息显示和基准测试工具):

hardinfo

在hardinfo中的“设备”组中,转到“监视器”选项卡。选择您要查看其信息的显示器。在“连接”部分中,您将看到“每个颜色通道的位数”项目。

此应用程序显示显示器(或电视)支持的颜色深度,无论操作系统使用的当前颜色深度值如何。

如何确定X11中的颜色数量(每像素位数)

如何找出正在运行的 X11 会话中每像素实际可用的位数?

要检查系统范围的值,请运行以下命令:

xwininfo -root | grep Depth

输出示例:

Depth: 24

以下命令将打印根窗口支持的位数:

xdpyinfo | grep depths

第一个数字表示当前位深度:

depths (7): 24, 1, 4, 8, 15, 16, 32

在 X windows 中,每个窗口都可以从可用位深度列表中选择要使用的位深度。要找出特定窗口的位深度,请在终端中运行以下命令:

xwininfo

然后单击一个窗口。结果将显示在终端中,“Depth:”行中的内容是位深度,即每个像素的位数。

某些窗口显示 24 位颜色深度,某些应用程序(Google Chrome 和 Firefox Web 浏览器)显示 32 位颜色深度。

如果您喜欢图形界面,请启动SMPlayer并从菜单中转到“查看”→“有关连接屏幕的信息”。

将打开一个具有显示属性的窗口。在这里您将找到“深度”项,它表示颜色深度。

如何在Linux中启用30位颜色深度

首先,当操作系统启动进入“黑屏”时,您应该能够恢复 Linux,因为出现问题的可能性并非为零。为此,请参阅文章“Linux 启动黑屏 - 如何修复”。

要在 Linux 中启用 30 位颜色深度,只需将以下行添加到 /etc/X11/xorg.conf.d/ 目录中的配置文件即可:

"DefaultDepth 30"

例如,对于 Intel 集成显卡或 AMD 显卡,创建 /etc/X11/xorg.conf.d/30-screensetup.conf 文件:

sudo gedit /etc/X11/xorg.conf.d/30-screensetup.conf

并将以下内容复制到其中:

Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" # 24 for 8-bit or 30 for 10-bit DefaultDepth 30 EndSection

关键是线

DefaultDepth 30

30 激活 10 位颜色的原因是因为 R、G、B=3 种颜色 * 10 位=30。

重新启动计算机后,您将获得 10 位颜色。

对于 NVIDIA 显卡,请使用以下命令创建 xorg.conf 文件:

sudo nvidia-xconfig

使用以下命令打开 xorg.conf 文件

sudo gedit /etc/X11/xorg.conf

滚动到文件底部并在“屏幕”部分中找到数字“24”。将找到的所有“24”替换为“30”。

保存文件并重新启动计算机。

让我们再次检查操作系统使用的当前颜色深度值,以确保设置确实有效:

xwininfo -root | grep Depth

现在颜色深度为 30:

Depth: 30

我们还可以使用 xdpyinfo 实用程序检查 Linux 中的颜色深度:

xdpyinfo | grep depths

现在,它使用 30 位深度显示 8 种受支持的颜色深度,而不是 7 种:

depths (8): 30, 1, 4, 8, 15, 16, 24, 32

xwininfo 实用程序还显示 30 位的颜色深度:

xwininfo

如果您喜欢图形界面,请启动SMPlayer并从菜单中转到“查看”→“有关连接屏幕的信息”。

用于检查10位颜色的图片和视频

测试图像和视频可以在以下链接找到:

https://github.com/jursonovicst/gradienthttps://jursonovicst.github.io/gradient/

在任何显示器上,您都应该看到 8 位颜色的垂直条纹。在 10 位显示器上,您应该看到 4 倍数量的颜色条。

图像以PNG格式保存——这是一种无损格式,即图像以这种格式保存无损。

图像具有以下像素大小(选择最接近显示器或手机屏幕分辨率的像素大小):

1920×10803120×14403840×2160

以下数字的范围从 0 到 100,是将整个梯度谱划分为多个部分,例如从 0 到 50——这是整个梯度谱的一半。编号为 0 到 100 的文件包含完整光谱(这使得线条更细且不太明显),而编号为 0 到 50 的文件仅包含一半光谱(这使得线条更粗)。

对于视频文件,为了获得最佳质量,请首先尝试使用 gbrp10le 颜色空间(使用原生 RGB 颜色对渐变进行编码)的视频文件。不幸的是,并非所有设备都支持此功能,您可以尝试 yuv444p10 或 yuv420p10 (这可能会降低水平空间分辨率)。

对于较低的分辨率,梯度被分成多个部分以提供更宽的频带和更容易的识别。

我在启用 10 位颜色的 Linux 上的结果:

在VLC和SMPlayer视频播放器中查看视频文件没有给我结果,也就是说,我看不到10位颜色的条纹我只能在 Krita 中看到 PNG 文件上的条纹。为此,打开图像时,您需要选择“高动态范围 UHDTV 宽色域显示器 (Rec. 2020) SMPTE ST 2084 PQ EOTF”颜色配置文件。为什么 Google Chrome 网络浏览器在启用 10 位颜色时呈灰色以及如何修复

在 Linux 上启用 10 位颜色深度后,您可能会发现某些应用程序变成灰色。对于其中一些网站,此问题无法修复,但在 Google Chrome 中,您可以选择正确的颜色配置文件,这样就可以在 YouTube 上观看 HDR 视频,而所有其他网站将具有正常亮度。

Google Chrome 网络浏览器和 Chromium 是支持“HDR 内容”的少数应用程序之一。显然,Google Chrome 浏览器通过 10 位颜色深度确定计算机上已激活 HDR。并且它在 Windows 上运行正常。

对于 Linux,10 位色深≠ HDR。但谷歌浏览器不知道这一点,并进入 HDR 模式,这实际上意味着灰色变暗的网络浏览器窗口。

这种情况不仅可以通过切换到另一个网络浏览器来纠正,还可以通过选择不同的颜色配置文件来纠正。为此,请在 Google Chrome 中的地址栏中输入:

chrome://flags

使用搜索找到“强制颜色配置文件”标志。

通过暴力破解,我发现当选择“显示 P3 D65”选项时,网络浏览器不会尝试使用 HDR,而是会利用 10 位颜色。也就是说,如果您选择“显示 P3 D65”,您将能够在 YouTube 上观看 HDR 视频。但是,HDR 视频不会显得太暗(不支持 HDR 的硬件或操作系统上的 HDR 内容通常会出现这种情况)。

重新启动网络浏览器后,灰色问题得到解决:

设置完成后,您将能够在 YouTube 上观看 HDR 视频。您会在文章中找到几个测试 HDR 的视频:购买 HDR 电视(显示器)时需要注意的事项

“默认”颜色配置文件意味着使用操作系统颜色配置文件 - 如果您愿意,您可以随时返回此设置。

起初,“scRGB 线性(HDR 如果可用)”颜色配置文件对我来说似乎很有希望。此选项意味着所有页面都将使用正常的 RGB 配置文件,但如果 HDR 可用,则将使用此模式。也就是说,所有网站都会看起来正常,并且在观看视频时,HDR 模式将自动可用。这是理论上的。在 Linux 上的实践中,所有具有此配置文件的网站都被发现太亮,并且 HDR 内容太暗。

如何在 Linux 上观看 YouTube 上的 HDR 视频

首先,请确保您的显示器支持 10 位颜色深度,并在 Linux 操作系统级别启用 10 位(或者,通常在设置中指示为 30 位)颜色深度。

在网络浏览器的地址栏中输入:

chrome://flags

使用搜索找到“强制颜色配置文件”标志。

选择“显示 P3 D65”颜色配置文件。

重新启动您的网络浏览器

之后,转到 YouTube。

搜索您感兴趣的视频。

在搜索结果上方,单击“过滤器”字样。

在打开的滤镜中,选择“HDR”。

在HDR视频的视频质量设置中,您将看到相应的选项。

如何在Linux上观看10位视频

首先需要注意的是,HDR≠10位色深。这意味着,如果视频使用 10 位颜色深度,则它可以是 HDR 视频,也可以是常规视频。

如果我们谈论 HDR 内容,那么在 Windows 中您可以使用 VLC 播放器来播放它。

在 Linux 上,VLC 播放器无法正确显示 HDR 内容(包括 10 位视频)。正如您所看到的,相同的文件(HDR 视频)在 SMPlayer 中显示为正常亮度,而 VLC 显示的亮度太暗。

通常,非 HDR 视频,两个播放器都可以正常播放。

好吧,HDR 视频需要在 SMPlayer 播放器中观看,但是 SMPlayer 真的能播放 10 位色深吗?我不知道这个问题的答案。从上面链接的测试视频来看,VLC 和 SMPlayer 都无法再现 10 位颜色深度。尽管如此,由于我的硬件的特殊性和我对颜色的感知,这也许是一个错误的观点。不过,在 YouTube 上的 HDR 视频中,我在测试视频中看到了额外的颜色。

如何在Linux上查看10位图像

使用Krita程序。

打开图像时,选择“高动态范围 UHDTV 宽色域显示 (Rec. 2020) SMPTE ST 2084 PQ EOTF”颜色配置文件。

如何检测10位颜色深度的内容

如何判断视频或照片中是否使用了 10 位深度?

确定图像中的颜色深度

首先,如果照片是JPG格式,那么可以肯定地说其中不使用10位颜色深度,因为这种格式根本不支持它。

支持 10 位颜色深度的格式示例包括:

巴布亚新几内亚HEIF(高效图像格式)

此外,如果使用任何这些格式,那么它们使用比 8 位更大的颜色深度就完全不符合其特征。具体的颜色深度值不一定取决于格式,需要检查该值。

另请参阅:如何在 Android 中启用以 HEIC (HEIF) 格式保存照片以及是否应该这样做

让我们看看如何确定具有图形用户界面以及命令行的应用程序中使用的图像的颜色深度。

可以使用以下 GUI 程序确定图像中的颜色深度:

MediaInfo-GUIGIMP克里塔

如果您更喜欢命令行界面,则可以使用以下实用程序确定图像中的颜色深度:

文件(适用于 PNG)媒体信息识别(来自ImageMagick包)媒体信息

另请参阅:ImageMagick 指南:安装、使用和故障排除

让我们从GUI 应用程序开始。

启动 MediaInfo-GUI 应用程序。您可以在菜单(开始按钮)中找到 MediaInfo,或在终端中运行命令:

mediainfo-gui

打开媒体文件,例如照片。

在“位深度”行中,您将看到图像使用的颜色深度。

流行且先进的图像编辑器 GIMP 支持多种图像格式,并可以显示它们的文件属性,包括颜色深度。

首先在 GIMP 中打开您想要查看其信息的图像。

然后在 GIMP 菜单中,转到菜单项“图像”→“图像属性”。

“精度”线将显示该图像的颜色深度。

Krita 应用程序类似 - 它支持多种图形格式,同时允许您查看详细的图像属性。

打开您感兴趣的图像。

从 Krita 程序菜单中,转到“图像”→“属性”

在打开的窗口中,转到“图像色彩空间”选项卡。在“深度”行中,您将看到该图像的颜色深度。

现在让我们看看如何使用命令行实用程序确定照片的颜色深度。

使用“file”实用程序为名为 gradient_3840-2160_0-50.png 的文件确定颜色深度的示例:

file gradient_3840-2160_0-50.png

该图像每种颜色使用 16 位颜色深度:

gradient_3840-2160_0-50.png: PNG image data, 3840 x 2160, 16-bit/color RGBA, non-interlaced

请注意,对于 HEIF 格式,file 实用程序不会显示有关 pattaya.heif 文件每个颜色通道位数的任何有用信息:

file pattaya.heif

输出示例:

pattaya.heif: ISO Media, HEIF Image HEVC Main or Main Still Picture Profile

imagemagick 包中的“identify”实用程序可以像这样使用:

identify IMAGE_FILE

或者,如果您想获取尽可能多的信息,请另外指定 -verbose 选项:

identify -verbose IMAGE_FILE

不带 -verbose 选项的示例命令和输出:

identify gradient_3840-2160_0-50.png gradient_3840-2160_0-50.png PNG 3840x2160 3840x2160+0+0 16-bit sRGB 1.01734MiB 0.000u 0:00.000 identify pattaya.heif pattaya.heif HEIF 4000x2252 4000x2252+0+0 8-bit sRGB 1.05563MiB 0.000u 0:00.001

带有 -verbose 选项的示例命令:

identify -verbose gradient_3840-2160_0-50.png

具有 16 位颜色深度的 PNG 文件的输出示例:

对于 HEIF 格式的文件,带有 -verbose 选项的命令示例:

identify -verbose pattaya.heif

HEIF 格式支持 10 位颜色深度,但在本例中该图像仅使用 8 位颜色。

mediainfo 命令的示例,用于显示文件 gradient_3840-2160_0-50.png 的属性(包括颜色深度):

mediainfo gradient_3840-2160_0-50.png

输出示例:

General Complete name : gradient_3840-2160_0-50.png Format : PNG Format/Info : Portable Network Graphic File size : 1.02 MiB Image Format : PNG Format/Info : Portable Network Graphic Compression : Deflate Width : 3 840 pixels Height : 2 160 pixels Color space : RGBA Bit depth : 16 bits Compression mode : Lossless Stream size : 1.02 MiB (100%)

此 mediainfo 命令将以 HEIF 格式显示媒体文件的技术信息:

mediainfo pattaya.heif

正如您在以下示例输出中再次看到的,该文件的颜色深度为 8 位:

General Complete name : pattaya.heif Format : heic Codec ID : heic (mif1/heic/miaf) File size : 1.06 MiB Image ID : 1 Format : HEVC Format/Info : High Efficiency Video Coding Format profile : Main Still@L6@Main Codec ID : hvc1 Codec ID/Info : High Efficiency Video Coding Width : 4 000 pixels Height : 2 252 pixels Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Stream size : 1 000 KiB (93%) Matrix coefficients : BT.601 Color range : Full Describes : 2,3 Codec configuration box : hvcC

确定视频中的颜色深度

要确定视频中的颜色深度,您可以使用上面提到的 mediainfo 实用程序。顺便说一句,您也可以使用 GUI 版本。

检查视频文件 gradient_1920-1080_25-50_gbrp10le_x265.mp4 的颜色深度:

mediainfo gradient_1920-1080_25-50_gbrp10le_x265.mp4

输出示例:

检查我在手机上拍摄的另一个测试视频文件,其中一篇文章激活了 HDR10+:

mediainfo '4K (3840x2160), 30 fps (HDR10+).mp4'

输出示例:

根据显示的信息,该视频使用 10 位颜色深度。但事实上,我对此是有疑问的。问题是我不确定我的手机摄像头传感器是否支持 10 位颜色深度。我倾向于它仅支持 8 位颜色深度这一事实。

顺便说一句,电视也有类似的情况:有些电视虽然声称支持 8 位颜色深度,但实际上只能显示 6 位颜色。

在 Linux 上切换到 10 位颜色时哪些程序不起作用

0. 除了根本无法运行的应用程序之外,还值得一提的是,很少有程序在 Linux 上实际使用 10 位颜色。更具体地说,我可以确认两个应用程序在 Linux 上准确地使用和显示 10 位颜色:

Google Chrome 网络浏览器(适用于 YouTube 上的 HDR 视频)。Krita 图像编辑和绘画程序(您需要选择正确的颜色配置文件 - 如上所述)

1. 所有 Java GUI 应用程序停止运行。怎么解决,我没找到。我“丢失”的程序包括:NetBeans(源代码编辑器)、JDownloader(一个用于从不同站点下载多媒体文件的优秀程序)、IDEA(源代码编辑器)、Vuse(torrent 客户端)。

也就是说,Java 程序并不是工作得更糟,而是根本不工作。

2. 代码编辑器“Code - OSS”(“VS Code”)看起来呈灰色且变暗。在这种情况下不可能使用该程序,并且我没有找到如何为其切换颜色配置文件。

3. GTK2版本的Double Commander显示不正确。但更换了Qt5版本的Double Commander后,该程序就可以使用了。也许这适用于所有使用 GTK2 的应用程序。

4.所有用于录制屏幕和将接收到的视频保存为GIF动画文件和其他视频格式的程序停止工作:

偷看无声截屏(silentcast)证据gifcast

所有这些程序都使用 ffmpeg,它也停止了屏幕捕获工作。

5. 当更改为 10 位颜色深度时,Google Chrome 网络浏览器会变成灰色。使用起来会变得不舒服,但是按照上图可以解决问题。尽管如此,当打开上下文菜单时,您仍然可以注意到图形伪影。

这些都是我个人遇到的软件问题。

此外,其他用户报告了其他问题:

6. PC游戏的Steam平台无法运行。

7. Vulkan 图形不工作。

8. KDE Plasma 存在问题,但现已修复。

如何在 Linux 中禁用 10 位颜色

删除您创建的文件以启用 10 位颜色

sudo gedit /etc/X11/xorg.confsudo gedit /etc/X11/xorg.conf.d/30-screensetup.conf

重启你的电脑。

然后操作系统将恢复为 8 位颜色深度。

结论

如果不是因为我用来说明技术说明的录制屏幕动画的问题,我会在我的 Linux 上使用 10 位颜色深度。虽然除了在 YouTube 上观看 HDR 视频之外,我并没有真正注意到任何好处。

视频(电影)的精彩程度取决于导演如何创作。通常,具有 8 位颜色深度的影片比属性表明 10 位颜色深度的视频文件具有更丰富多彩、更丰富的画面。

画面受显示器设置中“图像模式”选择的影响更大(“影院”选项使屏幕颜色最饱和)。您还需要关闭“自适应图片”(根据环境光调整亮度的设置)。看电影时也应将亮度设置为最大。

通过这些显示器设置,我没有注意到 Windows 中 HDR 视频的差异。也就是说,某些场景可能存在差异,但我无法再通过肉眼区分 HDR 视频和非 HDR 视频。

也许所有这些仅适用于我的特定显示器。您在 Linux 中的颜色深度体验可能会有所不同。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有