Fedora 38

Fedora 38 Installation on a Dell 2 in 1 Convertible UEFI PC with SecureBoot

Fedora 38 has just been released. In this guide, I look at installation and setup on a Dell XPS 13 2 in 1 Touchscreen Convertible Device with a WD19TB Thunderbolt Dock. Fedora 38 is the leading edge Linux Distribution and includes Linux Kernel 6.2, the GNOME 44 Desktop Environment and the Wayland Display Protocol. If third-party repositories are enabled, FlatPak packages are installable from Software. Software can seamlessly be used to install new Applications, handles Operating System Updates, Application Updates and Device Firmware Updates via the Linux Vendor Service. This integrated functionality makes Fedora much more logical than most other Linux distributions that typically fragment these components.

Fedora uses a vanilla GNOME however this can be customised using GNOME Tweaks, GNOME Extensions and GNOME Settings as shown in this guide. The GNOME Desktop Environment is the Linux Desktop environment that has the most support for a 2 in 1 Touchscreen Convertible Device exhibiting a Touchscreen Keyboard and Device autorotation out of the box. There are still however some limitations here which will be partially addressed using GNOME Extensions.

Tutorial Video

Minimum System Requirements

These guides cover installation of Linux on a Modern Computer that is subject to the following minimum requirements:

  • Manufactured Date: Late 2015
  • BIOS: UEFI BIOS with Secure Boot*
  • Processor: Intel 6th Generation (i3, i5 or i7) Processor or AMD Ryzen Processor
  • 8 GB RAM
  • NVMe SSD or SATA SSD
  • Touchscreen Convertible (Optional)

* The system requirements for a modern Linux distribution are much lower than those stated above however there was a recent discussion on depreciating the legacy BIOS. i.e. developers are less likely to be testing older systems and these may not run very well. Legacy models will use the legacy XOrg Display Protocol.

Creating a Bootable USB on Windows

You will require:

  • USB Flash Drives: >= 8 GB Capacity
  • Fedora 38 ISO
  • Rufus
  • Latest UEFI Update (Dell, Lenovo, HP)

Insert the USB Flash Drive. Launch Rufus:

img_001

Accept the User Account Control prompt:

img_002

To the top your USB Flash Drive should be listed. Select Select:

img_003

Select the Fedora 38 ISO (it should be in your Downloads folder and not on the USB) and select Open:

img_004

The ISO will be displayed at the bottom. Select GPT, UEFI and FAT32. Then select Start:

img_005

Select Write in ISO Mode and then select OK:

img_006

Select OK at the warning to format the USB Flash Drive:

img_007

The Bootable USB is now created select Close:

img_008

On the Drivers and Download Page. Select your model:

img_009

Seelct manual download and set the category to UEFI/BIOS and download the latest UEFI Update:

img_010

Copy onto the Bootable USB:

img_011

Creating a Bootable USB on Linux

You will require:

  • USB Flash Drives: >= 8 GB Capacity
  • Fedora 38 ISO
  • Fedora Media Writer (preinstalled)
  • Latest UEFI Update (Dell, Lenovo, HP)
img_012

Insert the USB Flash Drive. Launch the Fedora Media Writer from the Start Menu:

img_013

Select Select .iso file and select Next:

img_014

Select the Fedora 38 ISO (it should be in your Downloads folder and not on the USB) and select Select:

img_015

Select the USB Flash Drive and select Write:

img_016

Input your password at the Authentication Prompt in order to proceed:

img_017

The installation media is now complete:

img_018

Fedora Media Writer creates a single partition on the Bootable USB that is the size of the installation media. All remaining space on the USB Flash Drive is allocated to free space:

img_019
img_020

Changing this will stop the USB Flash Drive from booting and therefore you cannot copy other files to it. The UEFI Update should be copied to another USB Flash Drive.

img_021
img_022

Unified Extensive Firmware Interface (UEFI) Setup

The Unified Extensive Firmware Interface (UEFI) is as the name suggests, the firmware interface of your devices motherboard. This firmware is tied to the motherboard and does not change when an operating system is installed on a storage device such as a NVMe SSD.

UEFI is essentially used to configure the firmware settings of the motherboard and the wider device. UEFI is used to select boot devices, perform a data wipe of internal drives and has a number of firmware related security technologies such as Secure Boot.

Despite the wider capabilities of UEFI, the term BIOS is generally used as a synonym to UEFI and computers manufactured pre-2012 are now said to have a Legacy BIOS.

The UEFI should be configured with Secure Boot for optimal Security and performance.

Unfortunately the Linux Kernel has no Intel RAID Driver and the SATA Operation should be configured to AHCI in order for the Linux OS to be able to access any internal drives such as a NVMe SSD.

This will use a Dell XPS 13 9365 as an example. The UEFI screen will slightly differ from model to model and manufacturer to manufacturer.

For a Dell press F2 while powering up to enter the UEFI Setup.

For a Lenovo press F1 while powering up to enter the UEFI Setup.

img_023

In the General Tab select System Information:

img_024
img_025
img_026
img_027

Take note of the:

  • Product Name: XPS 13 9365
  • UEFI Version: 2.24.0
  • Manufacturer Date: October 2017; this system had a replacement motherboard so lists no manufacture date
  • Processor: Intel i7-7V75 (7th Generation)
  • Memory: 8 GB
  • Video: Intel HD 615
  • Audio: Realtek ALC3271
    *Wi-Fi Device: Intel Wireless

In the General Tab select Advanced Boot Options:

img_028

No Legacy Options should be selected:

img_029

In the Secure Boot tab, select Secure Boot:

img_030

It should be Enabled:

img_031

In the System Configuration tab, select SATA Operation:

img_032

Linux has no RAID Storage Controller Driver. In order to recognise the NVMe SSD, the AHCI SATA Operation has to be used:

img_033

Under System Configuration, select Drives:

img_034

The drive type should listed. For best performance this should be a SSD:

img_035

In the Post Behaviour Tab, select FastBoot:

img_036

The default setting should be Auto. With this setting I often get a black screen on my system, with the keyboard backlight illuminated and an incomplete post. In order to get around this I need to hold down the power button for 30 s, wait 10 s and then power it up. Changing this Fast Boot Setting to Thorough reduces the chances of this happening:

img_037

In past versions of Ubuntu the Wireless Card wouldn't be recognised when FastBoot was used. This seems to be fixed with a UEFI update/newer Linux Kernel. Previously the Wireless Card had to be Disabled after the Fast Boot Behaviour was set to thorough using the Wireless switch. Then the system had to be powered on and off. Finally enabling the Wireless Card has to be Enabled using the Wireless switch.

selecting the Wireless Tab, select Wireless Switch:

img_038

Make sure both WLAN and Bluetooth are selected. Turn off the Wireless Card using the Wireless switch. Then power off the system

img_039

Make sure both WLAN and Bluetooth are selected. Turn off the Wireless Card using the Wireless switch. Then power off the system

img_040

In the Virtualisation Tab, the virtualisation technologies can be checked. These should all be enabled:

img_041

In the Maintenance Tab, select Data Wipe:

img_042

Check Start Data Wipe:

img_043

Select OK:

img_044

Select No:

img_045

In the General Tab, select Boot Sequence:

img_046

Scroll down:

img_047

Select Remove Boot Option:

img_048

Check all old Boot Entries, leaving the Fedora 38 UEFI Bootable USB Flash Drive unchecked and select Remove selected Devices:

img_049

Now only the Fedora 38 UEFI Bootable USB Flash Drive should display:

img_050

Select Apply, then OK:

img_051

Select Exit UEFI:

img_052

The system will now reboot to the Data Wipe prompt. This will Securely Erase all Internal Drives, external USB Devices such as the Fedora 38 Bootable USB will be untouched. Use the arrow keys and highlight Continue and press Enter:

img_053

Use the arrow keys and highlight Erase and press Enter:

img_054

The data wipe will proceed:

img_055

You will be informed when it is finished:

img_056

Data Wipe typically takes a couple of minutes for a SSD but can take several hours for a HDD.

UEFI Update from USB

For best results, ensure your system has the latest UEFI Update installed before installing Ubuntu as many boot issues are resolved using the UEFI Update.

The Dell UEFI can be updated from USB. To access the Dell or Lenovo Boot Menu press F12 during powerup:

img_057

Select UEFI Update:

img_058

Select Flash from File:

img_059

Select the USB Flash Drive:

img_060

Scroll down and select the UEFI Update:

img_061

Then select Submit:

img_062

Then select Update UEFI:

img_063

Select Confirm Update:

img_064

The UEFI will now update:

img_065

Fedora Live USB

To access the Dell or Lenovo Boot Menu press F12 during powerup:

img_066

Notice that a UEFI Boot with Secure Boot is shown. Select the Fedora UEFI Bootable USB:

img_067

Press Enter to test the media and start the Fedora Live USB:

img_068

Installing Fedora

Select Install Fedora:

img_069

Select your Language and select Continue:

img_070

Select Instalaltion Destination:

img_071

Your Drive should already be checked and a black checkmark should be shown (selecting the Drive wil uncheck the Drive). The storage configuration should be Automatic. Select Done:

img_072

Select Time & Date:

img_073

Select your location on the map and then select Done:

img_074

Select Begin installation:

img_075

The installation will now proceed. When its done select Finish installation:

img_076

Select the top right quick settings menu and select Power:

img_077

Then Power Off:

img_078

Then Power Off:

img_079

Once the system ahs completely powered off, remove the Bootable USB.

Out of the Box Experience (OOBE)

Powering up should not boot the Fedora installation from the NVMe SSD:

img_080

Teh Fedora splash screen will show:

img_081

Select Start Setup:

img_082

Select your wireless password and then select next:

img_083

Input your wireless password and then select Connect:

img_084

When conencted a black tick should display alongside an icon indicating the signal strength. Select Next:

img_085

Pick your desired privacy settings. The location is needed to use maps and read regional news. Then select next:

img_086

To install third-party software available as a RPM or Flatpak, select Enable Third Party Repositories:

img_087

Select Next:

img_088

Optionally connect to your Online Accounts or select Skip:

img_089

Input your full name and username. Your username has to be all lower case letters without any spaces, as it will be used as part of the file path for your home directory. Select Next:

img_090

Input your password and confirm your password and select next:

img_091

Select Start using Fedora:

img_092

GNOME Tour

Fedora uses an unmodififed version of GNOME which is designed to put the currently seleted window in the focus of the screen. This can be quite confusing for new users as:

  • The touchpad works by pressure opposed to area:
  • 1 finger press = left click
  • 2 finger press = right click
  • 3 finger press = middle click (copy and paste)
  • Windows do not have a maximise and minimise button, a right click context menu can be accessed by right clicking in the area where you expect a minimise and maximise button.
  • The dock and all activities button are hidden.

You will be prompted to take the GNOME Tour, unfortunately this doesn't outline the above sufficiently:

img_093

Moving the mouse to the top corner (top left hot corner) or clicking or pressing the Activities button will show all open activities and every activity open – only one in this case will be shown in a grid. At the bottom the dock displays with the All Activities button:

img_094
img_095

Settings can be launched from All Activities:

img_096

The Accessibility Tab will be selected and the Accessibility Menu will be Enabled:

img_097

This gives access to the onscreen keyboard. Both the touchpad and touchscreen user interfce of GNOME will be examined:

img_098

The About tab can be sued to check the OS Version, GNOME Version, Linux Kernel Version and Windowing System:

img_099

The tour will be examined using a touchpad and a touchscreen:

img_100
img_101

Pressing the super ⊞ button (windows button) will show all open Activities:

img_102

This can also be accessed using the Activities button:

img_103

To search for an Activity or to search on the web, begin typing:

img_104

Pressing into the search box will bring up the screen keyboard:

img_105
img_106
img_107

Workspaces (virtual desktops) can be used to seperate out the workflow

img_108
img_109

On a touchpad 3 finger gestures up or down can be used to open Activities and then continue on to the All Activities screen. Note use three fingers to slide up and down (don't press down):

img_110
img_111
img_112
img_113
img_114

3 finger gestures left or right can be used to switch workspaces:

img_115
img_116
img_117
img_118

The tour is now over:

img_119

As mentioned earlier the touchpad works by pressure opposed to area.

1 finger press = left click:

img_120

2 finger press = right click:

img_121

3 finger press = middle click (copy and paste):

img_122
img_123
img_124
img_125

By default auto-rotation isn't enabled when the keyboard is out and the convertible is in laptop mode:

img_126

Notice the lack of the auto-rotate icon in the quick settings menu:

img_127

When put on its side the screen doesn't rotate:

img_128

When the keyboard is folded back, the convertible is in tablet mode and the auto-rotate icon displays:

img_129

The screen auto-rotates by default. This inverts the screen when the convertible is in tent mode:

img_130

Unfortunately the auto-rotation is a bit slow. If converted back into a laptop too quickly:

img_131
img_132

Because the screen-rotation gets disabled, the system is in a bit of an unusable sdtate meaning it needs to be converted into a laptop, rotated and then converted back into a laptop:

img_133

Software

In Fedora, Software is used to install third party packages in the form of a Redhat Package Manager (RPM) or the more extensively used Flatpak package (when third-party repositories are enabled). A new application can be searched for:

img_134

The Explore Tab can be used to search for a new RPM or FLatpak to install, when both a RPM and a Flatpak are available, the RPM will preferentially be installed because it has been tweaked by RedHat to work better with Fedora:

img_135

The installed tab shows all the preinstalled applications:

img_136

The Updates tab shows all the Operating System Updates, in addition to the Application Updates:

img_137

Once Updates are downloaded you will be prompted to Restart & Install:

img_138
img_139

The Updates Tab also has a Device Firmware section which uses the Linux Vendor Firmware Service for UEFI Updates and other Firmware Updates for Devices such as Docks. In this case the Device Firmware for the WD19TB Dock displays. Select Update:

img_140

Then remove the Dock when prompted:

img_141

After a few minutes reconnect. The Software is now up to date. To check the Firmware versions, the Terminal can be launched:

img_142

And the following command can be input:

fwupdmgr get-devices
img_143
img_144
img_145
img_146
img_147

Fedora uses the Wayland display protocol and has Enable High DPI scaling enabled by default so plugging in the XPS 13 9365 which has a High DPI touchscreen to a dock with an external monitor of a regular DPI works seamlessly:

img_148

Most devices have open-source drivers which are worked on by both the chip manufacturer and the kernel developers to give the most stable OOBE.

Some chip manufacturers did not release open-source drivers resulting in a basic driver essentially hacked together by the kernel developers for an OOBE and usually a separate closed-source driver released by the chip manufacturer. The closed-source driver usually increases functionality of the device but can lack performance and stability tweaks from the kernel developers which optimise stability of the driver with the Linux kernel.

The biggest culprit for this has historically been Nvidia however they have recently been releasing open-source drivers which should alleviate driver problems with their devices.

At current the new open-source driver developed by NVIDIA and Linux Kernel developers is under development and is therefore not incorporated into the Linux Kernel yet. A search for NVIDIA gives two drivers 470xx (the old closed source driver) and 530xx (the new open source driver):

img_149

If your graphics card is listed as a NVIDIA Supported Devices the newer open-source driver should be installed otherwise the older closed-source driver should be installed for best performance.

This system has Intel Integrated Graphics and therefore does not require installation of a NVIDIA graphics driver.

img_150

GNOME Settings, Tweaks and Extensions

Fedora uses a vanilla GNOME Desktop environment as previously discussed. The GNOME Settings offer limited Appearance options:

img_151
img_152

Two other Applications are typically installed to offer additional customisation options. To install these Applications open Software:

img_153

Search for Extension Manager. Note there are two available, one with a green icon which allows limited installation of a handful of official extensions and a blue icon which allows installation of these and third-party extensions. Select the blue icon:

img_154

Install Tweaks:

img_155

The Tweaks icon is in the Utilities folder by default and can be dragged out to the main menu on the All Activities screen:

img_156
img_157
img_158
img_159

By default windows have no minimise and maximise button in Fedora, instead a right click menu can be accessed by right clicking the top right section of the titlebar.

img_160

These can be added in the Windows Titlebar section of GNOME Tweaks by turning on the Minimise and Maximise Titlebar Buttons:

img_161

The Touchpad by default acts as a pressure sensor for 1, 2 and 3 finger presses. This can be changed in the Mouse Click EMulation Settings:

img_162

Fingers is the default:

img_163

This can be changed to Area for a more traditional behaviour:

img_164

GNOME Extensions can be installed. A notice states that extensions can cause instability and performance issues with the GNOME shell baring in mind that most extensions are unofficial and not tested directly by RedHat or GNOME developers:

img_165

In the browse tab, extensions will be lsited by popularity. An extension can also be searched for:

img_166

Dash to Dock is a popular GNOME extension. A modified version of this extension is installed by Canonical on Ubuntu for example. It can be Installed by selecting Install:

img_167

Then install again:

img_168

The dock now displays:

img_169

On the installed tab, the extensions settings can be modified:

img_170

The dock is by default shown at the bottom:

img_171

It can be changed to a panel which extends to the edges of the screen:

img_172

It can be moved to the left:

img_173

Autohiding is enabled by default, this can be disabled:

img_174

Now the panel always shows:

img_175

The minimise button minimises open application windows to the panel:

img_176
img_177

These can be maximied by selecting the respective icon on the panel:

img_178

If autohiding is enabled:

img_179

The panel will autohide when a window is dragged above it or maximised:

img_180
img_181
img_182
img_183

Canonical have the following settings enabled by default in Ubuntu; Left, Autohide Disabled and Panel Mode:

img_184

Another common configuration is the bottom:

img_185

In the launcher tab, the All Apps Buttonn can be moved to the start of the Panel:

img_186
img_187

The behaviour and the appearance tab can be used for additional modifications:

img_188
img_189
img_190
img_191
img_192
img_193

Another common extension is Desktop Icons NG. This is once again prisntalled by Canonocal in Ubuntu:

img_194

Once installed, in the install tab, the Desktop icons settings can be changed:

img_195

For example optionally moving them to the top left corner and disabling some system icons:

img_196

If the mouse is moved to the top left hot corner, the Activities display. Canonical disable this behaviour by default leaving Activities only accessible by left clicking the button:

img_197

This can be Disabled in the Multitasking tab in Settings:

img_198

There are numerous problems with the Screen Keyboard. It doesn't auto-populate in many applications in response to pressing into a touch input field. Many applications are based on the open source browser Chromium but Chromium only supports the text input version 1 and not version 3 which is used by the GNOME keyboard, see Issue 1039161: Ozone-wayland: support text_input_v3 protocol. GNOME Developers are waiting on Chromium developers to fix this before further improving the touch keyboard. In the meantime the screen keyboard is subpar and its limitations can be partially addressed using the improved OSK extension:

img_199

Once installed, this extensions settings can be configured:

img_200

It is recommended to enable Force touch-input and show statusbar icon:

img_201

When pressing into a text input field in Chromium, the Screen Keyboard does not auto-populate:

img_202

But can be manually invoked using the touchscreen keyboard button:

img_203

This button should work even if the screen keyboard is disabled in the Accessibility menu however if it does not display, screen keyboard may need to be enabled in the accessibility menu.

img_204

The Extension Show Desktop can be used to minimise all windows to show the desktop:

img_205

Unfortunately the desktop icon only seems to work with a mouse click and not a touch press:

img_206

The clipboard history extension is used to include a paste clipboard:

img_207
img_208
img_209

Items can be pinned to it:

img_210
img_211

The Screen Rotate Extension can be used to invoke a faster screen rotate that occurs when the convertible is in laptop mode:

img_212

GNOME Screen Capture

If the prt sc button is pressed, GNOME screen capture launches:

img_213

It can be used to make a selection, capture the screen or to capture a window:

img_214
img_215
img_216
img_217
img_218
img_219

A window can also be captured using its right click context menu (right click the titlebar near the minimise button or where the minimise button should be if not enabled in GNOME tweaks):

img_220
img_221
img_222

There is a preinstalled image viewer:

img_223
img_224
img_225

Unfortunately very wide margins are added when a window is selected:

img_226
img_227
img_228

The right click context menu can be used to open the image up with an image manipulation program. The most commonly used image manipualtion program on Linux is GIMP which can be installed from Software:

img_229

GIMP is however often considered too much for the simple modification of a screenshot. Unfortunately there is no good equivalent to modern paint. The closest is drawing. There is also kolourpaint which resembles the legacy paint from Windows XP and like the legacy paint does not support high DPI screens. Its user interface is also less smooth than the legacy paint application.

img_230
img_231
img_232

GNOME screen capture can also be used for a screen recording:

img_233

When recording a timer to the top right counts up:

img_234

This can be pressed to stop the recording:

img_235
img_236
img_237

The screen recording can be played in the video player:

img_238

If there are issues regarding multi-media codecs, go to Software search for Codec and make sure they are all installed, the reboot. If you still encoutner issues, install VLC player:

img_239

Unfortunately the screen recording does not capture the mouse and there is no option to enable this setting hopefully this will be addressed in the future.

Libre Office is the preinstalled office suite and Drawing can also be installed from Software if desired.

img_240

A popular Office Suite that can optionalyl be isntalled, with a higher degree of compatibility and a more similar user interface to Microsoft Office is OnlyOffice Desktop Editors. There is a Document, SpreadSheet and Presentation equivalent to Word, Excel and PowerPoint respectively. Unfortunately at current there is no analogous Visio program.

Only Office Desktop Editors has been under rapid development and now supports an equation editor:

img_241
img_242
img_243
img_244

Paste special options have also been added making it easier to transpose data which was previously moderately difficult:

img_245
img_246
img_247

I've not came across good extensions that replicate Snap Layouts. GNOME Window snapping across multiple monitors is limited with ⊞+→ or ⊞+← or ⊞+↑ not being able to move a window from one monitor to another. The gsnap and wintile extensions are supposed to enable this behaviour but have not yet been updated to support GNOME 44 so I've not tested these.

I've also not came across an extension that replicates the Emoji Panel on Windows. Particularly the component with Mathematical Symbols and Greek letters as I rarely use the actual emojis.