web-dev-qa-db-ja.com

lxc nvidiaエラー:xf86EnableIOPorts:I / OのIOPLの設定に失敗しました(操作は許可されていません)

Lxcコンテナ(ホスト16.04、lxc 14.04)がnvidiaを共有しようとする過程で、コンテナでXを起動するとこのエラーが発生します。

startx-vt8

次のエラーが表示されます。

xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)

また、/ var/log/Xorg.0.logに次の警告が表示されます。

(WW) NVIDIA(0): Unable to get display device for DPI computation.

任意の助けをいただければ幸いです。これまでのところ、16.04ホストではlxcおよびnvidiaグラフィックを使用できませんでした。 14.04コンテナでは、16.04コンテナでグラフィックを開始できません。キーボード/マウスが動作しません。

5
user63726

私は同じ問題を抱えていたので、ここに解決策があります。キーボード/マウスがubuntu 16.04 LXCコンテナ内で機能しない理由は、xserver-xorg-input-kbdパッケージが削除されたためです。

...
Driver "kbd"
...
Driver "mouse"
...

コンテナのxorg設定で-ubuntu 16.04では動作しません。

代わりに、evdevでxorg入力を設定する必要があります。構成ファイル内のevent*エントリの正確な数(例:/usr/share/X11/xorg.conf.d/10-lxc-input.conf)は、コンテナの/dev/input/の内容に依存するため、スクリプトを使用して生成できます。

#!/bin/bash
cat >/usr/share/X11/xorg.conf.d/10-lxc-input.conf << _EOF_
Section "ServerFlags"
     Option "AutoAddDevices" "False"
EndSection
_EOF_

cd /dev/input
for input in event*
do
cat >> /usr/share/X11/xorg.conf.d/10-lxc-input.conf <<_EOF_
Section "InputDevice"
    Identifier "$input"
    Option "Device" "/dev/input/$input"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
_EOF_
done

結果は次のようになります:cat /usr/share/X11/xorg.conf.d/10-lxc-input.conf

Section "ServerFlags"
     Option "AutoAddDevices" "False"
EndSection
Section "InputDevice"
    Identifier "event0"
    Option "Device" "/dev/input/event0"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event1"
    Option "Device" "/dev/input/event1"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event10"
    Option "Device" "/dev/input/event10"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event11"
    Option "Device" "/dev/input/event11"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event12"
    Option "Device" "/dev/input/event12"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event13"
    Option "Device" "/dev/input/event13"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event14"
    Option "Device" "/dev/input/event14"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event2"
    Option "Device" "/dev/input/event2"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event3"
    Option "Device" "/dev/input/event3"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event4"
    Option "Device" "/dev/input/event4"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event5"
    Option "Device" "/dev/input/event5"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event6"
    Option "Device" "/dev/input/event6"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event7"
    Option "Device" "/dev/input/event7"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event8"
    Option "Device" "/dev/input/event8"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
Section "InputDevice"
    Identifier "event9"
    Option "Device" "/dev/input/event9"
    Option "AutoServerLayout" "true"
    Driver "evdev"
EndSection
1
Mykola Dimura