V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Serino
V2EX  ›  Linux

Linux 下对于多屏不同 UI 缩放有好的解决方案吗?

  •  
  •   Serino · 2023-07-03 12:11:40 +08:00 · 2329 次点击
    这是一个创建于 543 天前的主题,其中的信息可能已经有所发展或是发生改变。

    显卡是 N 卡,显示器是一个小屏 4K 一个 2K 。 之前在 Manjaro Cinnamon 上,是用 xrandr 或者 N 卡控制面板,整体扩大分辨率然后缩小渲染的那种方案。 感觉有点蠢啊,需要 UI 缩放的那个显示器显示是正常了,不需要 UI 缩放的那个显示器变糊了。

    所以这个问题有没有比较好的解决方法?

    不得不说,不同显示器不同 UI 缩放这方面,Windows 做得真好。

    18 条回复    2023-07-05 15:42:18 +08:00
    0o0O0o0O0o
        1
    0o0O0o0O0o  
       2023-07-03 12:27:10 +08:00 via iPhone
    Wayland
    billlee
        2
    billlee  
       2023-07-03 12:30:05 +08:00 via Android
    拔掉 N 卡提升使用体验
    zjp
        3
    zjp  
       2023-07-03 12:32:14 +08:00 via Android
    Wayland ?虽然可能有更多问题出现
    ShadowPower
        4
    ShadowPower  
       2023-07-03 12:36:30 +08:00
    N 卡+Wayland=折磨……
    Narcissu5
        5
    Narcissu5  
       2023-07-03 12:57:50 +08:00
    单屏都没有
    acdfjelxe
        6
    acdfjelxe  
       2023-07-03 13:23:02 +08:00
    N 卡并不能和 Wayland 一起用, https://forum.manjaro.org/t/howto-use-wayland-with-proprietary-nvidia-drivers/36130

    不知道现在有没有进度 ...
    JeromeCui
        7
    JeromeCui  
       2023-07-03 13:51:52 +08:00
    KDE + Wayland 已经解决这个问题了,最新的 KDE 版本就可以
    AoEiuV020JP
        8
    AoEiuV020JP  
       2023-07-03 15:46:10 +08:00
    我也 Cinnamon ,我是 linuxmint Cinnamon ,
    我是一个主屏 27 寸 4k ,一个副屏 24 寸 1080p ,
    在 windows 是主屏 150%,副屏 100%,
    在 linux 这边做不到,150%无论如何都是糊,

    但可以设置 user interface scale 为 double ,相当于 200%,副屏还 100%,
    效果还算可以,ui 不糊,同时能看真 4k 视频也不糊,

    记得好像无法直接设置成这样,旧版是要先关闭一个副屏设置好主屏再开,新版是设置里有个什么开关要打开,
    GiantHard
        9
    GiantHard  
       2023-07-03 17:16:21 +08:00


    Wayland +KDE 可以,但是存在一些不是特别影响使用的问题
    yanqiyu
        10
    yanqiyu  
       2023-07-03 17:22:55 +08:00
    @acdfjelxe NVIDIA+Wayland 完全能用,至少去年开始我就这么干了
    likelylee
        11
    likelylee  
       2023-07-03 21:30:08 +08:00
    Arch + Hyprland ,NVDIA+Wayland ,常用的除了笔记本自己的屏幕之外还有两个显示器,使用下边的命令:
    wlr-randr --output DP-1 --mode 2560x1440 --pos 0,0 --scale 1.25 --output eDP-1 --mode 2240x1400 --pos 0,1152 --scale 1.4
    wlr-randr --output eDP-1 --mode 2240x1400 --pos 0,0 --scale 1.4 --output DP-1 --mode 2560x1080 --pos 1601,0 --scale 1
    每个显示器都完美不虚。如果是 chromium 和 electron 需要考虑在打开应用时候加上 wayland 支持,但即使不开,也仅仅是字体边缘有一些极轻微的虚影,不对比基本看不出来。
    NVIDIA + Wayland 前两年确实不行,但是现阶段基本上正常使用没有问题了。
    alukongfu
        12
    alukongfu  
       2023-07-04 09:17:02 +08:00
    OP 是不是向在接入新屏幕后自动运行 xrandr 呢?
    likelylee
        13
    likelylee  
       2023-07-04 10:40:05 +08:00
    @alukongfu x11 下有 autorandr ,wayland 下有 kanshi ,都不想用还可以配合 udev rules 或者做成 key bind 手工切换,比如我就是配合 edid 查找目前接入的显示器,然后在调用上边的命令做切换
    alukongfu
        14
    alukongfu  
       2023-07-04 10:47:25 +08:00
    #!/bin/bash
    export MONITOR2=/sys/class/drm/card0-HDMI-A-1/status

    #while inotifywait -e modify,create,delete,open,close,close_write,access $MONITOR2;

    while true
    do
    dmode="$(cat $MONITOR2)"
    if [ "${dmode}" = disconnected ]
    then
    /usr/bin/xrandr --output eDP1 --auto --primary
    # echo "${dmode}"
    elif [ "${dmode}" = "connected" ]
    then
    /usr/bin/xrandr --output eDP1 --off --output HDMI1 --auto --primary
    # echo "${dmode}"
    fi

    sleep 5s
    done
    alukongfu
        15
    alukongfu  
       2023-07-04 10:48:15 +08:00
    @alukongfu 自动检测屏幕接口是否连接的脚本,之前用来插入副屏后自适应分辨率。
    Serino
        16
    Serino  
    OP
       2023-07-04 12:36:02 +08:00
    @GiantHard 这是?
    Serino
        17
    Serino  
    OP
       2023-07-04 12:39:51 +08:00
    @likelylee @alukongfu 谢谢
    还有上面的网友,一并感谢


    @GiantHard https://www.v2ex.com/t/887419 看到你的贴文了


    https://www.v2ex.com/t/887419
    另一个差不多 1 年前的帖子
    Tee
        18
    Tee  
       2023-07-05 15:42:18 +08:00
    如果用 wayland 要考虑有没有应用是 xwayland 的,xwayland 的不能多屏幕不同 scale ,除非强制跟随假缩放。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   960 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:31 · PVG 06:31 · LAX 14:31 · JFK 17:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.