web-dev-qa-db-fra.com

Ubuntu 14.04 avec moniteur non reconnu (ou sans moniteur) - problème de démarrage

J'ai Ubuntu 14.04 installé sur mon ordinateur. J'ai besoin de le démarrer même si aucun moniteur n'est branché.

En gros, je dois le faire car au démarrage , mon moniteur n'est pas reconnu mais branché. C'est pourquoi je dois continuer le démarrage même si X ne voit pas un moniteur branché.

S'il n'y a pas de moniteur, mon ordinateur ne démarre pas du tout.

Je pensais que le problème venait de la Xserver mais c'est long avant cela (voir Edit3) mais j'ai quand même travaillé sur le X server de toute façon pour être sûr que le problème ne se soit pas posé ici.

J'ai essayé d'ajouter manuellement un fichier de configuration Xorg. Voici mon dossier

#/usr/share/X11/xorg.conf.d/10-monitor.conf

Section "Monitor"
    Identifier             "Monitor0"
    Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
EndSection

Section "Device"
    Identifier             "graphic_card0"
    Driver                 "intel"
    BusID                  "PCI:0:2:0"
    #Driver                 "vesa" #Choose the driver used for this monitor
EndSection

Section "Screen"
    Identifier             "Screen0"  #Collapse Monitor and Device section to Screen section
    Device                 "graphic_card0"
    Monitor                "Monitor0"
    DefaultDepth           24 #Choose the depth (16||24)
    SubSection             "Display"
        Depth              24
        Modes              "1920x1080_60.00" #Choose the resolution
    EndSubSection
EndSection

J'ai trouvé l'inspiration sur ArchLinux et nix StackExchange

mais ça ne marche toujours pas.

Remarque :

  1. PCI:0:2:0 provient du résultat de la commande:

    lspci | grep VGA

    00:02.0 VGA compatible controller: Intel Corporation ValleyView Gen7 (rev 0e)

J'ai aussi essayé via SSH

  1. Pour arrêter lightdm
  2. Pour créer le fichier xorg.conf.new avec le nom Xorg -configure en tant que racine.
  3. renommer xorg.conf.new comme xorg.conf

Voici le fichier généré:

Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/X11/misc"
    FontPath     "/usr/share/fonts/X11/cyrillic"
    FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
    FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
    FontPath     "/usr/share/fonts/X11/Type1"
    FontPath     "/usr/share/fonts/X11/100dpi"
    FontPath     "/usr/share/fonts/X11/75dpi"
    FontPath     "built-ins"
EndSection

Section "Module"
    Load  "glx"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option      "Protocol" "auto"
    Option      "Device" "/dev/input/mice"
    Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "NoAccel"               # [<bool>]
        #Option     "AccelMethod"           # <str>
        #Option     "Backlight"             # <str>
        #Option     "DRI"                   # <str>
        #Option     "Present"               # [<bool>]
        #Option     "ColorKey"              # <i>
        #Option     "VideoKey"              # <i>
        #Option     "Tiling"                # [<bool>]
        #Option     "LinearFramebuffer"     # [<bool>]
        #Option     "VSync"                 # [<bool>]
        #Option     "PageFlip"              # [<bool>]
        #Option     "SwapbuffersWait"       # [<bool>]
        #Option     "TripleBuffer"          # [<bool>]
        #Option     "XvPreferOverlay"       # [<bool>]
        #Option     "HotPlug"               # [<bool>]
        #Option     "ReprobeOutputs"        # [<bool>]
        #Option     "DeleteUnusedDP12Displays"  # [<bool>]
        #Option     "XvMC"                  # [<bool>]
        #Option     "ZaphodHeads"           # <str>
        #Option     "VirtualHeads"          # <i>
        #Option     "TearFree"              # [<bool>]
        #Option     "PerCrtcPixmaps"        # [<bool>]
        #Option     "FallbackDebug"         # [<bool>]
        #Option     "DebugFlushBatches"     # [<bool>]
        #Option     "DebugFlushCaches"      # [<bool>]
        #Option     "DebugWait"             # [<bool>]
        #Option     "BufferCache"           # [<bool>]
    Identifier  "Card0"
    Driver      "intel"
    BusID       "PCI:0:2:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Cela ne fonctionne toujours pas.

Il semble qu'aucun fichier ne soit lu ou pris en compte.

Est-ce que quelqu'un a une idée?

Merci d'avance.

Edit: Voici le contenu de /var/log/Xorg.0.log (trop grand pour être écrit ici): Xorg.log

Edit2: Si j'ajoute i915.modeset=1 sur le grub, c'est mieux car je peux voir le grub si je branche un moniteur après le démarrage. Mais la bouffe semble être montrée seulement quand je la branche, pas avant.

** Edit3: ** Le problème semble provenir d'une chose entre le matériel et le démarrage. Lorsque j'ai ajouté i915.modeset=1, mon ordinateur ne démarre pas sans un moniteur branché, mais attendez qu'il soit branché. Après cela, ça commence normalement. Avant rien ne s'est passé du tout. Cela signifie que i915.modeset=1 a un impact sur mon bootload. Je ne sais pas comment ni où mais cela me semble.

2
brcebn

J'ai finalement résolu ce problème. Le problème est venu de la grub. C'est ma façon trouvée.

#/etc/X11/xorg.conf

Section "Device"
  Identifier "card0"
  Driver "intel"
  VendorName  "INTEL Corporation"
  #Option "NoDDC"
EndSection

Section "Monitor"
  Identifier "fake_monitor"
  VendorName "Unknown"
  HorizSync 30-83
  VertRefresh 56-75
  Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
  Option "PreferredMode" "1920x1080_60.00" 
EndSection

Section "Screen"
  Identifier "screen_without_monitor"
  Device "card0"
  Monitor "fake_monitor"
  SubSection "Display"
    Modes "1920x1080_60.00"
  EndSubSection
EndSection

Et le fichier le plus important:

# /etc/default/grub

GRUB_DEFAULT=10
GRUB_RECORDFAIL_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.modeset=1"
GRUB_CMDLINE_LINUX=«
GRUB_GFXMODE=1920X1080

Après avoir édité /etc/default/grub n'oubliez pas de lancer Sudo update-grub. Cela générera le vrai fichier grub.cfg lu lors du démarrage.

Cela force mon ordinateur à démarrer même s’il n’ya pas de moniteur branché.

Remarque: Si aucun moniteur n'est branché, l'écran restera noir jusqu'à ce que je me connecte à l'ordinateur (avec TeamViewer par exemple), mais l'ordinateur démarrera quand même.

J'espère que cela aidera quelqu'un d'autre.

1
brcebn

Il y a plusieurs façons de faire ça. Soit vous obtenez un connecteur factice pour le port VGA afin de simuler un moniteur. (vous pouvez les faire aussi)

Une fiche factice VGA est un simple hack pour tromper le GPU et Windows en les laissant penser qu'un moniteur est branché sur une carte. Le principe du mannequin VGA est simple: simuler la charge des canaux RVB du moniteur avec 3 résistances. Toute résistance entre 50 et 150 ohms est acceptable.

Vous aurez besoin de l’adaptateur DVI-VGA fourni avec chaque carte GFX, les résistances et une tondeuse. Vous pouvez utiliser des ciseaux ou un coupe-ongles, le fil est doux.

Pliez une jambe de la résistance jusqu’à ce qu’elle soit parallèle à l’autre, puis coupez la jambe longue afin qu’elle ait la même longueur que la jambe pliée.

Le fil est juste la bonne jauge pour glisser dans le VGA plus en toute sécurité.

Pousse-le à la maison. Notez que vous souhaitez relier les trois broches supérieures à droite avec les broches situées juste en dessous de one-to-one. Tenez la fiche de sorte que la partie la plus large soit en haut.

Alterner les résistances afin que la jambe de l'un soit contre le corps de l'autre pour éviter de court-circuiter les cavaliers.

Guide avec images: http://www.overclock.net/t/384733/the-30-second-dummy-plug

Guide 2: http://www.geeks3d.com/20091230/vga-hack-how-to-make-a-vga-dummy-plug/

OU utilisez un pilote factice comme So

Sudo apt-get install xserver-xorg-video-dummy

Puis configurez le fichier xorg.conf:

Section "Device"
    Identifier  "Configured Video Device"
    Driver      "dummy"
EndSection

Section "Monitor"
    Identifier  "Configured Monitor"
    HorizSync 31.5-48.5
    VertRefresh 50-70
EndSection

Section "Screen"
    Identifier  "Default Screen"
    Monitor     "Configured Monitor"
    Device      "Configured Video Device"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1024x800"
    EndSubSection
EndSection

Puis redémarrez. Et j'espère que ça marche.

0
Matt