Kubuntu 24.04 драйвер nvidia масштабируемые приложения

Вопрос или проблема

Я только что установил графическую карту nvidia и драйверы на Kubuntu 24.04. Производительность хорошая, но все приложения KDE и Chrome выглядят масштабированными. Я пробовал несколько разных версий драйвера и получаю тот же результат с каждой. Когда я попробовал драйвер Nouveau, я видел все так, как ожидал, но производительность была настолько плохой, что это не вариант.

Вот фото того, что я вижу:
настройки nvidia vs системные настройки

Окно Nvidia, шрифты выглядят так, как я ожидал на 4k, приложение настроек выглядит так, как будто оно отображается при разрешении 1080. Настройки показывают, что масштабирование установлено на 1 (100%), и отсутствует возможность частичного масштабирования.

Я пробовал установить это в моем профиле:

export GDK_DPI_SCALE=1
export GDK_SCALE=1
export QT_SCREEN_SCALE_FACTORS=1

как предложил chatGPT. Но снова это, похоже, ничего не изменило.

Я также сгенерировал файл xorg.conf из приложения nvidia

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 510.47.03

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 550.120

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "LG Electronics LG HDR 4K"
    HorizSync       30.0 - 135.0
    VertRefresh     40.0 - 60.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce RTX 3050"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "HDMI-0: nvidia-auto-select +0+0, HDMI-1: nvidia-auto-select +3840+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Что я упускаю?

Хорошо, я разобрался! На случай, если вы пришли сюда в поисках ответа, надеюсь, это тоже вам поможет.

Оказалось, что это была проблема с DPI. По умолчанию у меня было 139 x 137. Это можно узнать, выполнив команду:

xdpyinfo | grep -B2 resolution

Поэтому я отредактировал файл xorg.conf и добавил следующую строку в секцию монитора:

    Option         "DPI" "100 x 100"

Полная секция (см. выше для оригинала)

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "LG Electronics LG HDR 4K"
    HorizSync       30.0 - 135.0
    VertRefresh     40.0 - 60.0
    Option         "DPI" "100 x 100"
    Option         "DPMS"
EndSection

Затем я просто перезапустил дисплейный менеджер

sudo systemctl restart display-manager

Теперь все выглядит нужного размера.

Ответ или решение

Установка и настройка графических драйверов на ОС Linux, особенно таких как драйверы NVIDIA, могут вызвать несколько проблем, связанных с отображением, масштабированием и производительностью. В данном случае проблема касается масштабирования интерфейсов приложений в Kubuntu 24.04 после установки видеокарты NVIDIA. Попробуем детально разобраться в проблеме и её решении, чтобы предоставить четкие рекомендации и понимание.

Теория

Основной проблемой здесь является неправильное масштабирование графических элементов и шрифтов в приложениях KDE и Google Chrome. Это может быть связано с настройками DPI (точек на дюйм) при использовании драйверов NVIDIA. Обычно драйвер пытается автоматически определить оптимальное разрешение и параметры DPI в зависимости от разрешения экрана и характеристик монитора. Однако иногда это не удается сделать корректно, особенно при использовании 4K-мониторов, когда операционная система или драйвер неправильно определяют разрешение на дюйм.

Mасштабирование интерфейса в KDE и других окружениях настольного типа зависит от настройки DPI. Напряжение между заданным разрешением и разрешением монитора может привести к тому, что система ошибочно масштабирует окна приложений, влияя на читаемость и общий опыт пользователя. Во многих случаях, когда установка драйвера NVIDIA не оптимальна, система может выбрать некорректные значения DPI, что приводит к визуальным проблемам с интерфейсом.

Пример

В рассматриваемом случае пользователь заметил, что некоторые приложения (в частности, KDE и Chrome) были масштабированы некорректно, несмотря на правильную работу драйвера Nouveau — который показал правильное отображение интерфейсов, но с низкой производительностью. Решение заключалось в исправлении неправильно определённых значений DPI, которые, как выяснилось, по умолчанию были установлены на 139 x 137.

Использование команды xdpyinfo | grep -B2 resolution позволяет получить информацию о текущих настройках разрешения и DPI. Результаты показывают, как система интерпретирует информацию о пикселях и дюймах, что впоследствии влияет на общее визуальное восприятие интерфейса пользователя.

Применение

Решение проблемы масштабирования заключается в ручной корректировке значений DPI в файле конфигурации Xorg (xorg.conf). Для этого, в секции "Monitor" (монитор) файла xorg.conf следует добавить строку Option "DPI" "100 x 100". Эта строка принудительно устанавливает DPI в системе на стандартные значения, что помогает приложить правильные параметры к отображаемым элементам интерфейса, согласовывая их с физическими размерами экрана.

После внесения изменений в файл конфигурации, рекомендуется перезапустить дисплейный менеджер с помощью команды sudo systemctl restart display-manager для применения новых настроек. Это необходимо для того, чтобы заставить систему считать новые параметры конфигурации и применить их для корректного отображения интерфейсов всех установленных приложений.

Заключение

Решение рассматриваемой проблемы демонстрирует, как важно иметь возможность вмешиваться в настройки низкого уровня, которые могут влиять на пользовательский интерфейс в средах Linux. Иногда автоматические конфигурации могут быть далеки от идеала, и требуется ручная корректировка для достижения оптимальных результатов. Настройка правильных значений DPI — это один из способов контролировать и обеспечивать высокое качество визуальных элементов, что особенно важно в системах с высоким разрешением, таких как 4K.

Таким образом, при работе с Linux-системами и драйверами NVIDIA всегда следует проверять параметры конфигурации и быть готовым адаптировать их в зависимости от специфической аппаратной конфигурации и требований пользователя. Знание теории и умение применять её на практике — ключ к эффективному решению подобных задач.

Оцените материал
Добавить комментарий

Капча загружается...