Come disabilitare il modulo video Intel i915?

4

Il mio computer è molto instabile durante l'esecuzione di Ubuntu 14.04.2 o superiore (qualcosa di più recente del kernel 3.13) con solo un visualizzatore VNC in una sorta di modalità kiosk, si blocca di frequente dover eseguire un hard reset molte volte al giorno. Come mostrato in questo bug correlato sembra che ci sia un problema con il modulo del kernel i915 di Intel sui sistemi Bay Trail e non c'è soluzione alternativa, nemmeno sui kernel più recenti.

Non ho bisogno di alcuna accelerazione 3D o hardware, quindi come posso disattivare i driver audio e video Intel i915 e utilizzare uno o più generici di VESA / framebuffer? È possibile farlo? Voglio solo essere sicuro che i moduli non siano caricati e continuare a eseguire semplici app X11.

Ho provato ad aggiungerlo a un file in /etc/modprobe.d/ e ad aggiornare initramfs:

blacklist i915
blacklist snd_hda_intel

Ma /var/log/Xorg.0.log mostra ancora che sta caricandoli:

[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
    
posta fmaste 10.11.2015 - 20:45

1 risposta

1

Ho faticato per giorni a fare un tale setup. Quando ho rinunciato, la mia macchina si avvia su X solo con una sola schermata (ne ho 2 collegate). Funziona davvero in modalità 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: [email protected]: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==""

Non sono ancora sicuro di tutte le cose necessarie per farlo, ma qui ricordo:

  1. Trova il file del driver i915 ed eliminalo

    sudo updatedb
    locate i915.ko
    sudo mv /.../i915.ko ~/i915.ko.backup
    
  2. Aggiorna RAMDisk

    sudo update-initramfs
    
  3. Reboot

Note:

  • Installa xdm se non è già installato e hai bisogno di un display manager. lightdm potrebbe non riuscire all'avvio.
  • Rimuovi qualsiasi vecchio comando xrandr da .xprofile e .xsessionrc se ne hai impostato uno. Perché fallirà quando vedrai il% di co_de% sopra esposto e bloccherai l'avvio della sessione.
risposta data user.dz 22.06.2016 - 07:29

Leggi altre domande sui tag