xrandr 1.5.1 版何时在 Ubuntu 中可用?

Win*_*nix 7 xrandr

我想这更多是一个问题,我应该去哪里了解何时在 Ubuntu 中发布xrandr版本1.5.1?它已经在 Arch Linux 中可用,并于 2019 年 8 月发布。我想修复 2010 年的一个错误

Ubuntu 16.04.6 LTS 当前版本是:

$ xrandr --version
xrandr program version       1.5.0
Server reports RandR version 1.5
Run Code Online (Sandbox Code Playgroud)

我不精通这个主题,但我可以简单地获取1.5.1源代码并编译它吗?还是应该xrandr从源代码编译这样的关键任务应用程序?


TL;DR 为什么重要

每个人都可以在他们的平台上尝试这些简短的小测试,以了解xrandr版本和 gamma 错误的重要性。

当前的 Ubuntu 版本存在已存在 9 年的错误:

$ xrandr --version
xrandr program version       1.5.0
Server reports RandR version 1.5
Run Code Online (Sandbox Code Playgroud)

基本问题是xrandr报告错误的伽马值:

$ xrandr --verbose | grep ^DP-1-1 -A5
DP-1-1 connected 3840x2160+1920+0 (0xa5) normal (normal left inverted right x axis y axis) 1600mm x 900mm
    Identifier: 0x43
    Timestamp:  538179391
    Subpixel:   unknown
    Gamma:      1.0:1.1:1.3
    Brightness: 0.63
Run Code Online (Sandbox Code Playgroud)

我的“类红移”应用程序已将 gamma 设置为Red = 1.0Green =.88Blue =.77但 RGB 被错误地报告为1.0:1.1:1.3. 现在成像我们想将亮度增加到 0.65。如果我们不同时更改 gamma 现有的 gamma 设置将重置为1:1:1。所以我们传递我们认为的当前值:

$ xrandr --output DP-1-1 --brightness .65 --gamma 1.0:1.1:1.3
Run Code Online (Sandbox Code Playgroud)

低,看,屏幕变成了超级蓝绿色,并杀死了我们夜间设置的红色调。当我们再次检查当前设置时,我们发现值再次反转:

$ xrandr --verbose | grep ^DP-1-1 -A5
DP-1-1 connected 3840x2160+1920+0 (0xa5) normal (normal left inverted right x axis y axis) 1600mm x 900mm
    Identifier: 0x43
    Timestamp:  541629314
    Subpixel:   unknown
    Gamma:      1.0:0.91:0.77
    Brightness: 0.65
Run Code Online (Sandbox Code Playgroud)

因此,无论xrandr --verbose报告的值是多少,我们始终必须使用它1 / gamma来获得红色、绿色和蓝色通道上的真实伽玛值。更正我们的代码后,我们必须进行版本测试1.5.1不更正我们的代码并使用返回的伽马值。假设该错误已在1.5.1我尚未编译和测试的版本中修复。

Rus*_*lan 11

实际上,与 不同的是libXrandr.so.2,该xrandr程序远非关键任务。它只是一个 X 客户端——一个非特权应用程序,您可以将其安装到您的主目录中以避免破坏系统应用程序。以下是您可以这样做的方法(作为普通的非 root 用户!):

cd ~/Downloads
wget https://xorg.freedesktop.org/archive/individual/app/xrandr-1.5.1.tar.xz
tar xvf xrandr-1.5.1.tar.xz
cd xrandr-1.5.1
./configure --prefix=$HOME/opt/xrandr/
make install
Run Code Online (Sandbox Code Playgroud)

要使编译工作,您必须安装构建依赖项:即,应执行以下命令。

sudo apt build-dep x11-xserver-utils
Run Code Online (Sandbox Code Playgroud)

然后你可以从安装目录启动它:

$ ~/opt/xrandr/bin/xrandr --version
xrandr program version       1.5.1
Server reports RandR version 1.5
Run Code Online (Sandbox Code Playgroud)

或者,您可以像通常启动系统一样在您的前面$HOME/opt/xrandr/bin添加PATH并启动它xrandr。一旦您确定它可以按您的需要工作,您就可以更换系统/usr/bin/xrandr(可能已经对其进行了备份),以便任何其他用户在默认情况下运行它。

如果您确实替换了系统二进制文件,请不要忘记保留相应的包(在 Ubuntu 16.04 上是x11-xserver-utils)以防止更新用(最有可能的)早期版本替换它。


use*_*733 7

让我们来看看 Debian 的上游:

相关的包是x11-xserver-utils. 这是包裹跟踪系统页面。

该软件包由 Debian X Strike Force 维护。这是他们的邮件列表存档和他们的QA 跟踪器

由于您正在跟踪错误,因此该软件包的 Debian 错误跟踪器页面也可能有用。

在撰写本文时,最近的 Debian 上传是 2018 年 3 月,Launchpad 表明这也是当前 Ubuntu 19.10 中的版本。

所以......看起来目前在 Ubuntu 或 Debian 中根本没有打包的 xrandr 1.5.1。

  • 该错误实际上已在 2018 年由 `xrandr` 人员修复,但直到 2019 年才在 1.5.1 版中发布。所以我想如果我从源代码编译,我可以更快地保存一些“gamma greif”。我只是对编译像“xrandr”这样的关键任务应用程序感到不舒服。 (2认同)

Ter*_*nce 5

如果您迫不及待,可以xrandr从源代码安装。

下载tar.xz文件。

cd /tmp
wget https://xorg.freedesktop.org/archive/individual/app/xrandr-1.5.1.tar.xz{,.sig}
Run Code Online (Sandbox Code Playgroud)

然后提取并构建源

tar xvf xrandr-1.5.1.tar.xz
cd xrandr-1.5.1/
./configure --prefix=/usr
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

然后检查版本:

xrandr --version
xrandr program version       1.5.1
Server reports RandR version 1.5
Run Code Online (Sandbox Code Playgroud)