Xrandr не работает с Nvidia

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

У меня есть проблема. У меня есть ноутбук с видеокартой Nvidia и Intel

Когда я использую карту Nvidia (используя PRIME профили), я не могу изменить разрешение дисплея с помощью xrandr в терминале. Все, что происходит, это дисплей становится черным на секунду, а затем возвращается к нативному разрешению. Однако, когда я использую карту Intel, это работает без проблем.

Это проблема для меня, потому что я много играю в старые игры с использованием Wine, и у большинства из них очень низкие разрешения, и поэтому, когда я использую Nvidia, они отображаются в верхнем левом углу экрана, вместо того чтобы растягиваться на весь экран, как это происходит при использовании карты Intel (потому что разрешение экрана меняется на разрешение игры)

Я также заметил, что изменение разрешения через Настройки системы -> Экран работает на обеих картах, но это сильно не помогает…

Если бы я мог заставить xrandr изменить разрешение на карте Nvidia, тогда эти игры будут работать, или, если это невозможно, я мог бы сделать скрипт, чтобы сделать это при запуске игры и вернуться к нативному разрешению, когда игра закрывается.

Моя ОС – Ubuntu 14.04 x64, и я использую актуальные стабильные драйверы Nvidia. Это ноутбук, если это имеет значение.

EDIT: Я только что заметил, что если я подключаю внешний монитор (VGA1), я могу менять разрешение на любом из мониторов… и игра теперь запускается в полноэкранном режиме… но как только я отключаю его, проблема возвращается 🙁

Я провел много времени с такой же проблемой, теперь я решаю ее, используя параметр –crtc при вызове xrandr, т.е.:

xrandr --output LVDS1 --mode 800x600 --crtc 0

Также я рекомендую назначить эти команды командам CCSM и привязать к некоторым горячим клавишам, это очень полезно.

UPD: Для меня это работает только после этой команды:

xrandr -s 0

Но это вызывает сбои в Diablo при изменении разрешения экрана )-:

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

Проблема с использованием Xrandr на видеокартах Nvidia может быть довольно распространенной, особенно в системах с гибридной графикой, как в вашем случае, когда задействованы и Intel, и Nvidia. Ваша ситуация, описывающая трудности с изменением разрешения при использовании драйверов Nvidia, указывает на несколько ключевых моментов, которые стоит рассмотреть.

Проблема: Не удается изменить разрешение с помощью Xrandr

Вы указали, что при использовании Nvidia с PRIME профилями Xrandr не работает должным образом — изменение разрешения приводит к черному экрану, а затем возвращает к исходному разрешению. Это поведение может быть связано с тем, что драйверы Nvidia, особенно в линукс-системах, не всегда имеют полный функционал, который обеспечивает Xrandr, и могут не поддерживать динамическое изменение разрешений.

Решение: Использование параметра –crtc

Как вы уже заметили в своем обновлении, использование параметра --crtc при вызове Xrandr может помочь. Например, команда:

xrandr --output LVDS1 --mode 800x600 --crtc 0

позволяет указать контроллер для обновления видеовыхода, что может обойти некоторые проблемы с драйверами Nvidia.

Дополнительные рекомендации

  1. Используйте режим VGA: Как вы обнаружили, подключение внешнего монитора позволяет менять разрешение без проблем. Это может быть временным решением для игр, но также указывает на то, что есть различия в работе драйверов при переключении графических адаптеров.

  2. Создайте скрипт для автоматизации: Если команды Xrandr работают, вы можете создать Bash-скрипт для автоматизации процесса переключения разрешения перед запуском игры и возврата к исходному после её завершения. Скрипт может выглядеть следующим образом:

    #!/bin/bash
    xrandr --output LVDS1 --mode 800x600 --crtc 0
    # Запуск вашей игры
    wine /path/to/your/game.exe
    xrandr --output LVDS1 --mode 1920x1080 --crtc 0 # Вернуться к полному разрешению

    Убедитесь, что скрипт исполняемый, используя команду chmod +x script.sh.

  3. Используйте настройки композитора: Вы можете настроить композитор (например, CCSM) для назначения горячих клавиш на команды Xrandr, что сделает процесс более удобным.

  4. Проверьте драйверы: Убедитесь, что у вас установлены последние стабильные драйвера Nvidia, так как обновления могут содержать исправления, влияющие на функциональность Xrandr и работу с разрешениями.

Заключение

Проблемы с разрешением на видеокартах Nvidia в системах Linux, особенно при применении гибридной графики, могут требовать терпения и экспериментов. Использование команд Xrandr с правильными параметрами может значительно улучшить вашу игровую производительность. Надеемся, что предложенные шаги помогут вам решить эту задачу. В случае дальнейших проблем всегда рекомендуется обратиться к сообществу или официальной поддержке Nvidia для получения специализированной помощи.

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

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