LINUX.ORG.RU

Сообщения Sunderland93

 

GRID Autosport зависает при запуске

Всем привет! Купил GRID Autosport, поставил. В Debian 8 с драйвером Nvidia 340.93 он не запустился вообще. Глянул его требования - просит 352. Поставил Ubuntu 14.04, запустил. После запуска появляется логотип GRID и всё зависает. Ждал минут 10 - безрезультатно. У кого подобное было? Есть способ решения проблемы (прошу воздержаться троллей от предложения поставить оффтопик).

 , , , ,

Sunderland93
()

Игры в Linux: переходим в следующее поколение?

Эта статья является переводом статьи из блога главного разработчика композитного менеджера KWin (используется в KDE) Мартина Гресслина. Оригинал вы можете прочесть по ссылке. Далее идёт повествование от автора. Прошу сильно не пинать за качество перевода.

В этой заметке я хотел бы поделиться мыслями о том, как улучшить игровой опыт в Linux.

Ситуация с X11

В X11 главная проблема для игр, это композитор. Играм необходим прямой доступ к графическому процессору (видеокарте), без каких либо посредников. Для сравнения, возьмём игровую консоль Playstation: когда вы запускаете игру, вы можете быть уверены, что она получила полный доступ к графическому процессору (GPU). Композитинг X11 предоставить такого не может. Композитор в X11 должен полностью скомпоновать сцену. Выглядит это так:

  • Игра рендерится через OpenGL/GLX;
  • X-сервер уведомляет композитор через расширение Xdamage;
  • Композитор рассчитывает область для перерисовки;
  • Композитор использует расширение Xcomposite для получения пиксельной карты для игрового окна;
  • Композитор связывает пиксельную карту с текстурой OpenGL;
  • Композитор рендерит текстуру, используя OpenGL/GLX поверх игрового окна;
  • X-сервер предоставляет готовое изображение из композитора через KMS.


При таком раскладе, мы имеем 5 вещей, которые не оптимальны для полноэкранных игр: проходы туда-сюда через композитор X-сервера, что добавляет серьёзные задержки. В такой ситуации, композитор всегда будет замедлять игру, так как будет выполнять вертикальную синхронизацию и так далее.

Обходные пути в X11

Существует готовое решение чтобы исправить это, известное как «unredirection full-screen window (отключить перенаправление для полноэкранных окон)». Идея заключается в том, что композитор не будет работать для полноэкранного приложения, и будет использована обычная, «не композитная» функциональность X-сервера.

На мой взгляд, это неправильное решение проблемы, потому что композитор по-прежнему работает, он по-прежнему получает события через XDamage (отслеживание областей для перерисовки, прим.перев.) (от, например, других окон) и работа композитора может внезапно возобновиться (например, при выводе уведомления на экран).

В KWin/Plasma, у нас есть лучшее решение: блокировка композитора. Мы можем это сделать, так как не требуем композитинга, в отличии от окружений с обязательным композитингом, где можно использовать только unredirection. У нас даже есть высокоуровневый API для игр, для того чтобы они могли сообщать, что необходимо заблокировать композитинг.

Это также объясняет, почему в KWin/Plasma не включена по умолчанию опция отключения полноэкранного композитинга. Это может вызвать проблемы в работе неигровых приложений (например тиринг в видеоплеере. прим.перев.), но рекомендуется для игр. Также это объясняет почему мне пофиг на тесты PTS (Phoronix Test Suite), так как по моему мнению они проводятся с неправильными настройками. Если бы нас это волновало, то можно было бы просто убедиться, что используемые в PTS игры, отключают композитинг.

Ситуация с Wayland.

В Wayland всё гораздо лучше, так как теперь нет X11-прослоек. Теперь процесс выглядит так:

  • Игра рендерится через OpenGL/EGL;
  • Композитор получает уведомление через wl_surface;
  • Композитор напрямую представляет wl_buffer через KMS, так как знает что тут больше не на что смотреть.


Так что ситуация значительно улучшилась. Хочу отметить, что KWin пока не поддерживает эти этапы и всё ещё рендерит через OpenGL, но мы движемся в этом направлении.

Однако, я думаю, ещё есть проблемы. Наш композитор (KWin) по-прежнему получает события от других окон, может «проснуться» и так далее. Запуск игры в режиме рабочего стола означает, что будут другие процессы в системе, с которыми игра должна разделить ресурсы. Мы хотим пойти по примеру Playstation: игре всё, остальным - ничего. Я не хочу чтобы KWin отбирал ресурсы CPU/GPU у игры.

Управление видеорежимами в ядре (Kernel Mode-Setting, KMS) в играх.

Итак, что мы можем сделать? Я думал об этом и предлагаю кардинально решить проблему с играми в Linux: убрать оконную систему! Игры должны общаться с KMS напрямую, игры должны взаимодействовать с libinput (библиотека ввода, прим. перев.) напрямую. Давайте удалим все лишние прослойки, нам это не нужно, это только мешает игровой производительности.

Когда игра запустится в полноэкранном режиме, можно создать отдельную сессию на другом виртуальном терминале (tty) и предоставить управление этой сессией через logind. Это позволит игре открыть файлы для рендеринга и обработки ввода также, как это делает композитор Wayland. Рендеринг может быть осуществлён через EGL поверх DRM/GBM, также как в композиторе Wayland. Игра получит полный контроль над KMS. Нужно другое разрешение экрана? Без проблем, бери и выставляй. В режиме рабочего стола, это всегда проблематично (гораздо хуже в X11, но лучше в Wayland). Для игр в оконном режиме ничего не изменится, они так и будут запускаться в режиме рабочего стола. (Прим.перев. По сути автор предлагает давно известную концепцию «запуска в отдельных иксах», но лишённую кучи недостатков).

Конечно, это должно убрать все взаимодействия с окружением рабочего стола. Это то, что нужно рассматривать в первую очередь, например, как заставить, скажем, Mumble (программа для аудиоконференций, прим. перев.) работать с такой конфигурацией? Может игре нужно запускать собственный Wayland-сервер?

Это также сломает Alt+Tab (сворачивание игры, прим.перев.). Ну, не совсем, правда. Для X11, который захватывает клавиатуру в некоторых играх, Alt+Tab всё равно не работает, так что тут особо ничего не потеряешь. Но конечно, всегда можно будет переключиться через Ctrl+Alt+F1 в рабочую сессию. Игры также должны иметь общий путь для достижения этой цели, на мой взгляд.

Есть конечно ещё несколько вещей, которые ещё предстоит решить, например, как запустить отдельную сессию, как вернуться в рабочую сессию без необходимости разблокировать экран и т.д. Всё должно быть также хорошо, как на игровой консоли. Так что тут ещё есть над чем поработать, но я думаю, это лучше, чем пытаться заставлять хорошо работать игры в режиме рабочего стола, потому как это всё равно не будет работать лучше, чем на игровой консоли.

 , , , ,

Sunderland93
()

Ulatencyd + 200-строчный патч: можно ли?

Всем привет. Снова обращаюсь на ЛОР за советом, так как в гугле ничё толком не нашёл. Думаю все знают про 200-строчный патч, который находится в ядре с 2.6.38. Так вот. Несмотря на его наличие, например, в Debian реализуемая им фича отключена по умолчанию. Я её включил, отзывчивость реально стала чуть выше, но на сильных нагрузках ещё не гонял. Далее я поставил Ukatencyd, фишка которого в распределении приоритетов между фоновыми и интерактивными приложениями, дабы при серьёзных нагрузках не терялась отзывчивость. Но подумал - а стоит ли юзать их вместе, или лучше оставить что-то одно?

 , , , ,

Sunderland93
()

Одновременное использование zram и zswap

Всем привет! Сейчас читаю об этих двух технологиях. Понял чем они различают, как работают. Но у меня вопрос: можно ли использовать их одновременно? Эта статья говорит что можно, но у меня есть сомнения. Кто-нибудь пробовал? Сейчас у меня 8 Гб RAM и 2 гига свопа. Но я запускаю много виртуалок, потому память быстро кончается.

 , ,

Sunderland93
()

Steam Link и Steam Controller: ваше мнение

Всем привет! Обращаюсь к тем, кто приобрёл и юзает сабж. Хочу узнать ваше мнение. Стоит ли покупать, если ли косяки в работе и так далее.

 , , ,

Sunderland93
()

OpenJDK 8: отсутствует браузерный плагин

Собрался поставить OpenJDL 8 в Debian Jessie. Но столкнулся с тем, что отсутствует плагин icedtea-8 для браузера. Есть только 7 версия, которая тянет по зависимостям 7 OpenJDK. Нашёл PPA, в котором есть этот плагин. Скажите, почему в поставке OpenJDK 8 нет этого плагина?

 , , ,

Sunderland93
()

GNOME 3 - враг линукс-геймера

После этого, решил провести свои тесты. Пока, по предварительным результатам, SteamOS медленнее любого дистрибутива. Точнее нет. Она медленнее любого дистрибутива, у которого в качестве DE не используется GNOME 3. Из-за неотключаемого полноэкранного композитинга, War Thunder в бенчмарках выдаёт от 7 до 15 FPS! KDE в этом плане не намного лучше (около 28 FPS), но стоит там отключить композитинг для полноэкранных окон (в настройках эффектов), как FPS резко взлетает до 58! Другие игры пока не тестил, но там, где необходимо отключать полноэкранный композитинг - будет крайне сильное падение производительности. Могу себе представить шок купившего Steam Machines и запустившего на нём тундру. Так как я кедерастпользуюсь KDE, и о Гноме толком не знаю, спрашиваю у тех, кто им пользуется - есть ли какие-нибудь костыли, которые помогут отрубить композитинг в полноэкранных приложениях?

 , , , ,

Sunderland93
()

И вновь в эфире.....тиринг в KDE на Nvidia

Сабж. Debian 8, KDE 4.14.2, Nvidia 340.96, GTX 460. Применял такие способы:

export __GL_YIELD="USLEEP" - эффекта почти не даёт, зато крайне сильно начинает тормозить окно при перемещении (курсор сантиметра на 2 отстаёт);
export KWIN_TRIPLE_BUFFER=1 - работает, тиринга нет, но окно всё равно перемещается медленно, хотя и не настолько как в случае первой опции. Настройки предотвращения разрывов не работают никак. Также пробовал включить Triple Buffering в xorg.conf

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 340.46  (pbuilder@zam904)  Fri Oct 17 21:29:34 UTC 2014

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 340.46  (buildd@brahms)  Tue Oct  7 08:00:32 UTC 2014

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 W1943"
    HorizSync       30.0 - 61.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 460"
    Option         "TrippleBuffer" "1"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "CRT-0"
    Option         "metamodes" "1360x768_60 +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Результата ноль. Уже не знаю как быть. Нужно чтобы и тиринга не было, и окно не тормозило при перемещении. Есть у кого-нибудь ещё способы решения проблемы? Смену DE и композитного менеджера прошу не предлагать.

 , , ,

Sunderland93
()

Запуск Steam в отдельных иксах: нужен оконный менеджер

Всем привет! Имею Debian 8 с KDE. Хочу запускать Steam и несколько других полноэкранных приложений в отдельных иксах. Но при стандартном запуске через xinit, у меня запускается Kwin. Да и работает всё это как-то анально. Наткнулся в интернете на совет запускать не просто отдельные иксы, а отдельный оконный менеджер с ними. Из всех оконных менеджеров (в голом виде), я юзал только Openbox. Сейчас стою перед выбором: Openbox, i3 или PekWM. Что посоветуете?

 , , ,

Sunderland93
()

Pulseaudio не стартует автоматически после обновления

Всем привет! В Debian Backports прилетел Pulseaudio 7.1. Я на него обновился. Всё прошло гладко, вот только после загрузки системы - он не запущен. Делаю pulseaudio --start - и всё нормально. До перезагрузки. В сети ничего толком не нашёл. Только советы по добавлению команды запуска в ~/.xinitrc, правке скрипта start-pulseaudio-x11 и так далее. Пробовал также удалять строку autospawn = yesиз конфига клиента - безрезультатно. Подскажите, в чём может быть причина?

P.S. при запуске скрипта start-pulseaudio-x11, выводится сообщение

Произошла ошибка при выполнении pa_context_connect(): Соединение отвергнуто

 , ,

Sunderland93
()

Пара вопросов по сборке ядра

Всем привет! Недавно из репов Debian выкинули все rt-ядра. Последнее сохранившееся у меня в кэше - 4.1.6. На kernel.org последняя версия 4.1.13. Собственно, я хочу взять дэбианизацию из дэбиановского архива, и собрать ядро сам. И тут у меня всплыла парочка вопросов:
1) На kernel.org можно скачать как весь тарболл, так и патчи. Я правильно понял, что это патч чтобы обновить некоторые файлы в исходном коде, чтобы не качать весь тарболл заново?
2) Там есть ещё некий инкрементальный патч. Для чего он?

Заранее спасибо!

 , , ,

Sunderland93
()

bridge и ip6tables: не могу разобраться

Всем привет! Подключил вторую сетевуху, и ни с того ни с сего, стало появляться сообщение при загрузке

bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.[/quote]Вот настройка сетевух 

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
address 192.168.0.2
gateway 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
        bridge_ports eth0
        bridge_stp off
        bridge_maxwait 0
        bridge_fd 0
up route del default br0

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

Помогите разобраться.

 , , , ,

Sunderland93
()

Не поднимается Apache

Всем привет! Изучаю на виртуалке связку Apache 2 + Nginx. При попытке стартануть Апач, он пишет Произошёл сбой юнита apache2.serviceВ логах это

-- Logs begin at Пн 2015-11-09 18:37:54 YAKT, end at Пн 2015-11-09 19:02:14 YAKT. --
ноя 09 19:01:14 web systemd[1]: apache2.service: control process exited, code=exited status=1
ноя 09 19:01:14 web systemd[1]: Failed to start LSB: Apache2 web server.
-- Subject: Ошибка юнита apache2.service
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Произошел сбой юнита apache2.service.
--
-- Результат: failed.
ноя 09 19:01:14 web systemd[1]: Unit apache2.service entered failed state.
ноя 09 19:01:14 web sudo[1319]: pam_unix(sudo:session): session closed for user root
ноя 09 19:01:18 web sudo[1336]: web : TTY=pts/0 ; PWD=/home/web ; USER=root ; COMMAND=/bin/journalctl -xn
ноя 09 19:01:18 web sudo[1336]: pam_unix(sudo:session): session opened for user root by web(uid=0)
ноя 09 19:02:01 web sshd[1339]: Accepted publickey for web from 192.168.0.2 port 55390 ssh2: RSA 2d:45:4c:a9:c2:51:b1:94:64:1b:1d:7b:72:45:6e:10
ноя 09 19:02:01 web sshd[1339]: pam_unix(sshd:session): session opened for user web by (uid=0)
ноя 09 19:02:14 web sudo[1351]: web : TTY=pts/1 ; PWD=/home/web ; USER=root ; COMMAND=/bin/journalctl -xn
ноя 09 19:02:14 web sudo[1351]: pam_unix(sudo:session): session opened for user root by web(uid=0)
Не подскажете, в чём дело?

 , ,

Sunderland93
()

Настройка сетевого моста для VirtualBox

Всем привет! Никак не получается настроить сетевой мост для VBox. Компьютер с Debian, имеет интерфейсы ppp0 (выход в интернет) и eth0 (локалка) Создал мост br0

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
address 192.168.0.3
gateway 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
        bridge_ports eth0
        bridge_stp off
        bridge_maxwait 0
        bridge_fd 0
up route del default br0
модем ppp0 подключается вручную. Добавил правила в iptables
iptables -v -t nat -A POSTROUTING -o ppp0 -j MASQUERADE iptables -v -A FORWARD -i ppp0 -o br0 -s 0.0.0.0/0 -d 192.168.0.0/24 -j ACCEPT iptables -v -A FORWARD -i br0 -o ppp0 -s 192.168.0.0/24 -d 0.0.0.0/0 -j ACCEPT
, в настройках VBox выбираю тип сети «Сетевой мост» и указываю «br0». На хосте прописываю ip 192.168.0.9, маску 255.255.255.0 и шлюз 192.168.0.3. И...ничего. Сети нет. Помогите разобраться.

P.S. форвардинг пакетов включён.

 , , , ,

Sunderland93
()

Тема Nimbus для KDE4

Доброго времени суток! Больно понравилась данная тема оформления (кто не в курсе, она используется в Solaris/OpenSolaris/OpenIndiana), но в сети натыкался только на GTK-темы. Существует ли тема Nimbus для KDE 4?

 , , ,

Sunderland93
()

Преобразование MBR в GPT

Сабж. Система - Debian 8. Диск на 1 ТБ, кроме Дэбиана установлена восьмёрка. Планируется снести её, оставшийся раздел форматировать в ext4. Вопрос: можно ли сконвертировать MBR в GPT без потери данных? И нужно ли создавать раздел bios-boot после конвертации?

 , , , ,

Sunderland93
()

Из репов Debian исчезли rt-ядра

Все привет. Не пойму в чём прикол. Хотел поставить RT-ядро в Debian 8, но обнаружил, что его нет в репозиториях. При чём даже в Сиде и Тестинге. Никто не знает, в честь чего их выкинули?

 , ,

Sunderland93
()

KDE Plasma 5.4: нет пункта «Создать папку» в Dolphin

Всем привет! Собственно, сабж. В контекстном меню только это. Kubuntu 15.10, Plasma 5.4, Dolphin 15.08. Сначала даже не заметил, думал с обновлениями пофиксят. Пока нифига.

 , , ,

Sunderland93
()

Сервер терминалов на Debian

Хочу (пока ради «потыкать») установить и настроить терминалку на Debian. Есть старенький неттоп, который планируется использовать в качестве тонкого клиента. В качестве сервера, решил поставить LTSP. Во первых потому что есть в родных репах Дэбиана, во-вторых - настраивается весьма просто. Но решил поинтересоваться у тех, кто работает с таким давно - хорош ли LTSP и стоит ли с ним связываться? Может быть есть лучшие альтернативы? Кто что думает?

 , , , ,

Sunderland93
()

Запрос sudo в Bash-скрипте через zenity и kdialog

Всем привет! Второй день уже насилую гугл в поисках ответа. Стоит задача написать полностью графический скрипт (используя zenity и kdialog), который при запуске будет запрашивать пароль sudo (в зависимости от DE либо через gksu, либо kdesudo). И никак не могу понять, каким образом это организовать. Кто-нибудь делал подобное? Подскажите рабочие примеры.

 , , , ,

Sunderland93
()

RSS подписка на новые темы