启动新 xserver 时使用 xrandr

启动新 xserver 时使用 xrandr

当我在新的 xserver 上启动应用程序时,我试图设置屏幕的分辨率和刷新率。

我通常用来让这个屏幕工作的 xrandr 命令是:

 xrandr --newmode 2560x1440 146.27 2560 2680 2944 3328 1440 1441 1444 1465 -HSync +Vsync
 xrandr --addmode HDMI1 2560x1440
 xrandr --output HDMI1 --mode 2560x1440
 xrandr --output LVDS1 --off

我用来启动 xserver 的命令是

 xinit /usr/bin/urbanterror $* -- :1

这是我到目前为止所尝试过的

我想我需要将这些 xrandr 设置放入 xorg 配置文件中并将其传递:

 xinit /usr/bin/urbanterror $* -- :1 -xf86config xorg.conf

我真的不确定如何编写conf文件来复制这些设置,我发现的最接近的位于此底部 网页,但我觉得它不完整。

我还尝试将 xrandr 命令放入脚本中,使用该脚本作为在新 xserver 中启动的程序。

 xinit /home/user/.urtrc $* -- :1

.urtrc 包含

 #!/bin/sh

 xrandr --newmode 2560x1440 146.27 2560 2680 2944 3328 1440 1441 1444 1465 -HSync +Vsync
 xrandr --addmode HDMI1 2560x1440
 xrandr --output HDMI1 --mode 2560x1440
 xrandr --output LVDS1 --off

 exec urbanterror

这很有效,但性能非常棒,在最低设置下我勉强达到 3 fps。我不知道为什么。

任何帮助将非常感激。

更新

在新的 xserver 中运行 glxgears 会出现以下 2 个错误:

 libGL error: failed to open drm device: Permission denied
 libGL error: failed to load driver: i965

所以我知道这是一个权限问题。从 root 运行时,带有 xrandr 命令的脚本运行良好,并且 glxgears 不会报告任何错误。然而,由于多种原因,我真的不想以 root 身份运行它。

在 systemd 之前,这个问题是通过将用户添加到视频组中来解决的。但是systemd之后就没有视频组了。

任何有关修复这两个错误的帮助将不胜感激。

相关内容