Pelo que entendi, o Unity não funciona com o optirun (parece ser um bug).
Isso é o que eu encontrei aqui :
O HDMI não funciona com chipsets gráficos híbridos Optimus no Linux para a maioria dos laptops, mesmo se você usar o Bumblebee, mas há uma maneira de fazer o HDMI funcionar: usando uma sessão separada.
Usando as instruções abaixo, você receberá uma sessão do LXDE (você pode usar o XFCE ou outros, mas as instruções abaixo são para o LXDE) para aparecer no monitor externo (que é conectado via HDMI), e nesta sessão , todos os aplicativos que você usa usam a placa gráfica Nvidia do seu laptop e você pode jogar, assistir a filmes, etc. A sessão LXDE é executada ao mesmo tempo que a sua sessão regular, portanto na tela do seu laptop você obtém sua sessão regular (principal). Além disso, o mouse e o teclado são compartilhados entre as duas sessões / monitores.
Veja como isso se parece:
A primeira imagem acima é da tela do meu laptop (Dell XPS L702X que vem com o Nvidia Optimus) enquanto a segunda imagem é a sessão separada do LXDE que também está sendo executada no meu laptop, mas é exibida em uma TV conectada via HDMI. Como você pode ver, o primeiro é usar o chip gráfico da Intel, enquanto o segundo usa a Nvidia.
No entanto, há algumas coisas a serem consideradas ao usar isso:
- o som não funciona (se você souber como fazer isso funcionar, por favor, nós sabemos nos comentários!) através de HDMI, então você só vai conseguir som através dos alto-falantes do seu laptop
- você não pode mover uma janela da sua área de trabalho atual para o monitor conectado via HDMI. A única maneira de executar aplicativos no dispositivo conectado via HDMI é executá-lo a partir de seu menu de sessão ou usando "export DISPLAY =: 8.0" (veja o final do post para mais informações sobre esta). O mouse, no entanto, é compartilhado entre os dois desktops.
- ao carregar a sessão extra, você pode obter indicadores duplos / bandeja ícones na sua sessão atual (principal). Existe uma maneira de contornar isso embora (consulte a seção "dicas" no final do post)
Obtenha o HDMI para funcionar com laptops usando a tecnologia Optimus no Ubuntu usando o Bumblebee e o Synergy
-
Instale o Bumblebee se você ainda não o fez.
-
O Unity não funciona com o Bumblebee (e eu não tenho certeza se você pode executar duas sessões usando o mesmo gerenciador de janelas sem interferir de qualquer forma), então você precisará usar um ambiente / sessão de desktop diferente, como o LXDE. , XFCE e assim por diante - use o que você quiser. Eu usei o LXDE, então, usando as instruções abaixo, você terá uma sessão do LXDE no monitor conectado via HDMI.
Para que o mouse e o teclado funcionem no monitor externo conectado via HDMI, usaremos o Synergy, uma ferramenta que permite compartilhar o mouse e o teclado entre vários computadores.
Vamos instalar os pacotes necessários (LXDE e Synergy):
sudo apt-get install synergy lxde lxde-common
-
Para poder usar o Synergy, você precisará criar um arquivo de configuração. Você pode baixar o meu do AQUI - copie o arquivo para sua pasta pessoal e renomeie-o para ".synergy.conf" (observe o ponto na frente do nome do arquivo - isso torna o arquivo oculto).
O arquivo que eu forneci acima deve ser suficiente, mas se você quiser alterá-lo, você pode ler sobre o arquivo de configuração do Synergy aqui .
-
Para iniciar o LXDE no monitor externo conectado via HDMI, você pode usar um script que pode ser baixado em AQUI Extraia o arquivo, copie o script "hdmi" para sua pasta pessoal e torne-o executável usando o seguinte comando:
chmod +x ~/hdmi
Agora, para executar o script, use o seguinte comando:
~/hdmi
O LXDE agora deve iniciar no monitor externo conectado via HDMI. Dê um tempo (cerca de 10 segundos) e mova o mouse para a esquerda da tela para que apareça no dispositivo HDMI.
Veja o que o script faz (isso é apenas uma explicação, você não precisa executar esses comandos, apenas use o script acima):
exporta o display para o que vamos usar para o monitor HDMI (8):
export DISPLAY=:8.0
executa o LXDE com o optirun (Bumblebee):
optirun startlxde &
executa o servidor Synergy em primeiro plano na tela principal (na sessão principal do seu laptop) com 127.0.0.1 como o endereço:
synergys -f -a 127.0.0.1 --display :0 -n ubuntu &
executa o cliente Synergy em primeiro plano no monitor HDMI e o conecta ao 127.0.0.1 endereço do servidor:
synergyc -f -n hdmi --display :8 127.0.0.1 &
E, finalmente, ele exporta a exibição de volta para a tela do seu laptop (principal):
export DISPLAY=:0.0
O script também usa alguns comandos "sleep" que adicionam um atraso para garantir que os comandos tenham tempo suficiente para serem executados antes de executar o próximo comando.