Como sempre ativar o PRIMUSRUN em um aplicativo por padrão

Fala pessoal! Para quem usa Linux em um laptop com a tecnologia optimus da NVIDIA, e usa o bumblebee para gerenciar as duas placas de vídeo, às vezes se vê rodando seus aplicativos ou jogos favoritos pelo terminal apenas para poder ativar a placa de vídeo de alta performance com o comando primusrun ou optirun.

Bom, sua dor de cabeça acaba aqui, a não ser que você realmente curta ficar vendo a saída do terminal enquanto joga, por que faz você parecer muito mais cool, neste caso, está tudo certo!

Segue abaixo um passo a passo para fazer seus aplicativos sempre rodar na sua placa de vídeo NVIDIA por padrão, ao invés da placa de vídeo Intel de baixa performance.


1. Criar um alias para o comando

Dessa forma, sempre que você rodar o comando no terminal, ou qualquer outro aplicativo exerno que execute este comando, ele será executado com primusrun. Esta é a solução mais generalizada possível para o problema. No meu exemplo, estarei editando o comando obs para rodar com primusrun.

Execute estes comandos no terminal:

echo 'alias obs="primusrun obs"' >> ~/.bashrc
source ~/.bashrc

Agora, sempre que você executar o comando obs no termina, ele irá rodar primusrun obs.

Se por algum motivo você precisar rodar o comando sem primusrun, será então necessário fazer uma chamada ao caminho absoluto de seu executável. Isso é fácil:

$ /usr/bin/obs

Isso também irá funcionar para os atalhos na área de trabalho e menus do desktop, no caso de estes também executarem este comando relativo. Mas caso eles chamem a executável de forma absoluta, como acima, você terá que editar o lançador também. Para isso, veja o passo 2.

2. Editar o lançador

Encontre onde o arquivo .desktop está. Se for uma aplicação de usuário (como aplicativos instalados no Wine), ele deve estar em ~/.local/share/applications, caso não, estará em /usr/share/applications.

Encontre o arquivo (pode ser um tanto difícil, pois alguns gerenciadores de arquivos mostram o título do aplicativo ao invés do nome do arquivo) e edite com o seu editor de texto favorito.
sudo nano /usr/share/applications/obs.desktop
Encontre a linha Exec= e adicione primusrun ou optirun antes do comando;

[Desktop Entry]
Version=1.0
Name=OBS
GenericName=Streaming/Recording Software
Comment=Free and Open Source Streaming/Recording Software
Comment[ru]=Бесплатная программа с открытым кодом для записи/трансляции видео
Exec=primusrun /usr/bin/obs
Icon=obs
Terminal=false
Type=Application
Categories=AudioVideo;Recorder;
StartupNotify=true
Salve e feche.

Tenha em mente que se o lançador executa o comando relative (somente obs ao invés de /usr/bin/obs), isso irá efetivamente fazer com que o aplicativo seja executado com dois primusrun, como em primusrun primusrun obs, mas isso não causa nenhum problema.


Postar um comentário