Jump to content

Kas jauns Linux frontē?


osscar
 Share

Recommended Posts

AndrisBB

Blenders jau paši savu GUI toolkitu izmanto, bet nu tas daudz darba, lai tādu izveidotu.

 

Pa lielam jau tagad cross-platform tooļi izmanto HTML bāzētu UI, kas īstenībā man pat patīk labāk, jo diezgan labi atdala UI no pašās programmas.

Tagad kā reiz strādāju pie embedded iekārtas, kurai ir displejs un visu UI taisam uz HTML (precizāk cita komanda dara to), es pārsvarā strādāju pie pašas platformas un ir cilvēki, kas kautkur pa vidam. 

Lielākais pluss ka var vienkārši izveidot visādus debug UI, lai tikai testētu utt. Ja gribas funkcionālāku UI, tad pieslēdz planšeti (ar lielāku ekrānu) un izmanto daudz funkcionālāku versiju. 

Ja baigi vajag, tad mierīgi var pieslēgt klāt to pašu Qt vai jebkuru citu GUI freimworku.  

Labots - AndrisBB
Link to comment
Share on other sites

AndrisBB

Qt jau pa lielam vairs uz desktopu neorientējas un nekādu lielo peļņu no tā negūst. Plus ja baigi gribas, tad var jau arī tikt cauri ar bezmaksas licenzēm, ja pareizi atdala Qt daļū no pārējās sistēmas (ja runājam par maksas produktiem).

 

Galvenais lauciņš viņiem tagad ir embedded. Nu tur licenzes nav pārāk lētas, mans offiss laikam maksā ap 5k gadā (pēc pēdējā mītinga ar Qt, jaunā versija būs ap 8k gadā) par katru developeri, plus tad ir jāmaksā par katru instalāciju (katru devaisu ko uzražo), bet tur tā cena mainas atkarībā no kvantitātēm, jo vairāk devaisu pārdod, jo lētāk vienas vienības cena, bet tas vairāk attiecas uz pašiem klientiem, jo mēs tik rakstam softwāri priekš viņiem un īsti neinteresē cik viņi pārdod.

 

 

Labots - AndrisBB
Link to comment
Share on other sites

12 minutes ago, AndrisBB said:

izmanto HTML bāzētu

Precizesu HTML5+.

Jā, abstrahe dzelžus. Kā rezultāts neizmanto dzelžus.

Ok embeed sistēmās tas ok - tur neprasas skaitļošanas jaudas.

Bet redzi... Uzliku pingvīnu uz servaka, kurā ir videne par kādiem 8k EUR(Nvidia). Uz pingvīna neizdodas panākt lai tā karte tiek izmantota video renderēšana.

Uz Win servaka viss bumbās.

Link to comment
Share on other sites

AndrisBB
Pirms 2 minūtēm , rubb teica:

kurā ir videne par kādiem 8k EUR(Nvidia)

 

Pirms 3 minūtēm , rubb teica:

Ok embeed sistēmās tas ok - tur neprasas skaitļošanas jaudas.

 

Nu tas tā relatīvi, konkrētais produkts apstrādā video strīmu un izspiež maksimumu no IPU, GPU, CPU kas nu kurai operācijai optimālāks un nav nekāds vārgākais komplekts.

Link to comment
Share on other sites

8 minutes ago, AndrisBB said:

IPU, GPU, CPU

Ok. Interesē kas par izstrādes rīkiem!

Tiešām cross platform? Uz kā?

Link to comment
Share on other sites

AndrisBB

Nu šis tiešām nav tēmēts uz cross-platfom, jo iekarta ļoti specifiska, ar konkrētiem dzelžiem. Tas nav produkts ko piedāvā publikai.

 

Pirms 4 minūtēm , rubb teica:

Ok. Interesē kas par izstrādes rīkiem!

 

Ko tu tieši domā ar izstrādes rīkiem? Lai izveidotu strīma pipeline parasti tiek izmantots gstreamer, tad katrai operācijai tiek veidoti custom plugini, kas nu kurā gadījumā izmanto attiecīgo hardwāri un tās iespējas.

 

Tas cross-platform vairāk kontekstā par vispārīgu softwāri, kas izskatītos vienādi uz dažādiem OS. 

Labots - AndrisBB
Link to comment
Share on other sites

marrtins

Biju patīkami pārsteigts, kad veicot upgrade uz vienas custom stacijas kas velkas līdz kā nāve jau no 2000 sākuma 1) kādu labu laiku jau atpakaļ kompilējot kernel no 2.6 uz 3.kaut kas viss pārsvarā aizgāja tiptop ar nelieliem user-land updeitiem 2) kad vēl vēlāk kompilējot to veco-jauno 3.kaut-kas uz 5.5.kuat-kas ar vienkāršu `make oldconfig && make install && make install_modules` viss darbojās :tender:

Link to comment
Share on other sites

AndrisBB

Varianti tak daudz un dažādi, ja ņem pa piemēru kautkādu vienkāršu (vai sarežģītu) HTML un Qt interfeisu. 

 

Parstu UI raksta iekš HTML, tad būtībā sanāk divi procesi, pati programma un UI. UI iet browserī, mēs parasti izmantojam WPE (Webkit Port for Embedded). Komunicē kā nu kuram patīk, parasts REST API, vai kāds no RPC protokoliem, vai ja viss uz viena hosta tad kāds no IPC.

 

Qt bāzētam UI jau pēctam nav problēma pieslēgties izmantojot jebkuru no tiem 3.

Otrs pluss ka var ērti un vienkārši automizēt testētšanu, rakstot scriptus vai izmantojot kautkādu test freimworku.

 

Piemēram mums ir būtībā vairāki varianti vienai un tai pašai iekārtai, pa lielam tas pats hārdwāre, tik kaste lielāka ar lielu displeju (12'' un otram 6''), tad ir daudz mazāka form faktora ar ļoti mazu displeju, kur pa lielam redz tikai pašu galveno. Uz lielajiem displejiem iet pilns HTML dipleys, uz mazā tikai Qt, bet pati sistŗma tādi pati. Bet ja pieslēdzas pie mazā ar tableti, tad dabon pilnu HTML UI. Idejai vajadzētu būt skaidrai. 

 

Labots - AndrisBB
  • Patīk 1
Link to comment
Share on other sites

AndrisBB

Īstenībā jau konkrētajam produktam tā ķēdīte mazliet garāka.

Pati sistēma  ->  d-bus  ->  lighttpd ->  REST API -> HTML UI

                                                             ->  RPC           -> HTML UI

 

Ja baigi gribas tad Qt var pieslēgt gan pa taisno pie d-bus, gan pie lighttpd REST vai RPC. Viss atkarīgs no UI.

Link to comment
Share on other sites

AndrisBB
Pirms 17 minūtēm , ieleja teica:

paldies, parakšos

 

Pa lielam un īsumā vari iedomāties ka sanāk tas pats ka Electron, tik NodeJS vietā vari rakstīt ko gribi, manā gadījumā C/C++, un Chrome vietā WPE. Sarunājas savā starpā pa lielam izmantojot RPC.

 

Uz tām iekārtām kur WPE mazliet par lēnu un nav vajadzīgs tik kruts UI (maz displejs utt) uz pašas iekārtas, tur uzliek Qt bāzētu, kas sarunājas caur to pašu RPC. Ja gribas pilno UI, tad atver tabletē, kurai pieteik jaudas renderēt HTML UI.

https://webkit.org/wpe/

Labots - AndrisBB
Link to comment
Share on other sites

  • 1 month later...
AndrisBB

Nu ja blacklist/whilelist vēl nebūtu tik traki, tad master/slave būs grūtāk.

Bet nu nav jau grūti palais search/replace un pāris sekundēs aizvietot visus vajadzīgos vārdus.

 

andris@precision ~/Documents/Projects/gateway-imx6ul-sumo/build/tmp/work-shared/imx6ul-var-dart/kernel-source $ grep -roh blacklist . | wc -w 
852
andris@precision ~/Documents/Projects/gateway-imx6ul-sumo/build/tmp/work-shared/imx6ul-var-dart/kernel-source $ grep -roh whitelist . | wc -w
163
andris@precision ~/Documents/Projects/gateway-imx6ul-sumo/build/tmp/work-shared/imx6ul-var-dart/kernel-source $ grep -roh slave . | wc -w
18571
andris@precision ~/Documents/Projects/gateway-imx6ul-sumo/build/tmp/work-shared/imx6ul-var-dart/kernel-source $ grep -roh master . | wc -w
24408

 

Link to comment
Share on other sites

spameris

Interesanti kā tas vispār iet kopā ar POSIX , jo cik es saprotu linux nav īsti POSIX Compliant OS, bet nu gan jau vairāk vai mazāk turās pie standarta.

Link to comment
Share on other sites

marrtins
Pirms 1 minūtes , spameris teica:

Interesanti kā tas

kas-tas?

Link to comment
Share on other sites

marrtins
Pirms 2 minūtēm , spameris teica:

nospied refresh :)

Atbildi uz jautājumu.

Link to comment
Share on other sites

spameris
Pirms 1 minūtes , AndrisBB teica:

Kāds tam sakars ar POSIX? 

gan jau kautkādos API funkciju nosaukumos ir master, slave utt...

Link to comment
Share on other sites

marrtins

white space character pie reizes neaizmirstat pārdēvēt. Lai kāds potenciāli nesatrakojas, sēžot savā safe space.

Link to comment
Share on other sites

AndrisBB

To jau var ļoti vienkārši pārbaudīt. Protams katru draiveri jau nenotestēsi, domājums ka no turienes arī lielākā daļa no tiem 24408 master nāk.

Arī kompilējot jau komilējas tikai pāris % no visa koda. Nav iespējams vienā piegājienā nokompilēt visu kodu, jo tūkstošiem config opciju.

Labots - AndrisBB
Link to comment
Share on other sites

spameris
pirms 4 stundām , marrtins teica:

Spēks!

 POSIX cik  saprotu definē kādai būtu jāizskatās ar *UX saderīgai OS. Piemēram failu struktūra kas zem /dev/ ../bin/..., obligātas komandas, shell, Kernel API call , varbūt vēl kas. Neplānoju to specifiķāciju lasīt. Bet apgalvot, ka nevienā komandā nav parametrs master/slave  un ka tas nu nekādi neko nevar ietekmēt ir diezgan pārsteidzīgi. Manuprāt šinī gadījumā tev bravūras ir krietni par daudz.

Labots - spameris
Link to comment
Share on other sites

AndrisBB

Kāda vēl bravūra, saku ka nevaru iedomāties kur tanī visā ir slave/master. Ņemos ar kerneli diendienā.

 

Uz kerneli pa lielam attiecas tikai daļa no POSIX. Ar shell komandām kernelim sakars nekāds, tas viss ir userspeiss. Nu ok, daži shell tooļi kopē C bibliotēkas funkcijas. Piemēram mkdir, dara to pašu ko C standarta bibliotēkas mkdir funkcija. Bet atkal kautgan C standarta bibliotēka tiek pieminēta POSIX, viņai nav sakara ar kerneli, tā funkcija vienkārši nomaskē kerneļa syscallu (kas ir POSIX specifikācijā). No C var mierīgi to syscallu izsaulkt pa taisno, bez C bibliotēkas.

 

 

 

Edit.

 

Pameklēju iekš POSIX standarta pdf, neko ar kerneli specifisku nemaniju, kas piemin tavus uzskaitītos vārdus, pārsvarā tiek pieminēti sakarā jūzerspeisu vai vienkārši apraksti dokumentācijā kā tādā.

Labots - AndrisBB
Link to comment
Share on other sites

marrtins
pirms 5 stundām , spameris teica:

Neplānoju to specifiķāciju lasīt

Spēks - atkal! "Neplānoju", "gan jau"...

 

Citējot tevi pašu:

pirms 5 stundām , spameris teica:

Manuprāt šinī gadījumā tev bravūras ir krietni par daudz.

 

pirms 5 stundām , spameris teica:

Bet apgalvot, ka nevienā komandā nav parametrs master/slave

Neviens jau šajā tēmā to arī nav apgalvojis.

Link to comment
Share on other sites

spameris
Pirms 59 minūtēm , AndrisBB teica:

Kāda vēl bravūra, saku ka nevaru iedomāties kur tanī visā ir slave/master. Ņemos ar kerneli diendienā.

 

Uz kerneli pa lielam attiecas tikai daļa no POSIX. Ar shell komandām kernelim sakars nekāds, tas viss ir userspeiss. Nu ok, daži shell tooļi kopē C bibliotēkas funkcijas. Piemēram mkdir, dara to pašu ko C standarta bibliotēkas mkdir funkcija. Bet atkal kautgan C standarta bibliotēka tiek pieminēta POSIX, viņai nav sakara ar kerneli, tā funkcija vienkārši nomaskē kerneļa syscallu (kas ir POSIX specifikācijā). No C var mierīgi to syscallu izsaulkt pa taisno, bez C bibliotēkas.

 

 

 

Edit.

 

Pameklēju iekš POSIX standarta pdf, neko ar kerneli specifisku nemaniju, kas piemin tavus uzskaitītos vārdus, pārsvarā tiek pieminēti sakarā jūzerspeisu vai vienkārši apraksti dokumentācijā kā tādā.

Par to bravūru nebiju domājis tevi, bet citu foruma biedru  kura jocīgās kvotes negribu komentēt. 

 

Ar kerneļiem tādā līmenī ikdienā nedarbojos, bet jautājums, vai nesalūst pašos pamatos kautko pārsaucot ar visādām iespējamām  atkarībām man šķita tomēr diezgan loğisks. Na ja viss ok, tad ok.

Labots - spameris
Link to comment
Share on other sites

  • 3 weeks later...
AndrisBB
Pirms 17 minūtēm , ieleja teica:

un 27,000+ rindiņas tādā veidā rada neizpratni

 

Kā tad tu savādāk to kodu pievienosi kernelim?

Kernelī viss iet caur patchiem.

Link to comment
Share on other sites

AndrisBB

Neko es nepiesipos, vienkārši tu saki ka dīvaini tādā veidā izplatīt kodu. Bet kā tad savādāk tu viņu izplatīsi?

 

 

Uz viena no produktiem mēs atbalstam gandrīz visas populārās FS piekš USB puļķiem, izņemot NTFS, varbūt arī interesanti, jāpaskatās, varbūt noderīgi.

 

Labots - AndrisBB
Link to comment
Share on other sites

AndrisBB

Ah, tomēr nav interesanti. u-boot un Barebox tikuntā neatbalsta NTFS, tāka vismaz man lielas jēgas no NTFS esamības kernelī nav.

Link to comment
Share on other sites

  • 2 weeks later...
AndrisBB

Nekāda raķešzinātne jau tur nav.

 

Ir kaukāds serviss/applikācija uz iekārtas, kura viņu kontrolē. Kautkādas funkcijas vai signālus/eventus no uz/no servisu var izsaukt caur d-bus. Īsumā ir applikācija ar d-bus interfeisu. Pa lielam visu iekārtu var kontrolēt caur to.

Tad ir lighttpd ar backend applikāciju, kura pa tikai pārveido HTTP REST API uz d-bus funkcijām.

UI uz iekārtas jau nav nekas sarežģits. Iekartu ieslēdz, UI palaižas iekš WPE (Webkit Port for Embeded) un komunicē ar sistēmu caur REST API un signali/eventi uz UI nāk caur SSE. Var jau arī kautkādu Chromium vai ko citu kiosk modē izmantot, bet tad vajag windows manageri, X11 utt. Bet tas ir lēni, resursrijīgi un pilnīgs overkill, kad pēdējoreiz mēģināju Chromium, tad lapa knapi vilkās. WPE uz plika frame buffera ir pietiekoši un darbojas ātri.

 

Bluetooth no iekārtas visulaiku sūta BLE advertisement paketes ar iekārtas datiem (modeli, Wifi Access Pointa nosaukumu utt). Ja jūzers palaiz uz telefona applikāciju, tad tā dabon BLE paketi un automātiski piekonektējas pie WiFi. Mobilā applikācija pa lielam tāda pati kā tā lapa uz iekārtas, tik cik Androīda vai iOS applikācijā ietīta un "runā" ar iekārtu car to pašu API.

 

  

 

 

 

Link to comment
Share on other sites

AndrisBB

Šodien mēģināju upgreidot Linux Mint 18 uz 19 un tad uz 20. Viss aizgāja tādā tūtē, ka nācās beigās visu pārinstalēt. Bet nu instalācija jau arī man kādus 4 gadus veca, plus visādas bibliotēkas manuāli updeitotas uz citām versijām, Desktop Managers bij kautkāds frankenšteins utt. Iesprūdu pie tā ka X11 nepatika manas grafiskās kartes (Quadro M100M) konfigs, tapēc nevarēja palaisties. Beigās apnika čakarēties un pārinstalēju.

 

Bet Mint 20 izskatās OK. Vismaz esu pēc 4 gadiem ticis pie "svaigas" sistēmas. Patīk ka viņs visas, pat krāsainās ikonas status bārā padara melnbaltas, ja to darītu vēl ar applikāciju tabiem, tad vispār būtu labi.

 

 

 

Screenshot from 2020-08-26 22-52-19.png

Labots - AndrisBB
Link to comment
Share on other sites

Man arī nepatīk defaultais izskats, bet par laimi ir lielas iespējas pamainīt. Vienīgais, kas man nepatīk, ka vecais bija stabilāks.

Link to comment
Share on other sites

pirms 6 stundām , AndrisBB teica:

mēģināju upgreidot Linux Mint 18 uz 19 un tad uz 20. Viss aizgāja tādā tūtē, ka nācās beigās visu

nonest nakuj (attiecīgo VM) un beigt kārtējo muļķīgo ekskrementu linux pieradināšanā😁. (Sevis pieradināšanā pie linux)

 

p.s. Preventīvi, lai aiztaupītu kādam klavieru klabināšanu (kāds es labs, ne?😁) - man nekas nav pret linuksiem, bet izskatās, ka tas jau sāk iet w (ne)ceļos.

Link to comment
Share on other sites

pirms 2 stundām , Jurkins teica:

nonest nakuj (attiecīgo VM) un beigt kārtējo muļķīgo ekskrementu linux pieradināšanā😁. (Sevis pieradināšanā pie linux)

 

Papildināšu. Iegādāties vatmetru, nomērīt un paskaitīt cik EUR mēnesī sanāk pārmaksāt dēļ tā ka Linux viena un tā paša darba veikšanai tērē 5-7-8% vairāk elektrības un darbojas par 5-7% lēnāk.

  • Haha 1
Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...