Conversation
Edited 17 days ago

(Chci posílat bitmapy na obrazovku jen na svém počítači.)

https://coggle.it/diagram/WqZQRNMJtIsoh6qO/t/linux-graphics

---
Program. Je v program.txt . .

1
0
0

@tymoty ano. S tím se bojovalo před lety. Teď to distribuce nějak autodetekují a z větší časti to člověk hodí za hlavu. Ale pořád řešíš low level vrstvu, přijde mi. Ne všechny aplikace dnes sahají přímo na X11. Většinou používají nějaké více či méně historické toolkity nad tím...

Ano, možná Unix nebyl nejlepší sw ekosystém, na kterém vybudovat free software. Je to tak trochu problém každé kultury vznikající na smetišti, no... abundance konceptů, po kterých nebyla poptávka...

1
0
0
@xChaos @tymoty GPU je proste pekelne slozita vec. Poslat bitmapu na obrazovku neni tezke (cat /dev/urandom > /dev/fb0), moderni akcelerovana grafika jednoducha neni.

Nazvat Unix smetistem... vypovida vic o mluvcim nez o Unixu. Na grafiku by se mozna nasly uspornejsi systemy. Ale doporucuju nastudovat VMS, CP/M a podobne z doby Unixu...
2
1
6

@pavel používám Unixy 30 let, setkal jsem se min. s jedním komerčním unixem dřív, než Linux... GNU není Unix, ale podstatou GNU a podobných open source licencí je, že se hromadí abandonware. Třeba Ghostscript se ve své době hodil, ale byl to opuštěný komerční projekt.

Smetiště jsem asi přehnal, nějaký projev frustrace, ale rozhodně je to směs archeologických vykopávek a muzea. To, že je k dispozici hodně nástrojů je fajn, ale neexistuje povědomí, které jsou udržované a podporované do budoucna. U grafiky, která má přímou vazbu na hardware, je tohle dvojnásob problém ...

Faktem je, že grafické projekty jsem v dospělosti vzdal a vše co jsem poslední léta vyvíjel, byl nějaký backend. Trochu mi to mrzí, ale frustrovalo mi, jak vše co jsem vyvinul v mládí pro 8bity i pro PC se zahodilo. Multiplatformnost a přenositelnost neexistovala. Vyvíjet něco, o čem nebudu mít jistotu, že to poběží i za 100 let se mi nechce...

@tymoty

1
0
0

@pavel @xChaos , děkuju!

(Berte to, prosím, jako rehabilitační jógu
pro nikdy příliš nepoužívané a dlouho vůbec nepoužívaně
C programátorské svaly. Žádná tak zvaná umělá inteligence.)

Chci program pro
jeden určitý letitý a od počátku nekvalitní noťas.
Podařilo se mi ho vzkřísit pomocí Linux Mint XFCE.
Uživatelem budu já.

Nepotřebuju / nechci, aby program běžel souběžně s jinými
programy v jiných oknech nebo s nimi komunikoval například
pomocí "schránky".

Program má běžet na celé obrazovce.
Jediné, co se bude zobrazovat budou (statické dvoubarevné)
bitmapy 24x54
vždy na jedné z pevných 80x20 pozic
a vyplní tak celou obrazovku 1920x1080 pixlů.

---
Program. Je v program.txt .

1
0
0
@tymoty @xChaos V tom pripade doporucim neco jako pygame.
1
0
2
@xChaos @tymoty Ne. Kdyz uz neco, tak smes archeologickych vykopavek, muzea, a sakra pokrokove technologie. Ma to sve mouchy, ale v tuto chvili nic lepsiho neni (pro pocitace s tak 100MB RAM+).

A tedy.. stezovat si v jednom postu na "muzeum" a pak pozadovat, aby kod bezel i za 100 let, je minimalne zvlastni.

Doporucim html+javascript. Ten by mel vydrzet dlouho.
0
0
1

@pavel , děkuju!

(Python nevylučuju, ale radši bych se mu vyhnul.)

Nešlo by to v tom C?

Našel jsem nějaký takovýhle příklad:

<xf86drm.h>
<xf86drmMode.h>

int main() {
drmModeRes *resources;
int fd = open("/dev/dri/card0", O_RDWR);
resources = drmModeGetResources(fd);
}

---
Program. Je v program.txt .

1
0
1
@tymoty Slo by to i v C. Jen teda ne takhle :-). Nejlepsi asi libsdl, zacit od nejakeho prikladu z dokumentace, nebo LLM neco vygeneruje...:

// gcc main.c -o main -lSDL2
#include <SDL2/SDL.h>
#include <math.h>
#include <stdio.h>
#include <stdbool.h>

int main(int argc, char** argv) {
(void)argc; (void)argv;

if (SDL_Init(SDL_INIT_VIDEO) != 0) {
printf("SDL_Init failed: %s\n", SDL_GetError());
return 1;
}
2
0
3

@pavel @tymoty Tak mě napadá, neexistuje na to nějaký modul do jádra? Když už kernel umí zobrazit tučňáka, tak by mohl umět zobrazit jakýkoli obrázek

1
0
0

@pavel @tymoty SDL jsem doporučoval taky

Faktem je, že PC už minimálně 20 let nejsou ani trochu jednoduchá platforma.

0
0
1
@mkyral @tymoty To je slozite :-). Kernel samozrejme ma framebuffer modul, a jak jsem rikal, cat /dev/urandom > /dev/fb0, ale a) je to slozite a b) tak se to nedela. Zminoval jsem, ze je to slozite? :-)
1
0
2

@pavel @tymoty Asi má nějaký důvod, že tyhle aplikace (třeba informační systémy v autobusech) jsou dělány jako html stránka, která je zobrazena v celoobrazovkovém webovém prohlížeči 😎

1
0
1
@mkyral @tymoty Tak uprimne tohle bych uplne nedoporucoval (prohlizec je sakra slozita vec a zere to gigabyte), ale urcity smysl to dava...
1
0
0

@pavel @tymoty Prohlížeče jsou strašně složité, protože toho musí hodně umět. A v těch autobusech hlavně využívají animace. Proto prohlížeč a javascript.

Jinak stačí nějaký jednoduchý parser markdownu a imagemagic pro skládání obrázku.

Tím se ale dostáváme zpět o otázce, čím co nejjednodušeji zobrazit obrázek 😂

Když se to ale vezme kolem a kolem, on ani vlastně není potřeba počítač. Stačí nějaký displej (LCD, e-ink) a k tomu arduino či esp32.

Dá se tam používat C, ale i micropython či lua. A s ESPhome ani není potřeba programování.

Je to malé, je to skladné a moc to nežere.

1
0
1
@mkyral @tymoty Jako jo, esp32 jsou fajn, a uz vyrabeji versi s telefonem, tak mam jedno objednane :-). https://lilygo.cc/products/t-deck-max?variant=52542961909941
0
0
1