Posted on Leave a comment

Unity 2020.2 Released

Unity Technologies have just released Unity 2020.2, only the second tech release in 2020. This is part of a new focus on quality over quantity as described on the Unity Blog:

We had plans for 2020. We were going to do things better to make Unity better for you. And we did. We reexamined our priorities. We listened to you. We committed to improving performance and quality of life for all users – so you can bring your vision to life faster.

Unity 2020.2 TECH Stream is packed with all the latest features for those with projects in pre-production, or simply for those who want to leverage the most cutting edge tech to achieve a competitive edge. This version of Unity also ensures a smooth upgrade path forward. To get started, download it here today.

Following up on our promise to improve your development experience, in 2020 we shifted our release philosophy. We prioritized quality over quantity and reduced the number of releases to two per year, giving our engineers an extended stabilization phase. 

Even with the increased focus on Unity 2020.2 there are several improvements in a number of different categories:

There is also an updated schedule of future Unity releases:

Unity Release Schedule
Unity Release Schedule Through 2022

There are more details on the Unity 2020.2 release available here. You can learn more about the Unity 2020.2 release in the video below. In related news, Unity also have a 50% off sale on the Unity Asset Store with an additional 5% off on > $120 purchases with the code GOODBYE2020.

[youtube https://www.youtube.com/watch?v=GM7mDDZalwE?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Ben Cotton: How Do You Fedora?

We recently interviewed Ben Cotton on how he uses Fedora. This is part of a series on the Fedora Magazine. The series profiles Fedora users and how they use Fedora to get things done. Contact us on the feedback form to express your interest in becoming an interviewee.

Who is Ben Cotton?

If you follow the Fedora’ Community Blog, there’s a good chance you already know who Ben is. 

Ben’s Linux journey started around late 2002. Frustrated with some issues on using Windows XP, and starting a new application administrator role at his university where some services were being run on FreeBSD. A friend introduced him to Red Hat Linux, when Ben decided it made sense to get more practice with Unix-like operating systems. He switched to Fedora full-time in 2006, after he landed a job as a Linux system administrator.

Since then, his career has included system administration, people management, support engineering, development, and marketing. Several years ago, he even earned a Master’s degree in IT Project Management. The variety of experience has helped Ben learn how to work with different groups of people. “A lot of what I’ve learned has come from making mistakes. When you mess up communication, you hopefully do a better job the next time.”

Besides tech, Ben also has a range of well-rounded interests. “I used to do a lot of short fiction writing, but these days I mostly write my opinions about whatever is on my mind.” As for favorite foods, he claims “All of it. Feed me.”

Additionally, Ben has taste that spans genres. His childhood hero was a character from the science fiction series “Star Trek: The Next Generation”. “As a young lad, I wanted very much to be Wesley Crusher.” His favorite movies are a parody film and a spy thriller: “‘Airplane!’ and ‘The Hunt for Red October’” respectively. 

When asked for the five greatest qualities he thinks someone can possess, Ben responded cleverly: “Kindness. Empathy. Curiosity. Resilience. Red hair.”

Ben wearing the official “#action bcotton” shirt

His Fedora Story

As a talented writer who described himself as “not much of a programmer”, he selected the Fedora Docs team in 2009 as an entry point into the community. What he found was that “the Friends foundation was evident.” At the time, he wasn’t familiar with tools such as Git, DocBook XML, or Publican (docs toolchain at the time). The community of experienced doc writers helped him get on his feet and freely gave their time. To this day, Ben considers many of them to be his friends and feels really lucky to work with them. Notably “jjmcd, stickster, sparks, and jsmith were a big part of the warm welcome I received.”

Today, as a senior program manager, he describes his job as “Chief Cat Herding Officer”- as his job is largely composed of seeing what different parts of the project are doing and making sure they’re all heading in the same general direction. 

Despite having a huge responsibility, Ben also helps a lot in his free time with tasks outside of his job duties, like website work, CommBlog and Magazine editing, packaging, etc… none of which are his core job responsibilities. He tries to find ways to contribute that match his skills and interests. Building credibility, paying attention, developing relationships with other contributors, and showing folks that he’s able to help, is much more important to him than what his “official” title is. 

When thinking towards the future, Ben feels hopeful watching the Change proposals come in. “Sometimes they get rejected, but that’s to be expected when you’re trying to advance the state of the art. Fedora contributors are working hard to push the project forward.“

The Fedora Community 

As a longtime member of the community, Ben has various notions about the Fedora Project that have been developed over the years. For starters, he wants to make it easier to bring new contributors on board. He believes the Join SIG has “done tremendous work in this area”, but new contributors will keep the community vibrant. 

If Ben had to pick a best moment, he’d choose Flock 2018 in Dresden. “That was my first Fedora event and it was great to meet so many of the people who I’ve only known online for a decade.” 

As for bad moments, Ben hasn’t had many. Once he accidentally messed up a Bugzilla query resulting in accidental closure of hundreds of bugs and has dealt with some frustrating mailing list threads, but remains positive, affirming that “frustration is okay.”

To those interested in becoming involved in the Fedora Project, Ben says “Come join us!” There’s something to appeal to almost anyone. “Take the time to develop relationships with the people you meet as you join, because without the Friends foundation, the rest falls apart.”

Pet Peeves

One issue he finds challenging is a lack of documentation. “I’ve learned enough over the years that I can sort of bumble through making code changes to things, but a lot of times it’s not clear how the code ties together.” Ben sees how sparse or nonexistent documentation can be frustrating to newcomers who might not have the knowledge that is assumed.

Another concern Ben has is that the “interesting” parts of technology are changing. “Operating systems aren’t as important to end users as they used to be thanks to the rise of mobile computing and Software-as-a-Service. Will this cause our pool of potential new contributors to decrease?”

Likewise, Ben believes that it’s not always easy to get people to understand why they should care about open source software. “The reasons are often abstract and people don’t see that they’re directly impacted, especially when the alternatives provide more immediate convenience.”

What Hardware?

For work, Ben has a ThinkPad X1 Carbon running Fedora 33 KDE. His personal server/desktop is a machine he put together from parts that runs Fedora 33 KDE. He uses it as a file server, print server, Plex media server, and general-purpose desktop. If he has some spare time to get it started, Ben also has an extra laptop that he wants to start using to test Beta releases and “maybe end up running rawhide on it”.

What Software?

Ben has been a KDE user for a decade. A lot of his work is done in a web browser (Firefox for work stuff, Chrome for personal). He does most of his scripting in Python these days, with some inherited scripts in Perl.

Notable applications that Ben uses include:

  • Cherrytree for note-taking
  • Element for IRC
  • Inkscape and Kdenlive when he needs to edit videos.
  • Vim on the command line and Kate when he wants a GUI
Posted on Leave a comment

Blender 2.92 Geometry Nodes

Hot on the heels of the Blender 2.91 release, Blender 2.92 is currently in Alpha and one of the most exciting new features is Geometry Nodes. Part of the everything as nodes strategy for future Blender development, the addition of geometry nodes will add procedural capabilities to Blender without requiring programming or scripting. Before the 2.92 alpha, Geometry Nodes were a separate branch with the project page available here.

When using Geometry Nodes, you are can create or modify geometry in your Blender scene using the new Geometry Node Editor. The process is very similar to the current way Shaders and Cycles materials are constructed. The selection of nodes are documented in the manual, however most descriptions are pretty sparse at this point. If you want to get started with nodes you need to run Blender 2.92 or later. Until it is formally released, the best place to get alpha and beta Blender releases is here.

There are two example projects to get you started. The best one currently is this one which shows how to use nodes to scatter rocks across your scene. There is another project that will showcase how to procedurally create a tree, however this project is currently just a place holder.

You can learn more about Blender 2.92 and Geometry Nodes in the video below.

[youtube https://www.youtube.com/watch?v=IDoWONJ1e_w?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Facebook Sponsor The Godot Game Engine

The Godot Game Engine have just been sponsored by Facebook Reality Labs. It comes in the form of a grant that is funding future XR (Virtual Reality/Augmented Reality) development. As a direct response to this grant, Bastiaan Olij is now going to be hired full time starting early 2021. In addition to being the lead developer on the Godot VR efforts, Bastiaan also worked on GDNative and other core Godot contributions. He also runs a very solid Godot technical YouTube channel available here.

Some details of the work he will be performing from the Godot news announcement:

  • OpenXR implementation for desktop and mobile. OpenXR is the new open standard for XR (Extended Reality, encompasses Advanced Reality (AR) and Virtual Reality (VR)). The OpenXR specification reached version 1.0 in 2019, and now has multiple conformant implementations by major XR players (Oculus, Microsoft, Valve, and more!). As an open source, cross-platform and vendor neutral game engine, we’re thrilled by the support that IHVs are giving to OpenXR and want to rely on it as our main interface.
  • Extending Godot’s input action system to support VR specific actions across all devices based on their respective capabilities (hand tracking, controller sensors, buttons).
  • Adapt the XR plugin system to the new Vulkan renderer design. While Godot 3.2’s XR support is functional, the upcoming Godot 4.0 release changes all the rendering backend and needs work to make XR functional again.
  • Implement Vulkan rendering on Android. This is necessary for mobile VR devices such as Oculus Quest 2, and will benefit all Godot users who want to make Android games.
  • Various rendering optimizations:
    • Stereoscopic rendering enhancements, providing details about the eye for which an image is rendered.
    • Support for compositor layers, which make it possible to render e.g. UI as an overlay without going through the eye buffer with lens distortion, allowing for sharper and more stable UI.
    • Support for variable rate shading in Vulkan, providing performance gains with techniques such as foveated rendering.
    • Rendering optimizations for mobile, implementing alternative techniques to the ones suitable on desktop platforms for better mobile performance.

This Godot Engine sponsorship from Facebook is their second in less than a month. In November it was announced that Facebook had become corporate sponsors of the open source Blender development fund. Even if you aren’t a big fan of Facebook, this investment in the Godot engine should be a win for everyone. You can learn more about the grant in the video below.

[youtube https://www.youtube.com/watch?v=NNHyorGxwyU?feature=oembed&w=1500&h=844]
Posted on Leave a comment

VoxEdit Beta Hands-On

VoxEdit is a free 3D Voxel graphics editor you can freely download for Windows and Mac OS here, with a Linux version mentioned as “coming soon”. The application is actually designed as the content creation tool for The Sandbox a voxel based game platform where artists can monetize their voxel creations. That said, the modelling portions support exporting in OBJ, FBX and GLTF formats making it useful for use with other engines and DCC tools. The animation tools however cannot export except to the Sandbox marketplace.

The modelling tools have the following features:

  • All-in-One software (Model, Rig, and Animate)
  • Incredible performance
  • Available for Windows and Mac
  • Amazing voxel creation tools
  • High level of detail models
  • Advanced Renderer
  • Versatile Color Palette
  • Friendly 3D environment

These are the key features if you are using VoxEdit as a straight out voxel modelling tool. However if you are intending to publish on the Sandbox marketplace, the tool also has advanced animation features, as well as the ability to define and texture voxel blocks. Neither of these features however support exporting into “open” file formats.

If VoxEdit isn’t to your taste for Voxel modelling, be sure to check out BlockBench or possibly MagicaVoxel for alternatives. You can learn more about VoxEdit in the video below.

Posted on Leave a comment

GameDev Map & Level Creator Humble Bundle

There is a new bundle of interest to game developers, the GameDev Map & Level Creator Bundle. This is a collection of graphics, tiles, backgrounds and tilesets for use in 2D game development. As with all Humble’s this bundle is organized into tiers:

1$ Tier

  • Egyptian Tileset
  • World Map Pixel Art Tileset
  • Super Pixel Dungeon
  • Fantasy Map
  • Night City Game Level Kit
  • Tropical Island 2D Game Tileset
  • Desert Tileset
  • Fantasy Village

15$ Tier

  • Game Level Map Set Kit
  • Fantasy Jungle Pixel Art Tileset
  • House Interiors Tileset Pack
  • City Street Tileset Pack
  • WiraWiri Game Level Map Builder
  • Misty Forest Ground Tiles
  • 595 Medieval 2D Game Asset Pack
  • Platformer Game Tile Set 3
  • Simple RPG Tileset
  • Platformer Game Tile Set 1
  • Super Pixel Ice Cavern Tileset

25$ Tier

  • Cartoon Platformer Tileset Pack
  • Mega Factory Scene Creation Pack
  • Pxiel Art Tileset Collection
  • Game Level Map 9 Different Worlds
  • Underwater Tile Set
  • Isometric Forest
  • Wolfsong Tilesets
  • Top Down Tileset Interior
  • 16 Jump Vertical Game Backgrounds
  • 2D Isometric Starter Style Kit
  • The Dungeon Top Down Tileset
  • Game Level Map Pack Side Scrolling
  • Top Down Tileset Forest
  • Mega Castle & Dungeon Pack
  • Game Level Map Creator For Water Levels
  • Landscape Constructor Set
  • Woodlands Level Map Creator
  • Green Greens Forest Platformer Tileset

As with all Humbles, you get to decide how your funds are allocated, between Humble, charity, the publisher and if you so choose (and thanks if you do!) to support GFS purchasing through this link. An important thing to consider with any purchased assets is the legal license, which is available here. You can learn more about this bundle in the video below.

[youtube https://www.youtube.com/watch?v=DQaceCBz_eo?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Core Engine Monetization With Perks

Developers creating games using the Core game engine can now make money from their creation with the newly announced Perks monetization system. Lagging behind user content platforms like YouTube and Twitch, creating game content is becoming hotter and hotter. With the recent massive IPO of Roblox revealing that developers just made 1/4 billion dollars on the platform it’s obvious there is money to be made here. With the Perks monetization system, Manticore Games are offering developers a much more equitable 50% share instead of the 24.5% currently earned by Roblox developers.

Details from the Core Perks announcement blog:

With Perks, monetizing your games is easy. Simply put, Perks are in-game purchases built specifically for Core. They allow creators to sell in-game benefits and earn Credits from players. Players buy Perks with Core Credits, which creators can then easily convert to fiat (real) currency.

In just a few simple steps, you can make your game free-to-play or premium, require a membership, offer expansion packs, or whatever you want. No matter how you choose to engage and entice your players, we make it simple. And if after going in one economic direction you decide to pivot to another, you can change it up very quickly. Perks always gives you full control over the economics of your games.

Another significant difference is how developers make money and what is covered by the platform. In addition to double the earnings, the Core platform will also be taking care of a bigger portion of the workload as illustrated in this graphic.

Core Costs covered vs Roblox and Steam AppStore Etc

The Core Platform is powered by Unreal Engine and Epic Games have recently taken a stake in the company illustrating a certain belief in the idea. We went hands-on with the Core Engine when the open alpha release was announced. You can check out the video below to learn more about Core and the new Perks monetization program.

[youtube https://www.youtube.com/watch?v=HiLFDbi_kjk?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Blender Tips Everyone Should Know

Today we are taking a look at 3 Blender 2.9 tips that every Blender user should know but probably don’t including enabling experimental mode, undo/redo stack and preventing UI from loading. There is a step by step video embedded below if you get lost on a step in the written version.

Tip 1: Enabling Undo/Redo Stack

If you’re are a error prone as I am, or are the type that likes to experiment, you probably find yourself using undo and redo all the time. If you want to jump forward multiple steps or flip forward and back in the undo history, this feature is for you.

To turn Undo History on, select Edit->Preferences…

Now select Keymap on the left, then locate Screen->Screen(Global) scroll down and locate Add New.

Setting up Undo History in Blender 2.9 settings

Now in the Add New window, expand the arrow, click the Select a Key button and enter Z. Also toggle Ctrl and Alt on, then in the text box area replace “none” with “ed.undo_history” then hit enter, like so:

Configuring Undo History from Ctrl Alt Z

Now if you hit Ctrl + Alt + Z in Blender, you will get an on screen menu to jump forward and back in the undo/redo history stack.

Blender Undo/Redo menu

You can now move forward and back in undo by selecting the state from the window.

Tip 2: Enabling Developer Extras/Experimental Options

With each new release of Blender, especially alpha and beta releases, there are several experimental features. You do however need to enable them. Once again select Edit->Preferences…, then select the Interface tab. Toggle the option next to Developer Extras and the Experimental tab will now be displayed.

Enabling Developer Mode/Experimental Features in Blender 2.9

Clicking the Experimental Tab, you can now turn off and on experimental features by clicking the check box next to each feature. Most features will also have an info link to learn more, which will open the development page in a web browser.

Enabling Experimental features in Blender 2.92

Keep in mind these features are marked as experimental for a reason, do not use them in production.

Tip 3: Preventing UI from Loading When Opening A Blend File

This tip is probably the most obvious, but also the most life changing if you didn’t already know it. When you open a .blend file you download from online you will notice you also get the UI settings of the author of that Blend file. If you’d rather have it load with your own UI settings there are two ways to do it.

First is on a case by case basis. When you open a Blend file using File->Open, in the open dialog, click the gear icon, and unselect Load UI.

Preventing Blender Blend File opening from loading UI

Now if you would prefer to have this setting disabled by default, you can also do it via Edit->Preferences… select the Save & Load tab then disable Load UI.

Disabling Load UI on Blend files in Blender

Also remember, if you want to keep these settings each time you load Blender, you need to save your changes. Simply click the Hamburger icon in the Preferences window and select Save Preferences, you shouldn’t have to perform this step if you have Auto-Save Preferences turned on.

You can see all three to these tips in action in the video below.

[youtube https://www.youtube.com/watch?v=rIfihp237rQ?feature=oembed&w=1500&h=844]
Posted on Leave a comment

Add storage to your Fedora system with LVM

Sometimes there is a need to add another disk to your system. This is where Logical Volume Management (LVM) comes in handy. The cool thing about LVM is that it’s fairly flexible. There are several ways to add a disk. This article describes one way to do it.

Heads up!

This article does not cover the process of physically installing a new disk drive into your system. Consult your system and disk documentation on how to do that properly.

Important: Always make sure you have backups of important data. The steps described in this article will destroy data if it already exists on the new disk.

Good to know

This article doesn’t cover every LVM feature deeply; the focus is on adding a disk. But basically, LVM has volume groups, made up of one or more partitions and/or disks. You add the partitions or disks as physical volumes. A volume group can be broken down into many logical volumes. Logical volumes can be used as any other storage for filesystems, ramdisks, etc. More information can be found here.

Think of the physical volumes as forming a pool of storage (a volume group) from which you then carve out logical volumes for your system to use directly.

Preparation

Make sure you can see the disk you want to add. Use lsblk prior to adding the disk to see what storage is already available or in use.

$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
zram0 251:0 0 989M 0 disk [SWAP]
vda 252:0 0 20G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 19G 0 part
└─fedora_fedora-root 253:0 0 19G 0 lvm /

This article uses a virtual machine with virtual storage. Therefore the device names start with vda for the first disk, vdb for the second, and so on. The name of your device may be different. Many systems will see physical disks as sda for the first disk, sdb for the second, and so on.

Once the new disk has been connected and your system is back up and running, use lsblk again to see the new block device.

$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
zram0 251:0 0 989M 0 disk [SWAP]
vda 252:0 0 20G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 19G 0 part
└─fedora_fedora-root 253:0 0 19G 0 lvm /
vdb 252:16 0 10G 0 disk

There is now a new device named vdb. The location for the device is /dev/vdb.

$ ls -l /dev/vdb
brw-rw----. 1 root disk 252, 16 Nov 24 12:56 /dev/vdb

We can see the disk, but we cannot use it with LVM yet. If you run blkid you should not see it listed. For this and following commands, you’ll need to ensure your system is configured so you can use sudo:

$ sudo blkid
/dev/vda1: UUID="4847cb4d-6666-47e3-9e3b-12d83b2d2448" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="830679b8-01"
/dev/vda2: UUID="k5eWpP-6MXw-foh5-Vbgg-JMZ1-VEf9-ARaGNd" TYPE="LVM2_member" PARTUUID="830679b8-02"
/dev/mapper/fedora_fedora-root: UUID="f8ab802f-8c5f-4766-af33-90e78573f3cc" BLOCK_SIZE="4096" TYPE="ext4"
/dev/zram0: UUID="fc6d7a48-2bd5-4066-9bcf-f062b61f6a60" TYPE="swap"

Add the disk to LVM

Initialize the disk using pvcreate. You need to pass the full path to the device. In this example it is /dev/vdb; on your system it may be /dev/sdb or another device name.

$ sudo pvcreate /dev/vdb
Physical volume "/dev/vdb" successfully created.

You should see the disk has been initialized as an LVM2_member when you run blkid:

$ sudo blkid
/dev/vda1: UUID="4847cb4d-6666-47e3-9e3b-12d83b2d2448" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="830679b8-01"
/dev/vda2: UUID="k5eWpP-6MXw-foh5-Vbgg-JMZ1-VEf9-ARaGNd" TYPE="LVM2_member" PARTUUID="830679b8-02"
/dev/mapper/fedora_fedora-root: UUID="f8ab802f-8c5f-4766-af33-90e78573f3cc" BLOCK_SIZE="4096" TYPE="ext4"
/dev/zram0: UUID="fc6d7a48-2bd5-4066-9bcf-f062b61f6a60" TYPE="swap"
/dev/vdb: UUID="4uUUuI-lMQY-WyS5-lo0W-lqjW-Qvqw-RqeroE" TYPE="LVM2_member"

You can list all physical volumes currently available using pvs:

$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/vda2 fedora_fedora lvm2 a-- <19.00g 0
/dev/vdb lvm2 --- 10.00g 10.00g

/dev/vdb is listed as a PV (phsyical volume), but it isn’t assigned to a VG (Volume Group) yet.

Add the pysical volume to a volume group

You can find a list of available volume groups using vgs:

$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
fedora_fedora 1 1 0 wz--n- 19.00g 0

In this example, there is only one volume group available. Next, add the physical volume to fedora_fedora:

$ sudo vgextend fedora_fedora /dev/vdb
Volume group "fedora_fedora" successfully extended

You should now see the physical volume is added to the volume group:

$ sudo pvs PV VG Fmt Attr PSize PFree
/dev/vda2 fedora_fedora lvm2 a– <19.00g 0
/dev/vdb fedora_fedora lvm2 a– <10.00g <10.00g

Look at the volume groups:

$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
fedora_fedora 2 1 0 wz–n- 28.99g <10.00g

You can get a detailed list of the specific volume group and physical volumes as well:

$ sudo vgdisplay fedora_fedora
--- Volume group ---
VG Name fedora_fedora
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 28.99 GiB
PE Size 4.00 MiB
Total PE 7422
Alloc PE / Size 4863 / 19.00 GiB
Free PE / Size 2559 / 10.00 GiB
VG UUID C5dL2s-dirA-SQ15-TfQU-T3yt-l83E-oI6pkp

Look at the PV:

$ sudo pvdisplay /dev/vdb --- Physical volume --- PV Name /dev/vdb VG Name fedora_fedora PV Size 10.00 GiB / not usable 4.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 2559 Free PE 2559 Allocated PE 0 PV UUID 4uUUuI-lMQY-WyS5-lo0W-lqjW-Qvqw-RqeroE 

Now that we have added the disk, we can allocate space to logical volumes (LVs):

$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root fedora_fedora -wi-ao---- 19.00g

Look at the logical volumes. Here’s a detailed look at the root LV:

$ sudo lvdisplay fedora_fedora/root
--- Logical volume ---
LV Path /dev/fedora_fedora/root
LV Name root
VG Name fedora_fedora
LV UUID yqc9cw-AvOw-G1Ni-bCT3-3HAa-qnw3-qUSHGM
LV Write Access read/write
LV Creation host, time fedora, 2020-11-24 11:44:36 -0500
LV Status available
LV Size 19.00 GiB
Current LE 4863
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0

Look at the size of the root filesystem and compare it to the logical volume size.

$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/fedora_fedora-root 19G 1.4G 17G 8% /

The logical volume and the filesystem both agree the size is 19G. Let’s add 5G to the root logical volume:

$ sudo lvresize -L +5G fedora_fedora/root
Size of logical volume fedora_fedora/root changed from 19.00 GiB (4863 extents) to 24.00 GiB (6143 extents).
Logical volume fedora_fedora/root successfully resized.

We now have 24G available to the logical volume. Look at the / filesystem.

$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/fedora_fedora-root 19G 1.4G 17G 8% /

We are still showing only 19G free. This is because the logical volume is not the same as the filesytem. To use the new space added to the logical volume, resize the filesystem.

$ sudo resize2fs /dev/fedora_fedora/root
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/fedora_fedora/root is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 3
The filesystem on /dev/fedora_fedora/root is now 6290432 (4k) blocks long.

Look at the size of the filesystem.

$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/fedora_fedora-root 24G 1.4G 21G 7% /

As you can see, the root file system (/) has taken all of the space available on the logical volume and no reboot was needed.

You have now initialized a disk as a physical volume, and extended the volume group with the new physical volume. After that you increased the size of the logical volume, and resized the filesystem to use the new space from the logical volume.

Posted on Leave a comment

Wave Engine 3.1 Released

Wave Engine recently released version 3.1. Wave Engine is a completely free to use 3D game engine capable of targeting most platforms and XR devices. We have been keeping an eye on this engine since 2015 when we featured it in the Closer Look series. More recently we looked at Wave Engine again in 2019 when WaveEngine 3.0 was previewed after a long period of silence. After another long period of silence we received the 3.1 release which brings .NET 5 and C# 9 support as well as graphical improvements.

Details from a guest post on the DotNet team blog:

We are glad to announce that, aligned with Microsoft, we have just released WaveEngine 3.1 with official support for .NET 5 and C# 9. So if you are using C# and .NET 5, you can start creating 3D apps based on .NET 5 today. Download it from the WaveEngine download page right now and start creating 3D apps based on .NET 5 today. We would like to share with you our journey migrating from .NET Core 3.1 to .NET 5, as well as some of the new features made possible with .NET 5.

From .NET Core 3.1 to .NET 5

To make this possible we started working on this one year ago, when we decide to rewrite our low-level graphics abstraction API to support the new Vulkan, DirectX12 and Metal graphics APIs. At that time, it was a project based on .NET Framework with an editor based on GTK# which had problems to support new resolutions, multiscreen or the new DPI standards. At that time, we were following all the great advances in performance that Microsoft was doing in .NET Core and the future framework called .NET 5 and we decided that we had to align our engine with this to take advantage of all the new performance features, so we started writing a new editor based on WPF and .NET Core and changed all our extensions and libraries to .NET Core. This took us one year of hard work but the results comparing our old version 2.5 and the new one 3.1 in terms of performance and memory usage are awesome, around 4-5x faster.

Now we have official support for .NET 5 and this technology is ready for .NET 6 so we are glad to become one of the first engines to support it.

In the video below we review Wave Engine 3.1. All of the samples used in the video are available on GitHub. Please note this repository should not be cloned, it simply links to a different repository for each sample.

[youtube https://www.youtube.com/watch?v=9zIQHBPW1E4?feature=oembed&w=1500&h=844]