Ermittlung der am System angeschlossenen Bildschirme

Post Reply
Message
Author
Marco Gerber
Posts: 38
Joined: 26. Aug 2006 13:07
Location: Zürich

Ermittlung der am System angeschlossenen Bildschirme

#1 Post by Marco Gerber »

Guten Tag

Ich arbeite an einem Projekt, um anhand der aktuell angeschlossenen Hardware entsprechend das System konfigurieren zu koennen (im speziellen fuer Laptop Systeme). Die Entscheidung, welche Konfiguration geladen wird, sollte moeglichst automatisch waehrend des Bootprozesses erfolgen. Dazu habe ich den Kernelcode entsprechend erweitert (init/main.c), um vor der Ausfuehrung von init diese Entscheide zu faellen und sie global in einem proc entry zur Verfuegung zu stellen (tabellarisch klassensortiert).

Ein fuer die Auswahl der entsprechenden Konfiguration dienliches Merkmal ist die Ermittlung der angeschlossenen Bildschirme.
Hier stehe ich vor dem Problem, dass ich mich im Bereich Graphikadapter zu wenig auskenne, um den optimalen Weg zu finden.

Bisheriges Vorgehen:
Meine Bemuehungen zur Loesung dieses Problemes belaufen sich auf das Studium des i810 Graphiktreibers sowie der VGA Implementierung und das studieren der internen Implementierung entsprechender sys Eintraege. Ebenfalls fuetterte ich bereits Google mit Kombinationen von "determine current graphic adapter" und durchsuchte die Google Groups nach entsprechenden Eintraegen.
Eine Anmerkung noch: Die Ermittlung der aktuellen Netzwerkadapter waere eine Alternative, welche jedoch fehl schlaegt, da das link bit erst bei der vollstaendigen Initialisierung gesetzt ist (und diese Arbeit moechte ich den Userspace Tools ueberlassen).


Was ich benoetige:
- Informationen, um die Suche in die richtige Richtung zu leiten.
- Erfahrungen anderer User mit moeglichen anderen Vorgehensweisen.
- Ideen, dieses Problem effizienter / sinnvoller zu loesen

Danke fuer die Bemuehungen.

Marco

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#2 Post by Janka »

Wozu genau soll dies dienen -- Autoconfiguration des Framebuffers oder einfach nur die Feststellung, welcher Rechner welcher ist?

Um herauszufinden, welcher Bildschirm angeschlossen ist, eignet sich DDC. Darauf kann man IIRC über den i2c der Grafikkarte zugreifen.

Für die Feststellung, um welchen Rechner es sich handelt, könnte man z.B. die MAC-Adresse der Ethernetkarte auslesen. Das geht auch, wenn diese keinen Link hat.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Marco Gerber
Posts: 38
Joined: 26. Aug 2006 13:07
Location: Zürich

#3 Post by Marco Gerber »

hallo Janka

Das ganze erfolgt lokal.

Um eine optimale Konfiguration auswaehlen zu koennen, moechte ich waehrend dem Booten feststellen, in was fuer einer Umgebung sich der Rechner befindet.
Beispielsweise brauche ich im Zug keine Netzwerkunterstuetzung und kann die Speicherverwaltung anders auslegen. Beispielsweise wird es sinnvoll, optimierte Werte fuer die Handhabung von 'dirty pages' zu benutzen (laptop_mode kenne ich).

Die Idee mit dem i2c werde ich aufnehmen und weiter verfolgen.

Danke dir.

Marco

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#4 Post by Janka »

Was hindert dich daran, dies als Bootparameter mitzugeben? Der Anwender wird ja wohl am ehesten Wissen, welches Profil gerade am Besten passt.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Marco Gerber
Posts: 38
Joined: 26. Aug 2006 13:07
Location: Zürich

#5 Post by Marco Gerber »

Janka wrote:Was hindert dich daran, dies als Bootparameter mitzugeben? Der Anwender wird ja wohl am ehesten Wissen, welches Profil gerade am Besten passt.

Janka
Bis jetzt habe ich das so gemacht, aber es ist im besten Fall muehsam. Also muss eine automatisierte Loesung her.
Ich habe festgestellt, dass ich ueber DDC das Problem loesen kann. Herzlichen Dank fuer diesen Tip!

Marco

Post Reply