Pages

Monday, June 18, 2018

Fedora 28 : Godot game engine.

Today I tested the new version of Godot game engine - version 3.0.3 .
You can download it from official webpage.
I used the 64 bit version.
After download and unzip you can run the binary file in your user terminal.
The Godot game engine start with a GUI.
Into the right area of screen into Scene tab two objects: Spatial and Camera.
You need to select or add a WoldEnvironment node.
Take a look to the Inspector and use with New Environment .
Run this with the play icon.
If is all right you can see something like this:

Create e new folder into your project and name it Export.
Copy the mscorelib.dll into this folder.
Go to main menu and select Project - Export and you will see this GUI for export your game.
Press Add button to select Linux/X11 output:
Select Linux and press Export Project button.
Go to Export folder and run from your linux terminal your game.
This game engine working well with Fedora 28 and the export running without errors.

Friday, June 15, 2018

Fedora 28 : ARM programming and testing .

This is a simple tutorial about ARM programming and QEMU:
The test.c program is this :
volatile unsigned int * const UART0DR = (unsigned int *)0x101f1000;
 
void print_uart0(const char *s) {
 while(*s != '\0') { /* Loop until end of string */
 *UART0DR = (unsigned int)(*s); /* Transmit char */
 s++; /* Next char */
 }
}
 
void c_entry() {
 print_uart0("Hello world!\n");
}

Using volatile keyword is necessary to instruct the compiler that the memory pointed.
The unsigned int type enforces 32-bits read and write access.
The QEMU model like in a real system on chip the Transmit FIFO Full flag must be checked in the UARTFR register before writing on the UARTDR register.
Create the startup.s assembler file:
.global _Reset
_Reset:
 LDR sp, =stack_top
 BL c_entry
 B .
Create the script linker named test.ld:
ENTRY(_Reset)
SECTIONS
{
 . = 0x10000;
 .startup . : { startup.o(.text) }
 .text : { *(.text) }
 .data : { *(.data) }
 .bss : { *(.bss COMMON) }
 . = ALIGN(8);
 . = . + 0x1000; /* 4kB of stack memory */
 stack_top = .;
}
Next step is the install of arm-none-eabi x86_64 tools :
[root@desk arm-source]# dnf install arm-none-eabi-gcc-cs-c++.x86_64 
Last metadata expiration check: 1:54:04 ago on Fri 15 Jun 2018 06:55:54 PM EEST.
Package arm-none-eabi-gcc-cs-c++-1:7.1.0-5.fc27.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
[root@desk arm-source]# dnf install arm-none-eabi-gdb.x86_64 
Last metadata expiration check: 1:54:48 ago on Fri 15 Jun 2018 06:55:54 PM EEST.
Package arm-none-eabi-gdb-7.6.2-4.fc24.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
[mythcat@desk arm-source]$ ll
total 12
-rw-rw-r--. 1 mythcat mythcat  60 Jun 15 20:28 startup.s
-rw-rw-r--. 1 mythcat mythcat 288 Jun 15 20:26 test.c
-rw-rw-r--. 1 mythcat mythcat 223 Jun 15 20:29 test.ld
Let's test this with qemu virtual tool ( use Ctr+A and X keys to stop qemu) :
[mythcat@desk arm-source]$ qemu-system-arm -M versatilepb -m 64M -nographic -kernel test.bin
pulseaudio: set_sink_input_volume() failed
pulseaudio: Reason: Invalid argument
pulseaudio: set_sink_input_mute() failed
pulseaudio: Reason: Invalid argument
Hello world!
QEMU: Terminated

Friday, June 1, 2018

Fedora 28 : Using python to create old GUI.

The asciimatics python module provides a widgets sub-package that allows you to create interactive text user interfaces.
This python module lets you create full-screen text UIs and interactive forms to ASCII animations. The python module was created to working with any platform and python version 2 and 3.
It is licensed under the Apache Software Foundation License 2.0, see this license here.
Let see the installation process using the Fedora 28 and python version 3.6:
[root@desk mythcat]# dnf install python3
Last metadata expiration check: 2:39:44 ago on Fri 01 Jun 2018 12:51:55 PM EEST.
Package python3-3.6.5-1.fc28.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
You need also to install the asciimatics python module using the pip tool:
[mythcat@desk ~]$ pip3.6 install --user asciimatics
Collecting asciimatics
  Using cached https://files.pythonhosted.org/packages/.../asciimatics-1.9.0-py2.py3-none-any.whl
Requirement already satisfied: future in /usr/local/lib/python3.6/site-packages (from asciimatics)
Requirement already satisfied: wcwidth in /usr/local/lib/python3.6/site-packages (from asciimatics)
Requirement already satisfied: Pillow>=2.7.0 in /usr/lib64/python3.6/site-packages (from asciimatics)
Requirement already satisfied: pyfiglet>=0.7.2 in /usr/local/lib/python3.6/site-packages (from asciimatics)
Installing collected packages: asciimatics
Successfully installed asciimatics-1.9.0
I tested some sample from the author GitHub account and is working good.
Some samples require some extra python module and you will need to install them.

Wednesday, May 30, 2018

Fedora 28 : The Lynis and system security .

Lynis is a lightweight and easy open source auditing tool to evaluate current system security.
The official webpage can be found here.
I tested the version 263 and now the Fedora development team test the 264 version.
This tool will show you a detailed report of each and every aspect of system :
  • Boot and services
  • Kernel
  • Memory and processes
  • Users, groups, and authentication
  • File systems
  • Home directories
  • File permissions
  • Software: Malware
  • Security frameworks
  • Logging and files
  • SSH support
# dnf install lynis 
# lynis audit system  >> lynix_out.txt
The result is a text file ( 27 Kb sized for my system ) with all infos about your current system security.

Saturday, May 26, 2018

Fedora 28 : Can you fix your Fedora !?

Fedora Packages have a different installation and development process thanks to testing and development teams.
Note: The common user may have networking problems and these will still lead to further errors.
A common error that should be more documented and constrained is:
Error: Failed to synchronize cache for repo 'updates'.

If you did not have intruders in the computer or provider changes to modify this process, then here are some elements that help you understand how it works.
The process of cleanup of temporary files kept for repositories and update / upgrade is still a testing and development process.
This includes any such data left behind from disabled or removed repositories as well as for different distribution release versions.
  • dnf clean dbcache : this removes cache files generated from the repository metadata and forces DNF to regenerate the cache files the next time it is run.
  • dnf clean expire-cache : this marks the repository metadata expired and will re-validate the cache for each repo the next time it is used.
  • dnf clean metadata : just removes repository metadata files which is uses to determine the remote availability of packages and will make to download all the metadata the next time it is run.
  • dnf clean packages :  removes any cached packages from the system.
  • dnf clean all : does all of the above.
You can mix these commands so you can get the desired effect with the shell tool dnf , see this example:
dnf update --refresh
This will make a update but with this feature: --refresh will set metadata as expired before running the command.

Friday, May 25, 2018

Fedora 28 : Video about development and fix packages.

The fedora 28 distribution is an advanced Linux distribution that includes tools and is supported by the fedora community.
The clear and essential reason for the right development is the learning area.
Here's a great video tutorial about developing fedora packets and that's very useful.

I do not know what it is with this group name the Factory 2.0 devel group , but they are very useful information.

Friday, May 11, 2018

Fedora 28 : The LibreCAD application.

LibreCAD - originally CADuntu is a free Open Source CAD application and today I tested with my Fedora 28.
The content for this application is available under Creative Commons Attribution Share Alike. LibreCAD is a free and open-source and can be downloaded from official webpage.
Let's see the install process of this tool:
[root@desk mythcat]# dnf install librecad.x86_64
Last metadata expiration check: 3:00:39 ago on Fri 11 May 2018 07:51:19 PM EEST.
Dependencies resolved.
================================================================================
 Package                  Arch          Version             Repository     Size
================================================================================
Installing:
 librecad                 x86_64        2.1.0-7.fc28        fedora        2.3 M
Installing dependencies:
 libdxfrw                 x86_64        0.6.3-8.fc28        fedora        438 k
 librecad-fonts           noarch        2.1.0-7.fc28        fedora         11 M
 librecad-langs           noarch        2.1.0-7.fc28        fedora        603 k
 librecad-parts           noarch        2.1.0-7.fc28        fedora        903 k
 librecad-patterns        noarch        2.1.0-7.fc28        fedora        217 k
 shapelib                 x86_64        1.4.1-2.fc28        fedora         80 k

Transaction Summary
================================================================================
Install  7 Packages

Total download size: 15 M
Installed size: 109 M
Is this ok [y/N]: y
Downloading Packages:
(1/7): libdxfrw-0.6.3-8.fc28.x86_64.rpm         658 kB/s | 438 kB     00:00    
(2/7): librecad-langs-2.1.0-7.fc28.noarch.rpm   1.4 MB/s | 603 kB     00:00    
(3/7): librecad-2.1.0-7.fc28.x86_64.rpm         1.5 MB/s | 2.3 MB     00:01    
(4/7): librecad-parts-2.1.0-7.fc28.noarch.rpm   1.6 MB/s | 903 kB     00:00    
(5/7): shapelib-1.4.1-2.fc28.x86_64.rpm         1.3 MB/s |  80 kB     00:00    
(6/7): librecad-patterns-2.1.0-7.fc28.noarch.rp 1.3 MB/s | 217 kB     00:00    
(7/7): librecad-fonts-2.1.0-7.fc28.noarch.rpm   3.0 MB/s |  11 MB     00:03    
--------------------------------------------------------------------------------
Total                                           3.5 MB/s |  15 MB     00:04     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : shapelib-1.4.1-2.fc28.x86_64                           1/7 
  Running scriptlet: shapelib-1.4.1-2.fc28.x86_64                           1/7 
  Installing       : librecad-patterns-2.1.0-7.fc28.noarch                  2/7 
  Installing       : librecad-parts-2.1.0-7.fc28.noarch                     3/7 
  Installing       : librecad-langs-2.1.0-7.fc28.noarch                     4/7 
  Installing       : librecad-fonts-2.1.0-7.fc28.noarch                     5/7 
  Installing       : libdxfrw-0.6.3-8.fc28.x86_64                           6/7 
  Running scriptlet: libdxfrw-0.6.3-8.fc28.x86_64                           6/7 
  Installing       : librecad-2.1.0-7.fc28.x86_64                           7/7 
  Running scriptlet: librecad-2.1.0-7.fc28.x86_64                           7/7 
  Verifying        : librecad-2.1.0-7.fc28.x86_64                           1/7 
  Verifying        : libdxfrw-0.6.3-8.fc28.x86_64                           2/7 
  Verifying        : librecad-fonts-2.1.0-7.fc28.noarch                     3/7 
  Verifying        : librecad-langs-2.1.0-7.fc28.noarch                     4/7 
  Verifying        : librecad-parts-2.1.0-7.fc28.noarch                     5/7 
  Verifying        : librecad-patterns-2.1.0-7.fc28.noarch                  6/7 
  Verifying        : shapelib-1.4.1-2.fc28.x86_64                           7/7 

Installed:
  librecad.x86_64 2.1.0-7.fc28          libdxfrw.x86_64 0.6.3-8.fc28            
  librecad-fonts.noarch 2.1.0-7.fc28    librecad-langs.noarch 2.1.0-7.fc28      
  librecad-parts.noarch 2.1.0-7.fc28    librecad-patterns.noarch 2.1.0-7.fc28   
  shapelib.x86_64 1.4.1-2.fc28         

Complete!
I start the application from command shell and this is the output I got.
[mythcat@desk ~]$ librecad 
RS_DEBUG::setLevel(3)
RS_DEBUG: Critical
RS_DEBUG: Errors
RS_DEBUG: Warnings
libpng warning: iCCP: known incorrect sRGB profile
The application works great I don't know from where come the errors.
You can used to test your skills into the area of
The official manual can be found here.
This is a screenshot from my Fedora 28 distro:

Fedora 28 : The Spin tool for 2D animation.

The spine is a 2D skeletal animation tool for your video games.
This tool comes with features to building great looking animations.
Spine exports animation data in its own, documented JSON and binary formats.
You can export animated GIFs, PNG or JPEG image sequences and AVI or QuickTime video.
I install the trial version into my Fedora 28 distro easy.
First, you need to download it and unarchive from the official website.
The next step will start with this command:
[mythcat@desk ~]$ cd SpineTrial/
[mythcat@desk SpineTrial]$ dir
examples  launcher  license.txt  runtimes  scripts  SpineTrial.sh
[mythcat@desk SpineTrial]$ sh SpineTrial.sh 
Spine Launcher 3.6.49 Trial
Linux amd64 4.16.6-302.fc28.x86_64
Java 1.7.0_80 Esoteric Software
64-bit Server VM
Downloading: Spine 3.7.16-beta Trial
Update complete.
Spine 3.7.16-beta Trial
Intel Open Source Technology Center
Mesa DRI Intel(R) Ivybridge Desktop 
3.0 Mesa 18.0.2
Resetting hotkeys (new version).
Using customized hotkeys.
Started.
May 10, 2018 6:54:08 PM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode
WARNING: Could not lock System prefs. Unix error code 0.
May 10, 2018 6:54:08 PM java.util.prefs.FileSystemPreferences syncWorld
WARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: 
Couldn't get file lock.
May 10, 2018 6:54:38 PM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode
WARNING: Could not lock System prefs. Unix error code 0.
May 10, 2018 6:54:38 PM java.util.prefs.FileSystemPreferences syncWorld
WARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: 
Couldn't get file lock
You can some warnings but the tool works great.
More about graphics and Linux design you can find articles on my website.
Look at these screenshots with Spine tool:

Monday, April 23, 2018

Fedora 28 : The OpenShot video editor.

This is a video editor for linux and many operating systems. I tested with Fedora 28 and works good. The install of this is very simple with dnf tool:
# dnf install openshot.noarch
The development team add many features into this software:
Feature list
Cross-platform video editing software (Linux, Mac, and Windows)
Support for many video, audio, and image formats
Powerful curve-based Key frame animations
Desktop integration (drag and drop support)
Unlimited tracks / layers
Clip resizing, scaling, trimming, snapping, rotation, and cutting
Video transitions with real-time previews
Compositing, image overlays, watermarks
Title templates, title creation, sub-titles
3D animated titles (and effects)
Advanced Timeline (including Drag & drop, scrolling, panning, zooming, and snapping)
Frame accuracy (step through each frame of video)
Time-mapping and speed changes on clips (slow/fast, forward/backward, etc...)
Audio mixing and editing
Digital video effects, including brightness, gamma, hue, greyscale, chroma key (bluescreen / greenscreen) , and many more!
The license for this software is this:
License OpenShot™ is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This is a screenshot on my Fedora distro.

Tuesday, April 17, 2018

Fedora 28 : GoLang first example .

This tutorial is about GoLang IDE . About this IDE you can read more here - my intro article about this IDE.
I try to used with the platform-native GUI library for Go named andlabs/ui.
First, after you install the IDE you can check the settings on menu Settings: Using this tool with Fedora 28 is easy.
About the first install of andlabs/ui then this come with this error:
[mythcat@desk ~]$ go get github.com/andlabs/ui
# pkg-config --cflags gtk+-3.0
Package gtk+-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-3.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'gtk+-3.0', required by 'virtual:world', not found
pkg-config: exit status 1
That tell us is need to install some packages from Fedora repo:
# dnf install gtk3-devel
I used this source code to test the andlabs/ui:
package main

import (
   "github.com/andlabs/ui"
)

func main() {
   err := ui.Main(func() {
      input := ui.NewEntry()
      button := ui.NewButton("Greet")
      greeting := ui.NewLabel("")
      box := ui.NewVerticalBox()
      box.Append(ui.NewLabel("Enter your name:"), false)
      box.Append(input, false)
      box.Append(button, false)
      box.Append(greeting, false)
      window := ui.NewWindow("Hello", 200, 100, false)
      window.SetMargined(true)
      window.SetChild(box)
      button.OnClicked(func(*ui.Button) {
         greeting.SetText("Hello, " + input.Text() + "!")
      })
      window.OnClosing(func(*ui.Window) bool {
         ui.Quit()
         return true
      })
      window.Show()
   })
   if err != nil {
      panic(err)
   }
}
First time was run well and after I restart the IDE I got this error:
# gui_test
/usr/lib/golang/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
gcc: error: /home/mythcat/go/src/github.com/andlabs/ui/libui_linux_amd64.a: No such file or directory

The problem come from GoLang IDE settings and andlabs/ui.
I remove and install again the andlabs/ui and now working well.
The result of this source code come with this output:

Saturday, April 14, 2018

Fedora 28 : The VS Code on Fedora.

The Visual Studio Code is an editor for development and includes the features you need for highly productive source code editing.
You can use this editor with many Linux distros.
Today I tested with Fedora 28 distro version.
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/
vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
Then use dnf to check and install this editor.
#dnf check-update
#dnf install code
Next step is to install extensions for Python, Golang, PHP, C# and more.

Saturday, April 7, 2018

Fedora 28 : Golang by JetBrains .

This I.D.E. is a commercial and a free 30-day trial.
The price varies :
  • € 199.00 /1st year
  • € 159.00 /2nd year
  • € 119.00 /3rd yr onwards
JetBrains s.r.o. is a software development company whose tools are targeted towards software developers and project managers. 
... 
JetBrains, creator of the leading Java IDE - IntelliJ IDEA - is a cutting-edge software vendor specializing in the creation of intelligent development tools.

The development team come with this infos about the Golang I.D.E. :
GoLand is a new commercial IDE by JetBrains aimed at providing an ergonomic environment for Go development.
... 
The new IDE extends the IntelliJ platform with the coding assistance and tool integrations specific for the Go language.

You can download it from here.
The tree command show install files:
[mythcat@desk bin]$ tree
.
├── format.sh
├── fsnotifier
├── fsnotifier64
├── fsnotifier-arm
├── goland64.vmoptions
├── goland.png
├── goland.sh
├── goland.vmoptions
├── idea.properties
├── inspect.sh
├── libyjpagent-linux64.so
├── libyjpagent-linux.so
├── log.xml
├── printenv.py
└── restart.py

0 directories, 15 files

Some screenshots with this  linux tool:





Sunday, April 1, 2018

Fedora 27 : Fix your distro with systemctl .

This is a simple tutorial about systemctl tool and how to fix one simple error show by status. The help of this cmmand can be found with:
# man systemctl
Let's see how we can see this errors and how this working. First let's see the status for systemctl command (:
# systemctl status
The output is this:
    ● laptop
    State: degraded
     Jobs: 0 queued
   Failed: 1 units
    Since: Sun 2018-04-01 10:44:37 EEST; 58min ago
   CGroup: /
           ├─user.slice
           │ └─user-1000.slice
           │   ├─user@1000.service
           │   │ └─init.scope
           │   │   ├─929 /usr/lib/systemd/systemd --user
           │   │   └─931 (sd-pam)
           │   └─session-1.scope
           │     ├─ 748 login -- mythcat
           │     ├─ 936 -bash
           │     ├─ 982 sudo su
           │     ├─ 986 su
           │     ├─ 987 bash
           │     └─9879 systemctl status
           ├─init.scope
           │ └─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 24
           └─system.slice
             ├─irqbalance.service
             │ └─655 /usr/sbin/irqbalance --foreground
             ├─lvm2-lvmetad.service
             │ └─578 /usr/sbin/lvmetad -f -t 3600
             ├─firewalld.service
             │ └─698 /usr/bin/python3 -Es /usr/sbin/firewalld --nofork --nopid
 ...
Detect the problem from list all failed units:
# systemctl list-units --state=failed
I find the rngd module is the problem. To fix this issue just use this commands:
# systemctl daemon-reload
# systemctl status rngd 
# systemctl stop rngd
# systemctl disable rngd
# systemctl enable rngd
# systemctl start rngd
The next step is reboot and check again if systemctl come with errors.