Portatili GNU/Linux compliant, ecco alcune soluzioni

In questo articolo vorrei parlarvi della possibilità di acquistare un portatile che sia perfettamente funzionante nel caso in cui voleste installare un sistema operativo basato sul Kernel Linux.

A dir la verità, sono oramai lontani i tempi in cui provando ad installare un OS Linux Based si inciampava in qualche problema relativo ai drivers o, in generale, malfunzionamenti di alcune periferiche. Detto questo, partendo dal presupposto che oramai le licenze Windows OS si trovano anche a buon prezzo (Kinguin), a molti utenti potrebbe tornare utile acquistare un PC che sia sicuramente compatibile col Kernel del Pinguino.

Ecco quindi una breve lista dei portatili Linux compliant..

Dell XPS 13 Developer Edition

Ma quanto è bello?! E’ questa la reazione che molti utenti hanno avuto vedendo per la prima volta l’ultrabook Deel XPS 13 che, con la versione Developer, si libera dalle catene di Microsoft Windows ed abbraccia la community di Ubuntu. Difatti, l’ultima versione di questo ultrabook vi verrà consegnata con Ubuntu 16.04.2 LTS a bordo Canonical collabora attivamente al mantenimento del dispositivo, rilasciato aggiornamenti AD-HOC per lo stesso, quindi acquistandolo avrete sicuramente modo di godere di un supporto LTS per il vero senso della parola.

Essendo presenti diverse configurazioni, non tutte vendute in Europa (se non tramite import), in rete è possibile reperire i vari prezzi in dollari:

  • i5/8GB/128GB, FHD – $949.99
  • i5/8GB/256GB, FHD – $1,349.99
  • i7/8GB/256GB, QHD+ (touch) colore Rose Gold – $1,599.99
  • i7/16GB/512GB, QHD+ (touch) – $1,799.99

Come potrete vedere, il dispositivo base ha un prezzo di circa 873 euro (al cambio attuale). Tutte le versioni hanno una diagonale di 13.3″ e sono dotate del lettore per schede SD, una porta USB 3.0 con PowerShare, una  Porta USB 3.0 full,  uno Slot per lucchetto Noble, una porta Thunderbolt™ 3 (con supporto di: ingresso alimentazione/carica, PowerShare, Thunderbolt 3 da 40 Gb/s bidirezionale), una porta USB 3.1 di 2a generazione (10 Gb/s), porta VGA, porta HDMI, presa Ethernet e USB-A tramite adattatore Dell (venduto separatamente), Jack per cuffie ed infine un indicatore e pulsante indicatore della durata della batteria.

Rimane uno degli ultrabook migliori presenti sul mercato, che credo possa giocarsela ad armi pari con i prodotti Apple.

Alpha Litebook

Con Alpha Litebook si cambia completamente target, in quanto decisamente meno costoso, seppur avente la seguente scheda tecnica:

  • Display 14.1″ FHD;
  • CPU Intel Quad Core 1.6 GHz;
  • RAM 4Gb LPDDR3;
  • HDD 512 Gb volendo Hybrid con aggiuntivi 32 Gb di SSD;
  • OS: Elementary OS.

Il Litebook è munito di un lettore MicroSD, una porta LAN, due USB 3.0 Full, un’uscita Micro HDMI ed il Jack per le cuffie.

Questa configurazione costa attualmente 249 dollari, decisamente interessante!

Purism Librem 13

Purism Librem 13 è un dispositivo molto particolare, che basa tutto il suo essere sulla sicurezza. Potrete scegliere se installare PureOS o Qubes OS, dei sistemi operativi Linux based (Debian) che fanno della privacy il loro punto di forza.

  • Display 13.3″ 1920×1080p IPS @ 60Hz;
  • CPU i7-6500U Dual core 3.1 GHz;
  • RAM 16 Gb DDR4;
  • Storage M2 fino ad 1 Tb SSD ed opzionale il secondo HDD/SSD ino ad 1 Tb;
  • OS: Pure OS.

Il punto dolente credo sia il prezzo, per la configurazione sopra-indicata è pari a 1399 dollari!

Galago Pro

System76 ha infine presentato Galago Pro, un vero e proprio mostro, del quale potreste sicuramente innamorarvi, di cui ecco le specifiche base:

  • Display 13″ qHD+;
  • CPU i5-7200u Dual Core 2.5-3.1 GHz (o i7-7500u 2.7-3.5 GHz Dual core);
  • RAM da 4 Gb DDR4 (base) a 32 Gb in dual Channel);
  • Storage da 120 Gb SSD (base) a 2 Tb NVMe SSD + eventuale slot addizionale in cui inserire da 1 Tb a 4 Tb di SSD;
  • OS: Ubuntu 16.04 LTS x64 (o 17.04).

Dispone di porta LAN, lettore di schede SD, due porte USB 3 ed una Thunderbolt 3, una USB Type-C, un’uscita Mini DisplayPort.

La configurazione base indicata parte da 899 dollari, un prezzo decisamente allettante!

Queste configurazioni sono tutte disponibili all’acquisto, a parte il Galago Pro che è in fase di pre-order. Per chi fosse alla ricerca di un terminale di buon livello, la scelta potrebbe ricadere su quest’ultimo, o sul Dell XPS 13 Developer Edition, due veri capolavori hardware e…Si spera anche software!

Deepin Linux – Guida post installazione

Come molti di voi avranno notato, le release di Deepin si susseguono con cadenza periodica e, in questo articolo, vorrei illustrarvi i passaggi successivi all’installazione, così da render l’esperienza utente migliore.

Leggi tutto “Deepin Linux – Guida post installazione”

OP2: da OxygenOS 3.5.8 a LineageOS 14.1

Grazie alla natura del sistema operativo Android, molti sviluppatori hanno la possibilità di creare la propria custom rom, basandola sul firmware originale della casa costruttrice del proprio terminale, oppure basando il lavoro sull’Android Open Source Project (AOSP).

In questo breve articolo vorrei illustrare i passaggi per passare dal firmware originale OxygenOS alla famosa LineageOS (ex. CyanogenMod), su un Oneplus 2.

L’intervento richiede un minimo di manualità, e sopratutto molta pazienza, anche se i passaggi non sono impossibili da seguire.

In sostanza, il primo passo è lo sblocco del Bootloader (lo sblocco eliminerà TUTTI i dati dal vostro dispositivo, fate un backup!!):

  1. Backup dei dati: dato il passaggio successivo, occorre salvare tutti i dati sul proprio PC, in particolare foto/video ed altri documenti;
  2. Sblocco del Bootloader: per questo passaggio, non dovrete far altro che entrare in Impostazioni->Informazioni sul telefono, e premere almeno 7 volte sulla scritta “Numero Build”.
  3. Opzioni sviluppatore: nel passaggio precedente avrete abilitato le opzioni di sviluppatore nel menu Impostazioni, entrateci ed abilitate “Riavvio avanzato” e Sblocco OEM”, a questo punto non dovrete far altro che riavviare in modalità Bootloader;
  4. Scaricate ed installate i Driver ADB da questo thread XDA;
  5. Riavvio in Bootloader: a questo punto, premete il tasto Power e, grazie al riavvio avanzato precedentemente autorizzato, potrete scegliere di riavviare il dispositivo nella modalità Bootloader;
  6. Una volta riavviato nella modalità Bootloader, collegate il dispositivo, spostatevi poi nella cartella in cui avete salvato la TWRP Recovery e, premendo Shift (freccia verso l’alto sulla tastiera, in basso a sinistra) cliccate col tasto DX del mouse su uno spazio vuoto, selezionando poi Apri prompt dei comandi (Open command windows here);
  7. Digitate “fastboot devices” (senza virgolette), e dovrebbe mostrarvi l’identificativo del dispositivo Android collegato in modalità Bootloader;
  8. A questo punto digitate “fastboot oem unlock”, questo passaggio eliminerà TUTTI i dati dal vostro dispositivo!

Installazione della TWRP:

  1. Saltare la prima configurazione del dispositivo, verificare che le opzioni sviluppatore siano attivate, comprensive di “Riavvio avanzato” e “Debug Android”;
  2. Scaricate l’ultima TWRP Recovery da questo link;
  3. Ripetere il passaggio 7 ed 8 precedenti;
  4. Digitate “fastboot flash recovery NOME_DELLA_RECOVERY.img” (senza virgolette, dove il nome della recovery è appunto il nome file della TWRP);
  5. A questo punto NON riavviate da Fastboot, staccate il cellulare e premete Power + VolumeMeno, in modo da riavviare manualmente il dispositivo, che entrerà quindi nella vostra nuova custom recovery TWRP!

Una volta installata la recovery, il gioco è fatto, e potrete passare all’installazione della Lineage OS (o qualsiasi altra custom rom):

  1. Scaricate l’ultima LineageOS disponibile a questo link;
  2. Scaricate il pacchetto Extras della LineageOS da questo link, in modo da ottenere anche il root (su arm64, versione 14.1);
  3. Scaricate le Open Gapps da questo link (selezionando ARM64, Android 7.1, Variante Micro, o anche Nano, Pico.);
  4. Spostate la Lineage OS e le Gapps sul dispositivo, magari creando una cartella apposita (es. “AAA”, in modo che sia la prima in ordine alfabetico);
  5. A questo punto, riavviate in Recovery;
  6. Effettuate il Wipe Cache + Dalvik + System + Data (Factory Reset, non eliminate l’Internal Storage!), o meglio ancora seguite questa illustrazione:
  7. Spostatevi su Install ed installate il tutto in questo ordine:
    1. LineageOS;
    2. Open Gapps;
    3. Extras.
  8. A questo punto non dovrete far altro che riavviare il dispositivo e godervi la Lineage OS!

A questo punto avrete le basi per poter installare tutte le custom rom disponibili, l’unica accortezza riguarda la necessità, o meno, di installare le Google Apps, in quanto le custom rom basate sul firmware originale del vostro dispositivo spesso non ne hanno bisogno.

Ukuu, tool per aggiornare il Kernel Ubuntu (e derivate) con interfaccia grafica!

Il Kernel Linux è in continua evoluzione, con aggiornamenti ricorrenti che, oltre a fixare eventuali vulnerabilità, ne espandono la compatibilità verso hardware più recente.
In questo senso, molti utenti potrebbero aver la necessità di installare una Distro e, subito dopo, aggiornar eil kernel, per avere a disposizione i migliori driver Open per il proprio hardware o, semplicemente, per assicurarsi che tutto funzioni a meraviglia.

Parlando nello specifico di Ubuntu (e derivate), l’aggiornamento del Kernel potrebbe risultare un po macchinoso, anche se alla portata di tutti, semplicemente consultando la Mainline del Kernel Ubuntu.

Per facilitare le cose, vorrei presentarvi un tool molto comodo, chiamato Ubuntu Kernel Update Utility (Ukuu).

Il suo funzionamento è semplice quanto efficace, infatti permette di:

  • Visionare la lista dei Kernel disponibili (prelevando le info dalla Mainline);
  • Ricevere delle notifiche quando un nuovo Kernel viene rilasciato;
  • Scaricare ed installare un Kernel (e gli headers) con un click.

L’installazione del tool è banale, vi basterà aprire il terminale e digitare:
sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install ukuu

Nel caso vogliate disinstallarlo, invece:
sudo apt-get purge ukuu

Avviandolo, il tool si presenterà con la seguente interfaccia:

A colpo d’occhio, noterete che:
– I Kernel contrassegnati col pinguino rosso sono le RC;
– I kernel col pinguino normale sono quelle stabili.

Entrando nei settings, avrete a disposizione un set minimo di flag per personalizzare il funzionamento di Ukuu:

Come potrete notare, potrete scegliere di nascondere le Release Candidates dai risultati, oppure i Kernel obsoleti (più vecchi della 4.0). Inoltre, nel caso dovessero seccarvi eventuali notifiche, potrete scegliere di disabilitarle del tutto, oppure lasciare solo quelle relative alle Point Release.

Una volta selezionato il vostro Kernel di interesse, vi basterà premere install per visualizzare il seguente script:

Created with GIMP

Al termine, conviene riavviare e, una volta effettuato il Login, visualizzare la versione del kernel installata ed attiva mediante il seguente comando da terminale:
#uname -r

Dal mio punto di vista, credo che un tool simile sia molto utile per gli utenti di primo pelo, e non so come mai le più famose Distro GNU/Linux non integrino di default un tool simile focalizzato appunto sul Kernel, ovvero il cuore della Distro. E’ vero, gli aggiornamenti kernel (Point Release) vengono distribuiti puntualmente dalle varie software house dietro alle distro, ma se un utente volesse aggiornare il Kernel all’ultima Stable, con questo tool la procedura diventa alla portata di tutti!

API Vulkan 1.0.42, il supporto Multi-GPU eterogeneo cross-platform è dietro l’angolo!

Molti di voi avranno sentito parlare delle API Vulkan, create e manutenute da Khronos Group ma direttamente derivate da diverse componenti Mantle di AMD.
Le API Vulkan hanno un punto di forza notevole, ovvero non sono esclusiva di alcun brand (AMD, nVidia, Intel..) e possono girare sotto qualsiasi sistema operativo (Windows, Mac OSX, GNU/Linux). La stessa Intel ha fatto retromarcia, annunciando il supporto delle CPU Skylake e Kaby Lake alle librerie Vulkan.

A differenza delle OpenGL, Vulkan utilizza lo Standard Portable Intermediate Representation per la precompilazione degli shader, permettendo ai Devs di scrivere gli shader in linguaggi diversi da GLSL (OpenGL Shading Language), riducendo l’impatto dei “driver” sulla qualità video in output.

L’altra miglioria notevole delle API Vulkan è la riduzione del carico sulla CPU, evitando che questa possa creare il classico “collo di bottiglia” (es. sui PC vecchi in cui viene aggiornata la sola VGA, lasciando una vecchia CPU e pretendendo di giocare a livelli di dettaglio elevati) garantendo un throughput elevato per i calcoli GPU e di rendering in generale.

Durante l’ultima Game Developers Conference, Khronos ha pubblicamente annunciato al supporto Multi-GPU eterogeneo (Explicit Multi-GPU, o Explicit Multi-Adapter), ovvero eventuale configurazione nVidia + AMD. Inizialmente si pensava che tale feature fosse disponibile solo per Windows 10, dato che era stato sottolineato l’utilizzo del Windows Display Drivers (WDDM). In realtà, l’utilizzo del Linked Display Adapter (LDA), che permette di operare mediante il supporto di diverse schede utilizzando una sola interfaccia, non è prerogativa del solo Windows 10, ma anche di Windows 8.1 e Windows 7.

Fortunatamente, il supporto Multi-GPU sarà esteso anche oltre i confini di Windows OS, grazie all’aiuto di diversi partner che stanno lavorando al supporto Multi-GPU di Vulkan anche per i sistemi GNU/Linux, che non si baserà quindi sulle WDDM, in quanto non necessarie (e non disponibili su altri OS). Inoltre, Khronos ha rivelato di esser disponibile a supportare attivamente tutte le compagnie che vorranno sviluppare ed implementare la gestione Multi-GPU sui sistemi Linux based.

Il funzionamento dell’Explicit Multi-GPU, detto in soldoni, dovrebbe esser il seguente: utilizzare le GPU rilevate nel sistema come un unico dispositivo logico, accedendo a tutte le risorse disponibili come se fosse un sistema eterogeneo ma interconnesso, quasi come una versione rivista delle tecnologie CrossFire e SLI, ma gestite via software.

La gestione sofware non pregiudicherà però l’indipendenza di ogni singola GPU (e delle memorie disponibili), la quale potrà elaborare dei dati completamente diversi/separati/indipendenti rispetto a quelli che in quell’istante sta elaborando l’altra/le altre GPU. In questo senso, a livello teorico, le API Vulkan dovrebbero garantire uno scaling migliore.

Detto questo, dal mio punto di vista sarebbe interessare che si raggiunga, prima o poi, uno standard univoco cross platform non solo riguardo le API, ma anche dei driver, così che possano esser “compilati” almeno per i tre maggiori sistemi operativi disponibili sul mercato, ovvero Windows OS, Apple Mac OSX ed i sistemi GNU/Linux. Di certo Vulkan, e Mantle in precedenza, ha dato uno scossone notevole al mondo videoludico…E speriamo sia solo l’inizio!

Se per poter giocare occorre ottenere il 100% delle prestazioni dal proprio hardware, il garantire un funzionamento base dei propri prodotti dovrebbe esser il primo passo verso la libertà dell’utente finale, così che possa scegliere l’hardware del proprio PC indifferentemente dal sistema operativo che vorrà installarci (es. molti utenti GNU/Linux preferiscono ATI, altri nVidia, altri Intel..Benché non giochino assiduamente al PC, una preferenza accordata dalle precedenti esperienze e problemi dovute al mancato supporto adeguato al mondo del pinguino).

Fonti: Wiki, Fudzilla, Everyeye.

Software FREE non significa Open Source, e viceversa

Nel magico mondo dell’informatica, un aspetto spesso confuso, specialmente per noi italiani, forse per colpa di una traduzione sbagliata, è la differenza tra “Free software” e “Software open source“.

Se dovessimo tradurre letteralmente i due concetti, dovrebbe dire “Software libero” (e non gratuito) e “Software con codici visionabili e condivisibili“. Ok, forse in Italia non studiamo l’inglese come in altri paesi, ma basterebbe una breve ricerca su zio Google per incappare in questa splendida pagina Wikipedia. Prendendo liberamente spunto, ecco le notevoli differenze tra i due termini.

Free software:

  • Libertà di usare il programma senza impedimenti;
  • Libertà di aiutare sé stesso studiando il codice disponibile e modificandolo in base alle proprie esigenze;
  • Libertà di aiutare il tuo vicino, cioè la possibilità di distribuire copie del software rielaborato, rendendolo così accessibile a tutti;
  • Libertà di pubblicare una versione modificata del software;

Open source:

  • Libertà di redistribuzione (sta poi al singolo decidere se farlo gratuitamente o se far pagare il prodotto);
  • Libertà di consultare il codice sorgente;
  • Necessità di approvazione per i prodotti derivati;
  • Integrità del codice sorgente dell’autore;
  • Nessuna discriminazione verso singoli o gruppi di persone;
  • Nessuna discriminazione verso i settori di applicazione;
  • La licenza deve essere distribuibile;
  • La licenza non può essere specifica per un prodotto;
  • La licenza non può contaminare altri software;
  • La licenza deve essere tecnologicamente neutrale;

Se questa carrellata di punti non vi è chiara, forse potrebbe esserlo se accostassimo un soggetto ben noto, ovvero Richard Stallman, al concetto di “Free software”, in quanto è stato ideatore della GNU General Public License (GPL) e della Free Software Foundation. Il suo intento era quello di garantire tutti i punti del “Free software” sopra menzionati, introducendo il concetto di copy left. Il copy left è molto semplice da interpretare: un software creato e licenziato secondo la GPL è ridistribuibile liberamente, ma mai come software proprietario. Oltre a questo concetto base, si affianca un concetto altrettanto saliente: un soggetto terzo, entrato in possesso di un free software, deve segnalare eventuali modifiche effettuate sul software direttamente all’autore.
In questo modo si eliminano da tale ecosistema eventuali approfittatori che, appropriandosi del software, potrebbero uccidere il progetto stesso che ha dato vita a quest’ultimo.

Dal mio punto di vista, ritengo un software eticamente sicuro se, in qualsiasi momento, io possa andare a consultare le sorgenti. In questo senso, qualcuno di voi ha mai potuto visionare i codici sorgenti di Microsoft Windows 10? O di Mac OS 10.12 Sierra? Semplice, no. Ed allora, in che modo potete esser sicuri che tali sistemi non nascondano vulnerabilità oppure voluti “buchi” per poter accedervi forzatamente? Vi basti pensare alle famose “Backdoors” di cui di tanto in tanto si sente qualche notizia. Ma badate bene, pensate che un software open non possa averne? Sarebbe uno sbaglio, sappiatelo, ma perlomeno la community ha la facoltà di indagare ed eventualmente individuare tali “buchi”!

Detto questo, ci sono diverse punti per cui il mondo dell’informatica potrebbe giovare avendo sorgenti open, basti pensare la questione drivers: acquistando un prodotto, magari uno smartphone o un televisore, quante volte vi è capitato di avere problemi e, per poterli risolvere, l’unico modo è stato inviare una richiesta di assistenza, spesso mai ascoltata veramente? Pensate anche solo al robottino verde (Android, ndr), la nascita di custom rom come la oramai defunta CyanogenMod (ora Lineage OS) è stata possibile solo grazie al rilascio delle sorgenti software AOSP (Android Open Source Project, da zio Google e senza Google Apps) e driver (SoC del dispositivo) da parte del produttore, che ha permesso, per esempio, di aggiornare all’ultima versione Android un dispositivo con SoC Qualcomm Snapdragon 805 di 4 anni fa all’ultima release Android disponibile.

Beh, che ne pensate? Questa è la mia idea!

Dimenticavo, nel caso vogliate dare un’occhiata alle Licenze, fate tranquillamente riferimento a questo link.