|
| Hjemmelavet GUI? Fra : Stefan Kristensen |
Dato : 24-06-10 17:29 |
|
Sådan lidt for sjov vil jeg prøve at styre en lille modeljernbane via en
gammel bærbar. Det ser jeg ikke de store udfordringer i, men hvad nu
hvis jeg gerne vil lave en grafisk sporplan, lidt a lá det her:
http://jems.dk/test/switchboard/sbStationSVG.php
Den bærbare computer kører FreeBSD helt uden GUI, så Java Swing og andre
'foræringer' duer ikke.
Kan I hjælpe mig med at komme i gang med at lave en simpel GUI helt fra
scratch?
Mvh
Stefan
| |
Arne Vajhøj (25-06-2010)
| Kommentar Fra : Arne Vajhøj |
Dato : 25-06-10 00:29 |
|
On 24-06-2010 12:28, Stefan Kristensen wrote:
> Sådan lidt for sjov vil jeg prøve at styre en lille modeljernbane via en
> gammel bærbar. Det ser jeg ikke de store udfordringer i, men hvad nu
> hvis jeg gerne vil lave en grafisk sporplan, lidt a lá det her:
> http://jems.dk/test/switchboard/sbStationSVG.php
> Den bærbare computer kører FreeBSD helt uden GUI, så Java Swing og andre
> 'foræringer' duer ikke.
>
> Kan I hjælpe mig med at komme i gang med at lave en simpel GUI helt fra
> scratch?
Du vil lave noget som går direkte på grafik kortet fordi der
ikke er installeret X på computeren.
Umiddelbart lyder det som en meget krævende opgave. Var det ikke
bedre at skovle X på computeren evt. med noget letvægts window
manager?
Arne
| |
Stefan Kristensen (25-06-2010)
| Kommentar Fra : Stefan Kristensen |
Dato : 25-06-10 19:25 |
|
>> Kan I hjælpe mig med at komme i gang med at lave en simpel GUI helt fra
>> scratch?
>
> Du vil lave noget som går direkte på grafik kortet fordi der
> ikke er installeret X på computeren.
Ja. For... Alt for mange år siden... Lavede jeg noget, der kunne skrive
noget tekst direkte på kortet. Er det blevet mere vanskeligt med
nutidens grafikkort?
Det er jo ikke den store 3D-engine, jeg skal lave, bare nogle simple
polygoner i begrænset antal.
> Umiddelbart lyder det som en meget krævende opgave. Var det ikke
> bedre at skovle X på computeren evt. med noget letvægts window
> manager?
Jo, det er da absolut en acceptabel Plan B, men det kunne jo være lidt
nørdet at lave det andet selv
Er det tæt på sort magi hvis jeg bare vil lave nogle få streger på
skærmen? X er givet nemmere, men måske også lidt overkill...
Mvh
Stefan
| |
Kent Friis (25-06-2010)
| Kommentar Fra : Kent Friis |
Dato : 25-06-10 20:40 |
|
Den Fri, 25 Jun 2010 20:25:09 +0200 skrev Stefan Kristensen:
>>> Kan I hjælpe mig med at komme i gang med at lave en simpel GUI helt fra
>>> scratch?
>>
>> Du vil lave noget som går direkte på grafik kortet fordi der
>> ikke er installeret X på computeren.
>
> Ja. For... Alt for mange år siden... Lavede jeg noget, der kunne skrive
> noget tekst direkte på kortet. Er det blevet mere vanskeligt med
> nutidens grafikkort?
Sålænge du holder dig til VGA-mode, er grafikkortet det samme som
dengang.
Så skal du bare have fundet en god gammel DOS, som rent faktisk giver
lov til at skrive direkte til hardwaren.
Den går ikke i et moderne OS.
Hvis du er heldig, kan du finde svgalib til FreeBSD, men jeg kan ikke
forestille mig at det er blevet opdateret de sidste 10 år, og selv
den gang virkede det ikke optimalt. Det var fx særdeles nemt at låse
maskinen så man ikke kunne gøre andet end at trykke på powerknappen,
medmindre man havde mulighed for at logge ind remote.
Mvh
Kent
--
"The Brothers are History"
| |
Stefan Kristensen (25-06-2010)
| Kommentar Fra : Stefan Kristensen |
Dato : 25-06-10 21:36 |
|
>>>> Kan I hjælpe mig med at komme i gang med at lave en simpel GUI helt fra
>>>> scratch?
> Sålænge du holder dig til VGA-mode, er grafikkortet det samme som
> dengang.
>
> Hvis du er heldig, kan du finde svgalib til FreeBSD, men jeg kan ikke
> forestille mig at det er blevet opdateret de sidste 10 år, og selv
> den gang virkede det ikke optimalt. Det var fx særdeles nemt at låse
> maskinen så man ikke kunne gøre andet end at trykke på powerknappen,
> medmindre man havde mulighed for at logge ind remote.
svgalib findes i ports, så det ser jeg lidt nærmere på. Det kunne meget
vel være det, jeg rodede med den gang.
Tak for hintet
Mvh
Stefan
| |
Sune Vuorela (25-06-2010)
| Kommentar Fra : Sune Vuorela |
Dato : 25-06-10 20:53 |
|
On 2010-06-25, Stefan Kristensen <jems@mad.dk> wrote:
>> Umiddelbart lyder det som en meget krævende opgave. Var det ikke
>> bedre at skovle X på computeren evt. med noget letvægts window
>> manager?
>
> Jo, det er da absolut en acceptabel Plan B, men det kunne jo være lidt
> nørdet at lave det andet selv
Nu ved jeg ikke hvordan framebuffer virker på det der freebsd, men havde
det været en linux, så var der både Qt og gtk der kan skrive direkte til
framebuffer.
Det skulle vist nok være Qt der er bedst vedligeholdt af dem. (Qt for
embedded linux)
Men jeg har ingen ide om hvor teknologisk forskelligt det er.
/Sune
| |
Kent Friis (25-06-2010)
| Kommentar Fra : Kent Friis |
Dato : 25-06-10 20:58 |
|
Den Fri, 25 Jun 2010 19:52:40 +0000 (UTC) skrev Sune Vuorela:
> On 2010-06-25, Stefan Kristensen <jems@mad.dk> wrote:
>>> Umiddelbart lyder det som en meget krævende opgave. Var det ikke
>>> bedre at skovle X på computeren evt. med noget letvægts window
>>> manager?
>>
>> Jo, det er da absolut en acceptabel Plan B, men det kunne jo være lidt
>> nørdet at lave det andet selv
>
> Nu ved jeg ikke hvordan framebuffer virker på det der freebsd, men havde
> det været en linux, så var der både Qt og gtk der kan skrive direkte til
> framebuffer.
Manden synes X er for tungt, og så foreslår du de to tungeste toolkits
der nogensinde er lavet (CDE muligvis undtaget).
Framebuffer er måske en mulighed, men den har jeg aldrig set noget
dokumnetation på hvordan man får adgang til.
Mvh
Kent
--
"The Brothers are History"
| |
Sune Vuorela (25-06-2010)
| Kommentar Fra : Sune Vuorela |
Dato : 25-06-10 21:04 |
|
On 2010-06-25, Kent Friis <nospam@nospam.invalid> wrote:
>> Nu ved jeg ikke hvordan framebuffer virker på det der freebsd, men havde
>> det været en linux, så var der både Qt og gtk der kan skrive direkte til
>> framebuffer.
>
> Manden synes X er for tungt, og så foreslår du de to tungeste toolkits
> der nogensinde er lavet (CDE muligvis undtaget).
Qt/framebuffer er lettere end X/any-toolkit, da der ikke er overhead fra
X.
> Framebuffer er måske en mulighed, men den har jeg aldrig set noget
> dokumnetation på hvordan man får adgang til.
Da jeg lavede qt-kode til embedded arm, så var det bare at køre det som
en bruger med adgang til de rigtige device-nodes (da det kun var
testsoftware var det root-brugeren vi brugte)
/Sune
| |
Kent Friis (25-06-2010)
| Kommentar Fra : Kent Friis |
Dato : 25-06-10 21:29 |
|
Den Fri, 25 Jun 2010 20:04:04 +0000 (UTC) skrev Sune Vuorela:
> On 2010-06-25, Kent Friis <nospam@nospam.invalid> wrote:
>>> Nu ved jeg ikke hvordan framebuffer virker på det der freebsd, men havde
>>> det været en linux, så var der både Qt og gtk der kan skrive direkte til
>>> framebuffer.
>>
>> Manden synes X er for tungt, og så foreslår du de to tungeste toolkits
>> der nogensinde er lavet (CDE muligvis undtaget).
>
> Qt/framebuffer er lettere end X/any-toolkit, da der ikke er overhead fra
> X.
Der er ikke behov for et toolkit, der blev spurgt efter at tegne
polygoner. Det kan sagtens klares med ren Xlib.
Hvis han kan klare sig med at kunne tegne pixels, og selv skrive
polygon-koden, er framebuffer også en mulighed, hvis det findes til
FreeBSD.
>> Framebuffer er måske en mulighed, men den har jeg aldrig set noget
>> dokumnetation på hvordan man får adgang til.
>
> Da jeg lavede qt-kode til embedded arm, så var det bare at køre det som
> en bruger med adgang til de rigtige device-nodes (da det kun var
> testsoftware var det root-brugeren vi brugte)
Igen, der er ikke behov for et toolkit.
Mvh
Kent
--
"The Brothers are History"
| |
Stefan Kristensen (25-06-2010)
| Kommentar Fra : Stefan Kristensen |
Dato : 25-06-10 21:38 |
|
Jeg prøver at se på framebuffer - Tak for input.
Mvh
Stefan
| |
Stephan Henningsen (27-06-2010)
| Kommentar Fra : Stephan Henningsen |
Dato : 27-06-10 14:08 |
|
Hej,
Umiddelbart ville jeg kigge på en SVGA-version af SDL:
http://www.libsdl.org/
Jeg har kun brugt det meget lidt for mange år siden under X, men jeg vil
tro API'et er det samme, så snart ud har fået et flade at tegne på. Det
er relativt nemt at lave nogle tiles (f.eks. dine hexagoner) og blitte
dem på en flade, så det burde kunne løse din opgave. Men jeg ved som
sagt ingenting ;)
--
Stephan
| |
Stefan Kristensen (27-06-2010)
| Kommentar Fra : Stefan Kristensen |
Dato : 27-06-10 21:01 |
|
> Umiddelbart ville jeg kigge på en SVGA-version af SDL:
> http://www.libsdl.org/
Det ser meget lovende ud, men jeg kan ikke få det til at køre.
Jeg ved, du ingenting ved, men akn du hjælpe mig med at blive lidt
klogere?
Jeg har installeret SDL (fra ports), og kompileret eksemplet fra
http://sol.gfxile.net/gp/ch02.html uden fejl.
Men når jeg kører programmet, går skærmen i sort, og jeg skal genstarte
maskinen. Jeg får ikke meddelelsen om "Unable to set 640x480...", så
noget virker - Tro jeg...
Nogle gode ideer, eller skal jeg til at debugge linie for linie?
Mvh
Stefan
| |
Kent Friis (27-06-2010)
| Kommentar Fra : Kent Friis |
Dato : 27-06-10 21:05 |
|
Den Sun, 27 Jun 2010 15:08:19 +0200 skrev Stephan Henningsen:
> Hej,
>
> Umiddelbart ville jeg kigge på en SVGA-version af SDL:
> http://www.libsdl.org/
Den kører oven på svgalib? Så er der samme problemer som svgalib.
Fordelen er så at den dag han finder ud af at han alligevel vil køre
X, behøver han ikke ændre (ret meget) i programmet.
Mvh
Kent
--
"The Brothers are History"
| |
Stefan Kristensen (27-06-2010)
| Kommentar Fra : Stefan Kristensen |
Dato : 27-06-10 21:18 |
| | |
Kent Friis (27-06-2010)
| Kommentar Fra : Kent Friis |
Dato : 27-06-10 21:28 |
|
Den Sun, 27 Jun 2010 22:17:48 +0200 skrev Stefan Kristensen:
>
>>> Umiddelbart ville jeg kigge på en SVGA-version af SDL:
>>> http://www.libsdl.org/
>>
>> Den kører oven på svgalib? Så er der samme problemer som svgalib.
>
> På http://www.svgalib.org/jay/beginners_guide/beginners_guide.html
> skriver de godt nok, at man kan lave rav i den, hvis man har skrevet
> dårlig kode, men det ser nu ret lovende ud for mit amatørprojekt
Det kræver ikke andet end at man får lavet en uendelig løkke så man
ikke poller tastaturet. Svgalib bruger (eller kan bruge? Det er mange
år siden jeg legede med det) nemlig en keyboard-mode hvor de sædvanlige
tastekombinationer (ctrl-c, alt-F2 osv) ikke genkendes. I stedet
håndteres disse af svgalib selv når man poller tastaturet.
Hvis man ikke har mulighed for at logge ind remote, er der kun
powerknappen tilbage.
Mvh
Kent
--
"The Brothers are History"
| |
|
|