# [gelöst] Problem mit X und modul "vboxvideo"

## kraileth

Hallo zusammen!

Zum Jahreswechsel habe ich mich etwas in Gentoo eingelesen und nun vor einigen Tagen versuchsweise mein erstes System aufgesetzt. Im Grunde hat das - dank Handbuch! - auch auf Anhieb geklappt. Was nicht geklappt hat, war, einen funktionierenden X-Server zu bekommen. Habe bereits über die empfohlene Google-Suche im Forum geschaut, ob mein Problem irgendwo behandelt wird. Und siehe da: Es wird - aber auf Polnisch... Da ich dieser Sprache nicht mächtig bin, muß ich an dieser Stelle nochmal um Hilfe bitten.

Also zunächst: Ich habe mir nach Handbuch ein System gebaut, mit nur geringen Änderungen (z.B. zusätzliche /home-Partition). Anschließend habe ich den xorg-server emerged. Funktionierte prima. Dann hatte ich das kleine Problem, daß sich der HAL-daemon nicht wie im Handbuch beschrieben starten ließ. Ich stellte aber schnell fest, daß dieser offenbar auf dem System fehlte und nicht Teil von X ist. Ein einfaches 'emerge hal' tat dann auch schon sein Übriges und der Daemon war verfügbar. Ich fuhr wie im Handbuch fort.

Nun stieß ich auf das Problem, daß, was ich auch tat, Gentoo beim Start das nvidia-Modul nicht laden wollte. Es kam immer eine Fehlermeldung. Ich fand heraus, daß die Framebuffer-Option im Kernel das Modul stört und baute einen neuen ohne diese. Weiterhin kein Erfolg. Nach einigen Tagen Basteln und einigem Suchen im Netz stieß ich auf einen Beitrag, in dem jemand einen Intel-Treiber für seine Nvidia-Karte verwenden wollte und dem geraten wurde, sich einmal (Befehl ist mir entfallen) die Grafikkarte anzeigen zu lassen. Das machte ich einfach auch einmal - und stellte zu meinem Erstaunen fest, daß da gar keine Nvidia-Karte angegeben war. Auf die Idee, daß es ein Problem sein könnte, Gentoo in VirtualBox zu installieren, war ich nicht gekommen, fand nun aber schnell heraus, daß man dabei die make.conf etwas anpassen mußte. Ich setzte nochmals ein neues System auf und gab nun als Grafikkarte "vboxvideo" an. Und siehe da: Alles ließ sich kompilieren und Gentoo akzeptiert das Modul beim Start!

Ich wähnte mich auf der Erfolgsstrecke, aber Xorg -configure schlägt noch immer fehl. Die entsprechende Meldung lautet:

(EE) module ABI major version (7) doesn't match the server's version (8)

(EE) Failed to load module "vboxvideo" (module requirement mismatch, 0)

Ein Versuch, praktisch das ganze System neuzukompilieren, brachte auch keinen Erfolg. Ich nehme nun an, daß der Grafiktreiber technisch älter ist, als der X-Server. Aber ich habe keinen blassen Schimmer, wie man dabei nun weiterverfährt. Kann jemand für einen (blutigen) Neuling erklären, was genau das Problem ist - und wie man dem vielleicht Abhilfe schafft? (Daß ich mein Abi gemacht habe, liegt schon einige Jahre zurück, aber was ABI ist, habe ich keine Ahnung.  *g* )Last edited by kraileth on Sun Jan 16, 2011 9:53 pm; edited 1 time in total

----------

## Hollowman

Hi

Sind das die einzigen Ausgaben die Xorg -configure macht oder kommt da noch mehr?

Was hast du genau bei VIDEO_CARDS=" in der /etc/make.conf angegeben? vboxvideo oder virtualbox?

Guck mal ob das Paket xf86-video-virtualbox bei dir installiert ist. Wenn nicht, dann schreib mal

VIDEO_CARDS="virtualbox"

in die make.conf. Danach machst du ein

emerge -a --newuse --deep world

Dann sollte er das Paket und noch ein paar andere installieren.

Was sagt Xorg -configure dann?

Sebastian

----------

## Josef.95

Hallo, und willkommen bei Gentoo  :) 

 *kraileth wrote:*   

> [....]
> 
> Ich wähnte mich auf der Erfolgsstrecke, aber Xorg -configure schlägt noch immer fehl. Die entsprechende Meldung lautet:
> 
> (EE) module ABI major version (7) doesn't match the server's version (8)
> ...

 

ABI = Application Binary Interface

Für genaueres siehe zb auch http://en.wikipedia.org/wiki/Application_binary_interface

Sprich, Treiber (vboxvideo) und Application (xorg-server) passen nicht zusammen, dies kann idR durch ein rebuild des Treibers angepasst werden.

Es sollte also in diesem Fall ausreichen den xf86-video-virtualbox Treiber neu zu mergen -> 

```
# emerge --oneshot x11-drivers/xf86-video-virtualbox
```

Doch da vermutlich auch noch weitere x11-drivers aufgrund des ABI Wechsels inkompatibel sind ist es idR am besten alle installierten x11-drivers neu zu mergen, dies kannst du zb mit einem 

```
# emerge -av --oneshot $(qlist -I -C x11-drivers)
```

 erledigen.

(Beachte das für diesen Befehl qlist benötigt wird welches im Paket app-portage/portage-utils mit enthalten ist, also solltest du dies vorher installieren)

Viel Erfolg

----------

## kraileth

 *Hollowman wrote:*   

> Sind das die einzigen Ausgaben die Xorg -configure macht oder kommt da noch mehr?

 

Zumindest die fehlerrelevanten, denke ich. Aber hier die komplette:

```
X.Org X Server 1.9.2

Release Date: 2010-10-30

X Protocol Version 11, Revision 0

Build Operating System: Linux 2.6.36-gentoo-r5 i686 Gentoo

Current Operating System: Linux gentoo-vm 2.6.36-gentoo-r5 #1 SMP Tue Jan 11 19:53:56 CET 2011 i686

Kernel command line: auto BOOT_IMAGE=gentoo ro root=804

Build Date 11 January 2001 11:52:54PM

Current version of pixman: 0.20.0

            Before reporting problems, check http://wiki.x.org

            to make sure that you have the latest version.

Markers: (--) probed, (**) from config file, (==) default setting,

           (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(==) Log file: "/var/log/Xorg.0.log", Time: Wed Jan 12 22:52:36 2011

List of video drivers:

         vboxvideo

(EE) module ABI major version (7) doesn't match the server's version (8)

(EE) Failed to load module "vboxvideo" (module requirement mismatch, 0)

No devices to configure. Configuration failed.
```

 *Quote:*   

> Was hast du genau bei VIDEO_CARDS=" in der /etc/make.conf angegeben? vboxvideo oder virtualbox?

 

In der make.conf hatte ich für X hinzugefügt:

```
INPUT_DEVICES="virtualbox evdev"

VIDEO_CARDS="virtualbox"
```

 *Quote:*   

> Guck mal ob das Paket xf86-video-virtualbox bei dir installiert ist.

 

Zwischenfrage: Wie mache ich das am besten? Ich habe einfach mal emerge -pv xf86-video-virtualbox ausgeführt und dabei u.a. die Zeile erhalten:

```
Total: 1 package (1 reinstall), Size of download: 0kB
```

Da er mir reinstall auflistet, gehe ich mal davon aus, daß es installiert ist. Aber vielen Dank schon mal für die Unterstützung!

 *Josef.95 wrote:*   

> ABI = Application Binary Interface
> 
> Für genaueres siehe zb auch http://en.wikipedia.org/wiki/Application_binary_interface

 

Hm, danke. Ich denke, ich habe nun eine Ahnung, worum es sich handelt.

 *Quote:*   

> Sprich, Treiber (vboxvideo) und Application (xorg-server) passen nicht zusammen, dies kann idR durch ein rebuild des Treibers angepasst werden.

 

Ja, davon ging ich auch aus. Mal sehen, ob es sich in der Tat so einfach lösen läßt - wäre ja prima.

 *Quote:*   

> Es sollte also in diesem Fall ausreichen den xf86-video-virtualbox Treiber neu zu mergen -> 
> 
> ```
> # emerge --oneshot x11-drivers/xf86-video-virtualbox
> ```
> ...

 

Qlist war sogar vorhanden. Habe den Befehl mal ausgeführt; es wurden drei Elemente neukompiliert. Habe anschließend neugestartet und dann wieder Xorg -configure ausgeführt. Leider mit dem gleichen Ergebnis wie bisher (siehe Meldung oben).  :Sad: 

Daher hier vielleicht auch nochmal ausführlich. Wenn ich Deinen Befehl ausführe, erhalte ich folgendes:

```
* IMPORTANT: 2 news items need reading for repository 'gentoo'.

* Use eselect news to read news items.

These are the packages that would be merged, in order:
```

So weit sicherlich uninteressant. Oder ist es wirklich "wichtig", diese Nachrichten zu lesen? Aber weiter:

```
Calculating dependencies... done!

[ebuild   R   ] x11-drivers/xf86-input-evdev-2.5.0  0 kB

[ebuild   R   ] x11-drivers/xf86-input-virtualbox-3.1.8-r1  USE="-debug -hal" 0 kB

[ebuild   R   ] x11-drivers/xf86-video-virtualbox-3.1.8-r1 USE="dri -debug" 0kB

Total: 3 packages (3 reinstalls), Size of downloads: 0kB
```

Die beiden ersten Treiber sind in dunkelgrüner Schrift aufgeführt, der letzte (um den es ja eigentlich geht) ist hellgrün. Keine Ahnung, ob das etwas zu bedeuten hat. Bei USE ist beim Videotreiber außerdem das dri rot.

Wenn er fertig ist, kommt noch folgende Ausgabe nach dem eigentlichen Kompilieren der Treiber:

```
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

 * IMPORTANT: 3 config files in '/etc' need updating.

 * See the CONFIGURATION FILES section of the emerge

 * man page to learn how to update config files.
```

Sowie nochmals der Hinweis auf zwei ungelesene Neuigkeiten. Ich meine, daß es kürzlich erst zwei Konfigurationsdateien waren, nun sollen es drei sein. Ist das etwas, worum man sich gleich kümmern sollte, bzw. kann das sogar mit dem Problem zusammenhängen? Denn sonst hätte ich eigentlich gerne mein Testsystem zuerst mal auf den Stand gebracht, daß ich einen Desktop habe, bevor ich mich in die weiteren Tiefen von Gentoo versenke...

----------

## Polynomial-C

xf86-input-virtualbox-3.1.8-r1 und xf86-video-virtualbox-3.1.8-r1 sind leider hoffnungslos veraltet und ich warte schon seit ein paar Tagen darauf, daß endlich die Version 3.2.12 der Treiber auch auf x86 stabil wird (siehe bug 336465). Die Version 3.1.8 der Treiber hat noch keine Unterstützung für xorg-server-1.9, daher die Fehlermeldung. Die Version 3.2.12 der Treiber enthält diese Unterstützung.

Daher empfehle ich für die Zwischenzeit folgendes vorzunehmen, um die Treiber der Version 3.2.12 zu verwenden: 

```
echo "~x11-drivers/xf86-input-virtualbox-3.2.12" >> /etc/portage/package.keywords

echo "~x11-drivers/xf86-video-virtualbox-3.2.12" >> /etc/portage/package.keywords
```

Mit diesen beiden Einträgen bekommst du dann die neuere Version der Treiber installiert, obwohl die Treiber noch nicht als stabil markiert wurden.

----------

## manuels

 *Quote:*   

> Habe anschließend neugestartet und dann wieder Xorg -configure ausgeführt.

 wir sind hier nicht bei Windows   :Very Happy: 

Normalerweise musst du Linux nur neustarten, wenn du einen neuen Kernel kompilierst.

(obwohl es vielleicht für den Anfang einfacher ist, einfach neuzustarten, als den Befehl rauszusuchen um einen Service zu restarten)

Selbst wenn du ein neues Kernelmodul kompiliest, kannst du mit "modprobe -r modulname; modproobe modulname" die neukompilierte Version starten.

```
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

 * IMPORTANT: 3 config files in '/etc' need updating.

 * See the CONFIGURATION FILES section of the emerge

 * man page to learn how to update config files.
```

Kommt diese Ausgabe, solltest du etc-update starten um deine Konfigurationsdateien anzupassen.

----------

## kraileth

 *Polynomial-C wrote:*   

> xf86-input-virtualbox-3.1.8-r1 und xf86-video-virtualbox-3.1.8-r1 sind leider hoffnungslos veraltet und ich warte schon seit ein paar Tagen darauf, daß endlich die Version 3.2.12 der Treiber auch auf x86 stabil wird (siehe bug 336465). Die Version 3.1.8 der Treiber hat noch keine Unterstützung für xorg-server-1.9, daher die Fehlermeldung. Die Version 3.2.12 der Treiber enthält diese Unterstützung.

 

Das erklärt natürlich alles... Also ist nichts beim Erstellen der Treiber schiefgelaufen, sondern die Treiber sind tatsächlich technisch veraltet.

 *Quote:*   

> Daher empfehle ich für die Zwischenzeit folgendes vorzunehmen, um die Treiber der Version 3.2.12 zu verwenden: 
> 
> ```
> echo "~x11-drivers/xf86-input-virtualbox-3.2.12" >> /etc/portage/package.keywords
> 
> ...

 

Herzlichen Dank! Das hat wunderbar geklappt - nun funktioniert der Xorg -configure-Aufruf und auch X selbst läßt sich starten. Wunderbar!   :Very Happy: 

 *manuels wrote:*   

> wir sind hier nicht bei Windows  
> 
> Normalerweise musst du Linux nur neustarten, wenn du einen neuen Kernel kompilierst.

 

Stimmt auch wieder... Aber es ist nicht ganz einfach, tiefsitzende Angewohnheiten abzulegen... Das braucht Zeit!  :Wink: 

 *Quote:*   

> (obwohl es vielleicht für den Anfang einfacher ist, einfach neuzustarten, als den Befehl rauszusuchen um einen Service zu restarten)

 

Auch so ein Punkt. Mensch ist nun mal fau... äh, sagen wir: Träge. *g*

 *Quote:*   

> Selbst wenn du ein neues Kernelmodul kompiliest, kannst du mit "modprobe -r modulname; modproobe modulname" die neukompilierte Version starten.

 

Ja, werde versuchen, es mir anzugewöhnen. Unter FreeDos habe ich auch LH (loadhigh) benutzt, welches ebenfalls um eine unload-Funktion erweitert wurde. Ich bin mir auch bewußt, daß es vom Ablauf her keinen Unterschied macht; aber irgendwie ist da dieses (zugegeben unlogische) Gefühl, daß sich das Ganze mit einem Neustart "sauberer" anfühlt.

 *Quote:*   

> Kommt diese Ausgabe, solltest du etc-update starten um deine Konfigurationsdateien anzupassen.

 

Habe das einfach mal gemacht - und festgestellt, daß mir der nötige Hintergrund fehlt, um zu begreifen, was da zu tun ist. Werde zunächst (da nun der X-Server läuft) versuchen, dem System noch den guten Gnom zu spendieren (ich mag den kleinen Kerl irgendwie) und mir anschließend Portage und Gentoo überhaupt etwas tiefer anzusehen.

Danke hier noch mal an alle, die hier unterstützende Antworten gegeben haben!

----------

## manuels

 *kraileth wrote:*   

> 
> 
>  *Quote:*   Kommt diese Ausgabe, solltest du etc-update starten um deine Konfigurationsdateien anzupassen. 
> 
> Habe das einfach mal gemacht - und festgestellt, daß mir der nötige Hintergrund fehlt, um zu begreifen, was da zu tun ist. Werde zunächst (da nun der X-Server läuft) versuchen, dem System noch den guten Gnom zu spendieren (ich mag den kleinen Kerl irgendwie) und mir anschließend Portage und Gentoo überhaupt etwas tiefer anzusehen.

 Wenn Portage ein etc-update möchte, sollte man es (meiner Meinung nach) auch ausführen.

Es ist dazu da, um deine systemweiten Konfigurationsdateien (die bei Linux im Ordner /etc) liegen aktuell zu halten.

Dazu fragt dich etc-update jedesmal, ob du die Datei mit der neuen Version aktualisieren willst, oder die alte behalten willst.

Da du (wenn überhaupt) an sehr wenigen Dateien "rumgepfuscht" hast, kannst du die meisten Aktualisierungen eigentlich übernehmen.

Die Unterschiede zwischen der neuen und alten Konfigurationsdatei kannst du dir im (unter Unix sehr verbreiteten) Diff-Format anzeigen lassen.

----------

## kraileth

 *manuels wrote:*   

> Es ist dazu da, um deine systemweiten Konfigurationsdateien (die bei Linux im Ordner /etc) liegen aktuell zu halten.

 

Wie gesagt, werde mir das in Zukunft sicherlich mal genauer zu Gemüte führen.

Leider bin ich inzwischen auf das nächste Problem gestoßen, das ich bislang nicht lösen kann; ich habe mich entschieden, GNOME zu emergen. Einige Pakete hat er auch heruntergeladen und ohne Probleme kompiliert. Nun hängt es jedoch an einer libexif. Auch wenn ich sie einzeln emerge, klappt das Kompilieren noch, aber das Installieren schlägt fehl. Die Ausgabe ist die Folgende:

```
!!! Parse error in '/var/db/pkg/media-libs/libexif-0.6.19/CONTENTS'

!!!      line 1: Unrecognized CONTENTS entry

!!!      line 2: Unrecognized CONTENTS entry

[...]

!!!      line 188: Unrecognized CONTENTS entry

portage: COUNTER for media-libs/libexif-0.6.19 was corrupted; resetting to value of 0
```

Ich habe nun schon keine Ahnung, was ich gegen eine defekte CONTENTS-Datei tun könnte, nehme aber an, daß da bereits das Problem liegt. Falls nicht, kann ich freilich auch die weitere Ausgabe (worin u.b. Dateikonflikte angemahnt werden) posten.

----------

## Josef.95

 *kraileth wrote:*   

> Leider bin ich inzwischen auf das nächste Problem gestoßen, das ich bislang nicht lösen kann; ich habe mich entschieden, GNOME zu emergen. Einige Pakete hat er auch heruntergeladen und ohne Probleme kompiliert. Nun hängt es jedoch an einer libexif. Auch wenn ich sie einzeln emerge, klappt das Kompilieren noch, aber das Installieren schlägt fehl. Die Ausgabe ist die Folgende:
> 
> ```
> !!! Parse error in '/var/db/pkg/media-libs/libexif-0.6.19/CONTENTS'
> 
> ...

 

Oje..., bei Fehlern in /var/db/pkg/ inklusive angemahnter Dateikonflikte ist meist was grundsätzliches im argen...

Normalerweise sollte so was bei korrekt funktionierender Hardware auch nicht vorkommen. Könnte es sein das dein Dateisystem mal beschädigt wurde, zb durch Stromausfall oder ähnliches?

Ansonsten sollte ein manuelles bearbeiten der Portage DB eigentlich niemals notwendig sein, und ich würde auch davon abraten es zu tun, es sei denn man weiss genau was man tut.

Ich würde empfehlen das Filesystem mal mit einem fsck auf Fehler zu überprüfen und ggf zu reparieren. Wenn es damit nicht zu beheben ist, und nicht noch jemand anderes ein besseren Vorschlag hat würde ich fast zu einer Neuinstallation raten, zumal du ja auch noch am Anfang der Installation stehst.

Viel Erfolg

/edit: Rechtschreibung

----------

## kraileth

 *Josef.95 wrote:*   

> Oje..., bei Fehlern in /var/db/pkg/ inklusive angemahnter Dateikonflikte ist meist was grundsätzliches im argen...
> 
> Normalerweise sollte so was bei korrekt funktionierender Hardware auch nicht vorkommen. Könnte es sein das dein Dateisystem mal beschädigt wurde, zb durch Stromausfall oder ähnliches?

 

Virtualbox hing mal während des Emergens von X, so daß ich einen Reset vornehmen mußte. Ist ja quasi als hätte ich den Strom weggenommen. War aber schon einige Tage, bevor ich X zum Laufen brachte und mich an Gnome versuchte. Aber auch wenn es sich spät gezeigt hat, nehme ich mal an, daß es darauf zurückzuführen ist. Habe nicht genau geschaut, während welcher Aktion von Emerge genau er hängenblieb, aber vielleicht hat das wirklich das Problem ausgelöst.

 *Quote:*   

> Ansonsten sollte ein manuelles bearbeiten der Portage DB eigentlich niemals notwendig sein, und ich würde auch davon abraten es zu tun, es sei denn man weiss genau was man tut.

 

Letzteres ist bei mir ganz sicher nicht der Fall - und auch wenn ich schon langsam anfange Gentoo zu mögen, wird es sicher noch eine ganze Weile dauern, damit wirklich warm zu werden.

[quote]Ich würde empfehlen das Filesystem mal mit einem fsck auf Fehler zu überprüfen und ggf zu reparieren. Wenn es damit nicht zu beheben ist, und nicht noch jemand anderes ein besseren Vorschlag hat würde ich fast zu einer Neuinstallation raten, zumal du ja auch noch am Anfang der Installation stehst./quote]

Habe diesen Vorschlag mal berücksichtigt und noch mal neu ein System aufgesetzt. Diesmal lief alles ganz hervorragend; ich habe ein System, mit welchem ich sogar Gnome starten kann. Einzig und alleine habe ich jetzt wieder ein Fail beim Laden des Virtualbox-Video-Treibermoduls beim Systemstart, was mich ziemlich verwundert, da ich diesbezüglich nichts anders gemacht habe als das letzte mal, als es von sich aus ging... Nun ja. Aber meine ersten Installationsprobleme für ein grundlegendes Desktopsystem sind damit Geschichte und dieser Thread kann als "gelöst" verbucht werden. Als nächstes werde ich mir mal eine Anleitung raussuchen müssen, wie ich nun Gnome, das ja noch keinerlei Anwendungen eingetragen hat, richtig einrichte. Auch bei den Einstellungen habe ich etwa die Möglichkeit einer Sprachumstellung gar nicht entdecken können. Aber wie gesagt: So weit gefällt mir Gentoo schon ganz gut. Vielen Dank an alle Beteiligten für die allererste Starthilfe!

----------

