Вопрос или проблема
У меня есть проблема. У меня есть ноутбук с видеокартой 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.
Дополнительные рекомендации
-
Используйте режим VGA: Как вы обнаружили, подключение внешнего монитора позволяет менять разрешение без проблем. Это может быть временным решением для игр, но также указывает на то, что есть различия в работе драйверов при переключении графических адаптеров.
-
Создайте скрипт для автоматизации: Если команды 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
. -
Используйте настройки композитора: Вы можете настроить композитор (например, CCSM) для назначения горячих клавиш на команды Xrandr, что сделает процесс более удобным.
-
Проверьте драйверы: Убедитесь, что у вас установлены последние стабильные драйвера Nvidia, так как обновления могут содержать исправления, влияющие на функциональность Xrandr и работу с разрешениями.
Заключение
Проблемы с разрешением на видеокартах Nvidia в системах Linux, особенно при применении гибридной графики, могут требовать терпения и экспериментов. Использование команд Xrandr с правильными параметрами может значительно улучшить вашу игровую производительность. Надеемся, что предложенные шаги помогут вам решить эту задачу. В случае дальнейших проблем всегда рекомендуется обратиться к сообществу или официальной поддержке Nvidia для получения специализированной помощи.