Intel i915 비디오 모듈을 비활성화하는 방법은 무엇입니까?

Intel i915 비디오 모듈을 비활성화하는 방법은 무엇입니까?

일종의 키오스크 모드에서 VNC 뷰어만 사용하여 Ubuntu 14.04.2 이상(커널 3.13보다 최신 버전)을 실행하는 동안 내 컴퓨터가 매우 불안정하여 하루에 여러 번 하드 리셋을 해야 하는 경우가 자주 발생합니다. 이 그림에서 볼 수 있듯이관련 버그이는 Bay Trail 시스템의 Intel i915 커널 모듈에 문제가 있는 것으로 보이며 최신 커널에서도 해결 방법이 없습니다.

3D나 하드웨어 가속이 필요하지 않은데 어떻게 인텔 i915 사운드 및 비디오 드라이버를 비활성화하고 VESA/프레임 버퍼 일반 드라이버 또는 더 간단한 것을 사용할 수 있습니까? 이것이 가능합니까? 나는 단지 모듈이 로드되지 않았는지 확인하고 여전히 간단한 X11 앱을 실행하고 싶습니다.

이것을 /etc/modprobe.d/ 파일의 파일에 추가하고 initramfs를 업데이트해 보았습니다.

blacklist i915
blacklist snd_hda_intel

그러나 /var/log/Xorg.0.log에는 여전히 로드 중이라는 메시지가 표시됩니다.

[323589.490] (II) LoadModule: "intel"
[323589.491] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
[323589.516] (II) Module intel: vendor="X.Org Foundation"
[323589.554] (II) intel(G0): Using Kernel Mode Setting driver: i915, version 1.6.0 20150522
[323589.554] (II) intel(G0): SNA compiled: xserver-xorg-video-intel 2:2.99.917+git20150808-0ubuntu4 (Robert Ancell <[email protected]>)
[323589.554] (II) intel(G0): SNA compiled for use with valgrind
[323589.555] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
[323589.556] (II) intel: Driver for Intel(R) HD Graphics: 2000-6000
[323589.556] (II) intel: Driver for Intel(R) Iris(TM) Graphics: 5100, 6100
[323589.556] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics: 5200, 6200, P6300

답변1

나는 그런 설정을하기 위해 며칠 동안 고심했습니다. 포기했을 때 내 컴퓨터는 하나의 화면에서만 X로 부팅됩니다(2개가 연결되어 있습니다). 실제로 VESA 모드에서 실행되고 있습니다.

$ sudo lshw -c display
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: 3rd Gen Core processor Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list
       configuration: latency=0
       resources: memory:f6400000-f67fffff memory:e0000000-efffffff ioport:f000(size=64)


$ xrandr --verbose
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1366 x 768, current 1366 x 768, maximum 1366 x 768
default connected 1366x768+0+0 (0x270) normal (normal) 0mm x 0mm
    Identifier: 0x26f
    Timestamp:  34274
    Subpixel:   unknown
    Clones:    
    CRTC:       0
    CRTCs:      0
    Transform:  1.000000 0.000000 0.000000
                0.000000 1.000000 0.000000
                0.000000 0.000000 1.000000
               filter: 
  1366x768 (0x270) 79.731MHz *current
        h: width  1366 start    0 end    0 total 1366 skew    0 clock  58.37KHz
        v: height  768 start    0 end    0 total  768           clock  76.00Hz

$ find /dev/ -iname "fb*"
/dev/fb0

$ udevadm info -a /dev/fb0

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/platform/vesa-framebuffer.0/graphics/fb0':
    KERNEL=="fb0"
    SUBSYSTEM=="graphics"
    DRIVER==""
    ATTR{bits_per_pixel}=="32"
    ATTR{blank}==""
    ATTR{console}==""
    ATTR{cursor}==""
    ATTR{mode}==""
    ATTR{modes}=="U:1366x768p-76"
    ATTR{name}=="VESA VGA"
    ATTR{pan}=="0,0"
    ATTR{rotate}=="0"
    ATTR{state}=="0"
    ATTR{stride}=="5504"
    ATTR{virtual_size}=="1366,768"

  looking at parent device '/devices/platform/vesa-framebuffer.0':
    KERNELS=="vesa-framebuffer.0"
    SUBSYSTEMS=="platform"
    DRIVERS=="vesa-framebuffer"
    ATTRS{driver_override}=="(null)"

  looking at parent device '/devices/platform':
    KERNELS=="platform"
    SUBSYSTEMS==""
    DRIVERS==""

그렇게 하는 데 필요한 모든 것이 아직 확실하지 않지만 여기서는 다음을 기억합니다.

  1. i915 드라이버 파일을 찾아 삭제하세요.

    sudo updatedb
    locate i915.ko
    sudo mv /.../i915.ko ~/i915.ko.backup
    
  2. RAMDisk 업데이트

    sudo update-initramfs
    
  3. 재부팅

노트:

  • xdm아직 설치되지 않았으며 디스플레이 관리자가 필요한 경우 설치하십시오 . lightdm실패하거나 시작되지 않을 수 있습니다.
  • xrandr에서 이전 명령을 설정한 경우 제거합니다. 위의 출력을 보면 실패 하고 세션 시작이 차단되기 때문입니다..xprofile.xsessionrcxrandr

관련 정보