Eu tenho um host no estilo de quiosque executando o Ubuntu Server 14.04. Estou tentando configurá-lo para reproduzir alguns vídeos, tipo TV. Às vezes, ele precisa reproduzir playlists do YouTube e outros serviços de streaming de vídeo baseados na Web, etc., portanto, uma janela do navegador parece ser necessária.
Para este propósito eu instalei um barebones X.org sem um ambiente de desktop e funciona.
No entanto, como a administração é pela rede e o host funciona como um servidor de arquivos e da Web (esse é um projeto inicial), estou um pouco preocupado com a segurança e gostaria de executar o X como não-raiz. Eu já verifiquei o link , mas parece datado: rodar o X com o -nohwaccess reclama:
/usr/bin/Xorg vt8 -retro -sharevts -nohwaccess -logfile /tmp/Xorg.U.log :1
...
Fatal server error:
(EE) Unrecognized option: -nohwaccess
Se eu tirar a bandeira, ela começa, mas falha imediatamente:
Loading extension GLX
xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
Edit: Opa, aparentemente não consigo ler! O erro FATAL por que o Xorg termina não é isso, é isso, logo após o aviso xf86EnableIOPorts
:
(--) Depth 24 pixmap format is 32 bpp
Unable to retrieve master
Fatal server error:
[ 38106.045] (EE) AddScreen/ScreenInit failed for driver 0
Considerando a execução com sudo
, ele emite:
(--) Depth 24 pixmap format is 32 bpp
RADEON(0): [DRI2] Setup complete
... and so forth.
Parece um problema de permissão, mas defini todos os direitos mencionados no artigo da wiki:
videoplayer@yuunagi:/usr/bin$ ls -la /dev/tty8
crw-rw---- 1 videoplayer root 4, 8 1月 13 02:09 /dev/tty8
/dev/event/*
tem o + rw definido,
O usuário videoplayer
pertence aos grupos video
e audio
:
videoplayer@yuunagi:/usr/bin$ cat /etc/group | grep videoplayer
audio:x:29:videoplayer
video:x:44:videoplayer
videoplayer:x:999:
O que eu sinto falta aqui?
Editar : Btw. antes que alguém indique: eu tenho o KMS ativado. O registro do kernel diz isso, (drivers Radeon de código aberto com DRM em função) e logs do X.org dizem que: [KMS] Kernel modesetting enabled.
Edit2 : strace revela o seguinte:
Abertura de um arquivo de dispositivo da GPU com sucesso:
open("/dev/dri/card0", O_RDWR) = 9
Depois disso, há dezenas de ioctrls subsequentes para esse arquivo, assim:
ioctl(9, 0xc0106407, 0x7fff66772190) = 0
E então, último ioctl sucessor:
ioctl(9, TUNER_SET_CONFIG, 0x7fff667722b0) = 0
Depois disso, uma falha:
ioctl(9, 0x641e, 0) = -1 EACCES (Permission denied)
Unable to retrieve master
Entre. o arquivo dev de GPU acessado tem as seguintes permissões:
videoplayer@yuunagi:/usr/bin$ ls -la /dev/dri/card0
crw-rw----+ 1 root video 226, 0 1月 13 02:09 /dev/dri/card0