<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://thinkserver.freddythechick.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sam</id>
	<title>ThinkServer - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://thinkserver.freddythechick.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sam"/>
	<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/wiki/Special:Contributions/Sam"/>
	<updated>2026-05-30T19:39:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1060</id>
		<title>Jellyfin</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1060"/>
		<updated>2026-05-21T20:22:03Z</updated>

		<summary type="html">&lt;p&gt;Sam: Updated version numbers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices.&lt;br /&gt;
&lt;br /&gt;
An RPM package is not provided for openSUSE so Jellyfin must be installed from the Linux manual install tarball. This guide will explain how to do this. This guide is written with the current version (at the time of writing) of Jellyfin 10.11.9.&lt;br /&gt;
&lt;br /&gt;
== What you need to know ==&lt;br /&gt;
&lt;br /&gt;
You will need to download the following:&lt;br /&gt;
* Jellyfin Generic Linux Server package&lt;br /&gt;
* &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;tarball&lt;br /&gt;
&lt;br /&gt;
The following packages need installing:&lt;br /&gt;
* &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following packages need installing from Packman:&lt;br /&gt;
* &amp;lt;code&amp;gt;libx264-devel&amp;lt;/code&amp;gt; - required&lt;br /&gt;
* &amp;lt;code&amp;gt;libx265-devel&amp;lt;/code&amp;gt; - optional for H.265/HEVC transcoding&lt;br /&gt;
* &amp;lt;code&amp;gt;SVT-AV1-devel&amp;lt;/code&amp;gt; - optional for AV1 transcoding&lt;br /&gt;
&lt;br /&gt;
== Installing Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
* Create the directory &amp;lt;code&amp;gt;sudo mkdir /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the directory &amp;lt;code&amp;gt;cd /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the latest tarball from the [https://repo.jellyfin.org/?path=/server/linux/latest-stable/amd64 Jellyfin website] - for example, &amp;lt;code&amp;gt;sudo wget https://repo.jellyfin.org/files/server/linux/latest-stable/amd64/jellyfin_10.11.9-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Unzip the tar archive, &amp;lt;code&amp;gt;sudo tar Jxvf jellyfin_10.11.9-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin and run it as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.sh&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 JELLYFINDIR=&amp;quot;/opt/jellyfin&amp;quot;&lt;br /&gt;
 FFMPEGDIR=&amp;quot;/usr/share/jellyfin-ffmpeg/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $JELLYFINDIR/jellyfin/jellyfin \&lt;br /&gt;
  -d $JELLYFINDIR/data \&lt;br /&gt;
  -C $JELLYFINDIR/cache \&lt;br /&gt;
  -c $JELLYFINDIR/config \&lt;br /&gt;
  -l $JELLYFINDIR/log \&lt;br /&gt;
  --ffmpeg $FFMPEGDIR/ffmpeg&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo chmod +x jellyfin.sh&amp;lt;/code&amp;gt; to make the script executable&lt;br /&gt;
&lt;br /&gt;
=== Install service script ===&lt;br /&gt;
&lt;br /&gt;
This will guide you on how to create a script to start Jellyfin as a service on startup.&lt;br /&gt;
&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;cd /etc/systemd/system&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.service&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Jellyfin&lt;br /&gt;
 After=network.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=simple&lt;br /&gt;
 User=root&lt;br /&gt;
 Restart=always&lt;br /&gt;
 ExecStart=/opt/jellyfin/jellyfin.sh&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Correct the permissions of the service file &amp;lt;code&amp;gt;sudo chmod 644 jellyfin.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
openSUSE does not come with an FFmpeg version that includes propriety formats such as H.264 and H.265/HEVC. We need to install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; which includes these formats and is tailored for hardware encoding for Jellyfin. A few dependencies need installing first.&lt;br /&gt;
&lt;br /&gt;
* We need to add the Packman repository that includes the dependencies we need &amp;lt;code&amp;gt;sudo zypper addrepo -cfp 90 &#039;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/&#039; packman&amp;lt;/code&amp;gt;&lt;br /&gt;
* Refresh zypper to load the new repositories &amp;lt;code&amp;gt;sudo zypper ref&amp;lt;/code&amp;gt;. Accept the keys needed for the repositories.&lt;br /&gt;
* Install the base proprietary codecs &amp;lt;code&amp;gt;sudo zypper install --allow-vendor-change --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install the dependency packages depending on what you need: &amp;lt;code&amp;gt;sudo zypper in libx264-devel libx265-devel SVT-AV1-devel&amp;lt;/code&amp;gt;. Allow any extra dependencies these may require.&lt;br /&gt;
* Install the base packages need to compile &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;sudo zypper in gcc make yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move to your home downloads folder &amp;lt;code&amp;gt;cd ~/Downloads&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; from [https://github.com/jellyfin/jellyfin-ffmpeg/releases GitHub]. Ensure that the version is compatible with the version of Jellyfin you have installed (sometimes you may have to use an older ffmpeg package, depending on the version of Jellyfin you are installing) - for example Jellyfin 10.11.9 is compatible with the latest &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; package 7.1.3-6. Download the source tar.gz package with &amp;lt;code&amp;gt;wget https://github.com/jellyfin/jellyfin-ffmpeg/archive/refs/tags/v7.1.3-6.tar.gz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; You may need to expand the Assets tab to show the downloadable packages.&lt;br /&gt;
* Extract the package with &amp;lt;code&amp;gt;tar zxvf v7.1.3-6.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the folder created &amp;lt;code&amp;gt;cd jellyfin-ffmpeg-7.1.3-6&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run &amp;lt;code&amp;gt;./configure --prefix=/usr/share/jellyfin-ffmpeg --enable-libx264 --enable-libx265 --enable-libsvtav1 --enable-gpl&amp;lt;/code&amp;gt;.&lt;br /&gt;
This will configure the package to be installed to &amp;lt;code&amp;gt;/usr/share/jellyfin-ffmeg&amp;lt;/code&amp;gt; with H.264, H.265/HEVC and AV1. Due to H.264 and H.265/HEVC being licensed under a GPL license, the whole package will be licensed under GPL which is enabled by the switch. This can be configured as needed by adding/removing switches.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;. This will compile the code and may take a while&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt; to install&lt;br /&gt;
&lt;br /&gt;
== Initial run and starting the service ==&lt;br /&gt;
&lt;br /&gt;
We need to run Jellyfin so that the initial directories needed for running are created.&lt;br /&gt;
&lt;br /&gt;
* Move back into the Jellyfin directory and initially run the Jellyfin script created earlier &amp;lt;code&amp;gt;sudo ./jellyfin.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Check that it runs correctly with no errors (indicated by &amp;lt;code&amp;gt;[ERR]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[FTL]&amp;lt;/code&amp;gt;in red&lt;br /&gt;
* Once it has started, close the script by pressing {{key press|Ctrl|C}}&lt;br /&gt;
* Reload the system daemons to allow the service to load &amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run the Jellyfin service and check it starts &amp;lt;code&amp;gt;sudo systemctl start jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you&#039;d like Jellyfin to run on startup, run &amp;lt;code&amp;gt;sudo systemctl enable jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
Jellyfin is configured through the web browser. Open a web browser and go to the following address: &amp;lt;code&amp;gt;http://localhost:8096&amp;lt;/code&amp;gt;. You should get the first run installer after installation is complete.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; If you are reinstalling and starting from scratch, run a private window of your browser to set the server up or it will keep trying to connect to the old server from before. You may need to delete the site settings to get it working again.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=CPU_feature_flags&amp;diff=1059</id>
		<title>CPU feature flags</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=CPU_feature_flags&amp;diff=1059"/>
		<updated>2026-03-06T22:22:27Z</updated>

		<summary type="html">&lt;p&gt;Sam: Added AVX and AVX512, added codenames&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are the explanations for the CPU flags available in Linux under Hardware information.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CPU flag&lt;br /&gt;
! Flag meaning&lt;br /&gt;
|-&lt;br /&gt;
| 3DNOW&lt;br /&gt;
| A multimedia extension created by AMD for its processors, based on/almost equivalent to Intel&#039;s MMX extensions.&lt;br /&gt;
|-&lt;br /&gt;
| 3DNOWEXT&lt;br /&gt;
| 3DNOW Extended. Also known as AMD&#039;s 3DNow! Enhanced/3DNow! Extensions.&lt;br /&gt;
|-&lt;br /&gt;
| APIC&lt;br /&gt;
| Advanced Programmable Interrupt Controller.&lt;br /&gt;
|-&lt;br /&gt;
| AVX&lt;br /&gt;
| Advanced Vector Extensions (&#039;&#039;Gesher New Instructions&#039;&#039;/&#039;&#039;Sandy Bridge New Instructions&#039;&#039;) - vector instructions based on 256-bit registers.&lt;br /&gt;
|-&lt;br /&gt;
| AVX2&lt;br /&gt;
| Advanced Vector Extensions 2 (&#039;&#039;Haswell New Instructions&#039;&#039;) - vector instructions based on 256-bit registers.&lt;br /&gt;
|-&lt;br /&gt;
| AVX512&lt;br /&gt;
| Advanced Vector Extensions 512 - vector instructions based on 512-bit registers.&lt;br /&gt;
|-&lt;br /&gt;
| CLFSH/CLFlush&lt;br /&gt;
| Cache Line Flush.&lt;br /&gt;
|-&lt;br /&gt;
| CMOV&lt;br /&gt;
| Conditional Move/Compare Instruction.&lt;br /&gt;
|-&lt;br /&gt;
| CMP_Legacy&lt;br /&gt;
| Register showing the CPU is not Hyper-Threading capable.&lt;br /&gt;
|-&lt;br /&gt;
| Constant_TSC&lt;br /&gt;
| On Intel Pentium 4&#039;s, the TSC runs with constant frequency independent of CPU frequency when EST is used.&lt;br /&gt;
|-&lt;br /&gt;
| CR8Legacy&lt;br /&gt;
| CR8 in 32-bit mode.&lt;br /&gt;
|-&lt;br /&gt;
| CX8&lt;br /&gt;
| CMPXCHG8B Instruction (Compare and exchange 8 bytes. Also known as F00F, which is an abbreviation of the hexadecimal encoding of an instruction that exhibits a design flaw in the majority of older Intel Pentium CPU&#039;s).&lt;br /&gt;
|-&lt;br /&gt;
| CX16&lt;br /&gt;
| CMPXCHG16B Instruction (CMPXCHG16B allows for atomic operations on 128-bit double quadword (or oword) data types. This is useful for high resolution counters that could be updated by multiple processors (or cores). Without CMPXCHG16B the only way to perform such an operation is by using a critical section).&lt;br /&gt;
|-&lt;br /&gt;
| DE&lt;br /&gt;
| Debugging Extensions.&lt;br /&gt;
|-&lt;br /&gt;
| DS&lt;br /&gt;
| Debug Store.&lt;br /&gt;
|-&lt;br /&gt;
| DS_CPL&lt;br /&gt;
| CPL qualified Debug Store (whatever CPL might mean in this context).&lt;br /&gt;
|-&lt;br /&gt;
| DTS&lt;br /&gt;
| Could mean either Debug Trace Store or Digital Thermal Sensor, depending on source.&lt;br /&gt;
|-&lt;br /&gt;
| EIST/EST&lt;br /&gt;
| Enhanced Intel SpeedStep Technology.&lt;br /&gt;
|-&lt;br /&gt;
| EPT&lt;br /&gt;
| Extended Page Tables (Intel, similar to NPT on AMD).&lt;br /&gt;
|-&lt;br /&gt;
| FID&lt;br /&gt;
| Frequency IDentifier.&lt;br /&gt;
|-&lt;br /&gt;
| FPU&lt;br /&gt;
| x87 Floating Point Unit built into the CPU. This is where most mathematically intense calculations take place. Used to be a separate chip on the 80486SX and earlier (called the 80487 or 80387, etc. 80486DX had FPU built-in as well). All Pentium CPUs and later have this functionality built in.&lt;br /&gt;
|-&lt;br /&gt;
| FXSR&lt;br /&gt;
| FXSAVE/FXRSTOR. (The FXSAVE instruction writes the current state of the x87 FPU, MMX technology, Streaming SIMD Extensions, and Streaming SIMD Extensions 2 data, control, and status registers to the destination operand. The destination is a 512-byte memory location. FXRSTOR will restore the state saves).&lt;br /&gt;
|-&lt;br /&gt;
| FXSR_OPT&lt;br /&gt;
| FXSR optimisations.&lt;br /&gt;
|-&lt;br /&gt;
| HT&lt;br /&gt;
| Hyper-Transport. Note that the same abbreviation might is also used to indicate Hyper-Threading (see below).&lt;br /&gt;
|-&lt;br /&gt;
| HTT/HT&lt;br /&gt;
| Hyper-Threading. An Intel technology that allows quasi-parallel execution of different instructions on a single core. The single core is seen by applications as if it were two (or potentially more) cores. However, two true CPU cores are almost always faster than a single core with HyperThreading. This flag indicates support in the CPU when checking the flags in /proc/cpuinfo on Linux systems.&lt;br /&gt;
|-&lt;br /&gt;
| HVM&lt;br /&gt;
| Hardware support for virtual machines (Xen abbreviation for AMD SVM / Intel VMX).&lt;br /&gt;
|-&lt;br /&gt;
| LAHF_LM&lt;br /&gt;
| Load Flags into AH Register, Long Mode.&lt;br /&gt;
|-&lt;br /&gt;
| LM&lt;br /&gt;
| Long Mode (64bit Extensions, AMD&#039;s AMD64 or Intel&#039;s EM64T).&lt;br /&gt;
|-&lt;br /&gt;
| MCA&lt;br /&gt;
| Machine Check Architecture.&lt;br /&gt;
|-&lt;br /&gt;
| MCE&lt;br /&gt;
| Machine Check Exception.&lt;br /&gt;
|-&lt;br /&gt;
| MMX&lt;br /&gt;
| It is rumoured to stand for MultiMedia eXtension or Multiple Math or Matrix Math eXtension, but officially it is a meaningless acronym trademarked by Intel.&lt;br /&gt;
|-&lt;br /&gt;
| MMXEXT&lt;br /&gt;
| MMX Extensions – an enhanced set of instructions compared to MMX.&lt;br /&gt;
|-&lt;br /&gt;
| MNI&lt;br /&gt;
| Modular Network Interface or Merom New Instruction (see SSSE3).&lt;br /&gt;
|-&lt;br /&gt;
| MON/MONITOR&lt;br /&gt;
| CPU Monitor.&lt;br /&gt;
|-&lt;br /&gt;
| MSR&lt;br /&gt;
| RDMSR and WRMSR Support.&lt;br /&gt;
|-&lt;br /&gt;
| MTRR&lt;br /&gt;
| Memory Type Range Register.&lt;br /&gt;
|-&lt;br /&gt;
| NPT&lt;br /&gt;
| Nested Page Tables (AMD, similar to EPT on Intel).&lt;br /&gt;
|-&lt;br /&gt;
| NX&lt;br /&gt;
| No eXecute, a flag that can be set on memory pages to disable execution of code in these pages.&lt;br /&gt;
|-&lt;br /&gt;
| PAE&lt;br /&gt;
| Physical Address Extensions. PAE is the added ability of the IA32 processor to address more than 4 GB of physical memory using Intel&#039;s 36bit page addresses instead of the standard 32bit page addresses to access a total of 64gibibytes of RAM. Most AMD chips support PAE as well.&lt;br /&gt;
&lt;br /&gt;
PAE is the second method supported to access memory above 4 GB (PSE36 being the first); this method has been widely implemented. PAE maps up to 64 GB of physical memory into a 32-bit (4 GB) virtual address space using either 4-KB or 2-MB pages. The Page directories and the page tables are extended to 8 byte formats, allowing the extension of the base addresses of page tables and page frames to 24 bits (from 20 bits). This is where the extra four bits are introduced to complete the 36-bit physical address.&lt;br /&gt;
&lt;br /&gt;
Windows supports PAE with 4-KB pages. PAE also supports a mode where 2-MB pages are supported. Many of the UNIX operating systems rely on the 2 MB-page mode. The address translation is done without the use of page tables (the PDE supplies the page frame address directly). &lt;br /&gt;
|-&lt;br /&gt;
| PAT&lt;br /&gt;
| Page Attribute Table.&lt;br /&gt;
|-&lt;br /&gt;
| PBE&lt;br /&gt;
| Pending Break Encoding.&lt;br /&gt;
|-&lt;br /&gt;
| PGE&lt;br /&gt;
| PTE Global Bit.&lt;br /&gt;
|-&lt;br /&gt;
| PNI&lt;br /&gt;
| Prescott New Instruction. This was the codename for SSE3 before it was released on the Intel Prescott processor (which was later added to the Pentium 4 family name).&lt;br /&gt;
|-&lt;br /&gt;
| PSE&lt;br /&gt;
| Page Size Extensions (See PSE36).&lt;br /&gt;
|-&lt;br /&gt;
| PSE36&lt;br /&gt;
| Page Size Extensions 36. IA-32 supports two methods to access memory above 4 GB (32 bits). PSE (Page Size Extension) was the first method, which shipped with the Pentium II. This method offers a compatibility advantage because it kept the PTE (page table entry) size of 4 bytes. However, the only practical implementation of this is through a driver. This approach suffers from significant performance limitations, due to a buffer copy operation necessary for reading and writing above 4 GB. PSE mode is used in the PSE 36 RAM disk usage model.&lt;br /&gt;
&lt;br /&gt;
PSE uses a standard 1K directory and no page tables to extend the page size 4-MB (eliminating one level of indirection for that mode). The Page Directory Entries (PDE) contains 14 bits of address, and when combined with the 22-bit byte index, yields the 36 bits of extended physical address. Both 4-KB and 4-MB pages are simultaneously supported below 4 GB, with the 4-KB pages supported in the standard way.&lt;br /&gt;
&lt;br /&gt;
Note that pages located above 4 GB must use PSE mode (with 4-MB page sizes).&lt;br /&gt;
|-&lt;br /&gt;
| SEP&lt;br /&gt;
| SYSENTER and SYSEXIT.&lt;br /&gt;
|-&lt;br /&gt;
| SS&lt;br /&gt;
| Self-Snoop.&lt;br /&gt;
|-&lt;br /&gt;
| SSE&lt;br /&gt;
| Streaming SIMD Extensions. Developed by Intel for its Pentium III but also implemented by AMD processors from Athlon XP onwards.&lt;br /&gt;
|-&lt;br /&gt;
| SSE2&lt;br /&gt;
| Streaming SIMD Extensions 2 (An additional 144 SIMDs). Introduced by Intel Pentium 4 and on AMD since Athlon 64.&lt;br /&gt;
|-&lt;br /&gt;
| SSE3&lt;br /&gt;
| Streaming SIMD Extensions 3 (An additional 13 instructions). Introduced with “Prescott” revision Intel Pentium 4 processors. AMD introduced SSE3 with the Athlon 64 &amp;quot;Venice&amp;quot; revision.&lt;br /&gt;
|-&lt;br /&gt;
| SSSE3&lt;br /&gt;
| Supplemental Streaming SIMD Extension 3 (SSSE3 contains 16 new discrete instructions over SSE3). Introduced on Intel Core 2 Duo processors. No AMD chip supports SSSE3 yet.&lt;br /&gt;
|-&lt;br /&gt;
| SSE4&lt;br /&gt;
| Streaming SIMD Extentions 4. Introduced with &amp;quot;Nehalem&amp;quot; processor in 2008. Also known as &amp;quot;Nehalem New Instructions&amp;quot; (NNI).&lt;br /&gt;
|-&lt;br /&gt;
| SSE4_1&lt;br /&gt;
| Streaming SIMD Extentions 4.1.&lt;br /&gt;
|-&lt;br /&gt;
| SSE4_2&lt;br /&gt;
| Streaming SIMD Extentions 4.2.&lt;br /&gt;
|-&lt;br /&gt;
| SVM&lt;br /&gt;
| Secure Virtual Machine. (AMD&#039;s virtualization extensions to the 64-bit x86 architecture, equivalent to Intel&#039;s VMX, both also known as HVM in the Xen hypervisor).&lt;br /&gt;
|-&lt;br /&gt;
| SYSCALL&lt;br /&gt;
| System Call (the mechanism used by an application program to request service from the operating system).&lt;br /&gt;
|-&lt;br /&gt;
| TM&lt;br /&gt;
| Thermal Monitor.&lt;br /&gt;
|-&lt;br /&gt;
| TM2&lt;br /&gt;
| Thermal Monitor 2.&lt;br /&gt;
|-&lt;br /&gt;
| TNI&lt;br /&gt;
| Tejas New Instruction. See SSSE3.&lt;br /&gt;
|-&lt;br /&gt;
| TPR&lt;br /&gt;
| Task Priority Register.&lt;br /&gt;
|-&lt;br /&gt;
| TPR_SHADOW&lt;br /&gt;
| Shadowed Task Priority Registers (for virtualization).&lt;br /&gt;
|-&lt;br /&gt;
| TS&lt;br /&gt;
| Thermal Sensor.&lt;br /&gt;
|-&lt;br /&gt;
| TSC&lt;br /&gt;
| Time Stamp Counter.&lt;br /&gt;
|-&lt;br /&gt;
| TTP&lt;br /&gt;
| Thermal Trip.&lt;br /&gt;
|-&lt;br /&gt;
| VID&lt;br /&gt;
| Voltage IDentifier&lt;br /&gt;
|-&lt;br /&gt;
| VME&lt;br /&gt;
| Virtual-8086 Mode Enhancement.&lt;br /&gt;
|-&lt;br /&gt;
| VMX&lt;br /&gt;
| Intel&#039;s equivalent to AMD&#039;s SVM.&lt;br /&gt;
|-&lt;br /&gt;
| VNMI&lt;br /&gt;
| Virtual NMI (non-maskable interrupts) (for virtualization).&lt;br /&gt;
|-&lt;br /&gt;
| VPID&lt;br /&gt;
| Virtual Processor ID (for virtualization).&lt;br /&gt;
|-&lt;br /&gt;
| x2APIC&lt;br /&gt;
| New APIC controller introduced with the Nehalam architecture&lt;br /&gt;
|-&lt;br /&gt;
| XTPR&lt;br /&gt;
| TPR register chipset update control messenger. Part of the APIC code&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_15.6&amp;diff=1058</id>
		<title>OpenSUSE Leap 15.6</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_15.6&amp;diff=1058"/>
		<updated>2026-02-22T18:01:56Z</updated>

		<summary type="html">&lt;p&gt;Sam: Removed unsupported banner&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the Linux distribution my server was based on. More information is available [https://www.opensuse.org/ here]. &lt;br /&gt;
&lt;br /&gt;
If you are looking to install openSUSE, you should look at installing {{Current openSUSE}}, the latest version.&lt;br /&gt;
&lt;br /&gt;
If you are still looking to install openSUSE, there are more details in [[obtaining openSUSE Leap 15.6]].&lt;br /&gt;
&lt;br /&gt;
== Changes to openSUSE ==&lt;br /&gt;
&lt;br /&gt;
=== Closing the Gap ===&lt;br /&gt;
&lt;br /&gt;
Starting with Leap 42.1, work commenced to align openSUSE Leap&#039;s code using SUSE Enterprise Linux as the base code. This [https://www.suse.com/c/closing-the-leap-gap-src/ Closing the Leap Gap] project has finally taken shape in openSUSE 15.3 with this release using SUSE Linux Enterprise packages where possible. You will notice this with the additional update repositories that are added in this release. This will allow stable releases to be built based on the rock solid reliability of SUSE Linux Enterprise.&lt;br /&gt;
&lt;br /&gt;
Releases are now in line with SUSE Enterprise Linux, with openSUSE 15.4, openSUSE 15.5 and openSUSE 15.6 now expected to align with the SUSE Enterprise Linux releases instead of the anticipated jump to openSUSE 16.0 as would have happened before.&lt;br /&gt;
&lt;br /&gt;
32-bit versions are no longer available, only 64-bit (x86_64) now. SUSE Enterprise Linux has not supported 32-bit for a long time and being more in line with SUSE Enterprise Linux, openSUSE now shares this trait. Most modern CPU&#039;s now support 64-bit (Intel Pentium 4&#039;s with the Prescott 2M core from 2005 onwards support x86_64). The rolling release, [[openSUSE Tumbleweed]] still supports 32-bit versions if needed.&lt;br /&gt;
&lt;br /&gt;
=== Last 15.x Release ===&lt;br /&gt;
&lt;br /&gt;
This is expected to be the last release in the 15.x branch. The next version of openSUSE Leap is expected to be 16.0 with some large changes to how the operating system operates expected.&lt;br /&gt;
&lt;br /&gt;
== Installation notes/Known Issues ==&lt;br /&gt;
&lt;br /&gt;
Due to the Closing the Leap Gap Project, there have been some major changes within the system that have presented issues while installing this version.&lt;br /&gt;
&lt;br /&gt;
* If upgrading, check the &amp;quot;Unneeded Packages&amp;quot; category in YaST once upgraded to remove any lingering unneeded packages from the previous version.&lt;br /&gt;
* MariaDB now uses system authentication for the root user - just login as root then type &amp;lt;code&amp;gt;mariadb&amp;lt;/code&amp;gt;. You will be logged in automatically. This differs from before where the root password needed setting before you could use it.&lt;br /&gt;
* To enable TLS in Apache, the following flags need adding to &amp;lt;code&amp;gt;sysconfig&amp;lt;/code&amp;gt;. Edit &amp;lt;code&amp;gt;/etc/sysconfig/apache2&amp;lt;/code&amp;gt; and edit this line:&amp;lt;br&amp;gt;&lt;br /&gt;
 APACHE_SERVER_FLAGS=&amp;quot;SSL HTTP2&amp;quot;&lt;br /&gt;
* YaST does not prompt for a root user password for Samba as previous versions did. This can be set up manually with &amp;lt;code&amp;gt;smbpasswd -a root&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;samba-ad-dc&amp;lt;/code&amp;gt; was removed in the previous release. It was removed from SuSE Linux 15 SP5 as it was only a technical preview so does not appear in openSUSE Leap 15.5. This is important if you implemented AD DC in previous versions.&lt;br /&gt;
&lt;br /&gt;
== Release notes ==&lt;br /&gt;
&lt;br /&gt;
[[openSUSE Leap 15.6 Release Notes|Release Notes]]&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 15.6 was released on 12th June 2024. It is an open-source distribution and is free of charge. It is developed by the community and sponsored by [https://www.eqtgroup.com/ EQT Partners] (formally Micro Focus and Novell).&lt;br /&gt;
&lt;br /&gt;
== Previous supported versions (at time of release) ==&lt;br /&gt;
&lt;br /&gt;
* [[openSUSE Leap 15.5]] (Supported until 31st December 2024)&lt;br /&gt;
* [[openSUSE Tumbleweed]] (Rolling release)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:openSUSE Leap 15.6 webpage.png|center|400px]]&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=CPU_feature_flags&amp;diff=1057</id>
		<title>CPU feature flags</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=CPU_feature_flags&amp;diff=1057"/>
		<updated>2026-02-09T23:45:55Z</updated>

		<summary type="html">&lt;p&gt;Sam: Added AVX2 and x2APIC&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are the explanations for the CPU flags available in Linux under Hardware information.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CPU flag&lt;br /&gt;
! Flag meaning&lt;br /&gt;
|-&lt;br /&gt;
| 3DNOW&lt;br /&gt;
| A multimedia extension created by AMD for its processors, based on/almost equivalent to Intel&#039;s MMX extensions.&lt;br /&gt;
|-&lt;br /&gt;
| 3DNOWEXT&lt;br /&gt;
| 3DNOW Extended. Also known as AMD&#039;s 3DNow! Enhanced/3DNow! Extensions.&lt;br /&gt;
|-&lt;br /&gt;
| APIC&lt;br /&gt;
| Advanced Programmable Interrupt Controller.&lt;br /&gt;
|-&lt;br /&gt;
| AVX2&lt;br /&gt;
| Advanced Vector Extensions 2 - vector instructions based on 256-bit registers.&lt;br /&gt;
|-&lt;br /&gt;
| CLFSH/CLFlush&lt;br /&gt;
| Cache Line Flush.&lt;br /&gt;
|-&lt;br /&gt;
| CMOV&lt;br /&gt;
| Conditional Move/Compare Instruction.&lt;br /&gt;
|-&lt;br /&gt;
| CMP_Legacy&lt;br /&gt;
| Register showing the CPU is not Hyper-Threading capable.&lt;br /&gt;
|-&lt;br /&gt;
| Constant_TSC&lt;br /&gt;
| On Intel Pentium 4&#039;s, the TSC runs with constant frequency independent of CPU frequency when EST is used.&lt;br /&gt;
|-&lt;br /&gt;
| CR8Legacy&lt;br /&gt;
| CR8 in 32-bit mode.&lt;br /&gt;
|-&lt;br /&gt;
| CX8&lt;br /&gt;
| CMPXCHG8B Instruction (Compare and exchange 8 bytes. Also known as F00F, which is an abbreviation of the hexadecimal encoding of an instruction that exhibits a design flaw in the majority of older Intel Pentium CPU&#039;s).&lt;br /&gt;
|-&lt;br /&gt;
| CX16&lt;br /&gt;
| CMPXCHG16B Instruction (CMPXCHG16B allows for atomic operations on 128-bit double quadword (or oword) data types. This is useful for high resolution counters that could be updated by multiple processors (or cores). Without CMPXCHG16B the only way to perform such an operation is by using a critical section).&lt;br /&gt;
|-&lt;br /&gt;
| DE&lt;br /&gt;
| Debugging Extensions.&lt;br /&gt;
|-&lt;br /&gt;
| DS&lt;br /&gt;
| Debug Store.&lt;br /&gt;
|-&lt;br /&gt;
| DS_CPL&lt;br /&gt;
| CPL qualified Debug Store (whatever CPL might mean in this context).&lt;br /&gt;
|-&lt;br /&gt;
| DTS&lt;br /&gt;
| Could mean either Debug Trace Store or Digital Thermal Sensor, depending on source.&lt;br /&gt;
|-&lt;br /&gt;
| EIST/EST&lt;br /&gt;
| Enhanced Intel SpeedStep Technology.&lt;br /&gt;
|-&lt;br /&gt;
| EPT&lt;br /&gt;
| Extended Page Tables (Intel, similar to NPT on AMD).&lt;br /&gt;
|-&lt;br /&gt;
| FID&lt;br /&gt;
| Frequency IDentifier.&lt;br /&gt;
|-&lt;br /&gt;
| FPU&lt;br /&gt;
| x87 Floating Point Unit built into the CPU. This is where most mathematically intense calculations take place. Used to be a separate chip on the 80486SX and earlier (called the 80487 or 80387, etc. 80486DX had FPU built-in as well). All Pentium CPUs and later have this functionality built in.&lt;br /&gt;
|-&lt;br /&gt;
| FXSR&lt;br /&gt;
| FXSAVE/FXRSTOR. (The FXSAVE instruction writes the current state of the x87 FPU, MMX technology, Streaming SIMD Extensions, and Streaming SIMD Extensions 2 data, control, and status registers to the destination operand. The destination is a 512-byte memory location. FXRSTOR will restore the state saves).&lt;br /&gt;
|-&lt;br /&gt;
| FXSR_OPT&lt;br /&gt;
| FXSR optimisations.&lt;br /&gt;
|-&lt;br /&gt;
| HT&lt;br /&gt;
| Hyper-Transport. Note that the same abbreviation might is also used to indicate Hyper-Threading (see below).&lt;br /&gt;
|-&lt;br /&gt;
| HTT/HT&lt;br /&gt;
| Hyper-Threading. An Intel technology that allows quasi-parallel execution of different instructions on a single core. The single core is seen by applications as if it were two (or potentially more) cores. However, two true CPU cores are almost always faster than a single core with HyperThreading. This flag indicates support in the CPU when checking the flags in /proc/cpuinfo on Linux systems.&lt;br /&gt;
|-&lt;br /&gt;
| HVM&lt;br /&gt;
| Hardware support for virtual machines (Xen abbreviation for AMD SVM / Intel VMX).&lt;br /&gt;
|-&lt;br /&gt;
| LAHF_LM&lt;br /&gt;
| Load Flags into AH Register, Long Mode.&lt;br /&gt;
|-&lt;br /&gt;
| LM&lt;br /&gt;
| Long Mode (64bit Extensions, AMD&#039;s AMD64 or Intel&#039;s EM64T).&lt;br /&gt;
|-&lt;br /&gt;
| MCA&lt;br /&gt;
| Machine Check Architecture.&lt;br /&gt;
|-&lt;br /&gt;
| MCE&lt;br /&gt;
| Machine Check Exception.&lt;br /&gt;
|-&lt;br /&gt;
| MMX&lt;br /&gt;
| It is rumoured to stand for MultiMedia eXtension or Multiple Math or Matrix Math eXtension, but officially it is a meaningless acronym trademarked by Intel.&lt;br /&gt;
|-&lt;br /&gt;
| MMXEXT&lt;br /&gt;
| MMX Extensions – an enhanced set of instructions compared to MMX.&lt;br /&gt;
|-&lt;br /&gt;
| MNI&lt;br /&gt;
| Modular Network Interface or Merom New Instruction (see SSSE3).&lt;br /&gt;
|-&lt;br /&gt;
| MON/MONITOR&lt;br /&gt;
| CPU Monitor.&lt;br /&gt;
|-&lt;br /&gt;
| MSR&lt;br /&gt;
| RDMSR and WRMSR Support.&lt;br /&gt;
|-&lt;br /&gt;
| MTRR&lt;br /&gt;
| Memory Type Range Register.&lt;br /&gt;
|-&lt;br /&gt;
| NPT&lt;br /&gt;
| Nested Page Tables (AMD, similar to EPT on Intel).&lt;br /&gt;
|-&lt;br /&gt;
| NX&lt;br /&gt;
| No eXecute, a flag that can be set on memory pages to disable execution of code in these pages.&lt;br /&gt;
|-&lt;br /&gt;
| PAE&lt;br /&gt;
| Physical Address Extensions. PAE is the added ability of the IA32 processor to address more than 4 GB of physical memory using Intel&#039;s 36bit page addresses instead of the standard 32bit page addresses to access a total of 64gibibytes of RAM. Most AMD chips support PAE as well.&lt;br /&gt;
&lt;br /&gt;
PAE is the second method supported to access memory above 4 GB (PSE36 being the first); this method has been widely implemented. PAE maps up to 64 GB of physical memory into a 32-bit (4 GB) virtual address space using either 4-KB or 2-MB pages. The Page directories and the page tables are extended to 8 byte formats, allowing the extension of the base addresses of page tables and page frames to 24 bits (from 20 bits). This is where the extra four bits are introduced to complete the 36-bit physical address.&lt;br /&gt;
&lt;br /&gt;
Windows supports PAE with 4-KB pages. PAE also supports a mode where 2-MB pages are supported. Many of the UNIX operating systems rely on the 2 MB-page mode. The address translation is done without the use of page tables (the PDE supplies the page frame address directly). &lt;br /&gt;
|-&lt;br /&gt;
| PAT&lt;br /&gt;
| Page Attribute Table.&lt;br /&gt;
|-&lt;br /&gt;
| PBE&lt;br /&gt;
| Pending Break Encoding.&lt;br /&gt;
|-&lt;br /&gt;
| PGE&lt;br /&gt;
| PTE Global Bit.&lt;br /&gt;
|-&lt;br /&gt;
| PNI&lt;br /&gt;
| Prescott New Instruction. This was the codename for SSE3 before it was released on the Intel Prescott processor (which was later added to the Pentium 4 family name).&lt;br /&gt;
|-&lt;br /&gt;
| PSE&lt;br /&gt;
| Page Size Extensions (See PSE36).&lt;br /&gt;
|-&lt;br /&gt;
| PSE36&lt;br /&gt;
| Page Size Extensions 36. IA-32 supports two methods to access memory above 4 GB (32 bits). PSE (Page Size Extension) was the first method, which shipped with the Pentium II. This method offers a compatibility advantage because it kept the PTE (page table entry) size of 4 bytes. However, the only practical implementation of this is through a driver. This approach suffers from significant performance limitations, due to a buffer copy operation necessary for reading and writing above 4 GB. PSE mode is used in the PSE 36 RAM disk usage model.&lt;br /&gt;
&lt;br /&gt;
PSE uses a standard 1K directory and no page tables to extend the page size 4-MB (eliminating one level of indirection for that mode). The Page Directory Entries (PDE) contains 14 bits of address, and when combined with the 22-bit byte index, yields the 36 bits of extended physical address. Both 4-KB and 4-MB pages are simultaneously supported below 4 GB, with the 4-KB pages supported in the standard way.&lt;br /&gt;
&lt;br /&gt;
Note that pages located above 4 GB must use PSE mode (with 4-MB page sizes).&lt;br /&gt;
|-&lt;br /&gt;
| SEP&lt;br /&gt;
| SYSENTER and SYSEXIT.&lt;br /&gt;
|-&lt;br /&gt;
| SS&lt;br /&gt;
| Self-Snoop.&lt;br /&gt;
|-&lt;br /&gt;
| SSE&lt;br /&gt;
| Streaming SIMD Extensions. Developed by Intel for its Pentium III but also implemented by AMD processors from Athlon XP onwards.&lt;br /&gt;
|-&lt;br /&gt;
| SSE2&lt;br /&gt;
| Streaming SIMD Extensions 2 (An additional 144 SIMDs). Introduced by Intel Pentium 4 and on AMD since Athlon 64.&lt;br /&gt;
|-&lt;br /&gt;
| SSE3&lt;br /&gt;
| Streaming SIMD Extensions 3 (An additional 13 instructions). Introduced with “Prescott” revision Intel Pentium 4 processors. AMD introduced SSE3 with the Athlon 64 &amp;quot;Venice&amp;quot; revision.&lt;br /&gt;
|-&lt;br /&gt;
| SSSE3&lt;br /&gt;
| Supplemental Streaming SIMD Extension 3 (SSSE3 contains 16 new discrete instructions over SSE3). Introduced on Intel Core 2 Duo processors. No AMD chip supports SSSE3 yet.&lt;br /&gt;
|-&lt;br /&gt;
| SSE4&lt;br /&gt;
| Streaming SIMD Extentions 4. Introduced with &amp;quot;Nehalem&amp;quot; processor in 2008. Also known as &amp;quot;Nehalem New Instructions&amp;quot; (NNI).&lt;br /&gt;
|-&lt;br /&gt;
| SSE4_1&lt;br /&gt;
| Streaming SIMD Extentions 4.1.&lt;br /&gt;
|-&lt;br /&gt;
| SSE4_2&lt;br /&gt;
| Streaming SIMD Extentions 4.2.&lt;br /&gt;
|-&lt;br /&gt;
| SVM&lt;br /&gt;
| Secure Virtual Machine. (AMD&#039;s virtualization extensions to the 64-bit x86 architecture, equivalent to Intel&#039;s VMX, both also known as HVM in the Xen hypervisor).&lt;br /&gt;
|-&lt;br /&gt;
| SYSCALL&lt;br /&gt;
| System Call (the mechanism used by an application program to request service from the operating system).&lt;br /&gt;
|-&lt;br /&gt;
| TM&lt;br /&gt;
| Thermal Monitor.&lt;br /&gt;
|-&lt;br /&gt;
| TM2&lt;br /&gt;
| Thermal Monitor 2.&lt;br /&gt;
|-&lt;br /&gt;
| TNI&lt;br /&gt;
| Tejas New Instruction. See SSSE3.&lt;br /&gt;
|-&lt;br /&gt;
| TPR&lt;br /&gt;
| Task Priority Register.&lt;br /&gt;
|-&lt;br /&gt;
| TPR_SHADOW&lt;br /&gt;
| Shadowed Task Priority Registers (for virtualization).&lt;br /&gt;
|-&lt;br /&gt;
| TS&lt;br /&gt;
| Thermal Sensor.&lt;br /&gt;
|-&lt;br /&gt;
| TSC&lt;br /&gt;
| Time Stamp Counter.&lt;br /&gt;
|-&lt;br /&gt;
| TTP&lt;br /&gt;
| Thermal Trip.&lt;br /&gt;
|-&lt;br /&gt;
| VID&lt;br /&gt;
| Voltage IDentifier&lt;br /&gt;
|-&lt;br /&gt;
| VME&lt;br /&gt;
| Virtual-8086 Mode Enhancement.&lt;br /&gt;
|-&lt;br /&gt;
| VMX&lt;br /&gt;
| Intel&#039;s equivalent to AMD&#039;s SVM.&lt;br /&gt;
|-&lt;br /&gt;
| VNMI&lt;br /&gt;
| Virtual NMI (non-maskable interrupts) (for virtualization).&lt;br /&gt;
|-&lt;br /&gt;
| VPID&lt;br /&gt;
| Virtual Processor ID (for virtualization).&lt;br /&gt;
|-&lt;br /&gt;
| x2APIC&lt;br /&gt;
| New APIC controller introduced with the Nehalam architecture&lt;br /&gt;
|-&lt;br /&gt;
| XTPR&lt;br /&gt;
| TPR register chipset update control messenger. Part of the APIC code&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1056</id>
		<title>Jellyfin</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1056"/>
		<updated>2025-12-21T05:14:11Z</updated>

		<summary type="html">&lt;p&gt;Sam: Bumped to latest version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices.&lt;br /&gt;
&lt;br /&gt;
An RPM package is not provided for openSUSE so Jellyfin must be installed from the Linux manual install tarball. This guide will explain how to do this. This guide is written with the current version (at the time of writing) of Jellyfin 10.11.5.&lt;br /&gt;
&lt;br /&gt;
== What you need to know ==&lt;br /&gt;
&lt;br /&gt;
You will need to download the following:&lt;br /&gt;
* Jellyfin Generic Linux Server package&lt;br /&gt;
* &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;tarball&lt;br /&gt;
&lt;br /&gt;
The following packages need installing:&lt;br /&gt;
* &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following packages need installing from Packman:&lt;br /&gt;
* &amp;lt;code&amp;gt;libx264-devel&amp;lt;/code&amp;gt; - required&lt;br /&gt;
* &amp;lt;code&amp;gt;libx265-devel&amp;lt;/code&amp;gt; - optional for H.265/HEVC transcoding&lt;br /&gt;
* &amp;lt;code&amp;gt;SVT-AV1-devel&amp;lt;/code&amp;gt; - optional for AV1 transcoding&lt;br /&gt;
&lt;br /&gt;
== Installing Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
* Create the directory &amp;lt;code&amp;gt;sudo mkdir /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the directory &amp;lt;code&amp;gt;cd /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the latest tarball from the [https://repo.jellyfin.org/?path=/server/linux/latest-stable/amd64 Jellyfin website] - for example, &amp;lt;code&amp;gt;sudo wget https://repo.jellyfin.org/files/server/linux/latest-stable/amd64/jellyfin_10.11.5-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Unzip the tar archive, &amp;lt;code&amp;gt;sudo tar Jxvf jellyfin_10.11.5-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin and run it as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.sh&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 JELLYFINDIR=&amp;quot;/opt/jellyfin&amp;quot;&lt;br /&gt;
 FFMPEGDIR=&amp;quot;/usr/share/jellyfin-ffmpeg/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $JELLYFINDIR/jellyfin/jellyfin \&lt;br /&gt;
  -d $JELLYFINDIR/data \&lt;br /&gt;
  -C $JELLYFINDIR/cache \&lt;br /&gt;
  -c $JELLYFINDIR/config \&lt;br /&gt;
  -l $JELLYFINDIR/log \&lt;br /&gt;
  --ffmpeg $FFMPEGDIR/ffmpeg&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo chmod +x jellyfin.sh&amp;lt;/code&amp;gt; to make the script executable&lt;br /&gt;
&lt;br /&gt;
=== Install service script ===&lt;br /&gt;
&lt;br /&gt;
This will guide you on how to create a script to start Jellyfin as a service on startup.&lt;br /&gt;
&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;cd /etc/systemd/system&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.service&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Jellyfin&lt;br /&gt;
 After=network.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=simple&lt;br /&gt;
 User=root&lt;br /&gt;
 Restart=always&lt;br /&gt;
 ExecStart=/opt/jellyfin/jellyfin.sh&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Correct the permissions of the service file &amp;lt;code&amp;gt;sudo chmod 644 jellyfin.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
openSUSE does not come with an FFmpeg version that includes propriety formats such as H.264 and H.265/HEVC. We need to install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; which includes these formats and is tailored for hardware encoding for Jellyfin. A few dependencies need installing first.&lt;br /&gt;
&lt;br /&gt;
* We need to add the Packman repository that includes the dependencies we need &amp;lt;code&amp;gt;sudo zypper addrepo -cfp 90 &#039;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/&#039; packman&amp;lt;/code&amp;gt;&lt;br /&gt;
* Refresh zypper to load the new repositories &amp;lt;code&amp;gt;sudo zypper ref&amp;lt;/code&amp;gt;. Accept the keys needed for the repositories.&lt;br /&gt;
* Install the base proprietary codecs &amp;lt;code&amp;gt;sudo zypper install --allow-vendor-change --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install the dependency packages depending on what you need: &amp;lt;code&amp;gt;sudo zypper in libx264-devel libx265-devel SVT-AV1-devel&amp;lt;/code&amp;gt;. Allow any extra dependencies these may require.&lt;br /&gt;
* Install the base packages need to compile &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;sudo zypper in gcc make yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move to your home downloads folder &amp;lt;code&amp;gt;cd ~/Downloads&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; from [https://github.com/jellyfin/jellyfin-ffmpeg/releases GitHub]. Ensure that the version is compatible with the version of Jellyfin you have installed (sometimes you may have to use an older ffmpeg package, depending on the version of Jellyfin you are installing) - for example Jellyfin 10.11.5 is compatible with the latest &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; package 7.1.3-1. Download the source tar.gz package with &amp;lt;code&amp;gt;wget https://github.com/jellyfin/jellyfin-ffmpeg/archive/refs/tags/v7.1.3-1.tar.gz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; You may need to expand the Assets tab to show the downloadable packages.&lt;br /&gt;
* Extract the package with &amp;lt;code&amp;gt;tar zxvf v7.1.3-1.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the folder created &amp;lt;code&amp;gt;cd jellyfin-ffmpeg-7.1.3-1&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run &amp;lt;code&amp;gt;./configure --prefix=/usr/share/jellyfin-ffmpeg --enable-libx264 --enable-libx265 --enable-libsvtav1 --enable-gpl&amp;lt;/code&amp;gt;.&lt;br /&gt;
This will configure the package to be installed to &amp;lt;code&amp;gt;/usr/share/jellyfin-ffmeg&amp;lt;/code&amp;gt; with H.264, H.265/HEVC and AV1. Due to H.264 and H.265/HEVC being licensed under a GPL license, the whole package will be licensed under GPL which is enabled by the switch. This can be configured as needed by adding/removing switches.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;. This will compile the code and may take a while&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt; to install&lt;br /&gt;
&lt;br /&gt;
== Initial run and starting the service ==&lt;br /&gt;
&lt;br /&gt;
We need to run Jellyfin so that the initial directories needed for running are created.&lt;br /&gt;
&lt;br /&gt;
* Move back into the Jellyfin directory and initially run the Jellyfin script created earlier &amp;lt;code&amp;gt;sudo ./jellyfin.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Check that it runs correctly with no errors (indicated by &amp;lt;code&amp;gt;[ERR]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[FTL]&amp;lt;/code&amp;gt;in red&lt;br /&gt;
* Once it has started, close the script by pressing {{key press|Ctrl|C}}&lt;br /&gt;
* Reload the system daemons to allow the service to load &amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run the Jellyfin service and check it starts &amp;lt;code&amp;gt;sudo systemctl start jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you&#039;d like Jellyfin to run on startup, run &amp;lt;code&amp;gt;sudo systemctl enable jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
Jellyfin is configured through the web browser. Open a web browser and go to the following address: &amp;lt;code&amp;gt;http://localhost:8096&amp;lt;/code&amp;gt;. You should get the first run installer after installation is complete.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; If you are reinstalling and starting from scratch, run a private window of your browser to set the server up or it will keep trying to connect to the old server from before. You may need to delete the site settings to get it working again.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Installing_Jellyfin&amp;diff=1055</id>
		<title>Installing Jellyfin</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Installing_Jellyfin&amp;diff=1055"/>
		<updated>2025-12-21T03:24:04Z</updated>

		<summary type="html">&lt;p&gt;Sam: Sam moved page Installing Jellyfin to Jellyfin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Jellyfin]]&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1054</id>
		<title>Jellyfin</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1054"/>
		<updated>2025-12-21T03:24:04Z</updated>

		<summary type="html">&lt;p&gt;Sam: Sam moved page Installing Jellyfin to Jellyfin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices.&lt;br /&gt;
&lt;br /&gt;
An RPM package is not provided for openSUSE so Jellyfin must be installed from the Linux manual install tarball. This guide will explain how to do this. This guide is written with the current version (at the time of writing) of Jellyfin 10.10.7.&lt;br /&gt;
&lt;br /&gt;
== What you need to know ==&lt;br /&gt;
&lt;br /&gt;
You will need to download the following:&lt;br /&gt;
* Jellyfin Generic Linux Server package&lt;br /&gt;
* &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;tarball&lt;br /&gt;
&lt;br /&gt;
The following packages need installing:&lt;br /&gt;
* &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following packages need installing from Packman:&lt;br /&gt;
* &amp;lt;code&amp;gt;libx264-devel&amp;lt;/code&amp;gt; - required&lt;br /&gt;
* &amp;lt;code&amp;gt;libx265-devel&amp;lt;/code&amp;gt; - optional for H.265/HEVC transcoding&lt;br /&gt;
* &amp;lt;code&amp;gt;SVT-AV1-devel&amp;lt;/code&amp;gt; - optional for AV1 transcoding&lt;br /&gt;
&lt;br /&gt;
== Installing Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
* Create the directory &amp;lt;code&amp;gt;sudo mkdir /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the directory &amp;lt;code&amp;gt;cd /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the latest tarball from the [https://repo.jellyfin.org/?path=/server/linux/latest-stable/amd64 Jellyfin website] - for example, &amp;lt;code&amp;gt;sudo wget https://repo.jellyfin.org/files/server/linux/latest-stable/amd64/jellyfin_10.11.3-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Unzip the tar archive, &amp;lt;code&amp;gt;sudo tar Jxvf jellyfin_10.11.3-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin and run it as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.sh&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 JELLYFINDIR=&amp;quot;/opt/jellyfin&amp;quot;&lt;br /&gt;
 FFMPEGDIR=&amp;quot;/usr/share/jellyfin-ffmpeg/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $JELLYFINDIR/jellyfin/jellyfin \&lt;br /&gt;
  -d $JELLYFINDIR/data \&lt;br /&gt;
  -C $JELLYFINDIR/cache \&lt;br /&gt;
  -c $JELLYFINDIR/config \&lt;br /&gt;
  -l $JELLYFINDIR/log \&lt;br /&gt;
  --ffmpeg $FFMPEGDIR/ffmpeg&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo chmod +x jellyfin.sh&amp;lt;/code&amp;gt; to make the script executable&lt;br /&gt;
&lt;br /&gt;
=== Install service script ===&lt;br /&gt;
&lt;br /&gt;
This will guide you on how to create a script to start Jellyfin as a service on startup.&lt;br /&gt;
&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;cd /etc/systemd/system&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.service&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Jellyfin&lt;br /&gt;
 After=network.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=simple&lt;br /&gt;
 User=root&lt;br /&gt;
 Restart=always&lt;br /&gt;
 ExecStart=/opt/jellyfin/jellyfin.sh&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Correct the permissions of the service file &amp;lt;code&amp;gt;sudo chmod 644 jellyfin.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
openSUSE does not come with an FFmpeg version that includes propriety formats such as H.264 and H.265/HEVC. We need to install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; which includes these formats and is tailored for hardware encoding for Jellyfin. A few dependencies need installing first.&lt;br /&gt;
&lt;br /&gt;
* We need to add the Packman repository that includes the dependencies we need &amp;lt;code&amp;gt;sudo zypper addrepo -cfp 90 &#039;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/&#039; packman&amp;lt;/code&amp;gt;&lt;br /&gt;
* Refresh zypper to load the new repositories &amp;lt;code&amp;gt;sudo zypper ref&amp;lt;/code&amp;gt;. Accept the keys needed for the repositories.&lt;br /&gt;
* Install the base proprietary codecs &amp;lt;code&amp;gt;sudo zypper install --allow-vendor-change --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install the dependency packages depending on what you need: &amp;lt;code&amp;gt;sudo zypper in libx264-devel libx265-devel SVT-AV1-devel&amp;lt;/code&amp;gt;. Allow any extra dependencies these may require.&lt;br /&gt;
* Install the base packages need to compile &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;sudo zypper in gcc make yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move to your home downloads folder &amp;lt;code&amp;gt;cd ~/Downloads&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; from [https://github.com/jellyfin/jellyfin-ffmpeg/releases GitHub]. Ensure that the version is compatible with the version of Jellyfin you have installed (sometimes you may have to use an older ffmpeg package, depending on the version of Jellyfin you are installing) - for example Jellyfin 10.11.3 is compatible with the latest &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; package 7.1.2-4. Download the source tar.gz package with &amp;lt;code&amp;gt;wget https://github.com/jellyfin/jellyfin-ffmpeg/archive/refs/tags/v7.1.2-4.tar.gz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; You may need to expand the Assets tab to show the downloadable packages.&lt;br /&gt;
* Extract the package with &amp;lt;code&amp;gt;tar zxvf v7.1.2-4.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the folder created &amp;lt;code&amp;gt;cd jellyfin-ffmpeg-7.1.2-4&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run &amp;lt;code&amp;gt;./configure --prefix=/usr/share/jellyfin-ffmpeg --enable-libx264 --enable-libx265 --enable-libsvtav1 --enable-gpl&amp;lt;/code&amp;gt;.&lt;br /&gt;
This will configure the package to be installed to &amp;lt;code&amp;gt;/usr/share/jellyfin-ffmeg&amp;lt;/code&amp;gt; with H.264, H.265/HEVC and AV1. Due to H.264 and H.265/HEVC being licensed under a GPL license, the whole package will be licensed under GPL which is enabled by the switch. This can be configured as needed by adding/removing switches.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;. This will compile the code and may take a while&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt; to install&lt;br /&gt;
&lt;br /&gt;
== Initial run and starting the service ==&lt;br /&gt;
&lt;br /&gt;
We need to run Jellyfin so that the initial directories needed for running are created.&lt;br /&gt;
&lt;br /&gt;
* Move back into the Jellyfin directory and initially run the Jellyfin script created earlier &amp;lt;code&amp;gt;sudo ./jellyfin.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Check that it runs correctly with no errors (indicated by &amp;lt;code&amp;gt;[ERR]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[FTL]&amp;lt;/code&amp;gt;in red&lt;br /&gt;
* Once it has started, close the script by pressing {{key press|Ctrl|C}}&lt;br /&gt;
* Reload the system daemons to allow the service to load &amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run the Jellyfin service and check it starts &amp;lt;code&amp;gt;sudo systemctl start jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you&#039;d like Jellyfin to run on startup, run &amp;lt;code&amp;gt;sudo systemctl enable jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
Jellyfin is configured through the web browser. Open a web browser and go to the following address: &amp;lt;code&amp;gt;http://localhost:8096&amp;lt;/code&amp;gt;. You should get the first run installer after installation is complete.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; If you are reinstalling and starting from scratch, run a private window of your browser to set the server up or it will keep trying to connect to the old server from before. You may need to delete the site settings to get it working again.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1053</id>
		<title>Jellyfin</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1053"/>
		<updated>2025-11-17T10:32:18Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Install jellyfin-ffmpeg */ Bumped to latest version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices.&lt;br /&gt;
&lt;br /&gt;
An RPM package is not provided for openSUSE so Jellyfin must be installed from the Linux manual install tarball. This guide will explain how to do this. This guide is written with the current version (at the time of writing) of Jellyfin 10.10.7.&lt;br /&gt;
&lt;br /&gt;
== What you need to know ==&lt;br /&gt;
&lt;br /&gt;
You will need to download the following:&lt;br /&gt;
* Jellyfin Generic Linux Server package&lt;br /&gt;
* &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;tarball&lt;br /&gt;
&lt;br /&gt;
The following packages need installing:&lt;br /&gt;
* &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following packages need installing from Packman:&lt;br /&gt;
* &amp;lt;code&amp;gt;libx264-devel&amp;lt;/code&amp;gt; - required&lt;br /&gt;
* &amp;lt;code&amp;gt;libx265-devel&amp;lt;/code&amp;gt; - optional for H.265/HEVC transcoding&lt;br /&gt;
* &amp;lt;code&amp;gt;SVT-AV1-devel&amp;lt;/code&amp;gt; - optional for AV1 transcoding&lt;br /&gt;
&lt;br /&gt;
== Installing Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
* Create the directory &amp;lt;code&amp;gt;sudo mkdir /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the directory &amp;lt;code&amp;gt;cd /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the latest tarball from the [https://repo.jellyfin.org/?path=/server/linux/latest-stable/amd64 Jellyfin website] - for example, &amp;lt;code&amp;gt;sudo wget https://repo.jellyfin.org/files/server/linux/latest-stable/amd64/jellyfin_10.11.3-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Unzip the tar archive, &amp;lt;code&amp;gt;sudo tar Jxvf jellyfin_10.11.3-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin and run it as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.sh&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 JELLYFINDIR=&amp;quot;/opt/jellyfin&amp;quot;&lt;br /&gt;
 FFMPEGDIR=&amp;quot;/usr/share/jellyfin-ffmpeg/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $JELLYFINDIR/jellyfin/jellyfin \&lt;br /&gt;
  -d $JELLYFINDIR/data \&lt;br /&gt;
  -C $JELLYFINDIR/cache \&lt;br /&gt;
  -c $JELLYFINDIR/config \&lt;br /&gt;
  -l $JELLYFINDIR/log \&lt;br /&gt;
  --ffmpeg $FFMPEGDIR/ffmpeg&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo chmod +x jellyfin.sh&amp;lt;/code&amp;gt; to make the script executable&lt;br /&gt;
&lt;br /&gt;
=== Install service script ===&lt;br /&gt;
&lt;br /&gt;
This will guide you on how to create a script to start Jellyfin as a service on startup.&lt;br /&gt;
&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;cd /etc/systemd/system&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.service&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Jellyfin&lt;br /&gt;
 After=network.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=simple&lt;br /&gt;
 User=root&lt;br /&gt;
 Restart=always&lt;br /&gt;
 ExecStart=/opt/jellyfin/jellyfin.sh&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Correct the permissions of the service file &amp;lt;code&amp;gt;sudo chmod 644 jellyfin.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
openSUSE does not come with an FFmpeg version that includes propriety formats such as H.264 and H.265/HEVC. We need to install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; which includes these formats and is tailored for hardware encoding for Jellyfin. A few dependencies need installing first.&lt;br /&gt;
&lt;br /&gt;
* We need to add the Packman repository that includes the dependencies we need &amp;lt;code&amp;gt;sudo zypper addrepo -cfp 90 &#039;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/&#039; packman&amp;lt;/code&amp;gt;&lt;br /&gt;
* Refresh zypper to load the new repositories &amp;lt;code&amp;gt;sudo zypper ref&amp;lt;/code&amp;gt;. Accept the keys needed for the repositories.&lt;br /&gt;
* Install the base proprietary codecs &amp;lt;code&amp;gt;sudo zypper install --allow-vendor-change --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install the dependency packages depending on what you need: &amp;lt;code&amp;gt;sudo zypper in libx264-devel libx265-devel SVT-AV1-devel&amp;lt;/code&amp;gt;. Allow any extra dependencies these may require.&lt;br /&gt;
* Install the base packages need to compile &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;sudo zypper in gcc make yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move to your home downloads folder &amp;lt;code&amp;gt;cd ~/Downloads&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; from [https://github.com/jellyfin/jellyfin-ffmpeg/releases GitHub]. Ensure that the version is compatible with the version of Jellyfin you have installed (sometimes you may have to use an older ffmpeg package, depending on the version of Jellyfin you are installing) - for example Jellyfin 10.11.3 is compatible with the latest &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; package 7.1.2-4. Download the source tar.gz package with &amp;lt;code&amp;gt;wget https://github.com/jellyfin/jellyfin-ffmpeg/archive/refs/tags/v7.1.2-4.tar.gz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; You may need to expand the Assets tab to show the downloadable packages.&lt;br /&gt;
* Extract the package with &amp;lt;code&amp;gt;tar zxvf v7.1.2-4.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the folder created &amp;lt;code&amp;gt;cd jellyfin-ffmpeg-7.1.2-4&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run &amp;lt;code&amp;gt;./configure --prefix=/usr/share/jellyfin-ffmpeg --enable-libx264 --enable-libx265 --enable-libsvtav1 --enable-gpl&amp;lt;/code&amp;gt;.&lt;br /&gt;
This will configure the package to be installed to &amp;lt;code&amp;gt;/usr/share/jellyfin-ffmeg&amp;lt;/code&amp;gt; with H.264, H.265/HEVC and AV1. Due to H.264 and H.265/HEVC being licensed under a GPL license, the whole package will be licensed under GPL which is enabled by the switch. This can be configured as needed by adding/removing switches.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;. This will compile the code and may take a while&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt; to install&lt;br /&gt;
&lt;br /&gt;
== Initial run and starting the service ==&lt;br /&gt;
&lt;br /&gt;
We need to run Jellyfin so that the initial directories needed for running are created.&lt;br /&gt;
&lt;br /&gt;
* Move back into the Jellyfin directory and initially run the Jellyfin script created earlier &amp;lt;code&amp;gt;sudo ./jellyfin.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Check that it runs correctly with no errors (indicated by &amp;lt;code&amp;gt;[ERR]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[FTL]&amp;lt;/code&amp;gt;in red&lt;br /&gt;
* Once it has started, close the script by pressing {{key press|Ctrl|C}}&lt;br /&gt;
* Reload the system daemons to allow the service to load &amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run the Jellyfin service and check it starts &amp;lt;code&amp;gt;sudo systemctl start jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you&#039;d like Jellyfin to run on startup, run &amp;lt;code&amp;gt;sudo systemctl enable jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
Jellyfin is configured through the web browser. Open a web browser and go to the following address: &amp;lt;code&amp;gt;http://localhost:8096&amp;lt;/code&amp;gt;. You should get the first run installer after installation is complete.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; If you are reinstalling and starting from scratch, run a private window of your browser to set the server up or it will keep trying to connect to the old server from before. You may need to delete the site settings to get it working again.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1052</id>
		<title>Jellyfin</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1052"/>
		<updated>2025-11-17T10:31:15Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Installing Jellyfin */ Bumped to latest version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices.&lt;br /&gt;
&lt;br /&gt;
An RPM package is not provided for openSUSE so Jellyfin must be installed from the Linux manual install tarball. This guide will explain how to do this. This guide is written with the current version (at the time of writing) of Jellyfin 10.10.7.&lt;br /&gt;
&lt;br /&gt;
== What you need to know ==&lt;br /&gt;
&lt;br /&gt;
You will need to download the following:&lt;br /&gt;
* Jellyfin Generic Linux Server package&lt;br /&gt;
* &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;tarball&lt;br /&gt;
&lt;br /&gt;
The following packages need installing:&lt;br /&gt;
* &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following packages need installing from Packman:&lt;br /&gt;
* &amp;lt;code&amp;gt;libx264-devel&amp;lt;/code&amp;gt; - required&lt;br /&gt;
* &amp;lt;code&amp;gt;libx265-devel&amp;lt;/code&amp;gt; - optional for H.265/HEVC transcoding&lt;br /&gt;
* &amp;lt;code&amp;gt;SVT-AV1-devel&amp;lt;/code&amp;gt; - optional for AV1 transcoding&lt;br /&gt;
&lt;br /&gt;
== Installing Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
* Create the directory &amp;lt;code&amp;gt;sudo mkdir /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the directory &amp;lt;code&amp;gt;cd /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the latest tarball from the [https://repo.jellyfin.org/?path=/server/linux/latest-stable/amd64 Jellyfin website] - for example, &amp;lt;code&amp;gt;sudo wget https://repo.jellyfin.org/files/server/linux/latest-stable/amd64/jellyfin_10.11.3-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Unzip the tar archive, &amp;lt;code&amp;gt;sudo tar Jxvf jellyfin_10.11.3-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin and run it as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.sh&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 JELLYFINDIR=&amp;quot;/opt/jellyfin&amp;quot;&lt;br /&gt;
 FFMPEGDIR=&amp;quot;/usr/share/jellyfin-ffmpeg/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $JELLYFINDIR/jellyfin/jellyfin \&lt;br /&gt;
  -d $JELLYFINDIR/data \&lt;br /&gt;
  -C $JELLYFINDIR/cache \&lt;br /&gt;
  -c $JELLYFINDIR/config \&lt;br /&gt;
  -l $JELLYFINDIR/log \&lt;br /&gt;
  --ffmpeg $FFMPEGDIR/ffmpeg&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo chmod +x jellyfin.sh&amp;lt;/code&amp;gt; to make the script executable&lt;br /&gt;
&lt;br /&gt;
=== Install service script ===&lt;br /&gt;
&lt;br /&gt;
This will guide you on how to create a script to start Jellyfin as a service on startup.&lt;br /&gt;
&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;cd /etc/systemd/system&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.service&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Jellyfin&lt;br /&gt;
 After=network.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=simple&lt;br /&gt;
 User=root&lt;br /&gt;
 Restart=always&lt;br /&gt;
 ExecStart=/opt/jellyfin/jellyfin.sh&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Correct the permissions of the service file &amp;lt;code&amp;gt;sudo chmod 644 jellyfin.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
openSUSE does not come with an FFmpeg version that includes propriety formats such as H.264 and H.265/HEVC. We need to install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; which includes these formats and is tailored for hardware encoding for Jellyfin. A few dependencies need installing first.&lt;br /&gt;
&lt;br /&gt;
* We need to add the Packman repository that includes the dependencies we need &amp;lt;code&amp;gt;sudo zypper addrepo -cfp 90 &#039;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/&#039; packman&amp;lt;/code&amp;gt;&lt;br /&gt;
* Refresh zypper to load the new repositories &amp;lt;code&amp;gt;sudo zypper ref&amp;lt;/code&amp;gt;. Accept the keys needed for the repositories.&lt;br /&gt;
* Install the base proprietary codecs &amp;lt;code&amp;gt;sudo zypper install --allow-vendor-change --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install the dependency packages depending on what you need: &amp;lt;code&amp;gt;sudo zypper in libx264-devel libx265-devel SVT-AV1-devel&amp;lt;/code&amp;gt;. Allow any extra dependencies these may require.&lt;br /&gt;
* Install the base packages need to compile &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;sudo zypper in gcc make yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move to your home downloads folder &amp;lt;code&amp;gt;cd ~/Downloads&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; from [https://github.com/jellyfin/jellyfin-ffmpeg/releases GitHub]. Ensure that the version is compatible with the version of Jellyfin you have installed (sometimes you may have to use an older ffmpeg package, depending on the version of Jellyfin you are installing) - for example Jellyfin 10.10.7 is compatible with the latest &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; package 7.1.2-2. Download the source tar.gz package with &amp;lt;code&amp;gt;wget https://github.com/jellyfin/jellyfin-ffmpeg/archive/refs/tags/v7.1.2-2.tar.gz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; You may need to expand the Assets tab to show the downloadable packages.&lt;br /&gt;
* Extract the package with &amp;lt;code&amp;gt;tar zxvf v7.1.2-2.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the folder created &amp;lt;code&amp;gt;cd jellyfin-ffmpeg-7.1.2-2&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run &amp;lt;code&amp;gt;./configure --prefix=/usr/share/jellyfin-ffmpeg --enable-libx264 --enable-libx265 --enable-libsvtav1 --enable-gpl&amp;lt;/code&amp;gt;.&lt;br /&gt;
This will configure the package to be installed to &amp;lt;code&amp;gt;/usr/share/jellyfin-ffmeg&amp;lt;/code&amp;gt; with H.264, H.265/HEVC and AV1. Due to H.264 and H.265/HEVC being licensed under a GPL license, the whole package will be licensed under GPL which is enabled by the switch. This can be configured as needed by adding/removing switches.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;. This will compile the code and may take a while&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt; to install&lt;br /&gt;
&lt;br /&gt;
== Initial run and starting the service ==&lt;br /&gt;
&lt;br /&gt;
We need to run Jellyfin so that the initial directories needed for running are created.&lt;br /&gt;
&lt;br /&gt;
* Move back into the Jellyfin directory and initially run the Jellyfin script created earlier &amp;lt;code&amp;gt;sudo ./jellyfin.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Check that it runs correctly with no errors (indicated by &amp;lt;code&amp;gt;[ERR]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[FTL]&amp;lt;/code&amp;gt;in red&lt;br /&gt;
* Once it has started, close the script by pressing {{key press|Ctrl|C}}&lt;br /&gt;
* Reload the system daemons to allow the service to load &amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run the Jellyfin service and check it starts &amp;lt;code&amp;gt;sudo systemctl start jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you&#039;d like Jellyfin to run on startup, run &amp;lt;code&amp;gt;sudo systemctl enable jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
Jellyfin is configured through the web browser. Open a web browser and go to the following address: &amp;lt;code&amp;gt;http://localhost:8096&amp;lt;/code&amp;gt;. You should get the first run installer after installation is complete.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; If you are reinstalling and starting from scratch, run a private window of your browser to set the server up or it will keep trying to connect to the old server from before. You may need to delete the site settings to get it working again.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1051</id>
		<title>OpenSUSE Leap 16.0</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1051"/>
		<updated>2025-10-26T16:15:33Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Changes to openSUSE */ Corrected by default to not available&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the Linux distribution my server is based on. More information is available [https://www.opensuse.org/ here].&lt;br /&gt;
&lt;br /&gt;
If you are looking to install openSUSE, there are more details in [[obtaining openSUSE Leap 16.0]].&lt;br /&gt;
&lt;br /&gt;
== Changes to openSUSE ==&lt;br /&gt;
&lt;br /&gt;
=== YaST deprication ===&lt;br /&gt;
&lt;br /&gt;
YaST is no longer being developed by SuSE and therefore is not being developed for openSUSE. Therefore, YaST is not available in openSUSE 16.0. openSUSE 16.0 now uses Myrlyn for package management and Cockpit for most other things YaST used to do.&lt;br /&gt;
&lt;br /&gt;
=== New installer ===&lt;br /&gt;
Agama is the new web based installer for openSUSE when installing via ISO image. There is also a migration tool available in previous versions that takes care of the full migration to openSUSE 16.0 automatically and painlessly.&lt;br /&gt;
&lt;br /&gt;
=== Wayland compositor by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE 16.0 no longer uses X and defaults to using Wayland as the desktop compositor. To use X as before, this must be installed yourself but do note, this is deprecated.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor no longer default ===&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer the default security solution, SELinux is now the preferred security solution for openSUSE 16.0. AppArmor can, however, still be used if preferred.&lt;br /&gt;
&lt;br /&gt;
== Installation notes/Known Issues ==&lt;br /&gt;
&lt;br /&gt;
* If upgrading, check the &amp;quot;Unneeded Packages&amp;quot; category in Myrlyn once upgraded to remove any lingering unneeded packages from the previous version.&lt;br /&gt;
&lt;br /&gt;
== Release notes ==&lt;br /&gt;
&lt;br /&gt;
[[openSUSE Leap 16.0 Release Notes|Release Notes]]&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 was released on 1st October 2025. It is an open-source distribution and is free of charge. It is developed by the community and sponsored by [https://www.eqtgroup.com/ EQT Partners] (formally Micro Focus and Novell).&lt;br /&gt;
&lt;br /&gt;
== Previous supported versions (at time of release) ==&lt;br /&gt;
&lt;br /&gt;
* [[openSUSE Leap 15.6]] (Supported until 30th April 2026)&lt;br /&gt;
* [[openSUSE Tumbleweed]] (Rolling release)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:openSUSE Leap 16.0 webpage.webp|center|400px]]&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1050</id>
		<title>OpenSUSE Leap 16.0</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1050"/>
		<updated>2025-10-26T16:14:43Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* New installer */ Corrected installer name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the Linux distribution my server is based on. More information is available [https://www.opensuse.org/ here].&lt;br /&gt;
&lt;br /&gt;
If you are looking to install openSUSE, there are more details in [[obtaining openSUSE Leap 16.0]].&lt;br /&gt;
&lt;br /&gt;
== Changes to openSUSE ==&lt;br /&gt;
&lt;br /&gt;
=== YaST deprication ===&lt;br /&gt;
&lt;br /&gt;
YaST is no longer being developed by SuSE and therefore is not being developed for openSUSE. Therefore, YaST is not installed by default in openSUSE 16.0. openSUSE 16.0 now uses Myrlyn for package management and Cockpit for most other things YaST used to do.&lt;br /&gt;
&lt;br /&gt;
=== New installer ===&lt;br /&gt;
Agama is the new web based installer for openSUSE when installing via ISO image. There is also a migration tool available in previous versions that takes care of the full migration to openSUSE 16.0 automatically and painlessly.&lt;br /&gt;
&lt;br /&gt;
=== Wayland compositor by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE 16.0 no longer uses X and defaults to using Wayland as the desktop compositor. To use X as before, this must be installed yourself but do note, this is deprecated.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor no longer default ===&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer the default security solution, SELinux is now the preferred security solution for openSUSE 16.0. AppArmor can, however, still be used if preferred.&lt;br /&gt;
&lt;br /&gt;
== Installation notes/Known Issues ==&lt;br /&gt;
&lt;br /&gt;
* If upgrading, check the &amp;quot;Unneeded Packages&amp;quot; category in Myrlyn once upgraded to remove any lingering unneeded packages from the previous version.&lt;br /&gt;
&lt;br /&gt;
== Release notes ==&lt;br /&gt;
&lt;br /&gt;
[[openSUSE Leap 16.0 Release Notes|Release Notes]]&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 was released on 1st October 2025. It is an open-source distribution and is free of charge. It is developed by the community and sponsored by [https://www.eqtgroup.com/ EQT Partners] (formally Micro Focus and Novell).&lt;br /&gt;
&lt;br /&gt;
== Previous supported versions (at time of release) ==&lt;br /&gt;
&lt;br /&gt;
* [[openSUSE Leap 15.6]] (Supported until 30th April 2026)&lt;br /&gt;
* [[openSUSE Tumbleweed]] (Rolling release)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:openSUSE Leap 16.0 webpage.webp|center|400px]]&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1049</id>
		<title>OpenSUSE Leap 16.0</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1049"/>
		<updated>2025-10-26T16:11:56Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* New installer */ Added details to section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the Linux distribution my server is based on. More information is available [https://www.opensuse.org/ here].&lt;br /&gt;
&lt;br /&gt;
If you are looking to install openSUSE, there are more details in [[obtaining openSUSE Leap 16.0]].&lt;br /&gt;
&lt;br /&gt;
== Changes to openSUSE ==&lt;br /&gt;
&lt;br /&gt;
=== YaST deprication ===&lt;br /&gt;
&lt;br /&gt;
YaST is no longer being developed by SuSE and therefore is not being developed for openSUSE. Therefore, YaST is not installed by default in openSUSE 16.0. openSUSE 16.0 now uses Myrlyn for package management and Cockpit for most other things YaST used to do.&lt;br /&gt;
&lt;br /&gt;
=== New installer ===&lt;br /&gt;
Amiga is the new web based installer for openSUSE when installing via ISO image. The is also a migration tool available in previous versions that takes care of the full migration to openSUSE 16.0 automatically.&lt;br /&gt;
&lt;br /&gt;
=== Wayland compositor by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE 16.0 no longer uses X and defaults to using Wayland as the desktop compositor. To use X as before, this must be installed yourself but do note, this is deprecated.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor no longer default ===&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer the default security solution, SELinux is now the preferred security solution for openSUSE 16.0. AppArmor can, however, still be used if preferred.&lt;br /&gt;
&lt;br /&gt;
== Installation notes/Known Issues ==&lt;br /&gt;
&lt;br /&gt;
* If upgrading, check the &amp;quot;Unneeded Packages&amp;quot; category in Myrlyn once upgraded to remove any lingering unneeded packages from the previous version.&lt;br /&gt;
&lt;br /&gt;
== Release notes ==&lt;br /&gt;
&lt;br /&gt;
[[openSUSE Leap 16.0 Release Notes|Release Notes]]&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 was released on 1st October 2025. It is an open-source distribution and is free of charge. It is developed by the community and sponsored by [https://www.eqtgroup.com/ EQT Partners] (formally Micro Focus and Novell).&lt;br /&gt;
&lt;br /&gt;
== Previous supported versions (at time of release) ==&lt;br /&gt;
&lt;br /&gt;
* [[openSUSE Leap 15.6]] (Supported until 30th April 2026)&lt;br /&gt;
* [[openSUSE Tumbleweed]] (Rolling release)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:openSUSE Leap 16.0 webpage.webp|center|400px]]&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=File:OpenSUSE_Leap_16.0_webpage.webp&amp;diff=1048</id>
		<title>File:OpenSUSE Leap 16.0 webpage.webp</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=File:OpenSUSE_Leap_16.0_webpage.webp&amp;diff=1048"/>
		<updated>2025-10-26T16:09:24Z</updated>

		<summary type="html">&lt;p&gt;Sam: Sam uploaded a new version of File:OpenSUSE Leap 16.0 webpage.webp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1047</id>
		<title>OpenSUSE Leap 16.0 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1047"/>
		<updated>2025-10-20T01:29:46Z</updated>

		<summary type="html">&lt;p&gt;Sam: Added missing publication date, corrected apostrophes and speech marks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Publication Date:&#039;&#039;&#039; 2025-09-29&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap is a modern, modular operating system suitable for both traditional IT and multimodal workloads. This document highlights major features, updates, and known limitations.&lt;br /&gt;
&lt;br /&gt;
== About the release notes ==&lt;br /&gt;
&lt;br /&gt;
These Release Notes are identical across all architectures, and the most recent version is always available online at https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
Entries are only listed once but they can be referenced in several places if they are important and belong to more than one section.&lt;br /&gt;
&lt;br /&gt;
Release notes usually only list changes that happened between two subsequent releases. Certain important entries from the release notes of previous product versions are repeated. To make these entries easier to identify, they contain a note to that effect.&lt;br /&gt;
&lt;br /&gt;
However, repeated entries are provided as a courtesy only. Therefore, if you are skipping one or more service packs, check the release notes of the skipped service packs as well. If you are only reading the release notes of the current release, you could miss important changes.&lt;br /&gt;
&lt;br /&gt;
=== Documentation and other information ===&lt;br /&gt;
&lt;br /&gt;
For the most up-to-date version of the documentation for openSUSE Leap, see:&lt;br /&gt;
&lt;br /&gt;
* https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
This section describes community-driven enhancements, features, and updates that extend the SUSE Linux Enterprise core. These changes reflect the openSUSE project&#039;s unique contributions, including desktop improvements, additional packages, and new workflows.&lt;br /&gt;
&lt;br /&gt;
== openSUSE Leap Community Additions ==&lt;br /&gt;
&lt;br /&gt;
=== Lifecycle ===&lt;br /&gt;
&lt;br /&gt;
Each openSUSE Leap minor release is published once every 12 months. openSUSE Leap 16 provides maintenance updates over two minor releases, giving each release a full 24 months of community support.&lt;br /&gt;
&lt;br /&gt;
Unless there is a change in release strategy, the final openSUSE Leap version (16.6) will be released in fall 2031 and will continue receiving updates until the release of openSUSE Leap 17.1 two years later.&lt;br /&gt;
&lt;br /&gt;
For more information, see: [https://en.opensuse.org/Roadmap Roadmap].&lt;br /&gt;
&lt;br /&gt;
For more than 24 months of support for a point release, the openSUSE migration tool makes it simple to move to SUSE Linux Enterprise, which provides decades of support. See [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
=== Migration from Leap 15.6 ===&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] (&amp;lt;code&amp;gt;zypper in opensuse-migration-tool&amp;lt;/code&amp;gt;) is included as part of openSUSE Leap 15.6. Users migrating from older releases can run the tool from [https://github.com/openSUSE/opensuse-migration-tool Git repository].&lt;br /&gt;
&lt;br /&gt;
For more information, refer to: [https://en.opensuse.org/SDB:System_upgrade SDB:System_upgrade].&lt;br /&gt;
&lt;br /&gt;
=== Installer and Desktop Environments ===&lt;br /&gt;
&lt;br /&gt;
* openSUSE Leap 16 installer provides only Wayland variants of desktop environments. Xorg-based environments can be installed manually post-installation.&lt;br /&gt;
&lt;br /&gt;
==== NVIDIA and Graphics Issues with the Installation Image ====&lt;br /&gt;
&lt;br /&gt;
Some users with NVIDIA GPUs may experience graphics-related issues during installation, such as boo#1247670 where X server fails to start. This is due to the fact that openSUSE Leap install image contains &amp;lt;code&amp;gt;kernel-default-optional&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;kernel-default-extra&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you encounter problems specific to the &amp;lt;code&amp;gt;nouveau&amp;lt;/code&amp;gt; driver, try booting with the option: &amp;lt;code&amp;gt;rd.driver.blacklist=nouveau&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For general graphics boot problems, use the option: &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Experimental Xfce Wayland session ====&lt;br /&gt;
&lt;br /&gt;
Experimental Xfce Wayland session is available as an installation option. openSUSE Leap is one of the first distributions to provide Wayland support for [https://en.opensuse.org/Portal:Xfce Xfce]. We use &amp;lt;code&amp;gt;gtkgreet&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;greetd&amp;lt;/code&amp;gt; as a Wayland-ready replacement for LightDM (used in the X11 variant).&lt;br /&gt;
&lt;br /&gt;
==== LXQt Wayland session available post install ====&lt;br /&gt;
&lt;br /&gt;
LXQt Wayland session is included, but will become a full installer option in later releases once LXQt Miriway efforts are further developed: https://code.opensuse.org/leap/features/issue/192.&lt;br /&gt;
&lt;br /&gt;
=== Changes to the openSUSE Welcome ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16 now uses the &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt; to start the appropriate greeter application. This launcher, in combination with &amp;lt;code&amp;gt;gnome-tour&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;plasma-welcome&amp;lt;/code&amp;gt;, replaces the legacy Qt5-based &amp;lt;code&amp;gt;opensuse-welcome&amp;lt;/code&amp;gt;, which was previously the default greeter.&lt;br /&gt;
&lt;br /&gt;
The launcher also allows the openSUSE release team to update or refresh the displayed greeter via a package update, for example after a major GNOME update. To create a custom appliance without a welcome application, or to deploy a system where the greeter should never appear, remove &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Automated NVIDIA Driver and Repository Setup ===&lt;br /&gt;
&lt;br /&gt;
On supported GPUs, NVIDIA&#039;s open driver is installed by default along with the NVIDIA graphics driver repository. In openSUSE Leap 16, user-space drivers are also automatically installed, enabling graphical acceleration out of the box.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== AppArmor ====&lt;br /&gt;
&lt;br /&gt;
AppArmor has been updated from version 3.1 to 4.1.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1 4.0] introduced fine-grained network rules (limitable by IP/port), but kernel support is not upstream yet.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.1.0 4.1] introduced the &amp;lt;code&amp;gt;priority=&amp;lt;number&amp;gt;&amp;lt;/code&amp;gt; rule prefix, which allows overriding rules.&lt;br /&gt;
&lt;br /&gt;
==== AppArmor not available by default on new installations ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer available in SUSE Linux Enterprise 16.0. Leap users cannot select AppArmor as the Linux Security Module (LSM) during a new installation. AppArmor can still be enabled post-installation. For instructions, refer to AppArmor wiki page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Users migrating manually from 15.6 will retain AppArmor by default. Users migrating with [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] will be prompted to either switch to SELinux or preserve AppArmor during post-migration.&lt;br /&gt;
&lt;br /&gt;
=== Steam ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Steam&amp;lt;/code&amp;gt; package has been removed from the [https://en.opensuse.org/Package_repositories#Non-OSS Non-OSS repository] due to limited 32-bit library support. Users are advised to install it via [https://en.opensuse.org/Steam#Flatpak Flatpak].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 32-bit execution requires installing &amp;lt;code&amp;gt;grub2-compat-ia32&amp;lt;/code&amp;gt; and rebooting.&lt;br /&gt;
* SELinux users may also need &amp;lt;code&amp;gt;selinux-policy-targeted-gaming&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/Portal:SELinux/Common_issues#Steam_Proton,_Bottles,_WINE,_Lutris,_not_working SELinux wiki page].&lt;br /&gt;
&lt;br /&gt;
=== Wine ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap includes wine 10.10, available only in the [https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine#shared-wow64 wow64] flavor. Users requiring 32-bit binary execution should consider using the Flatpak version or a similar solution.&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
==== Broken libvirt networking when using Docker ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If networking inside libvirt-managed virtual machines fails while Docker is running, it is likely due to Docker not supporting &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To fix the issue:&lt;br /&gt;
* Edit &amp;lt;code&amp;gt;/etc/libvirt/network.conf&amp;lt;/code&amp;gt; and set:&lt;br /&gt;
 firewall_backend = &amp;quot;iptables&amp;quot;&lt;br /&gt;
* Add the virtual network interface to the libvirt firewall zone:&lt;br /&gt;
 firewall-cmd --add-interface=virbr0 --zone=libvirt --permanent&lt;br /&gt;
 firewall-cmd --reload&lt;br /&gt;
* Restart libvirt and related services:&lt;br /&gt;
 systemctl restart libvirtd&lt;br /&gt;
This restores networking for libvirt VMs while Docker is active.&lt;br /&gt;
&lt;br /&gt;
=== GNU Health ===&lt;br /&gt;
&lt;br /&gt;
[https://www.gnuhealth.org/ GNU Health] has been updated to major release 5.0.2. The underlying ERP framework, Tryton, has been updated to LTS version 7.0. Functional improvements include enhanced medical image workflows and better integration with Orthanc 1.12.9 (PACS server).&lt;br /&gt;
&lt;br /&gt;
=== PipeWire replaces PulseAudio ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses PipeWire by default. Users upgrading from previous releases should be automatically migrated from PulseAudio. &amp;lt;code&amp;gt;opensuse-migration-tool&amp;lt;/code&amp;gt; provides a post-migration script if migration does not occur automatically.&lt;br /&gt;
&lt;br /&gt;
If experiencing audio issues, ensure you are not using the &amp;lt;code&amp;gt;wireplumber-video-only-profile&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/openSUSE:Pipewire#Installation PipeWire#Installation] for details.&lt;br /&gt;
&lt;br /&gt;
=== Hexchat drop ===&lt;br /&gt;
&lt;br /&gt;
Hexchat IRC client has been dropped as the [https://github.com/hexchat/hexchat upstream project] is archived. Alternatives include [https://software.opensuse.org/package/polari Polari] or the Flatpak version: [https://flathub.org/en/apps/io.github.Hexchat Flatpak].&lt;br /&gt;
&lt;br /&gt;
=== Configuring boot entry with serial console ===&lt;br /&gt;
&lt;br /&gt;
See https://en.opensuse.org/SDB:SerialConsole for guidance.&lt;br /&gt;
&lt;br /&gt;
This section describes the enterprise-grade foundation of openSUSE Leap, based on SUSE Linux Enterprise. Content here is adapted from the SUSE Linux Enterprise release notes to reflect core functionality, security updates, and enterprise features that openSUSE Leap inherits.&lt;br /&gt;
&lt;br /&gt;
== SUSE Linux Enterprise Core ==&lt;br /&gt;
&lt;br /&gt;
=== What&#039;s new? ===&lt;br /&gt;
&lt;br /&gt;
==== Package and module changes in 16.0 ====&lt;br /&gt;
&lt;br /&gt;
The full list of changed packages compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/package-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
The full list of changed modules compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/module-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
=== Support and lifecycle ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap is backed by award-winning support from SUSE, an established technology leader with a proven history of delivering enterprise-quality support services.&lt;br /&gt;
&lt;br /&gt;
The current version (16.0) will be fully maintained and supported until 31 Jul 2034.&lt;br /&gt;
&lt;br /&gt;
If you need additional time to design, validate and test your upgrade plans, Long Term Service Pack Support can extend the support duration. You can buy an additional 12 to 36 months in twelve month increments. This means that you can receive support up to Dec 2037.&lt;br /&gt;
&lt;br /&gt;
For more information, see the pages [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
=== Support statement for openSUSE Leap ===&lt;br /&gt;
&lt;br /&gt;
To receive support, you need an appropriate subscription with SUSE. For more information, see https://forums.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
The following definitions apply:&lt;br /&gt;
&lt;br /&gt;
;L1&lt;br /&gt;
:Problem determination, which means technical support designed to provide compatibility information, usage support, ongoing maintenance, information gathering, and basic troubleshooting using the documentation.&lt;br /&gt;
;L2&lt;br /&gt;
:Problem isolation, which means technical support designed to analyze data, reproduce customer problems, isolate the problem area, and provide a resolution for problems not resolved by Level 1 or prepare for Level 3.&lt;br /&gt;
;L3&lt;br /&gt;
:Problem resolution, which means technical support designed to resolve problems by engaging engineering to resolve product defects which have been identified by Level 2 Support.&lt;br /&gt;
&lt;br /&gt;
For contracted customers and partners, openSUSE Leap is delivered with L3 support for all packages, except for the following:&lt;br /&gt;
* Technology Previews, see Section  &amp;quot;[[#Technology previews|Technology previews]]&amp;quot;&lt;br /&gt;
* Sound, graphics, fonts and artwork&lt;br /&gt;
* Packages that require an additional customer contract, see Section &amp;quot;[[#Software requiring specific contracts|Software requiring specific contracts]]&amp;quot;&lt;br /&gt;
* Some packages shipped as part of the module &#039;&#039;Workstation Extension&#039;&#039; are L2-supported only&lt;br /&gt;
* Packages with names ending in &amp;lt;code&amp;gt;-devel&amp;lt;/code&amp;gt; (containing header files and similar developer resources) will only be supported together with their main packages.&lt;br /&gt;
&lt;br /&gt;
SUSE will only support the usage of original packages. That is, packages that are unchanged and not recompiled.&lt;br /&gt;
&lt;br /&gt;
==== General support ====&lt;br /&gt;
&lt;br /&gt;
To learn about supported features and limitations, refer to the following sections in this document:&lt;br /&gt;
* Section &amp;quot;[[#Virtualization|Virtualization]]&amp;quot;&lt;br /&gt;
* Section &amp;quot;[[#Removed and deprecated features and packages|Removed and deprecated features and packages]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Software requiring specific contracts ====&lt;br /&gt;
&lt;br /&gt;
Certain software delivered as part of openSUSE Leap may require an external contract. Check the support status of individual packages using the RPM metadata that can be viewed with &amp;lt;code&amp;gt;rpm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;YaST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Major packages and groups of packages affected by this are:&lt;br /&gt;
* PostgreSQL (all versions, including all subpackages)&lt;br /&gt;
&lt;br /&gt;
==== Software under GNU AGPL ====&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped &#039;&#039;only&#039;&#039; under a GNU AGPL software license:&lt;br /&gt;
* Ghostscript (including subpackages)&lt;br /&gt;
* &amp;lt;code&amp;gt;velociraptor&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;velociraptor-client&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zypp-boot-plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped under multiple licenses that include a GNU AGPL software license:&lt;br /&gt;
* MySpell dictionaries and LightProof&lt;br /&gt;
* ArgyllCMS&lt;br /&gt;
&lt;br /&gt;
=== Technology previews ===&lt;br /&gt;
&lt;br /&gt;
Technology previews are packages, stacks, or features delivered by SUSE to provide glimpses into upcoming innovations. Technology previews are included for your convenience to give you a chance to test new technologies within your environment. We would appreciate your feedback! If you test a technology preview, contact your SUSE representative and let them know about your experience and use cases. Your input is helpful for future development.&lt;br /&gt;
&lt;br /&gt;
Technology previews come with the following limitations:&lt;br /&gt;
* Technology previews are still in development. Therefore, they may be functionally incomplete, unstable, or in other ways not suitable for production use.&lt;br /&gt;
* Technology previews are not supported.&lt;br /&gt;
* Technology previews may only be available for specific hardware architectures. Details and functionality of technology previews are subject to change. As a result, upgrading to subsequent releases of a technology preview may be impossible and require a fresh installation.&lt;br /&gt;
* Technology previews can be removed from a product at any time. This may be the case, for example, if SUSE discovers that a preview does not meet the customer or market needs, or does not comply with enterprise standards.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
As technology preview, &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is available in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is intentionally built without Btrfs support. Btrfs filesystems can be multi-device (for example, RAID1) but &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; currently only supports a single device per mount.&lt;br /&gt;
&lt;br /&gt;
=== Changes affecting all architectures ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rasdaemon&amp;lt;/code&amp;gt; has been updated to version 8.3.0. This version supports machine checks related to CXL memory.&lt;br /&gt;
* We now provide Grafana Alloy which can integrate with SUSE Observability as well.&lt;br /&gt;
* &amp;lt;code&amp;gt;NetworkManager&amp;lt;/code&amp;gt; is now the only network configuration stack in openSUSE Leap 16.0.&lt;br /&gt;
* We now provide a unified image that can be used to install either SLES or SLES for SAP&lt;br /&gt;
&lt;br /&gt;
==== Userspace live patching ====&lt;br /&gt;
&lt;br /&gt;
Currently, &amp;lt;code&amp;gt;libpulp&amp;lt;/code&amp;gt; supports ULP (user space live patching) of &amp;lt;code&amp;gt;glibc&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt; binaries on the following architectures:&lt;br /&gt;
* x86-64&lt;br /&gt;
* ppc64le&lt;br /&gt;
&lt;br /&gt;
For more information see https://documentation.suse.com/sles/15-SP7/html/SLES-all/cha-ulp.html&lt;br /&gt;
&lt;br /&gt;
==== Switch to &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API in &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; mount command has switched from the old string-based method to the new kernel &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API. This change introduces new features but also comes with some minor incompatibilities.&lt;br /&gt;
&lt;br /&gt;
There is a special case that cannot be handled by &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; and needs to be handled by applications:&lt;br /&gt;
* &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; discriminates between the physical mount layer and the virtual mount layer&lt;br /&gt;
* once the physical mount layer is read-only, read-write mount on the virtual layer is not possible&lt;br /&gt;
&lt;br /&gt;
If the first mount is read-only, then the physical filesystem is mounted read-only, and later mounting of the same file system as read-write is not possible. To solve this problem, the first mount needs to be read-only on the virtual layer only, keeping the physical layer read-write. The userspace fix is simple. Instead of:&lt;br /&gt;
 mount -oro&lt;br /&gt;
use&lt;br /&gt;
 mount -oro=vfs&lt;br /&gt;
&lt;br /&gt;
This will keep the physical layer read-write, but the virtual file system layer (and the userspace access) read-only.&lt;br /&gt;
&lt;br /&gt;
==== Switch to predictable network names ====&lt;br /&gt;
&lt;br /&gt;
The persistent network naming scheme used in Leap 15 became legacy with the switch to the systemd predictable network names. For complicated setups, we recommend using &amp;lt;code&amp;gt;systemd.link&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see:&lt;br /&gt;
* https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the future, when upgrading from SL Micro to Leap 16.1 (so-called &amp;quot;SLE merge&amp;quot;), some systems will have &amp;lt;code&amp;gt;net.ifnames=0&amp;lt;/code&amp;gt; set on their kernel command line (this is the case for new installations of SL Micro 6.0 and 6.1). This boot option will prevent the system from switching to the predictable naming scheme and it will need to be removed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== systemd default configurations moved to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Main configuration files have been moved from &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;. This ensures that main configuration files have lower precedence, allowing them to be overriden by package-supplied drop-in snippets.&lt;br /&gt;
&lt;br /&gt;
Local configuration should be created by either modifying the default file in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; (or a copy of it placed in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; if the original file is shipped in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;), or by creating drop-in snippets in the appropriate directory in (for example, &amp;lt;code&amp;gt;/etc/systemd/coredump.conf.d/&amp;lt;/code&amp;gt;) - this is recommended.&lt;br /&gt;
&lt;br /&gt;
Remove configurations in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to restore defaults.&lt;br /&gt;
&lt;br /&gt;
==== Password access as root via SSH disabled ====&lt;br /&gt;
&lt;br /&gt;
Previously, it was possible to SSH as root using password-based authentication. In Leap 16.0 only key-based authentication is allowed by default. Systems upgraded to 16.0 from a previous version will carry over the old behavior. New installations will enforce the new behavior.&lt;br /&gt;
&lt;br /&gt;
Installing the package &amp;lt;code&amp;gt;openssh-server-config-rootlogin&amp;lt;/code&amp;gt; restores the old behavior and allows password-based login for the root user.&lt;br /&gt;
&lt;br /&gt;
==== Minimum hardware requirements ====&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires hardware to meet requirements on these architectures:&lt;br /&gt;
* For AMD64 and Intel* 64 systems: Microarchitecture level x86-64-v2 or higher.&lt;br /&gt;
* For IBM* Power LE systems: POWER10 or higher (see note below).&lt;br /&gt;
* For Arm64* systems: Armv8.0-A or higher.&lt;br /&gt;
* For IBM* Z systems: z14 or higher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
POWER9 systems may work with Leap 16.0 but are not supported by IBM, the hardware vendor.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== SHA1 to be disabled or mark unapproved ====&lt;br /&gt;
&lt;br /&gt;
Due to FIPS 140-3 certification requirements, the SHA1 cryptographic algorithm will be disabled or marked unapproved when running in FIPS mode.&lt;br /&gt;
&lt;br /&gt;
==== Added &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; package contains a daemon that tunes system settings dynamically.&lt;br /&gt;
&lt;br /&gt;
==== Lightweight guard region support ====&lt;br /&gt;
&lt;br /&gt;
This is a new feature in &amp;lt;code&amp;gt;madvise()&amp;lt;/code&amp;gt; that installs a lightweight guard region into a specified address range.&lt;br /&gt;
&lt;br /&gt;
See [https://manpages.opensuse.org/Leap-16.0/man-pages/madvise.2.en.html#MADV_GUARD_INSTALL madvise() man page] for more information.&lt;br /&gt;
&lt;br /&gt;
==== Harmless error messages sometimes displayed when launching some applications ====&lt;br /&gt;
&lt;br /&gt;
The following messages are sometimes displayed when launching specific applications:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;gnome-desktop&amp;lt;/code&amp;gt; some times failes to create transient scope:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; gnome-session-binary: GnomeDesktop-WARNING: Could not create transient scope for PID 7883: GDBus.Error:org.freedesktop.DBus.Error.UnixProcessIdUnknown: Process with ID 7883 does not exist.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; sometimes fails to assign cgroup:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Couldn&#039;t move process 6708 to requested cgroup &#039;/user.slice/user-0.slice/user@0.service/app.slice/app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope&#039;: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed to add PIDs to scope&#039;s control group: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed with result &#039;resources&#039;.&lt;br /&gt;
&amp;gt; systemd: Failed to start Application launched by gnome-session-binary.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These messages are harmless and can be ignored.&lt;br /&gt;
&lt;br /&gt;
==== NFS over TLS support ====&lt;br /&gt;
&lt;br /&gt;
NFS over TLS is now supported for storage traffic.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; is replaced with &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; will also be enabled with a base tuning, similar to &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;. Base tuning only will be enabled if &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; was not configured before (no SAP Notes or Solutions selected).&lt;br /&gt;
&lt;br /&gt;
==== Azure Entra ID authentication via &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; package has been added. It provides interoperability with Microsoft Azure Entra ID and Intune. It supports Linux authentication to Microsoft Azure Entra ID via PAM and NSS modules.&lt;br /&gt;
&lt;br /&gt;
For more information see https://github.com/himmelblau-idm/himmelblau.&lt;br /&gt;
&lt;br /&gt;
==== Legacy BIOS support ====&lt;br /&gt;
&lt;br /&gt;
Legacy BIOS is still supported in openSUSE Leap 16.0. However, some features are not available when using it (for example, full-disk encryption with TPM). Finally, support for legacy BIOS will be discontinued in the future. For that reason we recommend switching to UEFI at the nearest opportunity.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; not persistent ====&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0, &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; is no longer persistent between reboots but uses &amp;lt;code&amp;gt;tmpfs&amp;lt;/code&amp;gt; instead. See https://susedoc.github.io/doc-modular/main/html/SLE-comparison/index.html#sle16-tmp for more information.&lt;br /&gt;
&lt;br /&gt;
==== Python update strategy ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; is currently set to use Python 3.13. In a future minor version update this is likely going to be changed to a newer Python version.&lt;br /&gt;
* openSUSE Leap 16.0 contains around 700 popular Python packages, which form a basic set of functionality for packages that depends on Python and for developing apps without needing to install Python modules from an external provider.&lt;br /&gt;
* We have been working on removing the dependencies of packages and tools on the &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; binary, which means that openSUSE Leap could use a newer version of the Python interpreter in the future. This new Python interpreter will coexist with the previous version that will then be maintained as legacy interpreter for a limited time.&lt;br /&gt;
&lt;br /&gt;
==== Removal of 32-bit support ====&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 only supports 64-bit binaries. Support for 32-bit binaries (or 31-bit binaries on IBM Z) has been removed.&lt;br /&gt;
&lt;br /&gt;
This means that statically-linked 32-bit binaries (or 31-bit binaries on IBM Z) and container images cannot be run anymore. 32-bit syscalls are still enabled by default on arm64, and can be enabled on x86_64 via the kernel parameter &amp;lt;code&amp;gt;ia32_emulation&amp;lt;/code&amp;gt;. On other architectures it&#039;s disabled without any option to enable it.&lt;br /&gt;
&lt;br /&gt;
==== Compiling kernel uses non-default compiler ====&lt;br /&gt;
&lt;br /&gt;
Customers who need to build kernel modules or rebuild the kernel must use the same compiler version the kernel was built with. The kernel is built with &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13, which is not the default compiler. Install the &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13 compiler using the gcc13 package and invoke it with the command &amp;lt;code&amp;gt;gcc-13&amp;lt;/code&amp;gt;. This specific compiler version is only supported for building kernel modules and the kernel.&lt;br /&gt;
&lt;br /&gt;
==== Optimized libraries for newer hardware architectures ====&lt;br /&gt;
&lt;br /&gt;
We have added support for the glibc-HWCAPS feature which loads optimized versions of libraries for specific newer CPUs automatically.&lt;br /&gt;
&lt;br /&gt;
The build infrastructure for this feature is enabled for the following libraries:&lt;br /&gt;
* &amp;lt;code&amp;gt;blosc2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;boost&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;brotli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bzip2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;flac&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;jsoncpp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lame&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;leveldb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libdb-4_8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libgcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libiscsi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjpeg-turbo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjxl&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libmng&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libnettle&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libpng16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libvorbis&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libxmlb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lz4&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lzo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openjpeg2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openssl-3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python311&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python313&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sqlite3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;talloc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tree-sitter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xxhash&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zopfli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== No remote root login with password ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you install the system using only a &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; password and do not provide an SSH key for the root user, &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; will not be enabled automatically after installation. You will not be able to log in remotely as root using the password.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, remote password-based &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login is disabled. The installer enables the &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; service only when an SSH key for root is configured during setup. To allow remote &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login, configure an SSH key for root during installation.&lt;br /&gt;
&lt;br /&gt;
==== Default user group assignment changed ====&lt;br /&gt;
&lt;br /&gt;
Previously, all user accounts belonged to a single &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group.&lt;br /&gt;
&lt;br /&gt;
Now instead of being added to the common &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group, each new user now gets their own primary group matching their username. This is due to &amp;lt;code&amp;gt;USERGROUPS_ENAB&amp;lt;/code&amp;gt; being enabled in &amp;lt;code&amp;gt;/usr/etc/login.defs&amp;lt;/code&amp;gt;. This change affects all new installations and upgraded systems that did not change the default &amp;lt;code&amp;gt;/etc/login.defs&amp;lt;/code&amp;gt;. This has several consequences:&lt;br /&gt;
* files created by new users are not group-readable by default&lt;br /&gt;
* configurations that used the primary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition do not work anymore&lt;br /&gt;
* configurations that used the primary or secondary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition need to have the &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group manually added to these user accounts in order to continue to work, for example, to for &amp;lt;code&amp;gt;@users&amp;lt;/code&amp;gt; in the sudoers file&lt;br /&gt;
* home directories inherited from a previous system need to standardize the GID of the files by running: &lt;br /&gt;
:&amp;lt;code&amp;gt;find &amp;quot;$HOME&amp;quot; -group users -exec chgrp myuser {} \;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;chgrp -R myuser &amp;quot;$HOME&amp;quot;&amp;lt;/code&amp;gt; if you did not use any GID other than &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SysV init.d scripts support ====&lt;br /&gt;
&lt;br /&gt;
SysV init.d scripts have been [https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15-SP2/index.html#jsc-SLE-7690 deprecated since Leap 15 SP2].&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, support of SysV init.d scripts has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Changes affecting all architectures (RC1) ===&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to RC1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; removal ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; file is just a dummy file that will be removed in the future. Software that appends to it without creating it should have its behavior changed.&lt;br /&gt;
&lt;br /&gt;
=== Changes affecting all architectures (Beta4) ===&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta4. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
==== Configuring network interfaces during installation ====&lt;br /&gt;
&lt;br /&gt;
Currently, the installer does not allow for setting up network interfaces using the UI. However, in the meantime you can use dracut-like command-line options, for example:&lt;br /&gt;
&lt;br /&gt;
 ifname=&amp;lt;interface&amp;gt;:&amp;lt;MAC&amp;gt;&lt;br /&gt;
 ip=&amp;lt;interface&amp;gt;:dhcp&lt;br /&gt;
&lt;br /&gt;
Additionally, the &amp;lt;code&amp;gt;inst.copy_network&amp;lt;/code&amp;gt; is not available in Beta4.&lt;br /&gt;
&lt;br /&gt;
==== SAP workloads on Leap 16.0 ====&lt;br /&gt;
&lt;br /&gt;
For running SAP workloads on openSUSE Leap 16.0, do the following:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Unpack the SAP installer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to change policies:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;semanage boolean -m --on selinuxuser_execmod&lt;br /&gt;
semanage boolean -m --on unconfined_service_transition_to_unconfined_user&lt;br /&gt;
semanage permissive -a snapper_grub_plugin_t&lt;br /&gt;
restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to lable all files:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d ./snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d ./snapshots || restorecon R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install SAP workload or SAP HANA&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Label all files again:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d /.snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d /.snapshots || restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FIPS 140-3 not working properly ====&lt;br /&gt;
&lt;br /&gt;
FIPS 140-3 installation has not been fully validated and may cause unexpected software failure or crashes. Therefore, we discourage you from using it on Beta4.&lt;br /&gt;
&lt;br /&gt;
=== Changes affecting all architectures (Beta3) ===&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta3. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
==== Kernel crash in QEMU ====&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires a CPU that supports a so-called &amp;quot;x86-64-v2&amp;quot; microarchitecture. Due to this, running a Leap image using QEMU currently results in a kernel crash.&lt;br /&gt;
&lt;br /&gt;
As a workaround you can run QEMU with the &amp;lt;code&amp;gt;-cpu host&amp;lt;/code&amp;gt; argument.&lt;br /&gt;
&lt;br /&gt;
==== Missing &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library has been deprecated in SLES 15 and finally removed in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
As a workaround for applications that cannot be installed without it (but presumaly do not use it for anything), we provide the &amp;lt;code&amp;gt;libnsl-stub1&amp;lt;/code&amp;gt; package that includes ABI-compatible but otherwise function-less stub of the library file.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; not usable with many interfaces ====&lt;br /&gt;
&lt;br /&gt;
Due to an upstream bug, &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; might take a long time or time out when adding many interfaces. The error occurs when &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; is restarted after applying such a configuration. The following message appears in the system logs:&lt;br /&gt;
 ERROR:dbus.proxies:Introspect error on :1.18:/org/fedoraproject/FirewallD1: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply.&lt;br /&gt;
 Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.&lt;br /&gt;
&lt;br /&gt;
See https://github.com/firewalld/firewalld/issues/1399 for more information.&lt;br /&gt;
&lt;br /&gt;
=== Changes affecting all architectures (Beta2) ===&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta2. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
==== Switch from YaST to Cockpit ====&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 has switched from YaST to Cockpit for manual system administration. We have enhanced Cockpit with new modules with the intention to upstream them later. Despite being functional, bugs might appear and features might be missing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;: register, de-register and view SUSE Linux Enterprise registrations. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-repositories&amp;lt;/code&amp;gt;: add, remove, view repositories, change settings and refresh them. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;: show installed packages, search available repositories, install and uninstall packages. Requires administrative access. Be aware that there are no safety measures implemented as far as system usability goes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enhanced modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;: update packages from available repositories. The module now allows to individually select packages to update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upstream modules&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-kdump&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-machines&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-podman&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;: these modules are updated to the recent stable base version 332 (or their respective).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default selection&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installation of the pattern &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt; will pull in the following modules: &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-repos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;dovecot 2.4&amp;lt;/code&amp;gt; configuration upgrade ====&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 &amp;lt;code&amp;gt;dovecot&amp;lt;/code&amp;gt; has been upgraded to version 2.4. The configuration of this version is incompatible with the previous versions.&lt;br /&gt;
&lt;br /&gt;
Configuration has to be updated manually. For more information see https://doc.dovecot.org/2.4.0/installation/upgrade/2.3-to-2.4.html.&lt;br /&gt;
&lt;br /&gt;
=== Changes affecting all architectures (Beta1) ===&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
==== Disk configuration UI during installation ====&lt;br /&gt;
&lt;br /&gt;
Currently, choosing disk configurations other than &amp;quot;An existing disk&amp;quot; (installation to a single disk) suffer from poor usability. This is expected to change in a future update.&lt;br /&gt;
&lt;br /&gt;
==== Non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; after installation ====&lt;br /&gt;
&lt;br /&gt;
There is currently a known issue that adds a non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; repository which prevents &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; from working correctly.&lt;br /&gt;
&lt;br /&gt;
To fix this issue, remove the repository in question and add the installation medium repository manually:&lt;br /&gt;
# Remove repository with &amp;lt;code&amp;gt;zypper rr&amp;lt;/code&amp;gt;. To remove the first repository, for example, run: &amp;lt;code&amp;gt;zypper rr 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Add the installation medium as repository by running &lt;br /&gt;
#:&amp;lt;pre&amp;gt;zypper ar hd:/install?device=/dev/disk/by-label/agama-installer medium&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:(the &amp;lt;code&amp;gt;medium&amp;lt;/code&amp;gt; at the end is a name you want to give the repository).&lt;br /&gt;
# Run &amp;lt;code&amp;gt;zypper refresh&amp;lt;/code&amp;gt; to refresh the added repository.&lt;br /&gt;
&lt;br /&gt;
==== systemd uses cgroup v2 by default ====&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses cgroup v2 by default and v1 is unsupported. If you need to use cgroup v1, SLES 15 SP6 can be switched to hybrid mode using a boot parameter.&lt;br /&gt;
&lt;br /&gt;
=== x86-64-specific changes ===&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to the x86-64 architecture.&lt;br /&gt;
&lt;br /&gt;
==== AMD EPYC Turin automonous frequency scaling ====&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, the default Linux CPU frequency scaling driver for AMD EPYC Turin (and later processors) has shifted to the AMD P-State driver to enable autonomous frequency scaling.&lt;br /&gt;
&lt;br /&gt;
With the AMD P-State driver, it enables the use of the Energy Performance Preference (EPP) for more granular control over performance versus power efficiency to adjust the CPU frequencies based on workload and hardware feedback dynamically.&lt;br /&gt;
&lt;br /&gt;
=== IBM Z-specific changes (s390x) ===&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for IBM Z 16.0. For more information, see https://www.ibm.com/docs/en/linux-on-systems?topic=distributions-suse-linux-enterprise-server&lt;br /&gt;
&lt;br /&gt;
==== Hardware ====&lt;br /&gt;
&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; providing machine name, kconfig options, new instructions, etc.&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;gdb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;valgrind&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;binutils&amp;lt;/code&amp;gt;&lt;br /&gt;
* Support has been added for IBM z16 - reset DAT-Protection facility support&lt;br /&gt;
* Identify ConnectX devices through port rather than PCHID&lt;br /&gt;
* Processor Activity Instrumentation / Neural Network Processing Assist counters for new IBM Z hardware was added into kernel&lt;br /&gt;
* kprobes are now supported without &amp;lt;code&amp;gt;stop machine&amp;lt;/code&amp;gt;&lt;br /&gt;
* Promiscuous Mode Exploitation for NETH Virtual Functions for IBM z17 and LinuxONE 5&lt;br /&gt;
* Vertical CPU Polarization support for IBM z17 and LinuxONE 5&lt;br /&gt;
* qclib has been updated to support IBM z17&lt;br /&gt;
* The Integrated Accelerator for AI has new operations, which are now supported by libzdnn low-level driver library&lt;br /&gt;
* Enhanced RAS and Call Home for zPCI&lt;br /&gt;
* The kernel image can move into vmalloc space, where random physical pages are used to map virtual pages (V!=R)&lt;br /&gt;
* Add new CPU-MF Counters for new IBM Z Hardware (libpfm)&lt;br /&gt;
* Deactivate CONFIG_QETH_OSX kernel config option&lt;br /&gt;
* Upgrade Mellanox (mlx5) driver to latest version&lt;br /&gt;
&lt;br /&gt;
==== Performance ====&lt;br /&gt;
&lt;br /&gt;
* LPAR level power consumption reporting is now available in kernel and s390-tools.&lt;br /&gt;
&lt;br /&gt;
==== Security ====&lt;br /&gt;
&lt;br /&gt;
===== In-kernel crypto support =====&lt;br /&gt;
&lt;br /&gt;
With this service pack are additionally supported:&lt;br /&gt;
* MSA 10 XTS instructions for in-kernel crypto&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 12 (SHA3) has been added and introduces new options to call CPACF SHA 3 functions&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 10 XTS crypto PAES support for in-kernel crypto&lt;br /&gt;
&lt;br /&gt;
===== OpenSSL features =====&lt;br /&gt;
&lt;br /&gt;
This release brings these features and improvements:&lt;br /&gt;
* XTS instructions support in libcrypto/openSSL&lt;br /&gt;
* New MSA 11 HMAC instruction support in libcrypto/openSSL&lt;br /&gt;
* Added support for MSA 12 (SHA3), which also introduces new options to call CPACF SHA3 and SHKE functions&lt;br /&gt;
* Extended support of the openssl-pkcs11 provider such that it can be used by programs that issue forks&lt;br /&gt;
* Replace openssl-ibmpkcs11 with openssl-pkcs11&lt;br /&gt;
* Upgrade openssl-ibmca to the latest version&lt;br /&gt;
&lt;br /&gt;
===== openCryptoki =====&lt;br /&gt;
&lt;br /&gt;
* The new version of &amp;lt;code&amp;gt;libica&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libzpc&amp;lt;/code&amp;gt; is included.&lt;br /&gt;
* The openCryptoki CCA Token is now available on x86_64 and ppc64le architectures.&lt;br /&gt;
&lt;br /&gt;
===== p11-kit =====&lt;br /&gt;
&lt;br /&gt;
* Add support for IBM specific attributes and mechanisms to the PKCS11 client-server implementation of p11-kit.&lt;br /&gt;
&lt;br /&gt;
===== pkey =====&lt;br /&gt;
&lt;br /&gt;
* The kernel pkey module can now generate keys AES-XTS keys (MSA 10) and HMAC key (MSA 11) from clear keys.&lt;br /&gt;
* The module can also generate keys represented by identifiers of secure execution retrievable keys.&lt;br /&gt;
* The pkey also supports EP11 API ordinal 6 for secure guests.&lt;br /&gt;
&lt;br /&gt;
===== zcrypt =====&lt;br /&gt;
&lt;br /&gt;
* The zcrypt extends error recovery to deal with device scans of unavailable devices.&lt;br /&gt;
&lt;br /&gt;
==== Virtualization ====&lt;br /&gt;
&lt;br /&gt;
* KVM guests can exploit z17 &amp;amp; LinuxONE 5 CPU features&lt;br /&gt;
* KVM can display available host key hashes for Secure Execution (Query Host-key hash UVC)&lt;br /&gt;
* KVM can benefit from genprotimg rewritten in Rust to re-use existing rust libraries (s390-tools feature)&lt;br /&gt;
* KVM benefits from genprotimg validation of SE image running on particular host(s) (s390-tools feature)&lt;br /&gt;
* KVM benefits from using pvimg info command to display encrypted &amp;amp; unencrypted SE image information (s390-tools)&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM passthrough is available for guests i.e. retrievable secrets in Secure Execution guests&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM implements counters for nested guest shadow events&lt;br /&gt;
* KVM implements virsh hypervisor-cpu-models (libvirt)&lt;br /&gt;
* KVM provides enhanced and dynamic CPU topology for KVM guests (qemu)&lt;br /&gt;
* KVM and libvirt full boot order enables users to attempt booting from multiple targets&lt;br /&gt;
* KVM provides Atomic Memop for Key-Checked Compare-and-swap&lt;br /&gt;
* KVM enhances CCW address translation architectural compliance&lt;br /&gt;
* KVM improves memory reclaiming for z15 Secure Execution guests and above (libvirt)&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; was replaced by &amp;lt;code&amp;gt;blog&amp;lt;/code&amp;gt; on s390x, as &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; couldn&#039;t work without graphical display.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Eigen&amp;lt;/code&amp;gt; library is the backend used by &amp;lt;code&amp;gt;Tensorflow&amp;lt;/code&amp;gt; for computations executed on the CPU. Several GCC adjustments have been implemented to speed up Eigen with IBM z14 support and above.&lt;br /&gt;
* Allow &amp;lt;code&amp;gt;httpd&amp;lt;/code&amp;gt; customers to protect their web server identity using HSMs (via CryptoExpress adapters).&lt;br /&gt;
&lt;br /&gt;
===== Enhancements in &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The latest s390-tool update brings these noticeable changes:&lt;br /&gt;
* Additional channel measurements - kernel &amp;amp; &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* A new tool cpacinfo shall provide information on CPACF including the supported MSA levels, instructions, subfunctions per instruction. https://www.ibm.com/docs/en/linux-on-systems?topic=hw-cpacf&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO =====&lt;br /&gt;
&lt;br /&gt;
Previously, &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; would point to a directory of unpacked files.&lt;br /&gt;
&lt;br /&gt;
Now it needs to point to a loop-mounted ISO via FTP. For example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/agama-online.iso&lt;br /&gt;
 agama.install_url=ftp://$SERVER_URL/install/agama&lt;br /&gt;
&lt;br /&gt;
For more information see https://agama-project.github.io/docs/user/boot_options.&lt;br /&gt;
&lt;br /&gt;
===== Disk selection UI problems during installation =====&lt;br /&gt;
&lt;br /&gt;
If you want to enable a disk, click on &#039;&#039;Storage&#039;&#039; in the left panel, then &#039;&#039;Install new system on&#039;&#039; and choose &amp;quot;storage techs&amp;quot;. Then you can choose a type of disk. This can be avoided if you have defined your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; as described in Section &amp;quot;[[#parmfile now points to ISO|&amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you choose DASD, you should see disks based on your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cio_ignore&amp;lt;/code&amp;gt; configuration. Then choose a disk and activate it by clicking &#039;&#039;Perform an action&#039;&#039; and then &#039;&#039;Activate&#039;&#039;. This can take a moment. If it is not visible, then you need to click on Storage or refresh the page.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;zFCP&#039;&#039; section, after activating a disk a gray line will appear. This is just a visual bug, the disk will activate correctly.&lt;br /&gt;
&lt;br /&gt;
===== Installation failure on zVM =====&lt;br /&gt;
&lt;br /&gt;
Due to a change from &amp;lt;code&amp;gt;linuxrc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;dracut&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to define not only installation source but also a network and disks.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to be filled with a &amp;lt;code&amp;gt;dracut-like&amp;lt;/code&amp;gt; options, for example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/online.iso&lt;br /&gt;
 ip=$IP_address::$IP_gateway:24:SLE16-Beta4:$NETWORK_DEVICE:none&lt;br /&gt;
 rd.zdev=qeth,0.0.0800:0.0.0801:0.0.0802,layer2=1,portno=0&lt;br /&gt;
 cio_ignore=all,!condev,!0.0.0160 nameserver=$NAMEserverIP&lt;br /&gt;
 live.password=linux rd.zdev=dasd,0.0.0160&lt;br /&gt;
&lt;br /&gt;
=== POWER-specific changes (ppc64le) ===&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for POWER 16.0.&lt;br /&gt;
&lt;br /&gt;
==== KVM guests in LPAR ====&lt;br /&gt;
&lt;br /&gt;
The ability to run KVM Guests in an LPAR is a new feature in PowerVM Firmware 1060.10 release and supported in openSUSE Leap 16.0. This enables users to run KVM guests in a PowerVM LPAR bringing industry standard Linux KVM virtualization stack to IBM PowerVM, which easily integrates with existing Linux virtualization ecosystem. This enables a lot of interesting usecases which were earlier difficult to realize in a PowerVM LPAR.&lt;br /&gt;
&lt;br /&gt;
KVM in a PowerVM LPAR is a new type of LPAR (logical partition) that allows the openSUSE Leap 16.0 kernel to host KVM guests inside an LPAR on PowerVM. A KVM enabled LPAR allows standard Linux KVM tools (for example, &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt;) to create and manage lightweight Linux Virtual Machines (VM). A KVM Linux LPAR uses dedicated cores which enables Linux to have full control of when Linux VMs are scheduled to run, just like KVM on other platforms.&lt;br /&gt;
&lt;br /&gt;
==== Login times out on HMC virtual terminal ====&lt;br /&gt;
&lt;br /&gt;
If you install openSUSE Leap for POWER with the GNOME desktop on LPAR and try to login via the HMC virtual terminal, the login may time out while entering your credentials.&lt;br /&gt;
&lt;br /&gt;
To work around this issue, disable the Plymouth graphical boot screen by appending the boot parameter &amp;lt;code&amp;gt;plymouth.enable=0&amp;lt;/code&amp;gt; to the kernel command line.&lt;br /&gt;
&lt;br /&gt;
=== Arm-specific changes (AArch64) ===&lt;br /&gt;
&lt;br /&gt;
==== System-on-Chip driver enablement ====&lt;br /&gt;
&lt;br /&gt;
Leap 16.0 includes driver enablement for the following System-on-Chip (SoC) chipsets:&lt;br /&gt;
* Ampere* X-Gene*, eMAG*, Altra*, Altra Max, AmpereOne*&lt;br /&gt;
* AWS* Graviton, Graviton2, Graviton3&lt;br /&gt;
* Broadcom* BCM2837/BCM2710, BCM2711&lt;br /&gt;
* Fujitsu* A64FX&lt;br /&gt;
* Huawei* Kunpeng* 916, Kunpeng 920&lt;br /&gt;
* Marvell* ThunderX*, ThunderX2*; OCTEON TX*; Armada* 7040, Armada 8040&lt;br /&gt;
* NVIDIA* Grace; Tegra* X1, Tegra X2, Xavier*, Orin; Blue﻿Field*, Blue﻿Field-2, Blue﻿Field-3&lt;br /&gt;
* NXP* i.MX 8M, 8M Mini; Layerscape* LS1012A, LS1027A/LS1017A, LS1028A/LS1018A, LS1043A, LS1046A, LS1088A, LS2080A/LS2040A, LS2088A, LX2160A&lt;br /&gt;
* Rockchip RK3399&lt;br /&gt;
* Socionext* SynQuacer* SC2A11&lt;br /&gt;
* Xilinx* Zynq* UltraScale*﻿+ MPSoC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Driver enablement is done as far as available and requested. Refer to the following sections for any known limitations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some systems might need additional drivers for external chips, such as a Power Management Integrated Chip (PMIC), which may differ between systems with the same SoC chipset.&lt;br /&gt;
&lt;br /&gt;
For booting, systems need to fulfill either the Server Base Boot Requirements (SBBR) or the Embedded Base Boot Requirements (EBBR), that is, the Unified Extensible Firmware Interface (UEFI) either implementing the Advanced Configuration and Power Interface (ACPI) or providing a Flat Device Tree (FDT) table. If both are implemented, the kernel will default to the Device Tree; the kernel command line argument &amp;lt;code&amp;gt;acpi=force&amp;lt;/code&amp;gt; can override this default behavior.&lt;br /&gt;
&lt;br /&gt;
Check for SUSE &#039;&#039;YES!&#039;&#039; certified systems, which have undergone compatibility testing.&lt;br /&gt;
&lt;br /&gt;
=== Virtualization ===&lt;br /&gt;
&lt;br /&gt;
* iSCSI boot support is disabled in OVMF images.&lt;br /&gt;
&lt;br /&gt;
==== QEMU ====&lt;br /&gt;
&lt;br /&gt;
QEMU has been updated to version 10.0.2, full list of changes are available at https://wiki.qemu.org/ChangeLog/10.0&lt;br /&gt;
&lt;br /&gt;
Highlights include:&lt;br /&gt;
* Removed features: https://qemu-project.gitlab.io/qemu/about/removed-features.html&lt;br /&gt;
* Deprecated features: https://qemu-project.gitlab.io/qemu/about/deprecated.html&lt;br /&gt;
&lt;br /&gt;
==== libvirt ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; has been updated to version 11.4.0, this includes many incremental improvements and bug fixes, see https://libvirt.org/news.html#v11-4-0-2025-06-02.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; provides now a modular daemons.&lt;br /&gt;
&lt;br /&gt;
==== VMware ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; has been updated to version 13.0.0 that addresses a few critical problems and bug fixes. See https://github.com/vmware/open-vm-tools/blob/stable-13.0.0/ReleaseNotes.md.&lt;br /&gt;
&lt;br /&gt;
==== Confidential Computing ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; package has been updated to version 0.6.0.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; package has been updated to version 0.9.1. Full list of changes is available at: https://github.com/virtee/snpguest/compare/v0.7.1…​v0.9.1&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; package version 0.6.0 has been added.&lt;br /&gt;
&lt;br /&gt;
===== Intel TDX Confidential Computing =====&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 the kernel now incorporates the latest upstream Intel Trust Domain Extensions (TDX) patches. This significant update prepares the virtualization toolstack for Intel TDX confidential computing capabilities.&lt;br /&gt;
&lt;br /&gt;
These patches are important for enabling the kernel to support creating and managing trust domains, which is a step towards enabling confidential computing environments on Intel TDX-enabled hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The full Intel TDX confidential computing experience also requires integrating QEMU and libvirt components, which will be part of a future update.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Enhanced VM Security with AMD SEV-SNP =====&lt;br /&gt;
&lt;br /&gt;
AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) is a hardware security feature in AMD EPYC processors that provides a highly secure and confidential environment for virtual machines (VMs). It offers strong memory confidentiality through per-VM encryption keys and AES encryption, and crucially, robust memory integrity protection to prevent tampering from the hypervisor or other threats. It also provides enhanced isolation and remote attestation capabilities, making it ideal for protecting sensitive data and workloads in untrusted environments like cloud computing. This release fully integrates AMD SEV-SNP for KVM-based virtual machines. This means integrated support in our kernel, along with updated QEMU, Libvirt, and OVMF Firmware. To use AMD SEV-SNP, you&#039;ll need, AMD EPYC™ 3rd Gen Processors (Milan) or newer and SEV-SNP enabled in your system&#039;s BIOS/UEFI.&lt;br /&gt;
&lt;br /&gt;
==== Others ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; is available in version 2.5, adding support for Intel GNR and SRF platforms.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; is shipped in version 2.0.19. Full changes at: https://github.com/numactl/numactl/releases/tag/v2.0.19&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; has been updated to version 1.55.13.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;virt-v2v&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Update to version 2.7.16. While there are no dedicated release notes, you can review the code changes in Github: https://github.com/libguestfs/virt-v2v/tree/v2.7.16&lt;br /&gt;
* Implement --parallel=N for parallel disk copies&lt;br /&gt;
* Update Translations&lt;br /&gt;
* Various fixes&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; has been updated to 1.12.0.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; is now shipped in version 5.0.0. Its preferable to setup VNC for remote viewing and do all the XML editing using the &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt; command. Full list of changes is available at https://github.com/virt-manager/virt-manager/releases/tag/v5.0.0&lt;br /&gt;
&lt;br /&gt;
===== virt-bridge-setup =====&lt;br /&gt;
&lt;br /&gt;
virt-bridge-setup is a script designed to simplify network bridge creation on a specified interface using nmcli. It was developed as a replacement for the automatic &amp;quot;yast2 virtualization&amp;quot; bridge creation and is particularly useful for setting up virtualization environments.&lt;br /&gt;
&lt;br /&gt;
Important considerations:&lt;br /&gt;
* It supports IPv4 only.&lt;br /&gt;
* This is a simple script not intended for complex network scenarios (vlan, bonding, etc…​); manual bridge setup is recommended for intricate configurations.&lt;br /&gt;
* The script should be run locally (not remotely) immediately after installation and before any custom network configurations.&lt;br /&gt;
&lt;br /&gt;
=== Removed and deprecated features and packages ===&lt;br /&gt;
&lt;br /&gt;
This section lists features and packages that were removed from openSUSE Leap or will be removed in upcoming versions.&lt;br /&gt;
&lt;br /&gt;
==== Removed features and packages ====&lt;br /&gt;
&lt;br /&gt;
The following features and packages have been removed in this release.&lt;br /&gt;
&lt;br /&gt;
* Xorg server has been removed. Only Wayland is supported for graphical display. X11 applications compatibility is provided via XWayland.&lt;br /&gt;
* &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; has been removed. See Section &amp;quot;[[#saptune replaces sapconf|&amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;]]&amp;quot; for more info.&lt;br /&gt;
* YaST has been removed. See Section &amp;quot;[[#Switch from YaST to Cockpit|Switch from YaST to Cockpit]]&amp;quot; for more info.&lt;br /&gt;
* WSL1 is not supported anymore&lt;br /&gt;
* The Xen hypervisor was removed in favor of KVM. You no longer run SLE 16 as Xen host or as paravirtualized guest (PV). Running SLE 16 as fully virtualized Xen guest (HVM) or using using hardware virtualization features (PVH) is still possible.&lt;br /&gt;
* &amp;lt;code&amp;gt;nscd&amp;lt;/code&amp;gt; has been removed&lt;br /&gt;
* The snIPL package is deprecated as HMC is providing most capabilities. There is also available a command line client to interact with the HMC Web Services API: the zhmccli https://github.com/zhmcclient.&lt;br /&gt;
* Removed &amp;lt;code&amp;gt;rc&amp;lt;service&amp;gt;&amp;lt;/code&amp;gt; controls of systemd services&lt;br /&gt;
* Removed the &amp;lt;code&amp;gt;KBD_DISABLE_CAPS_LOCK&amp;lt;/code&amp;gt; feature from &amp;lt;code&amp;gt;/etc/sysconfig/keyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;netiucv&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;lcs&amp;lt;/code&amp;gt; drivers&lt;br /&gt;
* &amp;lt;code&amp;gt;ansible-9&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ansible-core-2.16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;criu&amp;lt;/code&amp;gt;&lt;br /&gt;
* Section &amp;quot;[[#SysV init.d scripts support|SysV init.d scripts support]]&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;compat-libpthread-nonshared&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;crun&amp;lt;/code&amp;gt; has been removed. Use &amp;lt;code&amp;gt;runc&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated features and packages ===&lt;br /&gt;
&lt;br /&gt;
The following features and packages are deprecated and will be removed in a future version of openSUSE Leap.&lt;br /&gt;
* The 2MB OVMF image will be deprecated and removed in openSUSE Leap 16.1.&lt;br /&gt;
&lt;br /&gt;
==== nmap deprecation notice ====&lt;br /&gt;
&lt;br /&gt;
The nmap project has moved to a new source license that makes future releases of nmap incompatible with our product.&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, we are shipping the latest version of nmap released under the old license. In an upcoming release we will switch to an alternative tool.&lt;br /&gt;
&lt;br /&gt;
== Obtaining source code ==&lt;br /&gt;
&lt;br /&gt;
This SUSE product includes materials licensed to SUSE under the GNU General Public License (GPL). The GPL requires SUSE to provide the source code that corresponds to the GPL-licensed material. The source code is available for download at https://get.opensuse.org on Medium 2. For up to three years after distribution of the SUSE product, upon request, SUSE will mail a copy of the source code. Send requests by e-mail to sle_source_request@suse.com. SUSE may charge a reasonable fee to recover distribution costs.&lt;br /&gt;
&lt;br /&gt;
== Legal notices ==&lt;br /&gt;
&lt;br /&gt;
Copyright © 2025-2025 openSUSE contributors and SUSE LLC. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) Version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled &amp;quot;GNU Free Documentation License&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This document includes content adapted from the SUSE Linux Enterprise release notes, contributed by the SUSE Documentation Team. Portions of the content are maintained by the openSUSE community.&lt;br /&gt;
&lt;br /&gt;
For SUSE trademarks, see https://www.suse.com/company/legal/. For openSUSE trademarks, see https://en.opensuse.org/openSUSE:Trademark_guidelines. All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™, etc.) denote trademarks of SUSE, openSUSE, and their affiliates. Asterisks (*) denote third-party trademarks.&lt;br /&gt;
&lt;br /&gt;
While every effort has been made to ensure accuracy, the openSUSE contributors, SUSE Documentation Team, and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Support_List&amp;diff=1046</id>
		<title>OpenSUSE Support List</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Support_List&amp;diff=1046"/>
		<updated>2025-10-16T23:57:34Z</updated>

		<summary type="html">&lt;p&gt;Sam: Commented out future release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- This is a comment --&amp;gt;&lt;br /&gt;
&amp;lt;!-- == Future release == --&amp;gt;&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- {| class=&amp;quot;wikitable&amp;quot; --&amp;gt;&lt;br /&gt;
&amp;lt;!-- |- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- ! openSUSE Version !! Expected release date --&amp;gt;&lt;br /&gt;
&amp;lt;!-- |- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- | &#039;&#039;openSUSE Leap 16.1&#039;&#039; || &#039;&#039;TBA&#039;&#039; --&amp;gt;&lt;br /&gt;
&amp;lt;!-- |- --&amp;gt;&lt;br /&gt;
&amp;lt;!-- |} --&amp;gt;&lt;br /&gt;
&amp;lt;!--  --&amp;gt;&lt;br /&gt;
== Currently supported ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! openSUSE Version !! Expected discontinued date&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;[[openSUSE Leap 16.0 ]] || &#039;&#039;&#039;31st October 2027&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;[[openSUSE Leap 15.6]] || &#039;&#039;&#039;30th April 2026&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;[[openSUSE Tumbleweed]]&#039;&#039;&#039; || &#039;&#039;&#039;Rolling release (supported if updated)&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Discontinued ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! openSUSE version !! Discontinued date&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE Leap 15.5]] || 31st December 2024&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE Leap 15.4]] || 30th November 2023&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE Leap 15.3]] || 31st December 2022&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE Leap 15.2]] || 4th January 2022&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE Leap 15.1]] || 2nd February 2021**&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE Leap 15.0]] || 3rd December 2019&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE Leap 42.3]] || 1st July 2019&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE Leap 42.2]] || 26th January 2018&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE Leap 42.1]] || 17th May 2017&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE 13.2]] || 17th January 2017&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE 13.1]]* || 3rd February 2016&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE 12.3]] || 29th January 2015&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE 12.2]] || 15th January 2014&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE 12.1]] || 15th May 2013&lt;br /&gt;
|-&lt;br /&gt;
| [[openSUSE 11.4]]* || 5th November 2012&lt;br /&gt;
|-&lt;br /&gt;
| openSUSE 11.3 || 20th January 2012&lt;br /&gt;
|-&lt;br /&gt;
| openSUSE 11.2* || 12th May 2011&lt;br /&gt;
|-&lt;br /&gt;
| openSUSE 11.1* || 14th January 2011&lt;br /&gt;
|-&lt;br /&gt;
| openSUSE 11.0 || 26th July 2010&lt;br /&gt;
|-&lt;br /&gt;
| openSUSE 10.3 || 31st October 2009&lt;br /&gt;
|-&lt;br /&gt;
| openSUSE 10.2 || 30th November 2008&lt;br /&gt;
|-&lt;br /&gt;
| SUSE Linux 10.1 || 31st May 2008&lt;br /&gt;
|-&lt;br /&gt;
| SUSE Linux 10.0 || 30th November 2007&lt;br /&gt;
|-&lt;br /&gt;
| SUSE Linux 9.3 || 30th April 2007&lt;br /&gt;
|-&lt;br /&gt;
| SUSE Linux 9.2 || 31st October 2006&lt;br /&gt;
|-&lt;br /&gt;
| SUSE Linux 9.1 || 30th June 2006&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; = Evergreen was supported on this release. All Evergreen support has been stopped.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; = Date originally November 2020 but changed due to the worldwide COVID-19 pandemic.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1045</id>
		<title>OpenSUSE Leap 16.0</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1045"/>
		<updated>2025-10-16T23:53:31Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Installation notes/Known Issues */ Changed YaST to Myrlyn&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the Linux distribution my server is based on. More information is available [https://www.opensuse.org/ here].&lt;br /&gt;
&lt;br /&gt;
If you are looking to install openSUSE, there are more details in [[obtaining openSUSE Leap 16.0]].&lt;br /&gt;
&lt;br /&gt;
== Changes to openSUSE ==&lt;br /&gt;
&lt;br /&gt;
=== YaST deprication ===&lt;br /&gt;
&lt;br /&gt;
YaST is no longer being developed by SuSE and therefore is not being developed for openSUSE. Therefore, YaST is not installed by default in openSUSE 16.0. openSUSE 16.0 now uses Myrlyn for package management and Cockpit for most other things YaST used to do.&lt;br /&gt;
&lt;br /&gt;
=== New installer ===&lt;br /&gt;
&lt;br /&gt;
=== Wayland compositor by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE 16.0 no longer uses X and defaults to using Wayland as the desktop compositor. To use X as before, this must be installed yourself but do note, this is deprecated.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor no longer default ===&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer the default security solution, SELinux is now the preferred security solution for openSUSE 16.0. AppArmor can, however, still be used if preferred.&lt;br /&gt;
&lt;br /&gt;
== Installation notes/Known Issues ==&lt;br /&gt;
&lt;br /&gt;
* If upgrading, check the &amp;quot;Unneeded Packages&amp;quot; category in Myrlyn once upgraded to remove any lingering unneeded packages from the previous version.&lt;br /&gt;
&lt;br /&gt;
== Release notes ==&lt;br /&gt;
&lt;br /&gt;
[[openSUSE Leap 16.0 Release Notes|Release Notes]]&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 was released on 1st October 2025. It is an open-source distribution and is free of charge. It is developed by the community and sponsored by [https://www.eqtgroup.com/ EQT Partners] (formally Micro Focus and Novell).&lt;br /&gt;
&lt;br /&gt;
== Previous supported versions (at time of release) ==&lt;br /&gt;
&lt;br /&gt;
* [[openSUSE Leap 15.6]] (Supported until 30th April 2026)&lt;br /&gt;
* [[openSUSE Tumbleweed]] (Rolling release)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:openSUSE Leap 16.0 webpage.webp|center|400px]]&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_15.6&amp;diff=1044</id>
		<title>OpenSUSE Leap 15.6</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_15.6&amp;diff=1044"/>
		<updated>2025-10-16T23:51:13Z</updated>

		<summary type="html">&lt;p&gt;Sam: Added no support&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{No support}}&lt;br /&gt;
This is the Linux distribution my server was based on. More information is available [https://www.opensuse.org/ here]. &lt;br /&gt;
&lt;br /&gt;
If you are looking to install openSUSE, you should look at installing {{Current openSUSE}}, the latest version.&lt;br /&gt;
&lt;br /&gt;
If you are still looking to install openSUSE, there are more details in [[obtaining openSUSE Leap 15.6]].&lt;br /&gt;
&lt;br /&gt;
== Changes to openSUSE ==&lt;br /&gt;
&lt;br /&gt;
=== Closing the Gap ===&lt;br /&gt;
&lt;br /&gt;
Starting with Leap 42.1, work commenced to align openSUSE Leap&#039;s code using SUSE Enterprise Linux as the base code. This [https://www.suse.com/c/closing-the-leap-gap-src/ Closing the Leap Gap] project has finally taken shape in openSUSE 15.3 with this release using SUSE Linux Enterprise packages where possible. You will notice this with the additional update repositories that are added in this release. This will allow stable releases to be built based on the rock solid reliability of SUSE Linux Enterprise.&lt;br /&gt;
&lt;br /&gt;
Releases are now in line with SUSE Enterprise Linux, with openSUSE 15.4, openSUSE 15.5 and openSUSE 15.6 now expected to align with the SUSE Enterprise Linux releases instead of the anticipated jump to openSUSE 16.0 as would have happened before.&lt;br /&gt;
&lt;br /&gt;
32-bit versions are no longer available, only 64-bit (x86_64) now. SUSE Enterprise Linux has not supported 32-bit for a long time and being more in line with SUSE Enterprise Linux, openSUSE now shares this trait. Most modern CPU&#039;s now support 64-bit (Intel Pentium 4&#039;s with the Prescott 2M core from 2005 onwards support x86_64). The rolling release, [[openSUSE Tumbleweed]] still supports 32-bit versions if needed.&lt;br /&gt;
&lt;br /&gt;
=== Last 15.x Release ===&lt;br /&gt;
&lt;br /&gt;
This is expected to be the last release in the 15.x branch. The next version of openSUSE Leap is expected to be 16.0 with some large changes to how the operating system operates expected.&lt;br /&gt;
&lt;br /&gt;
== Installation notes/Known Issues ==&lt;br /&gt;
&lt;br /&gt;
Due to the Closing the Leap Gap Project, there have been some major changes within the system that have presented issues while installing this version.&lt;br /&gt;
&lt;br /&gt;
* If upgrading, check the &amp;quot;Unneeded Packages&amp;quot; category in YaST once upgraded to remove any lingering unneeded packages from the previous version.&lt;br /&gt;
* MariaDB now uses system authentication for the root user - just login as root then type &amp;lt;code&amp;gt;mariadb&amp;lt;/code&amp;gt;. You will be logged in automatically. This differs from before where the root password needed setting before you could use it.&lt;br /&gt;
* To enable TLS in Apache, the following flags need adding to &amp;lt;code&amp;gt;sysconfig&amp;lt;/code&amp;gt;. Edit &amp;lt;code&amp;gt;/etc/sysconfig/apache2&amp;lt;/code&amp;gt; and edit this line:&amp;lt;br&amp;gt;&lt;br /&gt;
 APACHE_SERVER_FLAGS=&amp;quot;SSL HTTP2&amp;quot;&lt;br /&gt;
* YaST does not prompt for a root user password for Samba as previous versions did. This can be set up manually with &amp;lt;code&amp;gt;smbpasswd -a root&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;samba-ad-dc&amp;lt;/code&amp;gt; was removed in the previous release. It was removed from SuSE Linux 15 SP5 as it was only a technical preview so does not appear in openSUSE Leap 15.5. This is important if you implemented AD DC in previous versions.&lt;br /&gt;
&lt;br /&gt;
== Release notes ==&lt;br /&gt;
&lt;br /&gt;
[[openSUSE Leap 15.6 Release Notes|Release Notes]]&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 15.6 was released on 12th June 2024. It is an open-source distribution and is free of charge. It is developed by the community and sponsored by [https://www.eqtgroup.com/ EQT Partners] (formally Micro Focus and Novell).&lt;br /&gt;
&lt;br /&gt;
== Previous supported versions (at time of release) ==&lt;br /&gt;
&lt;br /&gt;
* [[openSUSE Leap 15.5]] (Supported until 31st December 2024)&lt;br /&gt;
* [[openSUSE Tumbleweed]] (Rolling release)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:openSUSE Leap 15.6 webpage.png|center|400px]]&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Obtaining_openSUSE_Leap_16.0&amp;diff=1043</id>
		<title>Obtaining openSUSE Leap 16.0</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Obtaining_openSUSE_Leap_16.0&amp;diff=1043"/>
		<updated>2025-10-16T23:46:15Z</updated>

		<summary type="html">&lt;p&gt;Sam: Corrected processor names&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[openSUSE Leap 16.0]] is available from the following locations:&lt;br /&gt;
* https://www.opensuse.org/, click &#039;Leap&#039; then &#039;Install Leap&#039;&lt;br /&gt;
** DVD/USB installation - this is the most common download option and needed for conventional installations. (Direct/Torrent)&lt;br /&gt;
** Network installation - installs the system from an internet repository or network repository. (Direct/Torrent)&lt;br /&gt;
&lt;br /&gt;
* If I have already downloaded an ISO, they are currently available at {{Samba address}} via Samba/Windows File share.&lt;br /&gt;
* The ISO needs to be put onto a USB Stick and made into a bootable USB drive. This method completely wipes the stick and needs the computer to support booting from USB. However, this method makes the installation a lot faster than optical media. On Windows, the recommended method is to use [https://rufus.ie/ Rufus] in DD writing mode.&lt;br /&gt;
* They can also be burned to a DVD. The image itself needs burning, not the image file. For more information, see [[Burning a CD/DVD image|burning a CD/DVD image]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: 32-bit builds are no longer available, only 64-bit is supported (most modern CPU&#039;s support 64-bit, late generation Intel Pentium 4&#039;s and all Core processors will support x86_64). If you require 32-bit, you must use the [[openSUSE Tumbleweed]] distribution.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: x86_64 builds require an microarchitecture level of at least x86_84 v2 (at least Intel Core i3/5/7 1st generation) to install as of openSUSE 16.0.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Download links ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: SHA-256 values removed as links download latest build available at the time, which may not match the SHA-256 values if kept here.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These should be available during the lifetime of this version:&lt;br /&gt;
&lt;br /&gt;
=== Intel or AMD 64-bit desktops, laptops, and servers (x86_64) ===&lt;br /&gt;
&lt;br /&gt;
==== DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-offline-installer-x86_64.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-offline-installer-x86_64.install.iso.torrent&lt;br /&gt;
&lt;br /&gt;
==== Network Install DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-online-installer-x86_64.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-online-installer-x86_64.install.iso.torrent&lt;br /&gt;
&lt;br /&gt;
=== UEFI ARM 64-bit servers, desktops, laptops and boards (aarch64) ===&lt;br /&gt;
&lt;br /&gt;
==== DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-offline-installer-aarch64.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-offline-installer-aarch64.install.iso.torrent&lt;br /&gt;
&lt;br /&gt;
==== Network Install DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-online-installer-aarch64.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-online-installer-aarch64.install.iso.torrent&lt;br /&gt;
&lt;br /&gt;
=== PowerPC servers, not big-endian (ppc64le) ===&lt;br /&gt;
&lt;br /&gt;
==== DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-offline-installer-ppc64le.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: Not available at launch&lt;br /&gt;
&lt;br /&gt;
==== Network Install DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-online-installer-ppc64le.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: Not available at launch&lt;br /&gt;
&lt;br /&gt;
=== IBM zSystems and LinuxONE (s390x) ===&lt;br /&gt;
&lt;br /&gt;
==== DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-offline-installer-s390x.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: Not available at launch&lt;br /&gt;
&lt;br /&gt;
==== Network Install DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-online-installer-s390x.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: Not available at launch&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Obtaining_openSUSE_Leap_16.0&amp;diff=1042</id>
		<title>Obtaining openSUSE Leap 16.0</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Obtaining_openSUSE_Leap_16.0&amp;diff=1042"/>
		<updated>2025-10-16T23:45:22Z</updated>

		<summary type="html">&lt;p&gt;Sam: Created page, updated links and added information for openSUSE 16.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[openSUSE Leap 16.0]] is available from the following locations:&lt;br /&gt;
* https://www.opensuse.org/, click &#039;Leap&#039; then &#039;Install Leap&#039;&lt;br /&gt;
** DVD/USB installation - this is the most common download option and needed for conventional installations. (Direct/Torrent)&lt;br /&gt;
** Network installation - installs the system from an internet repository or network repository. (Direct/Torrent)&lt;br /&gt;
&lt;br /&gt;
* If I have already downloaded an ISO, they are currently available at {{Samba address}} via Samba/Windows File share.&lt;br /&gt;
* The ISO needs to be put onto a USB Stick and made into a bootable USB drive. This method completely wipes the stick and needs the computer to support booting from USB. However, this method makes the installation a lot faster than optical media. On Windows, the recommended method is to use [https://rufus.ie/ Rufus] in DD writing mode.&lt;br /&gt;
* They can also be burned to a DVD. The image itself needs burning, not the image file. For more information, see [[Burning a CD/DVD image|burning a CD/DVD image]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: 32-bit builds are no longer available, only 64-bit is supported (most modern CPU&#039;s support 64-bit, late generation Intel Pentium 4&#039;s and all Core processors will support x86_64). If you require 32-bit, you must use the [[openSUSE Tumbleweed]] distribution.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: x86_64 builds require an microarchitecture level of at least x86_84 v2 (at least Intel Core i 1st generation) to install as of openSUSE 16.0.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Download links ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE: SHA-256 values removed as links download latest build available at the time, which may not match the SHA-256 values if kept here.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These should be available during the lifetime of this version:&lt;br /&gt;
&lt;br /&gt;
=== Intel or AMD 64-bit desktops, laptops, and servers (x86_64) ===&lt;br /&gt;
&lt;br /&gt;
==== DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-offline-installer-x86_64.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-offline-installer-x86_64.install.iso.torrent&lt;br /&gt;
&lt;br /&gt;
==== Network Install DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-online-installer-x86_64.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-online-installer-x86_64.install.iso.torrent&lt;br /&gt;
&lt;br /&gt;
=== UEFI ARM 64-bit servers, desktops, laptops and boards (aarch64) ===&lt;br /&gt;
&lt;br /&gt;
==== DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-offline-installer-aarch64.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-offline-installer-aarch64.install.iso.torrent&lt;br /&gt;
&lt;br /&gt;
==== Network Install DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-online-installer-aarch64.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-online-installer-aarch64.install.iso.torrent&lt;br /&gt;
&lt;br /&gt;
=== PowerPC servers, not big-endian (ppc64le) ===&lt;br /&gt;
&lt;br /&gt;
==== DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-offline-installer-ppc64le.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: Not available at launch&lt;br /&gt;
&lt;br /&gt;
==== Network Install DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-online-installer-ppc64le.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: Not available at launch&lt;br /&gt;
&lt;br /&gt;
=== IBM zSystems and LinuxONE (s390x) ===&lt;br /&gt;
&lt;br /&gt;
==== DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-offline-installer-s390x.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: Not available at launch&lt;br /&gt;
&lt;br /&gt;
==== Network Install DVD ====&lt;br /&gt;
&lt;br /&gt;
Direct: https://download.opensuse.org/distribution/leap/16.0/offline/Leap-16.0-online-installer-s390x.install.iso&amp;lt;br&amp;gt;&lt;br /&gt;
Torrent: Not available at launch&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=File:OpenSUSE_Leap_16.0_webpage.webp&amp;diff=1041</id>
		<title>File:OpenSUSE Leap 16.0 webpage.webp</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=File:OpenSUSE_Leap_16.0_webpage.webp&amp;diff=1041"/>
		<updated>2025-10-16T23:28:50Z</updated>

		<summary type="html">&lt;p&gt;Sam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1040</id>
		<title>OpenSUSE Leap 16.0</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1040"/>
		<updated>2025-10-16T23:28:25Z</updated>

		<summary type="html">&lt;p&gt;Sam: Changed file type to WebP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the Linux distribution my server is based on. More information is available [https://www.opensuse.org/ here].&lt;br /&gt;
&lt;br /&gt;
If you are looking to install openSUSE, there are more details in [[obtaining openSUSE Leap 16.0]].&lt;br /&gt;
&lt;br /&gt;
== Changes to openSUSE ==&lt;br /&gt;
&lt;br /&gt;
=== YaST deprication ===&lt;br /&gt;
&lt;br /&gt;
YaST is no longer being developed by SuSE and therefore is not being developed for openSUSE. Therefore, YaST is not installed by default in openSUSE 16.0. openSUSE 16.0 now uses Myrlyn for package management and Cockpit for most other things YaST used to do.&lt;br /&gt;
&lt;br /&gt;
=== New installer ===&lt;br /&gt;
&lt;br /&gt;
=== Wayland compositor by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE 16.0 no longer uses X and defaults to using Wayland as the desktop compositor. To use X as before, this must be installed yourself but do note, this is deprecated.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor no longer default ===&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer the default security solution, SELinux is now the preferred security solution for openSUSE 16.0. AppArmor can, however, still be used if preferred.&lt;br /&gt;
&lt;br /&gt;
== Installation notes/Known Issues ==&lt;br /&gt;
&lt;br /&gt;
* If upgrading, check the &amp;quot;Unneeded Packages&amp;quot; category in YaST once upgraded to remove any lingering unneeded packages from the previous version.&lt;br /&gt;
&lt;br /&gt;
== Release notes ==&lt;br /&gt;
&lt;br /&gt;
[[openSUSE Leap 16.0 Release Notes|Release Notes]]&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 was released on 1st October 2025. It is an open-source distribution and is free of charge. It is developed by the community and sponsored by [https://www.eqtgroup.com/ EQT Partners] (formally Micro Focus and Novell).&lt;br /&gt;
&lt;br /&gt;
== Previous supported versions (at time of release) ==&lt;br /&gt;
&lt;br /&gt;
* [[openSUSE Leap 15.6]] (Supported until 30th April 2026)&lt;br /&gt;
* [[openSUSE Tumbleweed]] (Rolling release)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:openSUSE Leap 16.0 webpage.webp|center|400px]]&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=File:OpenSUSE_Leap_16.0_webpage.heif&amp;diff=1039</id>
		<title>File:OpenSUSE Leap 16.0 webpage.heif</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=File:OpenSUSE_Leap_16.0_webpage.heif&amp;diff=1039"/>
		<updated>2025-10-16T23:27:05Z</updated>

		<summary type="html">&lt;p&gt;Sam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1038</id>
		<title>OpenSUSE Leap 16.0</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1038"/>
		<updated>2025-10-16T23:26:30Z</updated>

		<summary type="html">&lt;p&gt;Sam: Changed file type to HEIF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the Linux distribution my server is based on. More information is available [https://www.opensuse.org/ here].&lt;br /&gt;
&lt;br /&gt;
If you are looking to install openSUSE, there are more details in [[obtaining openSUSE Leap 16.0]].&lt;br /&gt;
&lt;br /&gt;
== Changes to openSUSE ==&lt;br /&gt;
&lt;br /&gt;
=== YaST deprication ===&lt;br /&gt;
&lt;br /&gt;
YaST is no longer being developed by SuSE and therefore is not being developed for openSUSE. Therefore, YaST is not installed by default in openSUSE 16.0. openSUSE 16.0 now uses Myrlyn for package management and Cockpit for most other things YaST used to do.&lt;br /&gt;
&lt;br /&gt;
=== New installer ===&lt;br /&gt;
&lt;br /&gt;
=== Wayland compositor by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE 16.0 no longer uses X and defaults to using Wayland as the desktop compositor. To use X as before, this must be installed yourself but do note, this is deprecated.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor no longer default ===&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer the default security solution, SELinux is now the preferred security solution for openSUSE 16.0. AppArmor can, however, still be used if preferred.&lt;br /&gt;
&lt;br /&gt;
== Installation notes/Known Issues ==&lt;br /&gt;
&lt;br /&gt;
* If upgrading, check the &amp;quot;Unneeded Packages&amp;quot; category in YaST once upgraded to remove any lingering unneeded packages from the previous version.&lt;br /&gt;
&lt;br /&gt;
== Release notes ==&lt;br /&gt;
&lt;br /&gt;
[[openSUSE Leap 16.0 Release Notes|Release Notes]]&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 was released on 1st October 2025. It is an open-source distribution and is free of charge. It is developed by the community and sponsored by [https://www.eqtgroup.com/ EQT Partners] (formally Micro Focus and Novell).&lt;br /&gt;
&lt;br /&gt;
== Previous supported versions (at time of release) ==&lt;br /&gt;
&lt;br /&gt;
* [[openSUSE Leap 15.6]] (Supported until 30th April 2026)&lt;br /&gt;
* [[openSUSE Tumbleweed]] (Rolling release)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:openSUSE Leap 16.0 webpage.heif|center|400px]]&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1037</id>
		<title>OpenSUSE Leap 16.0</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1037"/>
		<updated>2025-10-16T23:15:08Z</updated>

		<summary type="html">&lt;p&gt;Sam: Changed file type to WebP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the Linux distribution my server is based on. More information is available [https://www.opensuse.org/ here].&lt;br /&gt;
&lt;br /&gt;
If you are looking to install openSUSE, there are more details in [[obtaining openSUSE Leap 16.0]].&lt;br /&gt;
&lt;br /&gt;
== Changes to openSUSE ==&lt;br /&gt;
&lt;br /&gt;
=== YaST deprication ===&lt;br /&gt;
&lt;br /&gt;
YaST is no longer being developed by SuSE and therefore is not being developed for openSUSE. Therefore, YaST is not installed by default in openSUSE 16.0. openSUSE 16.0 now uses Myrlyn for package management and Cockpit for most other things YaST used to do.&lt;br /&gt;
&lt;br /&gt;
=== New installer ===&lt;br /&gt;
&lt;br /&gt;
=== Wayland compositor by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE 16.0 no longer uses X and defaults to using Wayland as the desktop compositor. To use X as before, this must be installed yourself but do note, this is deprecated.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor no longer default ===&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer the default security solution, SELinux is now the preferred security solution for openSUSE 16.0. AppArmor can, however, still be used if preferred.&lt;br /&gt;
&lt;br /&gt;
== Installation notes/Known Issues ==&lt;br /&gt;
&lt;br /&gt;
* If upgrading, check the &amp;quot;Unneeded Packages&amp;quot; category in YaST once upgraded to remove any lingering unneeded packages from the previous version.&lt;br /&gt;
&lt;br /&gt;
== Release notes ==&lt;br /&gt;
&lt;br /&gt;
[[openSUSE Leap 16.0 Release Notes|Release Notes]]&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 was released on 1st October 2025. It is an open-source distribution and is free of charge. It is developed by the community and sponsored by [https://www.eqtgroup.com/ EQT Partners] (formally Micro Focus and Novell).&lt;br /&gt;
&lt;br /&gt;
== Previous supported versions (at time of release) ==&lt;br /&gt;
&lt;br /&gt;
* [[openSUSE Leap 15.6]] (Supported until 30th April 2026)&lt;br /&gt;
* [[openSUSE Tumbleweed]] (Rolling release)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:openSUSE Leap 16.0 webpage.webp|center|400px]]&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=File:OpenSUSE_Leap_16.0_webpage.avif&amp;diff=1036</id>
		<title>File:OpenSUSE Leap 16.0 webpage.avif</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=File:OpenSUSE_Leap_16.0_webpage.avif&amp;diff=1036"/>
		<updated>2025-10-16T23:12:36Z</updated>

		<summary type="html">&lt;p&gt;Sam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1035</id>
		<title>OpenSUSE Leap 16.0</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0&amp;diff=1035"/>
		<updated>2025-10-16T23:07:46Z</updated>

		<summary type="html">&lt;p&gt;Sam: Changed file type to AVIF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the Linux distribution my server is based on. More information is available [https://www.opensuse.org/ here].&lt;br /&gt;
&lt;br /&gt;
If you are looking to install openSUSE, there are more details in [[obtaining openSUSE Leap 16.0]].&lt;br /&gt;
&lt;br /&gt;
== Changes to openSUSE ==&lt;br /&gt;
&lt;br /&gt;
=== YaST deprication ===&lt;br /&gt;
&lt;br /&gt;
YaST is no longer being developed by SuSE and therefore is not being developed for openSUSE. Therefore, YaST is not installed by default in openSUSE 16.0. openSUSE 16.0 now uses Myrlyn for package management and Cockpit for most other things YaST used to do.&lt;br /&gt;
&lt;br /&gt;
=== New installer ===&lt;br /&gt;
&lt;br /&gt;
=== Wayland compositor by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE 16.0 no longer uses X and defaults to using Wayland as the desktop compositor. To use X as before, this must be installed yourself but do note, this is deprecated.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor no longer default ===&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer the default security solution, SELinux is now the preferred security solution for openSUSE 16.0. AppArmor can, however, still be used if preferred.&lt;br /&gt;
&lt;br /&gt;
== Installation notes/Known Issues ==&lt;br /&gt;
&lt;br /&gt;
* If upgrading, check the &amp;quot;Unneeded Packages&amp;quot; category in YaST once upgraded to remove any lingering unneeded packages from the previous version.&lt;br /&gt;
&lt;br /&gt;
== Release notes ==&lt;br /&gt;
&lt;br /&gt;
[[openSUSE Leap 16.0 Release Notes|Release Notes]]&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 was released on 1st October 2025. It is an open-source distribution and is free of charge. It is developed by the community and sponsored by [https://www.eqtgroup.com/ EQT Partners] (formally Micro Focus and Novell).&lt;br /&gt;
&lt;br /&gt;
== Previous supported versions (at time of release) ==&lt;br /&gt;
&lt;br /&gt;
* [[openSUSE Leap 15.6]] (Supported until 30th April 2026)&lt;br /&gt;
* [[openSUSE Tumbleweed]] (Rolling release)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:openSUSE Leap 16.0 webpage.avif|center|400px]]&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1033</id>
		<title>WireGuard</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1033"/>
		<updated>2025-10-16T23:01:15Z</updated>

		<summary type="html">&lt;p&gt;Sam: Added attribution&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WireGuard is a lightweight VPN server, built-in to the Linux kernel past kernel 5.6, making it very easy to set up on a Linux server. This guide will detail how to install on this server.&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
&lt;br /&gt;
You will need to install the following packages:&lt;br /&gt;
* &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (for DNS resolution)&lt;br /&gt;
* &amp;lt;code&amp;gt;wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install the required packages ===&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;sudo zypper in openresolv wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* Press {{key press|Y}} to accept&lt;br /&gt;
&lt;br /&gt;
=== Allow IP forwarding ===&lt;br /&gt;
&lt;br /&gt;
WireGuard requires IP forwarding to function as it will forward packets between your network adapter and a virtual adapter.&lt;br /&gt;
&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;cd /etc&amp;lt;/code&amp;gt;&lt;br /&gt;
* Open &amp;lt;code&amp;gt;sysctl.conf&amp;lt;/code&amp;gt; for editing - &amp;lt;code&amp;gt;sudo nano sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Type your root password and press {{key press|Enter}}&lt;br /&gt;
* At the end of the file, type the following:&lt;br /&gt;
 net.ipv4.ip_forward=1&lt;br /&gt;
* Press {{key press|Ctrl|X}} then {{key press|Y}} to save then {{key press|Enter}} to confirm saving the file&lt;br /&gt;
* Load the changes - &amp;lt;code&amp;gt;sysctl -p&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restart the computer ===&lt;br /&gt;
&lt;br /&gt;
* After completing the previous steps, restart the computer. This will active &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (no further configuration needed) and ensure IP forwarding is enabled. You are now ready to configure WireGuard.&lt;br /&gt;
&lt;br /&gt;
=== Allow port forwarding on the router ===&lt;br /&gt;
&lt;br /&gt;
* Port 33333 or whatever port you choose later must be port forwarded through your router. Ensure this is for UDP, &#039;&#039;&#039;NOT&#039;&#039;&#039; TCP.&lt;br /&gt;
&lt;br /&gt;
== Configure the server ==&lt;br /&gt;
&lt;br /&gt;
We will now configure the server settings for WireGuard. WireGuard comes complete with tools to create the the private/public keys needed to function and is configured with a simple configuration file.&lt;br /&gt;
&lt;br /&gt;
=== Become a superuser ===&lt;br /&gt;
For the following sets, you may need to become a superuser (&amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;) to access the WireGuard folder.&lt;br /&gt;
&lt;br /&gt;
* Become a superuser - &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Move to WireGuard directory ===&lt;br /&gt;
&lt;br /&gt;
* Type your root password and press {{key press|Enter}}. The terminal text should change to red to indicate you are now a superuser.&lt;br /&gt;
* Move to the WireGuard directory - &amp;lt;code&amp;gt;cd /etc/wireguard&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will find this directory is empty - we will work in this directory which is secure.&lt;br /&gt;
&lt;br /&gt;
=== Generate a public/private key pair ===&lt;br /&gt;
&lt;br /&gt;
* Generate a private and public key for the server. You can use the following command:&lt;br /&gt;
 wg genkey | tee server-privatekey | wg pubkey &amp;gt; server-publickey&lt;br /&gt;
&lt;br /&gt;
**&amp;lt;code&amp;gt;server-privatekey&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;server-publickey&amp;lt;/code&amp;gt; are filenames and can be anything you want and can be changed accordingly. These files are not directly used by WireGuard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The private key generated should &#039;&#039;&#039;NEVER&#039;&#039;&#039; leave the server. Anyone with the private key can connect to and compromise the server. If the key does become compromised, a new private key should be generated and configured immediately and the old key never used again.&lt;br /&gt;
&lt;br /&gt;
To keep private keys secure once used, it is advisable to store the private key somewhere offline and secure, away from the server. One example would be a USB stick. This way, if the server is compromised, it will be more difficult to compromise the private key. Ensure the permissions are correct as follows so that access is restricted to only superusers.&lt;br /&gt;
&lt;br /&gt;
The public key is safe from compromise, this does not need to be stored with such security.&lt;br /&gt;
&lt;br /&gt;
All private/public keys in this guide were generated as an example and are not in use on this server.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 server-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat server-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
&lt;br /&gt;
=== Create configuration file ===&lt;br /&gt;
&lt;br /&gt;
* We will create a configuration file with the same name as the interface WireGuard will create: &amp;lt;code&amp;gt;nano wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 ## Local Address : A private IP address for wg0 interface.&lt;br /&gt;
 Address = 10.20.10.1/24&lt;br /&gt;
 ListenPort = 33333&amp;lt;br&amp;gt;&lt;br /&gt;
 ## local server privatekey&lt;br /&gt;
 PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;br&amp;gt;&lt;br /&gt;
 ## The PostUp will run when the WireGuard Server starts the virtual VPN tunnel.&lt;br /&gt;
 ## The PostDown rules run when the WireGuard Server stops the virtual VPN tunnel.&lt;br /&gt;
 ## Specify the command that allows traffic to leave the server and give the VPN clients access to the Internet.&lt;br /&gt;
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
* Tweak the file to match your server configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.1/24&amp;lt;/code&amp;gt; - this is the address used by the WireGuard interface and should be different from your local network subnet.&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - 33333 is the default WireGuard network port but can be changed to anything you like as long as the port is not already in use by something else.&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;/code&amp;gt; - Paste the key your generated and copied earlier.&lt;br /&gt;
** &amp;lt;code&amp;gt;PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; - the interface needs changing according to the name of the Ethernet card on your computer (&amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt; in this example&amp;lt;/code&amp;gt;, which can be found by typing &amp;lt;code&amp;gt;ip a&amp;lt;/code&amp;gt;. Common names include &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eno1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Once done, save the file: {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
* Change the permissions so that the configuration file can only be accessed by superusers: &amp;lt;code&amp;gt;chmod 600 wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start WireGuard ==&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;systemctl start wg-quick@wg0&amp;lt;/code&amp;gt; to start WireGuard.&lt;br /&gt;
** &amp;lt;code&amp;gt;wg0&amp;lt;/code&amp;gt; is the name of the WireGuard interface and configuration file we created. If different, this should be changed to match the same name as the configuration file.&lt;br /&gt;
* Check that WireGuard is running: &amp;lt;code&amp;gt;wg show&amp;lt;/code&amp;gt;. You should see something similar to the following if all is well:&lt;br /&gt;
 interface: wg0&lt;br /&gt;
   public key: 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
   private key: (hidden)&lt;br /&gt;
   listening port: 33333&lt;br /&gt;
* The public key should match the one generated earlier and can be viewed by typing &amp;lt;code&amp;gt;cat server-publickey&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you would like WireGuard to start on startup, type the following: &amp;lt;code&amp;gt;systemctl enable wg-quick@wg0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up a client ==&lt;br /&gt;
&lt;br /&gt;
Client software is available for many operating systems, including Windows, macOS, Linux (native support past Kernel 5.6) and Android. Here we will make a config file and add it to the server configuration, but due to the vast amount of different operating systems supported, we will not cover how to add the configuration to your respective operating system.&lt;br /&gt;
&lt;br /&gt;
The client configuration file is similar to the server configuration file and remains very simple.&lt;br /&gt;
&lt;br /&gt;
=== Generate a public/private key pair ===&lt;br /&gt;
&lt;br /&gt;
* We will generated a public/private key pair much the same way as we did for the server:&lt;br /&gt;
 wg genkey | tee client-privatekey | wg pubkey &amp;gt; client-publickey&lt;br /&gt;
** The name &amp;lt;code&amp;gt;client&amp;lt;/code&amp;gt; for the file name can be changed to anything you like for convenience.&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 client-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat client-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
&lt;br /&gt;
=== Creating a configuration file ===&lt;br /&gt;
&lt;br /&gt;
* Open a new configuration file: &amp;lt;code&amp;gt;sudo nano client.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
** Once again, the name &amp;lt;code&amp;gt;client&amp;lt;/code&amp;gt; can be anything you like for convenience.&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 PrivateKey = 4JYkCM3VBuRpJAHjj8S8LyunF+Can5ZLCxB8OjXo9WI=&lt;br /&gt;
 ListenPort = 33333&lt;br /&gt;
 Address = 10.20.10.2/24&lt;br /&gt;
 DNS = 1.1.1.1, 1.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
 [Peer]&lt;br /&gt;
 PublicKey = 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
 AllowedIPs = 0.0.0.0/0&lt;br /&gt;
 Endpoint = example.com:33333&lt;br /&gt;
* Tweak the file to match your client configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = 4JYkCM3VBuRpJAHjj8S8LyunF+Can5ZLCxB8OjXo9WI=&amp;lt;/code&amp;gt; - the private key generated for the client (&#039;&#039;&#039;NOT&#039;&#039;&#039; the server private key).&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - needs to match the &amp;lt;code&amp;gt;ListenPort&amp;lt;/code&amp;gt; for the server.&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.2/24&amp;lt;/code&amp;gt; - the address to use, within the subnet defined in the server configuration.&lt;br /&gt;
** &amp;lt;code&amp;gt;DNS = 1.1.1.1, 1.0.0.1&amp;lt;/code&amp;gt; - the DNS server to use to resolve names. Something needs to be defined here as there is no DHCP to define a DNS server. This can be a server of your own on the network, your router or one of the many online services (CloudFlare DNS = 1.1.1.1, 1.0.0.1, Google DNS = 8.8.8.8, 8.8.4.4).&lt;br /&gt;
** &amp;lt;code&amp;gt;PublicKey = 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&amp;lt;/code&amp;gt; - the public key of the server, &#039;&#039;&#039;NOT&#039;&#039;&#039; the client public key.&lt;br /&gt;
** &amp;lt;code&amp;gt;AllowedIPs = 0.0.0.0/0&amp;lt;/code&amp;gt; - range of addresses that will be passed over the tunnel. Comma-separated list, can include IPv6 addresses if being used. 0.0.0.0/0 forwards everything.&lt;br /&gt;
** &amp;lt;code&amp;gt;Endpoint = example.com:33333&amp;lt;/code&amp;gt; - DNS address or IP address to connect to the server. An IP address will only be useful if you have a static address, otherwise a DNS address with DynDNS is a better solution.&lt;br /&gt;
* Save the file - {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
* The file can then be transferred to the client and imported into the WireGuard client ready for use.&lt;br /&gt;
&lt;br /&gt;
=== Adding peers to the server configuration ===&lt;br /&gt;
&lt;br /&gt;
* Open the server configuration file - &amp;lt;code&amp;gt;nano wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;[Peer]&amp;lt;/code&amp;gt; section, marked in italics, as follows:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 ## Local Address : A private IP address for wg0 interface.&lt;br /&gt;
 Address = 10.20.10.1/24&lt;br /&gt;
 ListenPort = 33333&amp;lt;br&amp;gt;&lt;br /&gt;
 ## local server privatekey&lt;br /&gt;
 PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;br&amp;gt;&lt;br /&gt;
 ## The PostUp will run when the WireGuard Server starts the virtual VPN tunnel.&lt;br /&gt;
 ## The PostDown rules run when the WireGuard Server stops the virtual VPN tunnel.&lt;br /&gt;
 ## Specify the command that allows traffic to leave the server and give the VPN clients access to the Internet.&lt;br /&gt;
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;[Peer]&#039;&#039;&lt;br /&gt;
 &#039;&#039;# one client which will be setup to use 10.20.10.2 IP&#039;&#039;&lt;br /&gt;
 &#039;&#039;PublicKey = 92p5r33HRrEvzlQJIdANcyIKx0JgtNV5VfQOOwLnFwM=&#039;&#039;&lt;br /&gt;
 &#039;&#039;AllowedIPs = 10.20.10.2/32&#039;&#039;&lt;br /&gt;
* Tweak the file to match your client configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;PublicKey = 92p5r33HRrEvzlQJIdANcyIKx0JgtNV5VfQOOwLnFwM=&amp;lt;/code&amp;gt; - the public key generated for the client.&lt;br /&gt;
** &amp;lt;code&amp;gt;AllowedIPs = 10.20.10.2/32&amp;lt;/code&amp;gt; - the IP address used for the tunnel, should match the client configuration file.&lt;br /&gt;
* Save the file - {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
&lt;br /&gt;
== Reloading the server ==&lt;br /&gt;
&lt;br /&gt;
For our changes to take effect, the WireGuard daemon needs to be reloaded or restarted using:&lt;br /&gt;
 systemctl reload wg-quick@wg0&lt;br /&gt;
or&lt;br /&gt;
 systemctl restart wg-quick@wg0&lt;br /&gt;
&lt;br /&gt;
At this point, the WireGuard VPN is ready to go!&lt;br /&gt;
&lt;br /&gt;
== Adding further clients ==&lt;br /&gt;
&lt;br /&gt;
* Generate a public/private key pair as explained under the client section.&lt;br /&gt;
* Create a configuration with the new public/private key pair generated.&lt;br /&gt;
* Copy the configuration to the respective client.&lt;br /&gt;
* Add another &amp;lt;code&amp;gt;[Peer]&amp;lt;/code&amp;gt; section to the server configuration.&lt;br /&gt;
* Reload the WireGuard server.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Thank you to &amp;quot;Mark Liversedge&amp;quot; at [https://markliversedge.blogspot.com/2023/09/wireguard-setup-for-dummies.html Wireguard setup for dummeies] with his comprehensive guide that made this possible for me&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Welcome_to_ThinkServer&amp;diff=1032</id>
		<title>Welcome to ThinkServer</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Welcome_to_ThinkServer&amp;diff=1032"/>
		<updated>2025-10-16T22:54:56Z</updated>

		<summary type="html">&lt;p&gt;Sam: Changed StrongSwan to WireGuard&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The aim of this MediaWiki project is to show how my server is set up. Hopefully, if there are any problems in the future (i.e. server needs rebuilding) then the guides will be available here. Hopefully I can keep this up-to-date and it should be a very comprehensive guide. I also hope to upload files to aid in the connected devices to this server.&lt;br /&gt;
&lt;br /&gt;
This guide is based on:&lt;br /&gt;
&lt;br /&gt;
* {{Current openSUSE}}&lt;br /&gt;
* [[Apache HTTP Server]] (with PHP 8) serving:&lt;br /&gt;
** MediaWiki (Me!)&lt;br /&gt;
** [https://cooking.freddythechick.net/ Wordpress cooking site]&lt;br /&gt;
** [https://nextcloud.freddythechick.net/ Nextcloud file server]&lt;br /&gt;
** [https://photos.freddythechick.net/ Immich photo server (docker container)]&lt;br /&gt;
* [[MariaDB]] Database Sever (MySQL drop-in replacement)&lt;br /&gt;
* NTP time server via chrony&lt;br /&gt;
* Samba file server&lt;br /&gt;
* Asterisk VoIP server/TFTP Server (Implemented on a virtual machine, running [[FreePBX]])&lt;br /&gt;
* [[WireGuard]] VPN&lt;br /&gt;
* [https://www.distributed.net distributed.net] RC5-72 project, using spare CPU time&lt;br /&gt;
&lt;br /&gt;
To be implemented:&lt;br /&gt;
&lt;br /&gt;
* Samba Active Directory server (with Roaming Profiles/Folder Redirection)&lt;br /&gt;
&lt;br /&gt;
These pages display well on an iPod or iPhone or an Android device! These pages are are now true mobile friendly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode = packed heights=400px&amp;gt;&lt;br /&gt;
File:IPod Page.webp&lt;br /&gt;
File:Android Page.webp&lt;br /&gt;
File:Android Chrome Page.webp&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1031</id>
		<title>WireGuard</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1031"/>
		<updated>2025-10-16T22:51:45Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Generate a public/private key pair */ Changed created to generated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WireGuard is a lightweight VPN server, built-in to the Linux kernel past kernel 5.6, making it very easy to set up on a Linux server. This guide will detail how to install on this server.&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
&lt;br /&gt;
You will need to install the following packages:&lt;br /&gt;
* &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (for DNS resolution)&lt;br /&gt;
* &amp;lt;code&amp;gt;wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install the required packages ===&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;sudo zypper in openresolv wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* Press {{key press|Y}} to accept&lt;br /&gt;
&lt;br /&gt;
=== Allow IP forwarding ===&lt;br /&gt;
&lt;br /&gt;
WireGuard requires IP forwarding to function as it will forward packets between your network adapter and a virtual adapter.&lt;br /&gt;
&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;cd /etc&amp;lt;/code&amp;gt;&lt;br /&gt;
* Open &amp;lt;code&amp;gt;sysctl.conf&amp;lt;/code&amp;gt; for editing - &amp;lt;code&amp;gt;sudo nano sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Type your root password and press {{key press|Enter}}&lt;br /&gt;
* At the end of the file, type the following:&lt;br /&gt;
 net.ipv4.ip_forward=1&lt;br /&gt;
* Press {{key press|Ctrl|X}} then {{key press|Y}} to save then {{key press|Enter}} to confirm saving the file&lt;br /&gt;
* Load the changes - &amp;lt;code&amp;gt;sysctl -p&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restart the computer ===&lt;br /&gt;
&lt;br /&gt;
* After completing the previous steps, restart the computer. This will active &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (no further configuration needed) and ensure IP forwarding is enabled. You are now ready to configure WireGuard.&lt;br /&gt;
&lt;br /&gt;
=== Allow port forwarding on the router ===&lt;br /&gt;
&lt;br /&gt;
* Port 33333 or whatever port you choose later must be port forwarded through your router. Ensure this is for UDP, &#039;&#039;&#039;NOT&#039;&#039;&#039; TCP.&lt;br /&gt;
&lt;br /&gt;
== Configure the server ==&lt;br /&gt;
&lt;br /&gt;
We will now configure the server settings for WireGuard. WireGuard comes complete with tools to create the the private/public keys needed to function and is configured with a simple configuration file.&lt;br /&gt;
&lt;br /&gt;
=== Become a superuser ===&lt;br /&gt;
For the following sets, you may need to become a superuser (&amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;) to access the WireGuard folder.&lt;br /&gt;
&lt;br /&gt;
* Become a superuser - &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Move to WireGuard directory ===&lt;br /&gt;
&lt;br /&gt;
* Type your root password and press {{key press|Enter}}. The terminal text should change to red to indicate you are now a superuser.&lt;br /&gt;
* Move to the WireGuard directory - &amp;lt;code&amp;gt;cd /etc/wireguard&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will find this directory is empty - we will work in this directory which is secure.&lt;br /&gt;
&lt;br /&gt;
=== Generate a public/private key pair ===&lt;br /&gt;
&lt;br /&gt;
* Generate a private and public key for the server. You can use the following command:&lt;br /&gt;
 wg genkey | tee server-privatekey | wg pubkey &amp;gt; server-publickey&lt;br /&gt;
&lt;br /&gt;
**&amp;lt;code&amp;gt;server-privatekey&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;server-publickey&amp;lt;/code&amp;gt; are filenames and can be anything you want and can be changed accordingly. These files are not directly used by WireGuard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The private key generated should &#039;&#039;&#039;NEVER&#039;&#039;&#039; leave the server. Anyone with the private key can connect to and compromise the server. If the key does become compromised, a new private key should be generated and configured immediately and the old key never used again.&lt;br /&gt;
&lt;br /&gt;
To keep private keys secure once used, it is advisable to store the private key somewhere offline and secure, away from the server. One example would be a USB stick. This way, if the server is compromised, it will be more difficult to compromise the private key. Ensure the permissions are correct as follows so that access is restricted to only superusers.&lt;br /&gt;
&lt;br /&gt;
The public key is safe from compromise, this does not need to be stored with such security.&lt;br /&gt;
&lt;br /&gt;
All private/public keys in this guide were generated as an example and are not in use on this server.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 server-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat server-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
&lt;br /&gt;
=== Create configuration file ===&lt;br /&gt;
&lt;br /&gt;
* We will create a configuration file with the same name as the interface WireGuard will create: &amp;lt;code&amp;gt;nano wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 ## Local Address : A private IP address for wg0 interface.&lt;br /&gt;
 Address = 10.20.10.1/24&lt;br /&gt;
 ListenPort = 33333&amp;lt;br&amp;gt;&lt;br /&gt;
 ## local server privatekey&lt;br /&gt;
 PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;br&amp;gt;&lt;br /&gt;
 ## The PostUp will run when the WireGuard Server starts the virtual VPN tunnel.&lt;br /&gt;
 ## The PostDown rules run when the WireGuard Server stops the virtual VPN tunnel.&lt;br /&gt;
 ## Specify the command that allows traffic to leave the server and give the VPN clients access to the Internet.&lt;br /&gt;
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
* Tweak the file to match your server configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.1/24&amp;lt;/code&amp;gt; - this is the address used by the WireGuard interface and should be different from your local network subnet.&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - 33333 is the default WireGuard network port but can be changed to anything you like as long as the port is not already in use by something else.&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;/code&amp;gt; - Paste the key your generated and copied earlier.&lt;br /&gt;
** &amp;lt;code&amp;gt;PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; - the interface needs changing according to the name of the Ethernet card on your computer (&amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt; in this example&amp;lt;/code&amp;gt;, which can be found by typing &amp;lt;code&amp;gt;ip a&amp;lt;/code&amp;gt;. Common names include &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eno1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Once done, save the file: {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
* Change the permissions so that the configuration file can only be accessed by superusers: &amp;lt;code&amp;gt;chmod 600 wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start WireGuard ==&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;systemctl start wg-quick@wg0&amp;lt;/code&amp;gt; to start WireGuard.&lt;br /&gt;
** &amp;lt;code&amp;gt;wg0&amp;lt;/code&amp;gt; is the name of the WireGuard interface and configuration file we created. If different, this should be changed to match the same name as the configuration file.&lt;br /&gt;
* Check that WireGuard is running: &amp;lt;code&amp;gt;wg show&amp;lt;/code&amp;gt;. You should see something similar to the following if all is well:&lt;br /&gt;
 interface: wg0&lt;br /&gt;
   public key: 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
   private key: (hidden)&lt;br /&gt;
   listening port: 33333&lt;br /&gt;
* The public key should match the one generated earlier and can be viewed by typing &amp;lt;code&amp;gt;cat server-publickey&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you would like WireGuard to start on startup, type the following: &amp;lt;code&amp;gt;systemctl enable wg-quick@wg0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up a client ==&lt;br /&gt;
&lt;br /&gt;
Client software is available for many operating systems, including Windows, macOS, Linux (native support past Kernel 5.6) and Android. Here we will make a config file and add it to the server configuration, but due to the vast amount of different operating systems supported, we will not cover how to add the configuration to your respective operating system.&lt;br /&gt;
&lt;br /&gt;
The client configuration file is similar to the server configuration file and remains very simple.&lt;br /&gt;
&lt;br /&gt;
=== Generate a public/private key pair ===&lt;br /&gt;
&lt;br /&gt;
* We will generated a public/private key pair much the same way as we did for the server:&lt;br /&gt;
 wg genkey | tee client-privatekey | wg pubkey &amp;gt; client-publickey&lt;br /&gt;
** The name &amp;lt;code&amp;gt;client&amp;lt;/code&amp;gt; for the file name can be changed to anything you like for convenience.&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 client-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat client-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
&lt;br /&gt;
=== Creating a configuration file ===&lt;br /&gt;
&lt;br /&gt;
* Open a new configuration file: &amp;lt;code&amp;gt;sudo nano client.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
** Once again, the name &amp;lt;code&amp;gt;client&amp;lt;/code&amp;gt; can be anything you like for convenience.&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 PrivateKey = 4JYkCM3VBuRpJAHjj8S8LyunF+Can5ZLCxB8OjXo9WI=&lt;br /&gt;
 ListenPort = 33333&lt;br /&gt;
 Address = 10.20.10.2/24&lt;br /&gt;
 DNS = 1.1.1.1, 1.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
 [Peer]&lt;br /&gt;
 PublicKey = 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
 AllowedIPs = 0.0.0.0/0&lt;br /&gt;
 Endpoint = example.com:33333&lt;br /&gt;
* Tweak the file to match your client configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = 4JYkCM3VBuRpJAHjj8S8LyunF+Can5ZLCxB8OjXo9WI=&amp;lt;/code&amp;gt; - the private key generated for the client (&#039;&#039;&#039;NOT&#039;&#039;&#039; the server private key).&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - needs to match the &amp;lt;code&amp;gt;ListenPort&amp;lt;/code&amp;gt; for the server.&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.2/24&amp;lt;/code&amp;gt; - the address to use, within the subnet defined in the server configuration.&lt;br /&gt;
** &amp;lt;code&amp;gt;DNS = 1.1.1.1, 1.0.0.1&amp;lt;/code&amp;gt; - the DNS server to use to resolve names. Something needs to be defined here as there is no DHCP to define a DNS server. This can be a server of your own on the network, your router or one of the many online services (CloudFlare DNS = 1.1.1.1, 1.0.0.1, Google DNS = 8.8.8.8, 8.8.4.4).&lt;br /&gt;
** &amp;lt;code&amp;gt;PublicKey = 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&amp;lt;/code&amp;gt; - the public key of the server, &#039;&#039;&#039;NOT&#039;&#039;&#039; the client public key.&lt;br /&gt;
** &amp;lt;code&amp;gt;AllowedIPs = 0.0.0.0/0&amp;lt;/code&amp;gt; - range of addresses that will be passed over the tunnel. Comma-separated list, can include IPv6 addresses if being used. 0.0.0.0/0 forwards everything.&lt;br /&gt;
** &amp;lt;code&amp;gt;Endpoint = example.com:33333&amp;lt;/code&amp;gt; - DNS address or IP address to connect to the server. An IP address will only be useful if you have a static address, otherwise a DNS address with DynDNS is a better solution.&lt;br /&gt;
* Save the file - {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
* The file can then be transferred to the client and imported into the WireGuard client ready for use.&lt;br /&gt;
&lt;br /&gt;
=== Adding peers to the server configuration ===&lt;br /&gt;
&lt;br /&gt;
* Open the server configuration file - &amp;lt;code&amp;gt;nano wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;[Peer]&amp;lt;/code&amp;gt; section, marked in italics, as follows:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 ## Local Address : A private IP address for wg0 interface.&lt;br /&gt;
 Address = 10.20.10.1/24&lt;br /&gt;
 ListenPort = 33333&amp;lt;br&amp;gt;&lt;br /&gt;
 ## local server privatekey&lt;br /&gt;
 PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;br&amp;gt;&lt;br /&gt;
 ## The PostUp will run when the WireGuard Server starts the virtual VPN tunnel.&lt;br /&gt;
 ## The PostDown rules run when the WireGuard Server stops the virtual VPN tunnel.&lt;br /&gt;
 ## Specify the command that allows traffic to leave the server and give the VPN clients access to the Internet.&lt;br /&gt;
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;[Peer]&#039;&#039;&lt;br /&gt;
 &#039;&#039;# one client which will be setup to use 10.20.10.2 IP&#039;&#039;&lt;br /&gt;
 &#039;&#039;PublicKey = 92p5r33HRrEvzlQJIdANcyIKx0JgtNV5VfQOOwLnFwM=&#039;&#039;&lt;br /&gt;
 &#039;&#039;AllowedIPs = 10.20.10.2/32&#039;&#039;&lt;br /&gt;
* Tweak the file to match your client configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;PublicKey = 92p5r33HRrEvzlQJIdANcyIKx0JgtNV5VfQOOwLnFwM=&amp;lt;/code&amp;gt; - the public key generated for the client.&lt;br /&gt;
** &amp;lt;code&amp;gt;AllowedIPs = 10.20.10.2/32&amp;lt;/code&amp;gt; - the IP address used for the tunnel, should match the client configuration file.&lt;br /&gt;
* Save the file - {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
&lt;br /&gt;
== Reloading the server ==&lt;br /&gt;
&lt;br /&gt;
For our changes to take effect, the WireGuard daemon needs to be reloaded or restarted using:&lt;br /&gt;
 systemctl reload wg-quick@wg0&lt;br /&gt;
or&lt;br /&gt;
 systemctl restart wg-quick@wg0&lt;br /&gt;
&lt;br /&gt;
At this point, the WireGuard VPN is ready to go!&lt;br /&gt;
&lt;br /&gt;
== Adding further clients ==&lt;br /&gt;
&lt;br /&gt;
* Generate a public/private key pair as explained under the client section.&lt;br /&gt;
* Create a configuration with the new public/private key pair generated.&lt;br /&gt;
* Copy the configuration to the respective client.&lt;br /&gt;
* Add another &amp;lt;code&amp;gt;[Peer]&amp;lt;/code&amp;gt; section to the server configuration.&lt;br /&gt;
* Reload the WireGuard server.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1030</id>
		<title>WireGuard</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1030"/>
		<updated>2025-10-16T22:50:21Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Generate a public/private key pair */ Changed created to generated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WireGuard is a lightweight VPN server, built-in to the Linux kernel past kernel 5.6, making it very easy to set up on a Linux server. This guide will detail how to install on this server.&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
&lt;br /&gt;
You will need to install the following packages:&lt;br /&gt;
* &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (for DNS resolution)&lt;br /&gt;
* &amp;lt;code&amp;gt;wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install the required packages ===&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;sudo zypper in openresolv wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* Press {{key press|Y}} to accept&lt;br /&gt;
&lt;br /&gt;
=== Allow IP forwarding ===&lt;br /&gt;
&lt;br /&gt;
WireGuard requires IP forwarding to function as it will forward packets between your network adapter and a virtual adapter.&lt;br /&gt;
&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;cd /etc&amp;lt;/code&amp;gt;&lt;br /&gt;
* Open &amp;lt;code&amp;gt;sysctl.conf&amp;lt;/code&amp;gt; for editing - &amp;lt;code&amp;gt;sudo nano sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Type your root password and press {{key press|Enter}}&lt;br /&gt;
* At the end of the file, type the following:&lt;br /&gt;
 net.ipv4.ip_forward=1&lt;br /&gt;
* Press {{key press|Ctrl|X}} then {{key press|Y}} to save then {{key press|Enter}} to confirm saving the file&lt;br /&gt;
* Load the changes - &amp;lt;code&amp;gt;sysctl -p&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restart the computer ===&lt;br /&gt;
&lt;br /&gt;
* After completing the previous steps, restart the computer. This will active &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (no further configuration needed) and ensure IP forwarding is enabled. You are now ready to configure WireGuard.&lt;br /&gt;
&lt;br /&gt;
=== Allow port forwarding on the router ===&lt;br /&gt;
&lt;br /&gt;
* Port 33333 or whatever port you choose later must be port forwarded through your router. Ensure this is for UDP, &#039;&#039;&#039;NOT&#039;&#039;&#039; TCP.&lt;br /&gt;
&lt;br /&gt;
== Configure the server ==&lt;br /&gt;
&lt;br /&gt;
We will now configure the server settings for WireGuard. WireGuard comes complete with tools to create the the private/public keys needed to function and is configured with a simple configuration file.&lt;br /&gt;
&lt;br /&gt;
=== Become a superuser ===&lt;br /&gt;
For the following sets, you may need to become a superuser (&amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;) to access the WireGuard folder.&lt;br /&gt;
&lt;br /&gt;
* Become a superuser - &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Move to WireGuard directory ===&lt;br /&gt;
&lt;br /&gt;
* Type your root password and press {{key press|Enter}}. The terminal text should change to red to indicate you are now a superuser.&lt;br /&gt;
* Move to the WireGuard directory - &amp;lt;code&amp;gt;cd /etc/wireguard&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will find this directory is empty - we will work in this directory which is secure.&lt;br /&gt;
&lt;br /&gt;
=== Generate a public/private key pair ===&lt;br /&gt;
&lt;br /&gt;
* Create a private and public key for the server. You can use the following command:&lt;br /&gt;
 wg genkey | tee server-privatekey | wg pubkey &amp;gt; server-publickey&lt;br /&gt;
**&amp;lt;code&amp;gt;server-privatekey&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;server-publickey&amp;lt;/code&amp;gt; are filenames and can be anything you want and can be changed accordingly. These files are not directly used by WireGuard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The private key generated should &#039;&#039;&#039;NEVER&#039;&#039;&#039; leave the server. Anyone with the private key can connect to and compromise the server. If the key does become compromised, a new private key should be generated and configured immediately and the old key never used again.&lt;br /&gt;
&lt;br /&gt;
To keep private keys secure once used, it is advisable to store the private key somewhere offline and secure, away from the server. One example would be a USB stick. This way, if the server is compromised, it will be more difficult to compromise the private key. Ensure the permissions are correct as follows so that access is restricted to only superusers.&lt;br /&gt;
&lt;br /&gt;
The public key is safe from compromise, this does not need to be stored with such security.&lt;br /&gt;
&lt;br /&gt;
All private/public keys in this guide were generated as an example and are not in use on this server.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 server-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat server-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
&lt;br /&gt;
=== Create configuration file ===&lt;br /&gt;
&lt;br /&gt;
* We will create a configuration file with the same name as the interface WireGuard will create: &amp;lt;code&amp;gt;nano wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 ## Local Address : A private IP address for wg0 interface.&lt;br /&gt;
 Address = 10.20.10.1/24&lt;br /&gt;
 ListenPort = 33333&amp;lt;br&amp;gt;&lt;br /&gt;
 ## local server privatekey&lt;br /&gt;
 PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;br&amp;gt;&lt;br /&gt;
 ## The PostUp will run when the WireGuard Server starts the virtual VPN tunnel.&lt;br /&gt;
 ## The PostDown rules run when the WireGuard Server stops the virtual VPN tunnel.&lt;br /&gt;
 ## Specify the command that allows traffic to leave the server and give the VPN clients access to the Internet.&lt;br /&gt;
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
* Tweak the file to match your server configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.1/24&amp;lt;/code&amp;gt; - this is the address used by the WireGuard interface and should be different from your local network subnet.&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - 33333 is the default WireGuard network port but can be changed to anything you like as long as the port is not already in use by something else.&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;/code&amp;gt; - Paste the key your generated and copied earlier.&lt;br /&gt;
** &amp;lt;code&amp;gt;PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; - the interface needs changing according to the name of the Ethernet card on your computer (&amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt; in this example&amp;lt;/code&amp;gt;, which can be found by typing &amp;lt;code&amp;gt;ip a&amp;lt;/code&amp;gt;. Common names include &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eno1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Once done, save the file: {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
* Change the permissions so that the configuration file can only be accessed by superusers: &amp;lt;code&amp;gt;chmod 600 wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start WireGuard ==&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;systemctl start wg-quick@wg0&amp;lt;/code&amp;gt; to start WireGuard.&lt;br /&gt;
** &amp;lt;code&amp;gt;wg0&amp;lt;/code&amp;gt; is the name of the WireGuard interface and configuration file we created. If different, this should be changed to match the same name as the configuration file.&lt;br /&gt;
* Check that WireGuard is running: &amp;lt;code&amp;gt;wg show&amp;lt;/code&amp;gt;. You should see something similar to the following if all is well:&lt;br /&gt;
 interface: wg0&lt;br /&gt;
   public key: 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
   private key: (hidden)&lt;br /&gt;
   listening port: 33333&lt;br /&gt;
* The public key should match the one generated earlier and can be viewed by typing &amp;lt;code&amp;gt;cat server-publickey&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you would like WireGuard to start on startup, type the following: &amp;lt;code&amp;gt;systemctl enable wg-quick@wg0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up a client ==&lt;br /&gt;
&lt;br /&gt;
Client software is available for many operating systems, including Windows, macOS, Linux (native support past Kernel 5.6) and Android. Here we will make a config file and add it to the server configuration, but due to the vast amount of different operating systems supported, we will not cover how to add the configuration to your respective operating system.&lt;br /&gt;
&lt;br /&gt;
The client configuration file is similar to the server configuration file and remains very simple.&lt;br /&gt;
&lt;br /&gt;
=== Generate a public/private key pair ===&lt;br /&gt;
&lt;br /&gt;
* We will generated a public/private key pair much the same way as we did for the server:&lt;br /&gt;
 wg genkey | tee client-privatekey | wg pubkey &amp;gt; client-publickey&lt;br /&gt;
** The name &amp;lt;code&amp;gt;client&amp;lt;/code&amp;gt; for the file name can be changed to anything you like for convenience.&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 client-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat client-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
&lt;br /&gt;
=== Creating a configuration file ===&lt;br /&gt;
&lt;br /&gt;
* Open a new configuration file: &amp;lt;code&amp;gt;sudo nano client.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
** Once again, the name &amp;lt;code&amp;gt;client&amp;lt;/code&amp;gt; can be anything you like for convenience.&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 PrivateKey = 4JYkCM3VBuRpJAHjj8S8LyunF+Can5ZLCxB8OjXo9WI=&lt;br /&gt;
 ListenPort = 33333&lt;br /&gt;
 Address = 10.20.10.2/24&lt;br /&gt;
 DNS = 1.1.1.1, 1.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
 [Peer]&lt;br /&gt;
 PublicKey = 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
 AllowedIPs = 0.0.0.0/0&lt;br /&gt;
 Endpoint = example.com:33333&lt;br /&gt;
* Tweak the file to match your client configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = 4JYkCM3VBuRpJAHjj8S8LyunF+Can5ZLCxB8OjXo9WI=&amp;lt;/code&amp;gt; - the private key generated for the client (&#039;&#039;&#039;NOT&#039;&#039;&#039; the server private key).&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - needs to match the &amp;lt;code&amp;gt;ListenPort&amp;lt;/code&amp;gt; for the server.&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.2/24&amp;lt;/code&amp;gt; - the address to use, within the subnet defined in the server configuration.&lt;br /&gt;
** &amp;lt;code&amp;gt;DNS = 1.1.1.1, 1.0.0.1&amp;lt;/code&amp;gt; - the DNS server to use to resolve names. Something needs to be defined here as there is no DHCP to define a DNS server. This can be a server of your own on the network, your router or one of the many online services (CloudFlare DNS = 1.1.1.1, 1.0.0.1, Google DNS = 8.8.8.8, 8.8.4.4).&lt;br /&gt;
** &amp;lt;code&amp;gt;PublicKey = 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&amp;lt;/code&amp;gt; - the public key of the server, &#039;&#039;&#039;NOT&#039;&#039;&#039; the client public key.&lt;br /&gt;
** &amp;lt;code&amp;gt;AllowedIPs = 0.0.0.0/0&amp;lt;/code&amp;gt; - range of addresses that will be passed over the tunnel. Comma-separated list, can include IPv6 addresses if being used. 0.0.0.0/0 forwards everything.&lt;br /&gt;
** &amp;lt;code&amp;gt;Endpoint = example.com:33333&amp;lt;/code&amp;gt; - DNS address or IP address to connect to the server. An IP address will only be useful if you have a static address, otherwise a DNS address with DynDNS is a better solution.&lt;br /&gt;
* Save the file - {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
* The file can then be transferred to the client and imported into the WireGuard client ready for use.&lt;br /&gt;
&lt;br /&gt;
=== Adding peers to the server configuration ===&lt;br /&gt;
&lt;br /&gt;
* Open the server configuration file - &amp;lt;code&amp;gt;nano wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;[Peer]&amp;lt;/code&amp;gt; section, marked in italics, as follows:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 ## Local Address : A private IP address for wg0 interface.&lt;br /&gt;
 Address = 10.20.10.1/24&lt;br /&gt;
 ListenPort = 33333&amp;lt;br&amp;gt;&lt;br /&gt;
 ## local server privatekey&lt;br /&gt;
 PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;br&amp;gt;&lt;br /&gt;
 ## The PostUp will run when the WireGuard Server starts the virtual VPN tunnel.&lt;br /&gt;
 ## The PostDown rules run when the WireGuard Server stops the virtual VPN tunnel.&lt;br /&gt;
 ## Specify the command that allows traffic to leave the server and give the VPN clients access to the Internet.&lt;br /&gt;
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;[Peer]&#039;&#039;&lt;br /&gt;
 &#039;&#039;# one client which will be setup to use 10.20.10.2 IP&#039;&#039;&lt;br /&gt;
 &#039;&#039;PublicKey = 92p5r33HRrEvzlQJIdANcyIKx0JgtNV5VfQOOwLnFwM=&#039;&#039;&lt;br /&gt;
 &#039;&#039;AllowedIPs = 10.20.10.2/32&#039;&#039;&lt;br /&gt;
* Tweak the file to match your client configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;PublicKey = 92p5r33HRrEvzlQJIdANcyIKx0JgtNV5VfQOOwLnFwM=&amp;lt;/code&amp;gt; - the public key generated for the client.&lt;br /&gt;
** &amp;lt;code&amp;gt;AllowedIPs = 10.20.10.2/32&amp;lt;/code&amp;gt; - the IP address used for the tunnel, should match the client configuration file.&lt;br /&gt;
* Save the file - {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
&lt;br /&gt;
== Reloading the server ==&lt;br /&gt;
&lt;br /&gt;
For our changes to take effect, the WireGuard daemon needs to be reloaded or restarted using:&lt;br /&gt;
 systemctl reload wg-quick@wg0&lt;br /&gt;
or&lt;br /&gt;
 systemctl restart wg-quick@wg0&lt;br /&gt;
&lt;br /&gt;
At this point, the WireGuard VPN is ready to go!&lt;br /&gt;
&lt;br /&gt;
== Adding further clients ==&lt;br /&gt;
&lt;br /&gt;
* Generate a public/private key pair as explained under the client section.&lt;br /&gt;
* Create a configuration with the new public/private key pair generated.&lt;br /&gt;
* Copy the configuration to the respective client.&lt;br /&gt;
* Add another &amp;lt;code&amp;gt;[Peer]&amp;lt;/code&amp;gt; section to the server configuration.&lt;br /&gt;
* Reload the WireGuard server.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1029</id>
		<title>WireGuard</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1029"/>
		<updated>2025-10-16T22:49:38Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Adding peers to the server configuration */ Corrected configuration file, added italics&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WireGuard is a lightweight VPN server, built-in to the Linux kernel past kernel 5.6, making it very easy to set up on a Linux server. This guide will detail how to install on this server.&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
&lt;br /&gt;
You will need to install the following packages:&lt;br /&gt;
* &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (for DNS resolution)&lt;br /&gt;
* &amp;lt;code&amp;gt;wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install the required packages ===&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;sudo zypper in openresolv wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* Press {{key press|Y}} to accept&lt;br /&gt;
&lt;br /&gt;
=== Allow IP forwarding ===&lt;br /&gt;
&lt;br /&gt;
WireGuard requires IP forwarding to function as it will forward packets between your network adapter and a virtual adapter.&lt;br /&gt;
&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;cd /etc&amp;lt;/code&amp;gt;&lt;br /&gt;
* Open &amp;lt;code&amp;gt;sysctl.conf&amp;lt;/code&amp;gt; for editing - &amp;lt;code&amp;gt;sudo nano sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Type your root password and press {{key press|Enter}}&lt;br /&gt;
* At the end of the file, type the following:&lt;br /&gt;
 net.ipv4.ip_forward=1&lt;br /&gt;
* Press {{key press|Ctrl|X}} then {{key press|Y}} to save then {{key press|Enter}} to confirm saving the file&lt;br /&gt;
* Load the changes - &amp;lt;code&amp;gt;sysctl -p&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restart the computer ===&lt;br /&gt;
&lt;br /&gt;
* After completing the previous steps, restart the computer. This will active &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (no further configuration needed) and ensure IP forwarding is enabled. You are now ready to configure WireGuard.&lt;br /&gt;
&lt;br /&gt;
=== Allow port forwarding on the router ===&lt;br /&gt;
&lt;br /&gt;
* Port 33333 or whatever port you choose later must be port forwarded through your router. Ensure this is for UDP, &#039;&#039;&#039;NOT&#039;&#039;&#039; TCP.&lt;br /&gt;
&lt;br /&gt;
== Configure the server ==&lt;br /&gt;
&lt;br /&gt;
We will now configure the server settings for WireGuard. WireGuard comes complete with tools to create the the private/public keys needed to function and is configured with a simple configuration file.&lt;br /&gt;
&lt;br /&gt;
=== Become a superuser ===&lt;br /&gt;
For the following sets, you may need to become a superuser (&amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;) to access the WireGuard folder.&lt;br /&gt;
&lt;br /&gt;
* Become a superuser - &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Move to WireGuard directory ===&lt;br /&gt;
&lt;br /&gt;
* Type your root password and press {{key press|Enter}}. The terminal text should change to red to indicate you are now a superuser.&lt;br /&gt;
* Move to the WireGuard directory - &amp;lt;code&amp;gt;cd /etc/wireguard&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will find this directory is empty - we will work in this directory which is secure.&lt;br /&gt;
&lt;br /&gt;
=== Generate a public/private key pair ===&lt;br /&gt;
&lt;br /&gt;
* Create a private and public key for the server. You can use the following command:&lt;br /&gt;
 wg genkey | tee server-privatekey | wg pubkey &amp;gt; server-publickey&lt;br /&gt;
**&amp;lt;code&amp;gt;server-privatekey&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;server-publickey&amp;lt;/code&amp;gt; are filenames and can be anything you want and can be changed accordingly. These files are not directly used by WireGuard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The private key generated should &#039;&#039;&#039;NEVER&#039;&#039;&#039; leave the server. Anyone with the private key can connect to and compromise the server. If the key does become compromised, a new private key should be generated and configured immediately and the old key never used again.&lt;br /&gt;
&lt;br /&gt;
To keep private keys secure once used, it is advisable to store the private key somewhere offline and secure, away from the server. One example would be a USB stick. This way, if the server is compromised, it will be more difficult to compromise the private key. Ensure the permissions are correct as follows so that access is restricted to only superusers.&lt;br /&gt;
&lt;br /&gt;
The public key is safe from compromise, this does not need to be stored with such security.&lt;br /&gt;
&lt;br /&gt;
All private/public keys in this guide were generated as an example and are not in use on this server.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 server-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat server-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
&lt;br /&gt;
=== Create configuration file ===&lt;br /&gt;
&lt;br /&gt;
* We will create a configuration file with the same name as the interface WireGuard will create: &amp;lt;code&amp;gt;nano wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 ## Local Address : A private IP address for wg0 interface.&lt;br /&gt;
 Address = 10.20.10.1/24&lt;br /&gt;
 ListenPort = 33333&amp;lt;br&amp;gt;&lt;br /&gt;
 ## local server privatekey&lt;br /&gt;
 PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;br&amp;gt;&lt;br /&gt;
 ## The PostUp will run when the WireGuard Server starts the virtual VPN tunnel.&lt;br /&gt;
 ## The PostDown rules run when the WireGuard Server stops the virtual VPN tunnel.&lt;br /&gt;
 ## Specify the command that allows traffic to leave the server and give the VPN clients access to the Internet.&lt;br /&gt;
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
* Tweak the file to match your server configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.1/24&amp;lt;/code&amp;gt; - this is the address used by the WireGuard interface and should be different from your local network subnet.&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - 33333 is the default WireGuard network port but can be changed to anything you like as long as the port is not already in use by something else.&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;/code&amp;gt; - Paste the key your generated and copied earlier.&lt;br /&gt;
** &amp;lt;code&amp;gt;PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; - the interface needs changing according to the name of the Ethernet card on your computer (&amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt; in this example&amp;lt;/code&amp;gt;, which can be found by typing &amp;lt;code&amp;gt;ip a&amp;lt;/code&amp;gt;. Common names include &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eno1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Once done, save the file: {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
* Change the permissions so that the configuration file can only be accessed by superusers: &amp;lt;code&amp;gt;chmod 600 wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start WireGuard ==&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;systemctl start wg-quick@wg0&amp;lt;/code&amp;gt; to start WireGuard.&lt;br /&gt;
** &amp;lt;code&amp;gt;wg0&amp;lt;/code&amp;gt; is the name of the WireGuard interface and configuration file we created. If different, this should be changed to match the same name as the configuration file.&lt;br /&gt;
* Check that WireGuard is running: &amp;lt;code&amp;gt;wg show&amp;lt;/code&amp;gt;. You should see something similar to the following if all is well:&lt;br /&gt;
 interface: wg0&lt;br /&gt;
   public key: 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
   private key: (hidden)&lt;br /&gt;
   listening port: 33333&lt;br /&gt;
* The public key should match the one generated earlier and can be viewed by typing &amp;lt;code&amp;gt;cat server-publickey&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you would like WireGuard to start on startup, type the following: &amp;lt;code&amp;gt;systemctl enable wg-quick@wg0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up a client ==&lt;br /&gt;
&lt;br /&gt;
Client software is available for many operating systems, including Windows, macOS, Linux (native support past Kernel 5.6) and Android. Here we will make a config file and add it to the server configuration, but due to the vast amount of different operating systems supported, we will not cover how to add the configuration to your respective operating system.&lt;br /&gt;
&lt;br /&gt;
The client configuration file is similar to the server configuration file and remains very simple.&lt;br /&gt;
&lt;br /&gt;
=== Generate a public/private key pair ===&lt;br /&gt;
&lt;br /&gt;
* We will create a public/private key pair much the same way as we did for the server:&lt;br /&gt;
 wg genkey | tee client-privatekey | wg pubkey &amp;gt; client-publickey&lt;br /&gt;
** The name &amp;lt;code&amp;gt;client&amp;lt;/code&amp;gt; for the file name can be changed to anything you like for convenience.&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 client-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat client-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
&lt;br /&gt;
=== Creating a configuration file ===&lt;br /&gt;
&lt;br /&gt;
* Open a new configuration file: &amp;lt;code&amp;gt;sudo nano client.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
** Once again, the name &amp;lt;code&amp;gt;client&amp;lt;/code&amp;gt; can be anything you like for convenience.&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 PrivateKey = 4JYkCM3VBuRpJAHjj8S8LyunF+Can5ZLCxB8OjXo9WI=&lt;br /&gt;
 ListenPort = 33333&lt;br /&gt;
 Address = 10.20.10.2/24&lt;br /&gt;
 DNS = 1.1.1.1, 1.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
 [Peer]&lt;br /&gt;
 PublicKey = 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
 AllowedIPs = 0.0.0.0/0&lt;br /&gt;
 Endpoint = example.com:33333&lt;br /&gt;
* Tweak the file to match your client configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = 4JYkCM3VBuRpJAHjj8S8LyunF+Can5ZLCxB8OjXo9WI=&amp;lt;/code&amp;gt; - the private key generated for the client (&#039;&#039;&#039;NOT&#039;&#039;&#039; the server private key).&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - needs to match the &amp;lt;code&amp;gt;ListenPort&amp;lt;/code&amp;gt; for the server.&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.2/24&amp;lt;/code&amp;gt; - the address to use, within the subnet defined in the server configuration.&lt;br /&gt;
** &amp;lt;code&amp;gt;DNS = 1.1.1.1, 1.0.0.1&amp;lt;/code&amp;gt; - the DNS server to use to resolve names. Something needs to be defined here as there is no DHCP to define a DNS server. This can be a server of your own on the network, your router or one of the many online services (CloudFlare DNS = 1.1.1.1, 1.0.0.1, Google DNS = 8.8.8.8, 8.8.4.4).&lt;br /&gt;
** &amp;lt;code&amp;gt;PublicKey = 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&amp;lt;/code&amp;gt; - the public key of the server, &#039;&#039;&#039;NOT&#039;&#039;&#039; the client public key.&lt;br /&gt;
** &amp;lt;code&amp;gt;AllowedIPs = 0.0.0.0/0&amp;lt;/code&amp;gt; - range of addresses that will be passed over the tunnel. Comma-separated list, can include IPv6 addresses if being used. 0.0.0.0/0 forwards everything.&lt;br /&gt;
** &amp;lt;code&amp;gt;Endpoint = example.com:33333&amp;lt;/code&amp;gt; - DNS address or IP address to connect to the server. An IP address will only be useful if you have a static address, otherwise a DNS address with DynDNS is a better solution.&lt;br /&gt;
* Save the file - {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
* The file can then be transferred to the client and imported into the WireGuard client ready for use.&lt;br /&gt;
&lt;br /&gt;
=== Adding peers to the server configuration ===&lt;br /&gt;
&lt;br /&gt;
* Open the server configuration file - &amp;lt;code&amp;gt;nano wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;[Peer]&amp;lt;/code&amp;gt; section, marked in italics, as follows:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 ## Local Address : A private IP address for wg0 interface.&lt;br /&gt;
 Address = 10.20.10.1/24&lt;br /&gt;
 ListenPort = 33333&amp;lt;br&amp;gt;&lt;br /&gt;
 ## local server privatekey&lt;br /&gt;
 PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;br&amp;gt;&lt;br /&gt;
 ## The PostUp will run when the WireGuard Server starts the virtual VPN tunnel.&lt;br /&gt;
 ## The PostDown rules run when the WireGuard Server stops the virtual VPN tunnel.&lt;br /&gt;
 ## Specify the command that allows traffic to leave the server and give the VPN clients access to the Internet.&lt;br /&gt;
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&amp;lt;br&amp;gt;&lt;br /&gt;
 &#039;&#039;[Peer]&#039;&#039;&lt;br /&gt;
 &#039;&#039;# one client which will be setup to use 10.20.10.2 IP&#039;&#039;&lt;br /&gt;
 &#039;&#039;PublicKey = 92p5r33HRrEvzlQJIdANcyIKx0JgtNV5VfQOOwLnFwM=&#039;&#039;&lt;br /&gt;
 &#039;&#039;AllowedIPs = 10.20.10.2/32&#039;&#039;&lt;br /&gt;
* Tweak the file to match your client configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;PublicKey = 92p5r33HRrEvzlQJIdANcyIKx0JgtNV5VfQOOwLnFwM=&amp;lt;/code&amp;gt; - the public key generated for the client.&lt;br /&gt;
** &amp;lt;code&amp;gt;AllowedIPs = 10.20.10.2/32&amp;lt;/code&amp;gt; - the IP address used for the tunnel, should match the client configuration file.&lt;br /&gt;
* Save the file - {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
&lt;br /&gt;
== Reloading the server ==&lt;br /&gt;
&lt;br /&gt;
For our changes to take effect, the WireGuard daemon needs to be reloaded or restarted using:&lt;br /&gt;
 systemctl reload wg-quick@wg0&lt;br /&gt;
or&lt;br /&gt;
 systemctl restart wg-quick@wg0&lt;br /&gt;
&lt;br /&gt;
At this point, the WireGuard VPN is ready to go!&lt;br /&gt;
&lt;br /&gt;
== Adding further clients ==&lt;br /&gt;
&lt;br /&gt;
* Generate a public/private key pair as explained under the client section.&lt;br /&gt;
* Create a configuration with the new public/private key pair generated.&lt;br /&gt;
* Copy the configuration to the respective client.&lt;br /&gt;
* Add another &amp;lt;code&amp;gt;[Peer]&amp;lt;/code&amp;gt; section to the server configuration.&lt;br /&gt;
* Reload the WireGuard server.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1028</id>
		<title>WireGuard</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1028"/>
		<updated>2025-10-16T22:47:24Z</updated>

		<summary type="html">&lt;p&gt;Sam: Completed article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WireGuard is a lightweight VPN server, built-in to the Linux kernel past kernel 5.6, making it very easy to set up on a Linux server. This guide will detail how to install on this server.&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
&lt;br /&gt;
You will need to install the following packages:&lt;br /&gt;
* &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (for DNS resolution)&lt;br /&gt;
* &amp;lt;code&amp;gt;wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install the required packages ===&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;sudo zypper in openresolv wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* Press {{key press|Y}} to accept&lt;br /&gt;
&lt;br /&gt;
=== Allow IP forwarding ===&lt;br /&gt;
&lt;br /&gt;
WireGuard requires IP forwarding to function as it will forward packets between your network adapter and a virtual adapter.&lt;br /&gt;
&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;cd /etc&amp;lt;/code&amp;gt;&lt;br /&gt;
* Open &amp;lt;code&amp;gt;sysctl.conf&amp;lt;/code&amp;gt; for editing - &amp;lt;code&amp;gt;sudo nano sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Type your root password and press {{key press|Enter}}&lt;br /&gt;
* At the end of the file, type the following:&lt;br /&gt;
 net.ipv4.ip_forward=1&lt;br /&gt;
* Press {{key press|Ctrl|X}} then {{key press|Y}} to save then {{key press|Enter}} to confirm saving the file&lt;br /&gt;
* Load the changes - &amp;lt;code&amp;gt;sysctl -p&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restart the computer ===&lt;br /&gt;
&lt;br /&gt;
* After completing the previous steps, restart the computer. This will active &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (no further configuration needed) and ensure IP forwarding is enabled. You are now ready to configure WireGuard.&lt;br /&gt;
&lt;br /&gt;
=== Allow port forwarding on the router ===&lt;br /&gt;
&lt;br /&gt;
* Port 33333 or whatever port you choose later must be port forwarded through your router. Ensure this is for UDP, &#039;&#039;&#039;NOT&#039;&#039;&#039; TCP.&lt;br /&gt;
&lt;br /&gt;
== Configure the server ==&lt;br /&gt;
&lt;br /&gt;
We will now configure the server settings for WireGuard. WireGuard comes complete with tools to create the the private/public keys needed to function and is configured with a simple configuration file.&lt;br /&gt;
&lt;br /&gt;
=== Become a superuser ===&lt;br /&gt;
For the following sets, you may need to become a superuser (&amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;) to access the WireGuard folder.&lt;br /&gt;
&lt;br /&gt;
* Become a superuser - &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Move to WireGuard directory ===&lt;br /&gt;
&lt;br /&gt;
* Type your root password and press {{key press|Enter}}. The terminal text should change to red to indicate you are now a superuser.&lt;br /&gt;
* Move to the WireGuard directory - &amp;lt;code&amp;gt;cd /etc/wireguard&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will find this directory is empty - we will work in this directory which is secure.&lt;br /&gt;
&lt;br /&gt;
=== Generate a public/private key pair ===&lt;br /&gt;
&lt;br /&gt;
* Create a private and public key for the server. You can use the following command:&lt;br /&gt;
 wg genkey | tee server-privatekey | wg pubkey &amp;gt; server-publickey&lt;br /&gt;
**&amp;lt;code&amp;gt;server-privatekey&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;server-publickey&amp;lt;/code&amp;gt; are filenames and can be anything you want and can be changed accordingly. These files are not directly used by WireGuard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The private key generated should &#039;&#039;&#039;NEVER&#039;&#039;&#039; leave the server. Anyone with the private key can connect to and compromise the server. If the key does become compromised, a new private key should be generated and configured immediately and the old key never used again.&lt;br /&gt;
&lt;br /&gt;
To keep private keys secure once used, it is advisable to store the private key somewhere offline and secure, away from the server. One example would be a USB stick. This way, if the server is compromised, it will be more difficult to compromise the private key. Ensure the permissions are correct as follows so that access is restricted to only superusers.&lt;br /&gt;
&lt;br /&gt;
The public key is safe from compromise, this does not need to be stored with such security.&lt;br /&gt;
&lt;br /&gt;
All private/public keys in this guide were generated as an example and are not in use on this server.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 server-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat server-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
&lt;br /&gt;
=== Create configuration file ===&lt;br /&gt;
&lt;br /&gt;
* We will create a configuration file with the same name as the interface WireGuard will create: &amp;lt;code&amp;gt;nano wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 ## Local Address : A private IP address for wg0 interface.&lt;br /&gt;
 Address = 10.20.10.1/24&lt;br /&gt;
 ListenPort = 33333&amp;lt;br&amp;gt;&lt;br /&gt;
 ## local server privatekey&lt;br /&gt;
 PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;br&amp;gt;&lt;br /&gt;
 ## The PostUp will run when the WireGuard Server starts the virtual VPN tunnel.&lt;br /&gt;
 ## The PostDown rules run when the WireGuard Server stops the virtual VPN tunnel.&lt;br /&gt;
 ## Specify the command that allows traffic to leave the server and give the VPN clients access to the Internet.&lt;br /&gt;
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
* Tweak the file to match your server configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.1/24&amp;lt;/code&amp;gt; - this is the address used by the WireGuard interface and should be different from your local network subnet.&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - 33333 is the default WireGuard network port but can be changed to anything you like as long as the port is not already in use by something else.&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;/code&amp;gt; - Paste the key your generated and copied earlier.&lt;br /&gt;
** &amp;lt;code&amp;gt;PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; - the interface needs changing according to the name of the Ethernet card on your computer (&amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt; in this example&amp;lt;/code&amp;gt;, which can be found by typing &amp;lt;code&amp;gt;ip a&amp;lt;/code&amp;gt;. Common names include &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eno1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Once done, save the file: {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
* Change the permissions so that the configuration file can only be accessed by superusers: &amp;lt;code&amp;gt;chmod 600 wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start WireGuard ==&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;systemctl start wg-quick@wg0&amp;lt;/code&amp;gt; to start WireGuard.&lt;br /&gt;
** &amp;lt;code&amp;gt;wg0&amp;lt;/code&amp;gt; is the name of the WireGuard interface and configuration file we created. If different, this should be changed to match the same name as the configuration file.&lt;br /&gt;
* Check that WireGuard is running: &amp;lt;code&amp;gt;wg show&amp;lt;/code&amp;gt;. You should see something similar to the following if all is well:&lt;br /&gt;
 interface: wg0&lt;br /&gt;
   public key: 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
   private key: (hidden)&lt;br /&gt;
   listening port: 33333&lt;br /&gt;
* The public key should match the one generated earlier and can be viewed by typing &amp;lt;code&amp;gt;cat server-publickey&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you would like WireGuard to start on startup, type the following: &amp;lt;code&amp;gt;systemctl enable wg-quick@wg0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up a client ==&lt;br /&gt;
&lt;br /&gt;
Client software is available for many operating systems, including Windows, macOS, Linux (native support past Kernel 5.6) and Android. Here we will make a config file and add it to the server configuration, but due to the vast amount of different operating systems supported, we will not cover how to add the configuration to your respective operating system.&lt;br /&gt;
&lt;br /&gt;
The client configuration file is similar to the server configuration file and remains very simple.&lt;br /&gt;
&lt;br /&gt;
=== Generate a public/private key pair ===&lt;br /&gt;
&lt;br /&gt;
* We will create a public/private key pair much the same way as we did for the server:&lt;br /&gt;
 wg genkey | tee client-privatekey | wg pubkey &amp;gt; client-publickey&lt;br /&gt;
** The name &amp;lt;code&amp;gt;client&amp;lt;/code&amp;gt; for the file name can be changed to anything you like for convenience.&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 client-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat client-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
&lt;br /&gt;
=== Creating a configuration file ===&lt;br /&gt;
&lt;br /&gt;
* Open a new configuration file: &amp;lt;code&amp;gt;sudo nano client.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
** Once again, the name &amp;lt;code&amp;gt;client&amp;lt;/code&amp;gt; can be anything you like for convenience.&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 PrivateKey = 4JYkCM3VBuRpJAHjj8S8LyunF+Can5ZLCxB8OjXo9WI=&lt;br /&gt;
 ListenPort = 33333&lt;br /&gt;
 Address = 10.20.10.2/24&lt;br /&gt;
 DNS = 1.1.1.1, 1.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
 [Peer]&lt;br /&gt;
 PublicKey = 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
 AllowedIPs = 0.0.0.0/0&lt;br /&gt;
 Endpoint = example.com:33333&lt;br /&gt;
* Tweak the file to match your client configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = 4JYkCM3VBuRpJAHjj8S8LyunF+Can5ZLCxB8OjXo9WI=&amp;lt;/code&amp;gt; - the private key generated for the client (&#039;&#039;&#039;NOT&#039;&#039;&#039; the server private key).&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - needs to match the &amp;lt;code&amp;gt;ListenPort&amp;lt;/code&amp;gt; for the server.&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.2/24&amp;lt;/code&amp;gt; - the address to use, within the subnet defined in the server configuration.&lt;br /&gt;
** &amp;lt;code&amp;gt;DNS = 1.1.1.1, 1.0.0.1&amp;lt;/code&amp;gt; - the DNS server to use to resolve names. Something needs to be defined here as there is no DHCP to define a DNS server. This can be a server of your own on the network, your router or one of the many online services (CloudFlare DNS = 1.1.1.1, 1.0.0.1, Google DNS = 8.8.8.8, 8.8.4.4).&lt;br /&gt;
** &amp;lt;code&amp;gt;PublicKey = 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&amp;lt;/code&amp;gt; - the public key of the server, &#039;&#039;&#039;NOT&#039;&#039;&#039; the client public key.&lt;br /&gt;
** &amp;lt;code&amp;gt;AllowedIPs = 0.0.0.0/0&amp;lt;/code&amp;gt; - range of addresses that will be passed over the tunnel. Comma-separated list, can include IPv6 addresses if being used. 0.0.0.0/0 forwards everything.&lt;br /&gt;
** &amp;lt;code&amp;gt;Endpoint = example.com:33333&amp;lt;/code&amp;gt; - DNS address or IP address to connect to the server. An IP address will only be useful if you have a static address, otherwise a DNS address with DynDNS is a better solution.&lt;br /&gt;
* Save the file - {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
* The file can then be transferred to the client and imported into the WireGuard client ready for use.&lt;br /&gt;
&lt;br /&gt;
=== Adding peers to the server configuration ===&lt;br /&gt;
&lt;br /&gt;
* Open the server configuration file - &amp;lt;code&amp;gt;nano wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Add the &amp;lt;code&amp;gt;[Peer]&amp;lt;/code&amp;gt; section as follows:&lt;br /&gt;
[Interface]&lt;br /&gt;
 ## Local Address : A private IP address for wg0 interface.&lt;br /&gt;
 Address = 10.20.10.1/24&lt;br /&gt;
 ListenPort = 33333&amp;lt;br&amp;gt;&lt;br /&gt;
 ## local server privatekey&lt;br /&gt;
 PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;br&amp;gt;&lt;br /&gt;
 ## The PostUp will run when the WireGuard Server starts the virtual VPN tunnel.&lt;br /&gt;
 ## The PostDown rules run when the WireGuard Server stops the virtual VPN tunnel.&lt;br /&gt;
 ## Specify the command that allows traffic to leave the server and give the VPN clients access to the Internet.&lt;br /&gt;
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&amp;lt;br&amp;gt;&lt;br /&gt;
 [Peer]&lt;br /&gt;
 [Peer]&lt;br /&gt;
 # one client which will be setup to use 10.20.10.2 IP&lt;br /&gt;
 PublicKey = 92p5r33HRrEvzlQJIdANcyIKx0JgtNV5VfQOOwLnFwM=&lt;br /&gt;
 AllowedIPs = 10.20.10.2/32&lt;br /&gt;
* Tweak the file to match your client configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;PublicKey = 92p5r33HRrEvzlQJIdANcyIKx0JgtNV5VfQOOwLnFwM=&amp;lt;/code&amp;gt; - the public key generated for the client.&lt;br /&gt;
** &amp;lt;code&amp;gt;AllowedIPs = 10.20.10.2/32&amp;lt;/code&amp;gt; - the IP address used for the tunnel, should match the client configuration file.&lt;br /&gt;
* Save the file - {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
&lt;br /&gt;
== Reloading the server ==&lt;br /&gt;
&lt;br /&gt;
For our changes to take effect, the WireGuard daemon needs to be reloaded or restarted using:&lt;br /&gt;
 systemctl reload wg-quick@wg0&lt;br /&gt;
or&lt;br /&gt;
 systemctl restart wg-quick@wg0&lt;br /&gt;
&lt;br /&gt;
At this point, the WireGuard VPN is ready to go!&lt;br /&gt;
&lt;br /&gt;
== Adding further clients ==&lt;br /&gt;
&lt;br /&gt;
* Generate a public/private key pair as explained under the client section.&lt;br /&gt;
* Create a configuration with the new public/private key pair generated.&lt;br /&gt;
* Copy the configuration to the respective client.&lt;br /&gt;
* Add another &amp;lt;code&amp;gt;[Peer]&amp;lt;/code&amp;gt; section to the server configuration.&lt;br /&gt;
* Reload the WireGuard server.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1027</id>
		<title>WireGuard</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1027"/>
		<updated>2025-10-16T22:32:47Z</updated>

		<summary type="html">&lt;p&gt;Sam: Added more to article, saving progress&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WireGuard is a lightweight VPN server, built-in to the Linux kernel past kernel 5.6, making it very easy to set up on a Linux server. This guide will detail how to install on this server.&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
&lt;br /&gt;
You will need to install the following packages:&lt;br /&gt;
* &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (for DNS resolution)&lt;br /&gt;
* &amp;lt;code&amp;gt;wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install the required packages ===&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;sudo zypper in openresolv wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* Press {{key press|Y}} to accept&lt;br /&gt;
&lt;br /&gt;
=== Allow IP forwarding ===&lt;br /&gt;
&lt;br /&gt;
WireGuard requires IP forwarding to function as it will forward packets between your network adapter and a virtual adapter.&lt;br /&gt;
&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;cd /etc&amp;lt;/code&amp;gt;&lt;br /&gt;
* Open &amp;lt;code&amp;gt;sysctl.conf&amp;lt;/code&amp;gt; for editing - &amp;lt;code&amp;gt;sudo nano sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Type your root password and press {{key press|Enter}}&lt;br /&gt;
* At the end of the file, type the following:&lt;br /&gt;
 net.ipv4.ip_forward=1&lt;br /&gt;
* Press {{key press|Ctrl|X}} then {{key press|Y}} to save then {{key press|Enter}} to confirm saving the file&lt;br /&gt;
* Load the changes - &amp;lt;code&amp;gt;sysctl -p&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restart the computer ===&lt;br /&gt;
&lt;br /&gt;
* After completing the previous steps, restart the computer. This will active &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (no further configuration needed) and ensure IP forwarding is enabled. You are now ready to configure WireGuard.&lt;br /&gt;
&lt;br /&gt;
=== Allow port forwarding on the router ===&lt;br /&gt;
&lt;br /&gt;
* Port 33333 or whatever port you choose later must be port forwarded through your router. Ensure this is for UDP, &#039;&#039;&#039;NOT&#039;&#039;&#039; TCP.&lt;br /&gt;
&lt;br /&gt;
== Configure the server ==&lt;br /&gt;
&lt;br /&gt;
We will now configure the server settings for WireGuard. WireGuard comes complete with tools to create the the private/public keys needed to function and is configured with a simple configuration file.&lt;br /&gt;
&lt;br /&gt;
=== Become a superuser ===&lt;br /&gt;
For the following sets, you may need to become a superuser (&amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;) to access the WireGuard folder.&lt;br /&gt;
&lt;br /&gt;
* Become a superuser - &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Move to WireGuard directory ===&lt;br /&gt;
&lt;br /&gt;
* Type your root password and press {{key press|Enter}}. The terminal text should change to red to indicate you are now a superuser.&lt;br /&gt;
* Move to the WireGuard directory - &amp;lt;code&amp;gt;cd /etc/wireguard&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will find this directory is empty - we will work in this directory which is secure.&lt;br /&gt;
&lt;br /&gt;
=== Generate a public/private key pair ===&lt;br /&gt;
&lt;br /&gt;
* Create a private and public key for the server. You can use the following command:&lt;br /&gt;
 wg genkey | tee server-privatekey | wg pubkey &amp;gt; server-publickey&lt;br /&gt;
**&amp;lt;code&amp;gt;server-privatekey&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;server-publickey&amp;lt;/code&amp;gt; are filenames and can be anything you want and can be changed accordingly. These files are not directly used by WireGuard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The private key generated should &#039;&#039;&#039;NEVER&#039;&#039;&#039; leave the server. Anyone with the private key can connect to and compromise the server. If the key does become compromised, a new private key should be generated and configured immediately and the old key never used again.&lt;br /&gt;
&lt;br /&gt;
To keep private keys secure once used, it is advisable to store the private key somewhere offline and secure, away from the server. One example would be a USB stick. This way, if the server is compromised, it will be more difficult to compromise the private key. Ensure the permissions are correct as follows so that access is restricted to only superusers.&lt;br /&gt;
&lt;br /&gt;
The public key is safe from compromise, this does not need to be stored with such security.&lt;br /&gt;
&lt;br /&gt;
All private/public keys in this guide were generated as an example and are not in use on this server.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 server-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat server-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
&lt;br /&gt;
=== Create configuration file ===&lt;br /&gt;
&lt;br /&gt;
* We will create a configuration file with the same name as the interface WireGuard will create: &amp;lt;code&amp;gt;nano wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 ## Local Address : A private IP address for wg0 interface.&lt;br /&gt;
 Address = 10.20.10.1/24&lt;br /&gt;
 ListenPort = 33333&amp;lt;br&amp;gt;&lt;br /&gt;
 ## local server privatekey&lt;br /&gt;
 PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;br&amp;gt;&lt;br /&gt;
 ## The PostUp will run when the WireGuard Server starts the virtual VPN tunnel.&lt;br /&gt;
 ## The PostDown rules run when the WireGuard Server stops the virtual VPN tunnel.&lt;br /&gt;
 ## Specify the command that allows traffic to leave the server and give the VPN clients access to the Internet.&lt;br /&gt;
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
* Tweak the file to match your server configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.1/24&amp;lt;/code&amp;gt; - this is the address used by the WireGuard interface and should be different from your local network subnet.&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - 33333 is the default WireGuard network port but can be changed to anything you like as long as the port is not already in use by something else.&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;/code&amp;gt; - Paste the key your generated and copied earlier.&lt;br /&gt;
** &amp;lt;code&amp;gt;PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; - the interface needs changing according to the name of the Ethernet card on your computer (&amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt; in this example&amp;lt;/code&amp;gt;, which can be found by typing &amp;lt;code&amp;gt;ip a&amp;lt;/code&amp;gt;. Common names include &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eno1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Once done, save the file: {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
* Change the permissions so that the configuration file can only be accessed by superusers: &amp;lt;code&amp;gt;chmod 600 wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start WireGuard ==&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;systemctl start wg-quick@wg0&amp;lt;/code&amp;gt; to start WireGuard.&lt;br /&gt;
** &amp;lt;code&amp;gt;wg0&amp;lt;/code&amp;gt; is the name of the WireGuard interface and configuration file we created. If different, this should be changed to match the same name as the configuration file.&lt;br /&gt;
* Check that WireGuard is running: &amp;lt;code&amp;gt;wg show&amp;lt;/code&amp;gt;. You should see something similar to the following if all is well:&lt;br /&gt;
 interface: wg0&lt;br /&gt;
   public key: 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
   private key: (hidden)&lt;br /&gt;
   listening port: 33333&lt;br /&gt;
* The public key should match the one generated earlier and can be viewed by typing &amp;lt;code&amp;gt;cat server-publickey&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you would like WireGuard to start on startup, type the following: &amp;lt;code&amp;gt;systemctl enable wg-quick@wg0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up a client ==&lt;br /&gt;
&lt;br /&gt;
Client software is available for many operating systems, including Windows, macOS, Linux (native support past Kernel 5.6) and Android. Here we will make a config file and add it to the server configuration, but due to the vast amount of different operating systems supported, we will not cover how to add the configuration to your respective operating system.&lt;br /&gt;
&lt;br /&gt;
The client configuration file is similar to the server configuration file and remains very simple.&lt;br /&gt;
&lt;br /&gt;
=== Generate a public/private key pair ===&lt;br /&gt;
&lt;br /&gt;
* We will create a public/private key pair much the same way as we did for the server:&lt;br /&gt;
 wg genkey | tee client-privatekey | wg pubkey &amp;gt; client-publickey&lt;br /&gt;
** The name &amp;lt;code&amp;gt;client&amp;lt;/code&amp;gt; for the file name can be changed to anything you like for convenience.&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 client-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat client-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
&lt;br /&gt;
=== Creating a configuration file ===&lt;br /&gt;
&lt;br /&gt;
* Open a new configuration file: &amp;lt;code&amp;gt;sudo nano client.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
** Once again, the name &amp;lt;code&amp;gt;client&amp;lt;/code&amp;gt; can be anything you like for convenience.&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 PrivateKey = 4JYkCM3VBuRpJAHjj8S8LyunF+Can5ZLCxB8OjXo9WI=&lt;br /&gt;
 ListenPort = 33333&lt;br /&gt;
 Address = 10.20.10.2/24&lt;br /&gt;
 DNS = 1.1.1.1, 1.0.0.1&amp;lt;br&amp;gt;&lt;br /&gt;
 [Peer]&lt;br /&gt;
 PublicKey = 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
 AllowedIPs = 0.0.0.0/0&lt;br /&gt;
 Endpoint = example.com:33333&lt;br /&gt;
* Tweak the file to match your server configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = 4JYkCM3VBuRpJAHjj8S8LyunF+Can5ZLCxB8OjXo9WI=&amp;lt;/code&amp;gt; - the private key generated for the client (&#039;&#039;&#039;NOT&#039;&#039;&#039; the server private key).&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - needs to match the &amp;lt;code&amp;gt;ListenPort&amp;lt;/code&amp;gt; for the server.&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.2/24&amp;lt;/code&amp;gt; - the address to use, within the subnet defined in the server configuration.&lt;br /&gt;
** &amp;lt;code&amp;gt;DNS = 1.1.1.1, 1.0.0.1&amp;lt;/code&amp;gt; - the DNS server to use to resolve names. Something needs to be defined here as there is no DHCP to define a DNS server. This can be a server of your own on the network, your router or one of the many online services (CloudFlare DNS = 1.1.1.1, 1.0.0.1, Google DNS = 8.8.8.8, 8.8.4.4).&lt;br /&gt;
** &amp;lt;code&amp;gt;PublicKey = 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&amp;lt;/code&amp;gt; - the public key of the server, &#039;&#039;&#039;NOT&#039;&#039;&#039; the client public key.&lt;br /&gt;
** &amp;lt;code&amp;gt;AllowedIPs = 0.0.0.0/0&amp;lt;/code&amp;gt; - range of addresses that will be passed over the tunnel. Comma-separated list, can include IPv6 addresses if being used. 0.0.0.0/0 forwards everything.&lt;br /&gt;
** &amp;lt;code&amp;gt;Endpoint = example.com:33333&amp;lt;/code&amp;gt; - DNS address or IP address to connect to the server. An IP address will only be useful if you have a static address, otherwise a DNS address with DynDNS is a better solution.&lt;br /&gt;
* Save the file - {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
* The file can then be transferred to the client and imported into the WireGuard client ready for use.&lt;br /&gt;
&lt;br /&gt;
=== Adding peers to the server configuration ===&lt;br /&gt;
&lt;br /&gt;
* Open the server configuration file - &amp;lt;code&amp;gt;sudo nano wg0.conf&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1026</id>
		<title>WireGuard</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1026"/>
		<updated>2025-10-16T00:10:41Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Configure the server */ Split the section up and added permissions bullet point&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WireGuard is a lightweight VPN server, built-in to the Linux kernel past kernel 5.6, making it very easy to set up on a Linux server. This guide will detail how to install on this server.&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
&lt;br /&gt;
You will need to install the following packages:&lt;br /&gt;
* &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (for DNS resolution)&lt;br /&gt;
* &amp;lt;code&amp;gt;wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install the required packages ===&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;sudo zypper in openresolv wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* Press {{key press|Y}} to accept&lt;br /&gt;
&lt;br /&gt;
=== Allow IP forwarding ===&lt;br /&gt;
&lt;br /&gt;
WireGuard requires IP forwarding to function as it will forward packets between your network adapter and a virtual adapter.&lt;br /&gt;
&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;cd /etc&amp;lt;/code&amp;gt;&lt;br /&gt;
* Open &amp;lt;code&amp;gt;sysctl.conf&amp;lt;/code&amp;gt; for editing - &amp;lt;code&amp;gt;sudo nano sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Type your root password and press {{key press|Enter}}&lt;br /&gt;
* At the end of the file, type the following:&lt;br /&gt;
 net.ipv4.ip_forward=1&lt;br /&gt;
* Press {{key press|Ctrl|X}} then {{key press|Y}} to save then {{key press|Enter}} to confirm saving the file&lt;br /&gt;
* Load the changes - &amp;lt;code&amp;gt;sysctl -p&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restart the computer ===&lt;br /&gt;
&lt;br /&gt;
* After completing the previous steps, restart the computer. This will active &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (no further configuration needed) and ensure IP forwarding is enabled. You are now ready to configure WireGuard.&lt;br /&gt;
&lt;br /&gt;
=== Allow port forwarding on the router ===&lt;br /&gt;
&lt;br /&gt;
* Port 33333 or whatever port you choose later must be port forwarded through your router. Ensure this is for UDP, &#039;&#039;&#039;NOT&#039;&#039;&#039; TCP.&lt;br /&gt;
&lt;br /&gt;
== Configure the server ==&lt;br /&gt;
&lt;br /&gt;
We will now configure the server settings for WireGuard. WireGuard comes complete with tools to create the the private/public keys needed to function and is configured with a simple configuration file.&lt;br /&gt;
&lt;br /&gt;
=== Become a superuser ===&lt;br /&gt;
For the following sets, you may need to become a superuser (&amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;) to access the WireGuard folder.&lt;br /&gt;
&lt;br /&gt;
* Become a superuser - &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Move to WireGuard directory ===&lt;br /&gt;
&lt;br /&gt;
* Type your root password and press {{key press|Enter}}. The terminal text should change to red to indicate you are now a superuser.&lt;br /&gt;
* Move to the WireGuard directory - &amp;lt;code&amp;gt;cd /etc/wireguard&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will find this directory is empty - we will work in this directory which is secure.&lt;br /&gt;
&lt;br /&gt;
=== Generate public/private key pair ===&lt;br /&gt;
&lt;br /&gt;
* Create a private and public key for the server. You can use the following command:&lt;br /&gt;
 wg genkey | tee server-privatekey | wg pubkey &amp;gt; server-publickey&lt;br /&gt;
**&amp;lt;code&amp;gt;server-privatekey&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;server-publickey&amp;lt;/code&amp;gt; are filenames and can be anything you want and can be changed accordingly. These files are not directly used by WireGuard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The private key generated should &#039;&#039;&#039;NEVER&#039;&#039;&#039; leave the server. Anyone with the private key can connect to and compromise the server. If the key does become compromised, a new private key should be generated and configured immediately and the old key never used again.&lt;br /&gt;
&lt;br /&gt;
To keep private keys secure once used, it is advisable to store the private key somewhere offline and secure, away from the server. One example would be a USB stick. This way, if the server is compromised, it will be more difficult to compromise the private key. Ensure the permissions are correct as follows so that access is restricted to only superusers.&lt;br /&gt;
&lt;br /&gt;
The public key is safe from compromise, this does not need to be stored with such security.&lt;br /&gt;
&lt;br /&gt;
All private/public keys in this guide were generated as an example and are not in use on this server.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 server-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat server-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
&lt;br /&gt;
=== Create configuration file ===&lt;br /&gt;
&lt;br /&gt;
* We will create a configuration file with the same name as the interface WireGuard will create: &amp;lt;code&amp;gt;nano wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 ## Local Address : A private IP address for wg0 interface.&lt;br /&gt;
 Address = 10.20.10.1/24&lt;br /&gt;
 ListenPort = 33333&amp;lt;br&amp;gt;&lt;br /&gt;
 ## local server privatekey&lt;br /&gt;
 PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;br&amp;gt;&lt;br /&gt;
 ## The PostUp will run when the WireGuard Server starts the virtual VPN tunnel.&lt;br /&gt;
 ## The PostDown rules run when the WireGuard Server stops the virtual VPN tunnel.&lt;br /&gt;
 ## Specify the command that allows traffic to leave the server and give the VPN clients access to the Internet.&lt;br /&gt;
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
* Tweak the file to match your server configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.1/24&amp;lt;/code&amp;gt; - this is the address used by the WireGuard interface and should be different from your local network subnet.&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - 33333 is the default WireGuard network port but can be changed to anything you like as long as the port is not already in use by something else.&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;/code&amp;gt; - Paste the key your generated and copied earlier.&lt;br /&gt;
** &amp;lt;code&amp;gt;PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; - the interface needs changing according to the name of the Ethernet card on your computer (&amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt; in this example&amp;lt;/code&amp;gt;, which can be found by typing &amp;lt;code&amp;gt;ip a&amp;lt;/code&amp;gt;. Common names include &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eno1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Once done, save the file: {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
* Change the permissions so that the configuration file can only be accessed by superusers: &amp;lt;code&amp;gt;chmod 600 wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Start WireGuard ==&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;systemctl start wg-quick@wg0&amp;lt;/code&amp;gt; to start WireGuard.&lt;br /&gt;
** &amp;lt;code&amp;gt;wg0&amp;lt;/code&amp;gt; is the name of the WireGuard interface and configuration file we created. If different, this should be changed to match the same name as the configuration file.&lt;br /&gt;
* Check that WireGuard is running: &amp;lt;code&amp;gt;wg show&amp;lt;/code&amp;gt;. You should see something similar to the following if all is well:&lt;br /&gt;
 interface: wg0&lt;br /&gt;
   public key: 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
   private key: (hidden)&lt;br /&gt;
   listening port: 33333&lt;br /&gt;
* The public key should match the one generated earlier and can be viewed by typing &amp;lt;code&amp;gt;cat server-publickey&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you would like WireGuard to start on startup, type the following: &amp;lt;code&amp;gt;systemctl enable wg-quick@wg0&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1025</id>
		<title>WireGuard</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=WireGuard&amp;diff=1025"/>
		<updated>2025-10-16T00:03:31Z</updated>

		<summary type="html">&lt;p&gt;Sam: Saved progress so far&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WireGuard is a lightweight VPN server, built-in to the Linux kernel past kernel 5.6, making it very easy to set up on a Linux server. This guide will detail how to install on this server.&lt;br /&gt;
&lt;br /&gt;
== Before you start ==&lt;br /&gt;
&lt;br /&gt;
You will need to install the following packages:&lt;br /&gt;
* &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (for DNS resolution)&lt;br /&gt;
* &amp;lt;code&amp;gt;wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Install the required packages ===&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;sudo zypper in openresolv wireguard-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* Press {{key press|Y}} to accept&lt;br /&gt;
&lt;br /&gt;
=== Allow IP forwarding ===&lt;br /&gt;
&lt;br /&gt;
WireGuard requires IP forwarding to function as it will forward packets between your network adapter and a virtual adapter.&lt;br /&gt;
&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; - &amp;lt;code&amp;gt;cd /etc&amp;lt;/code&amp;gt;&lt;br /&gt;
* Open &amp;lt;code&amp;gt;sysctl.conf&amp;lt;/code&amp;gt; for editing - &amp;lt;code&amp;gt;sudo nano sysctl.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Type your root password and press {{key press|Enter}}&lt;br /&gt;
* At the end of the file, type the following:&lt;br /&gt;
 net.ipv4.ip_forward=1&lt;br /&gt;
* Press {{key press|Ctrl|X}} then {{key press|Y}} to save then {{key press|Enter}} to confirm saving the file&lt;br /&gt;
* Load the changes - &amp;lt;code&amp;gt;sysctl -p&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restart the computer ===&lt;br /&gt;
&lt;br /&gt;
* After completing the previous steps, restart the computer. This will active &amp;lt;code&amp;gt;openresolv&amp;lt;/code&amp;gt; (no further configuration needed) and ensure IP forwarding is enabled. You are now ready to configure WireGuard.&lt;br /&gt;
&lt;br /&gt;
=== Allow port forwarding on the router ===&lt;br /&gt;
&lt;br /&gt;
* Port 33333 or whatever port you choose later must be port forwarded through your router. Ensure this is for UDP, &#039;&#039;&#039;NOT&#039;&#039;&#039; TCP.&lt;br /&gt;
&lt;br /&gt;
== Configure the server ==&lt;br /&gt;
&lt;br /&gt;
We will now configure the server settings for WireGuard. WireGuard comes complete with tools to create the the private/public keys needed to function and is configured with a simple configuration file.&lt;br /&gt;
&lt;br /&gt;
For the following sets, you may need to become a superuser (&amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;) to access the WireGuard folder.&lt;br /&gt;
&lt;br /&gt;
* Become a superuser - &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;&lt;br /&gt;
* Type your root password and press {{key press|Enter}}. The terminal text should change to red to indicate you are now a superuser.&lt;br /&gt;
* Move to the WireGuard directory - &amp;lt;code&amp;gt;cd /etc/wireguard&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will find this directory is empty - we will work in this directory which is secure.&lt;br /&gt;
&lt;br /&gt;
* Create a private and public key for the server. You can use the following command:&lt;br /&gt;
 wg genkey | tee server-privatekey | wg pubkey &amp;gt; server-publickey&lt;br /&gt;
**&amp;lt;code&amp;gt;server-privatekey&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;server-publickey&amp;lt;/code&amp;gt; are filenames and can be anything you want and can be changed accordingly. These files are not directly used by WireGuard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The private key generated should &#039;&#039;&#039;NEVER&#039;&#039;&#039; leave the server. Anyone with the private key can connect to and compromise the server. If the key does become compromised, a new private key should be generated and configured immediately and the old key never used again.&lt;br /&gt;
&lt;br /&gt;
To keep private keys secure once used, it is advisable to store the private key somewhere offline and secure, away from the server. One example would be a USB stick. This way, if the server is compromised, it will be more difficult to compromise the private key. Ensure the permissions are correct as follows so that access is restricted to only superusers.&lt;br /&gt;
&lt;br /&gt;
The public key is safe from compromise, this does not need to be stored with such security.&lt;br /&gt;
&lt;br /&gt;
All private/public keys in this guide were generated as an example and are not in use on this server.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Change the permissions of the private key so that only superusers can access the key: &amp;lt;code&amp;gt;chmod 600 server-privatekey&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need the private key to put in the configuration file: &amp;lt;code&amp;gt;cat server-privatekey&amp;lt;/code&amp;gt;. This will display the key on the screen which can then be copied.&lt;br /&gt;
* We will create a configuration file with the same name as the interface WireGuard will create: &amp;lt;code&amp;gt;nano wg0.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Insert the following into the file:&lt;br /&gt;
 [Interface]&lt;br /&gt;
 ## Local Address : A private IP address for wg0 interface.&lt;br /&gt;
 Address = 10.20.10.1/24&lt;br /&gt;
 ListenPort = 33333&amp;lt;br&amp;gt;&lt;br /&gt;
 ## local server privatekey&lt;br /&gt;
 PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;br&amp;gt;&lt;br /&gt;
 ## The PostUp will run when the WireGuard Server starts the virtual VPN tunnel.&lt;br /&gt;
 ## The PostDown rules run when the WireGuard Server stops the virtual VPN tunnel.&lt;br /&gt;
 ## Specify the command that allows traffic to leave the server and give the VPN clients access to the Internet.&lt;br /&gt;
 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT&lt;br /&gt;
 PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&lt;br /&gt;
* Tweak the file to match your server configuration:&lt;br /&gt;
** &amp;lt;code&amp;gt;Address = 10.20.10.1/24&amp;lt;/code&amp;gt; - this is the address used by the WireGuard interface and should be different from your local network subnet.&lt;br /&gt;
** &amp;lt;code&amp;gt;ListenPort = 33333&amp;lt;/code&amp;gt; - 33333 is the default WireGuard network port but can be changed to anything you like as long as the port is not already in use by something else.&lt;br /&gt;
** &amp;lt;code&amp;gt;PrivateKey = iFFxF+gX39U9O4L4qt2mufTS441YWLu5WVt0mMPpLEA=&amp;lt;/code&amp;gt; - Paste the key your generated and copied earlier.&lt;br /&gt;
** &amp;lt;code&amp;gt;PostUp = iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PostDown = iptables -t nat -D POSTROUTING -o em1 -j MASQUERADE&amp;lt;/code&amp;gt; - the interface needs changing according to the name of the Ethernet card on your computer (&amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt; in this example&amp;lt;/code&amp;gt;, which can be found by typing &amp;lt;code&amp;gt;ip a&amp;lt;/code&amp;gt;. Common names include &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eno1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;em1&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Once done, save the file: {{key press|Ctrl|X}}, {{key press|Y}} then {{key press|Enter}}.&lt;br /&gt;
&lt;br /&gt;
== Start WireGuard ==&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;systemctl start wg-quick@wg0&amp;lt;/code&amp;gt; to start WireGuard.&lt;br /&gt;
** &amp;lt;code&amp;gt;wg0&amp;lt;/code&amp;gt; is the name of the WireGuard interface and configuration file we created. If different, this should be changed to match the same name as the configuration file.&lt;br /&gt;
* Check that WireGuard is running: &amp;lt;code&amp;gt;wg show&amp;lt;/code&amp;gt;. You should see something similar to the following if all is well:&lt;br /&gt;
 interface: wg0&lt;br /&gt;
   public key: 7IXE2Ej++JNHXDeP9mt9/N+OslIBmvOAREzCnT0v6To=&lt;br /&gt;
   private key: (hidden)&lt;br /&gt;
   listening port: 33333&lt;br /&gt;
* The public key should match the one generated earlier and can be viewed by typing &amp;lt;code&amp;gt;cat server-publickey&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you would like WireGuard to start on startup, type the following: &amp;lt;code&amp;gt;systemctl enable wg-quick@wg0&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1024</id>
		<title>OpenSUSE Leap 16.0 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1024"/>
		<updated>2025-10-15T01:54:57Z</updated>

		<summary type="html">&lt;p&gt;Sam: Moved headers up a level to remove h1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;openSUSE Leap is a modern, modular operating system suitable for both traditional IT and multimodal workloads. This document highlights major features, updates, and known limitations.&lt;br /&gt;
&lt;br /&gt;
== About the release notes ==&lt;br /&gt;
&lt;br /&gt;
These Release Notes are identical across all architectures, and the most recent version is always available online at https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
Entries are only listed once but they can be referenced in several places if they are important and belong to more than one section.&lt;br /&gt;
&lt;br /&gt;
Release notes usually only list changes that happened between two subsequent releases. Certain important entries from the release notes of previous product versions are repeated. To make these entries easier to identify, they contain a note to that effect.&lt;br /&gt;
&lt;br /&gt;
However, repeated entries are provided as a courtesy only. Therefore, if you are skipping one or more service packs, check the release notes of the skipped service packs as well. If you are only reading the release notes of the current release, you could miss important changes.&lt;br /&gt;
&lt;br /&gt;
=== Documentation and other information ===&lt;br /&gt;
&lt;br /&gt;
For the most up-to-date version of the documentation for openSUSE Leap, see:&lt;br /&gt;
&lt;br /&gt;
* https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
This section describes community-driven enhancements, features, and updates that extend the SUSE Linux Enterprise core. These changes reflect the openSUSE project’s unique contributions, including desktop improvements, additional packages, and new workflows.&lt;br /&gt;
&lt;br /&gt;
== openSUSE Leap Community Additions ==&lt;br /&gt;
&lt;br /&gt;
=== Lifecycle ===&lt;br /&gt;
&lt;br /&gt;
Each openSUSE Leap minor release is published once every 12 months. openSUSE Leap 16 provides maintenance updates over two minor releases, giving each release a full 24 months of community support.&lt;br /&gt;
&lt;br /&gt;
Unless there is a change in release strategy, the final openSUSE Leap version (16.6) will be released in fall 2031 and will continue receiving updates until the release of openSUSE Leap 17.1 two years later.&lt;br /&gt;
&lt;br /&gt;
For more information, see: [https://en.opensuse.org/Roadmap Roadmap].&lt;br /&gt;
&lt;br /&gt;
For more than 24 months of support for a point release, the openSUSE migration tool makes it simple to move to SUSE Linux Enterprise, which provides decades of support. See [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
=== Migration from Leap 15.6 ===&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] (&amp;lt;code&amp;gt;zypper in opensuse-migration-tool&amp;lt;/code&amp;gt;) is included as part of openSUSE Leap 15.6. Users migrating from older releases can run the tool from [https://github.com/openSUSE/opensuse-migration-tool Git repository].&lt;br /&gt;
&lt;br /&gt;
For more information, refer to: [https://en.opensuse.org/SDB:System_upgrade SDB:System_upgrade].&lt;br /&gt;
&lt;br /&gt;
=== Installer and Desktop Environments ===&lt;br /&gt;
&lt;br /&gt;
* openSUSE Leap 16 installer provides only Wayland variants of desktop environments. Xorg-based environments can be installed manually post-installation.&lt;br /&gt;
&lt;br /&gt;
==== NVIDIA and Graphics Issues with the Installation Image ====&lt;br /&gt;
&lt;br /&gt;
Some users with NVIDIA GPUs may experience graphics-related issues during installation, such as boo#1247670 where X server fails to start. This is due to the fact that openSUSE Leap install image contains &amp;lt;code&amp;gt;kernel-default-optional&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;kernel-default-extra&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you encounter problems specific to the &amp;lt;code&amp;gt;nouveau&amp;lt;/code&amp;gt; driver, try booting with the option: &amp;lt;code&amp;gt;rd.driver.blacklist=nouveau&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For general graphics boot problems, use the option: &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Experimental Xfce Wayland session ====&lt;br /&gt;
&lt;br /&gt;
Experimental Xfce Wayland session is available as an installation option. openSUSE Leap is one of the first distributions to provide Wayland support for [https://en.opensuse.org/Portal:Xfce Xfce]. We use &amp;lt;code&amp;gt;gtkgreet&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;greetd&amp;lt;/code&amp;gt; as a Wayland-ready replacement for LightDM (used in the X11 variant).&lt;br /&gt;
&lt;br /&gt;
==== LXQt Wayland session available post install ====&lt;br /&gt;
&lt;br /&gt;
LXQt Wayland session is included, but will become a full installer option in later releases once LXQt Miriway efforts are further developed: https://code.opensuse.org/leap/features/issue/192.&lt;br /&gt;
&lt;br /&gt;
=== Changes to the openSUSE Welcome ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16 now uses the &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt; to start the appropriate greeter application. This launcher, in combination with &amp;lt;code&amp;gt;gnome-tour&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;plasma-welcome&amp;lt;/code&amp;gt;, replaces the legacy Qt5-based &amp;lt;code&amp;gt;opensuse-welcome&amp;lt;/code&amp;gt;, which was previously the default greeter.&lt;br /&gt;
&lt;br /&gt;
The launcher also allows the openSUSE release team to update or refresh the displayed greeter via a package update, for example after a major GNOME update. To create a custom appliance without a welcome application, or to deploy a system where the greeter should never appear, remove &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Automated NVIDIA Driver and Repository Setup ===&lt;br /&gt;
&lt;br /&gt;
On supported GPUs, NVIDIA’s open driver is installed by default along with the NVIDIA graphics driver repository. In openSUSE Leap 16, user-space drivers are also automatically installed, enabling graphical acceleration out of the box.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== AppArmor ====&lt;br /&gt;
&lt;br /&gt;
AppArmor has been updated from version 3.1 to 4.1.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1 4.0] introduced fine-grained network rules (limitable by IP/port), but kernel support is not upstream yet.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.1.0 4.1] introduced the &amp;lt;code&amp;gt;priority=&amp;lt;number&amp;gt;&amp;lt;/code&amp;gt; rule prefix, which allows overriding rules.&lt;br /&gt;
&lt;br /&gt;
==== AppArmor not available by default on new installations ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer available in SUSE Linux Enterprise 16.0. Leap users cannot select AppArmor as the Linux Security Module (LSM) during a new installation. AppArmor can still be enabled post-installation. For instructions, refer to AppArmor wiki page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Users migrating manually from 15.6 will retain AppArmor by default. Users migrating with [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] will be prompted to either switch to SELinux or preserve AppArmor during post-migration.&lt;br /&gt;
&lt;br /&gt;
=== Steam ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Steam&amp;lt;/code&amp;gt; package has been removed from the [https://en.opensuse.org/Package_repositories#Non-OSS Non-OSS repository] due to limited 32-bit library support. Users are advised to install it via [https://en.opensuse.org/Steam#Flatpak Flatpak].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 32-bit execution requires installing &amp;lt;code&amp;gt;grub2-compat-ia32&amp;lt;/code&amp;gt; and rebooting.&lt;br /&gt;
* SELinux users may also need &amp;lt;code&amp;gt;selinux-policy-targeted-gaming&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/Portal:SELinux/Common_issues#Steam_Proton,_Bottles,_WINE,_Lutris,_not_working SELinux wiki page].&lt;br /&gt;
&lt;br /&gt;
=== Wine ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap includes wine 10.10, available only in the [https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine#shared-wow64 wow64] flavor. Users requiring 32-bit binary execution should consider using the Flatpak version or a similar solution.&lt;br /&gt;
&lt;br /&gt;
=== Networking ===&lt;br /&gt;
&lt;br /&gt;
==== Broken libvirt networking when using Docker ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If networking inside libvirt-managed virtual machines fails while Docker is running, it is likely due to Docker not supporting &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To fix the issue:&lt;br /&gt;
* Edit &amp;lt;code&amp;gt;/etc/libvirt/network.conf&amp;lt;/code&amp;gt; and set:&lt;br /&gt;
 firewall_backend = &amp;quot;iptables&amp;quot;&lt;br /&gt;
* Add the virtual network interface to the libvirt firewall zone:&lt;br /&gt;
 firewall-cmd --add-interface=virbr0 --zone=libvirt --permanent&lt;br /&gt;
 firewall-cmd --reload&lt;br /&gt;
* Restart libvirt and related services:&lt;br /&gt;
 systemctl restart libvirtd&lt;br /&gt;
This restores networking for libvirt VMs while Docker is active.&lt;br /&gt;
&lt;br /&gt;
=== GNU Health ===&lt;br /&gt;
&lt;br /&gt;
[https://www.gnuhealth.org/ GNU Health] has been updated to major release 5.0.2. The underlying ERP framework, Tryton, has been updated to LTS version 7.0. Functional improvements include enhanced medical image workflows and better integration with Orthanc 1.12.9 (PACS server).&lt;br /&gt;
&lt;br /&gt;
=== PipeWire replaces PulseAudio ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses PipeWire by default. Users upgrading from previous releases should be automatically migrated from PulseAudio. &amp;lt;code&amp;gt;opensuse-migration-tool&amp;lt;/code&amp;gt; provides a post-migration script if migration does not occur automatically.&lt;br /&gt;
&lt;br /&gt;
If experiencing audio issues, ensure you are not using the &amp;lt;code&amp;gt;wireplumber-video-only-profile&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/openSUSE:Pipewire#Installation PipeWire#Installation] for details.&lt;br /&gt;
&lt;br /&gt;
=== Hexchat drop ===&lt;br /&gt;
&lt;br /&gt;
Hexchat IRC client has been dropped as the [https://github.com/hexchat/hexchat upstream project] is archived. Alternatives include [https://software.opensuse.org/package/polari Polari] or the Flatpak version: [https://flathub.org/en/apps/io.github.Hexchat Flatpak].&lt;br /&gt;
&lt;br /&gt;
=== Configuring boot entry with serial console ===&lt;br /&gt;
&lt;br /&gt;
See https://en.opensuse.org/SDB:SerialConsole for guidance.&lt;br /&gt;
&lt;br /&gt;
This section describes the enterprise-grade foundation of openSUSE Leap, based on SUSE Linux Enterprise. Content here is adapted from the SUSE Linux Enterprise release notes to reflect core functionality, security updates, and enterprise features that openSUSE Leap inherits.&lt;br /&gt;
&lt;br /&gt;
== SUSE Linux Enterprise Core ==&lt;br /&gt;
&lt;br /&gt;
=== What&#039;s new? ===&lt;br /&gt;
&lt;br /&gt;
==== Package and module changes in 16.0 ====&lt;br /&gt;
&lt;br /&gt;
The full list of changed packages compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/package-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
The full list of changed modules compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/module-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
=== Support and lifecycle ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap is backed by award-winning support from SUSE, an established technology leader with a proven history of delivering enterprise-quality support services.&lt;br /&gt;
&lt;br /&gt;
The current version (16.0) will be fully maintained and supported until 31 Jul 2034.&lt;br /&gt;
&lt;br /&gt;
If you need additional time to design, validate and test your upgrade plans, Long Term Service Pack Support can extend the support duration. You can buy an additional 12 to 36 months in twelve month increments. This means that you can receive support up to Dec 2037.&lt;br /&gt;
&lt;br /&gt;
For more information, see the pages [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
=== Support statement for openSUSE Leap ===&lt;br /&gt;
&lt;br /&gt;
To receive support, you need an appropriate subscription with SUSE. For more information, see https://forums.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
The following definitions apply:&lt;br /&gt;
&lt;br /&gt;
;L1&lt;br /&gt;
:Problem determination, which means technical support designed to provide compatibility information, usage support, ongoing maintenance, information gathering, and basic troubleshooting using the documentation.&lt;br /&gt;
;L2&lt;br /&gt;
:Problem isolation, which means technical support designed to analyze data, reproduce customer problems, isolate the problem area, and provide a resolution for problems not resolved by Level 1 or prepare for Level 3.&lt;br /&gt;
;L3&lt;br /&gt;
:Problem resolution, which means technical support designed to resolve problems by engaging engineering to resolve product defects which have been identified by Level 2 Support.&lt;br /&gt;
&lt;br /&gt;
For contracted customers and partners, openSUSE Leap is delivered with L3 support for all packages, except for the following:&lt;br /&gt;
* Technology Previews, see Section  &amp;quot;[[#Technology previews|Technology previews]]&amp;quot;&lt;br /&gt;
* Sound, graphics, fonts and artwork&lt;br /&gt;
* Packages that require an additional customer contract, see Section &amp;quot;[[#Software requiring specific contracts|Software requiring specific contracts]]&amp;quot;&lt;br /&gt;
* Some packages shipped as part of the module &#039;&#039;Workstation Extension&#039;&#039; are L2-supported only&lt;br /&gt;
* Packages with names ending in &amp;lt;code&amp;gt;-devel&amp;lt;/code&amp;gt; (containing header files and similar developer resources) will only be supported together with their main packages.&lt;br /&gt;
&lt;br /&gt;
SUSE will only support the usage of original packages. That is, packages that are unchanged and not recompiled.&lt;br /&gt;
&lt;br /&gt;
==== General support ====&lt;br /&gt;
&lt;br /&gt;
To learn about supported features and limitations, refer to the following sections in this document:&lt;br /&gt;
* Section &amp;quot;[[#Virtualization|Virtualization]]&amp;quot;&lt;br /&gt;
* Section &amp;quot;[[#Removed and deprecated features and packages|Removed and deprecated features and packages]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Software requiring specific contracts ====&lt;br /&gt;
&lt;br /&gt;
Certain software delivered as part of openSUSE Leap may require an external contract. Check the support status of individual packages using the RPM metadata that can be viewed with &amp;lt;code&amp;gt;rpm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;YaST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Major packages and groups of packages affected by this are:&lt;br /&gt;
* PostgreSQL (all versions, including all subpackages)&lt;br /&gt;
&lt;br /&gt;
==== Software under GNU AGPL ====&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped &#039;&#039;only&#039;&#039; under a GNU AGPL software license:&lt;br /&gt;
* Ghostscript (including subpackages)&lt;br /&gt;
* &amp;lt;code&amp;gt;velociraptor&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;velociraptor-client&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zypp-boot-plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped under multiple licenses that include a GNU AGPL software license:&lt;br /&gt;
* MySpell dictionaries and LightProof&lt;br /&gt;
* ArgyllCMS&lt;br /&gt;
&lt;br /&gt;
=== Technology previews ===&lt;br /&gt;
&lt;br /&gt;
Technology previews are packages, stacks, or features delivered by SUSE to provide glimpses into upcoming innovations. Technology previews are included for your convenience to give you a chance to test new technologies within your environment. We would appreciate your feedback! If you test a technology preview, contact your SUSE representative and let them know about your experience and use cases. Your input is helpful for future development.&lt;br /&gt;
&lt;br /&gt;
Technology previews come with the following limitations:&lt;br /&gt;
* Technology previews are still in development. Therefore, they may be functionally incomplete, unstable, or in other ways not suitable for production use.&lt;br /&gt;
* Technology previews are not supported.&lt;br /&gt;
* Technology previews may only be available for specific hardware architectures. Details and functionality of technology previews are subject to change. As a result, upgrading to subsequent releases of a technology preview may be impossible and require a fresh installation.&lt;br /&gt;
* Technology previews can be removed from a product at any time. This may be the case, for example, if SUSE discovers that a preview does not meet the customer or market needs, or does not comply with enterprise standards.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
As technology preview, &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is available in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is intentionally built without Btrfs support. Btrfs filesystems can be multi-device (for example, RAID1) but &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; currently only supports a single device per mount.&lt;br /&gt;
&lt;br /&gt;
=== Changes affecting all architectures ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rasdaemon&amp;lt;/code&amp;gt; has been updated to version 8.3.0. This version supports machine checks related to CXL memory.&lt;br /&gt;
* We now provide Grafana Alloy which can integrate with SUSE Observability as well.&lt;br /&gt;
* &amp;lt;code&amp;gt;NetworkManager&amp;lt;/code&amp;gt; is now the only network configuration stack in openSUSE Leap 16.0.&lt;br /&gt;
* We now provide a unified image that can be used to install either SLES or SLES for SAP&lt;br /&gt;
&lt;br /&gt;
==== Userspace live patching ====&lt;br /&gt;
&lt;br /&gt;
Currently, &amp;lt;code&amp;gt;libpulp&amp;lt;/code&amp;gt; supports ULP (user space live patching) of &amp;lt;code&amp;gt;glibc&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt; binaries on the following architectures:&lt;br /&gt;
* x86-64&lt;br /&gt;
* ppc64le&lt;br /&gt;
&lt;br /&gt;
For more information see https://documentation.suse.com/sles/15-SP7/html/SLES-all/cha-ulp.html&lt;br /&gt;
&lt;br /&gt;
==== Switch to &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API in &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; mount command has switched from the old string-based method to the new kernel &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API. This change introduces new features but also comes with some minor incompatibilities.&lt;br /&gt;
&lt;br /&gt;
There is a special case that cannot be handled by &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; and needs to be handled by applications:&lt;br /&gt;
* &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; discriminates between the physical mount layer and the virtual mount layer&lt;br /&gt;
* once the physical mount layer is read-only, read-write mount on the virtual layer is not possible&lt;br /&gt;
&lt;br /&gt;
If the first mount is read-only, then the physical filesystem is mounted read-only, and later mounting of the same file system as read-write is not possible. To solve this problem, the first mount needs to be read-only on the virtual layer only, keeping the physical layer read-write. The userspace fix is simple. Instead of:&lt;br /&gt;
 mount -oro&lt;br /&gt;
use&lt;br /&gt;
 mount -oro=vfs&lt;br /&gt;
&lt;br /&gt;
This will keep the physical layer read-write, but the virtual file system layer (and the userspace access) read-only.&lt;br /&gt;
&lt;br /&gt;
==== Switch to predictable network names ====&lt;br /&gt;
&lt;br /&gt;
The persistent network naming scheme used in Leap 15 became legacy with the switch to the systemd predictable network names. For complicated setups, we recommend using &amp;lt;code&amp;gt;systemd.link&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see:&lt;br /&gt;
* https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the future, when upgrading from SL Micro to Leap 16.1 (so-called &amp;quot;SLE merge&amp;quot;), some systems will have &amp;lt;code&amp;gt;net.ifnames=0&amp;lt;/code&amp;gt; set on their kernel command line (this is the case for new installations of SL Micro 6.0 and 6.1). This boot option will prevent the system from switching to the predictable naming scheme and it will need to be removed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== systemd default configurations moved to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Main configuration files have been moved from &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;. This ensures that main configuration files have lower precedence, allowing them to be overriden by package-supplied drop-in snippets.&lt;br /&gt;
&lt;br /&gt;
Local configuration should be created by either modifying the default file in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; (or a copy of it placed in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; if the original file is shipped in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;), or by creating drop-in snippets in the appropriate directory in (for example, &amp;lt;code&amp;gt;/etc/systemd/coredump.conf.d/&amp;lt;/code&amp;gt;) - this is recommended.&lt;br /&gt;
&lt;br /&gt;
Remove configurations in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to restore defaults.&lt;br /&gt;
&lt;br /&gt;
==== Password access as root via SSH disabled ====&lt;br /&gt;
&lt;br /&gt;
Previously, it was possible to SSH as root using password-based authentication. In Leap 16.0 only key-based authentication is allowed by default. Systems upgraded to 16.0 from a previous version will carry over the old behavior. New installations will enforce the new behavior.&lt;br /&gt;
&lt;br /&gt;
Installing the package &amp;lt;code&amp;gt;openssh-server-config-rootlogin&amp;lt;/code&amp;gt; restores the old behavior and allows password-based login for the root user.&lt;br /&gt;
&lt;br /&gt;
==== Minimum hardware requirements ====&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires hardware to meet requirements on these architectures:&lt;br /&gt;
* For AMD64 and Intel* 64 systems: Microarchitecture level x86-64-v2 or higher.&lt;br /&gt;
* For IBM* Power LE systems: POWER10 or higher (see note below).&lt;br /&gt;
* For Arm64* systems: Armv8.0-A or higher.&lt;br /&gt;
* For IBM* Z systems: z14 or higher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
POWER9 systems may work with Leap 16.0 but are not supported by IBM, the hardware vendor.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== SHA1 to be disabled or mark unapproved ====&lt;br /&gt;
&lt;br /&gt;
Due to FIPS 140-3 certification requirements, the SHA1 cryptographic algorithm will be disabled or marked unapproved when running in FIPS mode.&lt;br /&gt;
&lt;br /&gt;
==== Added &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; package contains a daemon that tunes system settings dynamically.&lt;br /&gt;
&lt;br /&gt;
==== Lightweight guard region support ====&lt;br /&gt;
&lt;br /&gt;
This is a new feature in &amp;lt;code&amp;gt;madvise()&amp;lt;/code&amp;gt; that installs a lightweight guard region into a specified address range.&lt;br /&gt;
&lt;br /&gt;
See [https://manpages.opensuse.org/Leap-16.0/man-pages/madvise.2.en.html#MADV_GUARD_INSTALL madvise() man page] for more information.&lt;br /&gt;
&lt;br /&gt;
==== Harmless error messages sometimes displayed when launching some applications ====&lt;br /&gt;
&lt;br /&gt;
The following messages are sometimes displayed when launching specific applications:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;gnome-desktop&amp;lt;/code&amp;gt; some times failes to create transient scope:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; gnome-session-binary: GnomeDesktop-WARNING: Could not create transient scope for PID 7883: GDBus.Error:org.freedesktop.DBus.Error.UnixProcessIdUnknown: Process with ID 7883 does not exist.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; sometimes fails to assign cgroup:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Couldn&#039;t move process 6708 to requested cgroup &#039;/user.slice/user-0.slice/user@0.service/app.slice/app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope&#039;: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed to add PIDs to scope&#039;s control group: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed with result &#039;resources&#039;.&lt;br /&gt;
&amp;gt; systemd: Failed to start Application launched by gnome-session-binary.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These messages are harmless and can be ignored.&lt;br /&gt;
&lt;br /&gt;
==== NFS over TLS support ====&lt;br /&gt;
&lt;br /&gt;
NFS over TLS is now supported for storage traffic.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; is replaced with &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; will also be enabled with a base tuning, similar to &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;. Base tuning only will be enabled if &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; was not configured before (no SAP Notes or Solutions selected).&lt;br /&gt;
&lt;br /&gt;
==== Azure Entra ID authentication via &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; package has been added. It provides interoperability with Microsoft Azure Entra ID and Intune. It supports Linux authentication to Microsoft Azure Entra ID via PAM and NSS modules.&lt;br /&gt;
&lt;br /&gt;
For more information see https://github.com/himmelblau-idm/himmelblau.&lt;br /&gt;
&lt;br /&gt;
==== Legacy BIOS support ====&lt;br /&gt;
&lt;br /&gt;
Legacy BIOS is still supported in openSUSE Leap 16.0. However, some features are not available when using it (for example, full-disk encryption with TPM). Finally, support for legacy BIOS will be discontinued in the future. For that reason we recommend switching to UEFI at the nearest opportunity.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; not persistent ====&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0, &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; is no longer persistent between reboots but uses &amp;lt;code&amp;gt;tmpfs&amp;lt;/code&amp;gt; instead. See https://susedoc.github.io/doc-modular/main/html/SLE-comparison/index.html#sle16-tmp for more information.&lt;br /&gt;
&lt;br /&gt;
==== Python update strategy ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; is currently set to use Python 3.13. In a future minor version update this is likely going to be changed to a newer Python version.&lt;br /&gt;
* openSUSE Leap 16.0 contains around 700 popular Python packages, which form a basic set of functionality for packages that depends on Python and for developing apps without needing to install Python modules from an external provider.&lt;br /&gt;
* We have been working on removing the dependencies of packages and tools on the &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; binary, which means that openSUSE Leap could use a newer version of the Python interpreter in the future. This new Python interpreter will coexist with the previous version that will then be maintained as legacy interpreter for a limited time.&lt;br /&gt;
&lt;br /&gt;
==== Removal of 32-bit support ====&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 only supports 64-bit binaries. Support for 32-bit binaries (or 31-bit binaries on IBM Z) has been removed.&lt;br /&gt;
&lt;br /&gt;
This means that statically-linked 32-bit binaries (or 31-bit binaries on IBM Z) and container images cannot be run anymore. 32-bit syscalls are still enabled by default on arm64, and can be enabled on x86_64 via the kernel parameter &amp;lt;code&amp;gt;ia32_emulation&amp;lt;/code&amp;gt;. On other architectures it’s disabled without any option to enable it.&lt;br /&gt;
&lt;br /&gt;
==== Compiling kernel uses non-default compiler ====&lt;br /&gt;
&lt;br /&gt;
Customers who need to build kernel modules or rebuild the kernel must use the same compiler version the kernel was built with. The kernel is built with &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13, which is not the default compiler. Install the &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13 compiler using the gcc13 package and invoke it with the command &amp;lt;code&amp;gt;gcc-13&amp;lt;/code&amp;gt;. This specific compiler version is only supported for building kernel modules and the kernel.&lt;br /&gt;
&lt;br /&gt;
==== Optimized libraries for newer hardware architectures ====&lt;br /&gt;
&lt;br /&gt;
We have added support for the glibc-HWCAPS feature which loads optimized versions of libraries for specific newer CPUs automatically.&lt;br /&gt;
&lt;br /&gt;
The build infrastructure for this feature is enabled for the following libraries:&lt;br /&gt;
* &amp;lt;code&amp;gt;blosc2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;boost&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;brotli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bzip2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;flac&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;jsoncpp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lame&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;leveldb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libdb-4_8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libgcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libiscsi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjpeg-turbo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjxl&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libmng&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libnettle&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libpng16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libvorbis&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libxmlb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lz4&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lzo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openjpeg2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openssl-3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python311&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python313&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sqlite3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;talloc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tree-sitter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xxhash&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zopfli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== No remote root login with password ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you install the system using only a &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; password and do not provide an SSH key for the root user, &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; will not be enabled automatically after installation. You will not be able to log in remotely as root using the password.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, remote password-based &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login is disabled. The installer enables the &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; service only when an SSH key for root is configured during setup. To allow remote &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login, configure an SSH key for root during installation.&lt;br /&gt;
&lt;br /&gt;
==== Default user group assignment changed ====&lt;br /&gt;
&lt;br /&gt;
Previously, all user accounts belonged to a single &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group.&lt;br /&gt;
&lt;br /&gt;
Now instead of being added to the common &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group, each new user now gets their own primary group matching their username. This is due to &amp;lt;code&amp;gt;USERGROUPS_ENAB&amp;lt;/code&amp;gt; being enabled in &amp;lt;code&amp;gt;/usr/etc/login.defs&amp;lt;/code&amp;gt;. This change affects all new installations and upgraded systems that did not change the default &amp;lt;code&amp;gt;/etc/login.defs&amp;lt;/code&amp;gt;. This has several consequences:&lt;br /&gt;
* files created by new users are not group-readable by default&lt;br /&gt;
* configurations that used the primary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition do not work anymore&lt;br /&gt;
* configurations that used the primary or secondary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition need to have the &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group manually added to these user accounts in order to continue to work, for example, to for &amp;lt;code&amp;gt;@users&amp;lt;/code&amp;gt; in the sudoers file&lt;br /&gt;
* home directories inherited from a previous system need to standardize the GID of the files by running: &lt;br /&gt;
:&amp;lt;code&amp;gt;find &amp;quot;$HOME&amp;quot; -group users -exec chgrp myuser {} \;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;chgrp -R myuser &amp;quot;$HOME&amp;quot;&amp;lt;/code&amp;gt; if you did not use any GID other than &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SysV init.d scripts support ====&lt;br /&gt;
&lt;br /&gt;
SysV init.d scripts have been [https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15-SP2/index.html#jsc-SLE-7690 deprecated since Leap 15 SP2].&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, support of SysV init.d scripts has been removed.&lt;br /&gt;
&lt;br /&gt;
=== Changes affecting all architectures (RC1) ===&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to RC1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; removal ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; file is just a dummy file that will be removed in the future. Software that appends to it without creating it should have its behavior changed.&lt;br /&gt;
&lt;br /&gt;
=== Changes affecting all architectures (Beta4) ===&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta4. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
==== Configuring network interfaces during installation ====&lt;br /&gt;
&lt;br /&gt;
Currently, the installer does not allow for setting up network interfaces using the UI. However, in the meantime you can use dracut-like command-line options, for example:&lt;br /&gt;
&lt;br /&gt;
 ifname=&amp;lt;interface&amp;gt;:&amp;lt;MAC&amp;gt;&lt;br /&gt;
 ip=&amp;lt;interface&amp;gt;:dhcp&lt;br /&gt;
&lt;br /&gt;
Additionally, the &amp;lt;code&amp;gt;inst.copy_network&amp;lt;/code&amp;gt; is not available in Beta4.&lt;br /&gt;
&lt;br /&gt;
==== SAP workloads on Leap 16.0 ====&lt;br /&gt;
&lt;br /&gt;
For running SAP workloads on openSUSE Leap 16.0, do the following:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Unpack the SAP installer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to change policies:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;semanage boolean -m --on selinuxuser_execmod&lt;br /&gt;
semanage boolean -m --on unconfined_service_transition_to_unconfined_user&lt;br /&gt;
semanage permissive -a snapper_grub_plugin_t&lt;br /&gt;
restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to lable all files:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d ./snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d ./snapshots || restorecon R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install SAP workload or SAP HANA&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Label all files again:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d /.snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d /.snapshots || restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FIPS 140-3 not working properly ====&lt;br /&gt;
&lt;br /&gt;
FIPS 140-3 installation has not been fully validated and may cause unexpected software failure or crashes. Therefore, we discourage you from using it on Beta4.&lt;br /&gt;
&lt;br /&gt;
=== Changes affecting all architectures (Beta3) ===&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta3. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
==== Kernel crash in QEMU ====&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires a CPU that supports a so-called &amp;quot;x86-64-v2&amp;quot; microarchitecture. Due to this, running a Leap image using QEMU currently results in a kernel crash.&lt;br /&gt;
&lt;br /&gt;
As a workaround you can run QEMU with the &amp;lt;code&amp;gt;-cpu host&amp;lt;/code&amp;gt; argument.&lt;br /&gt;
&lt;br /&gt;
==== Missing &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library has been deprecated in SLES 15 and finally removed in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
As a workaround for applications that cannot be installed without it (but presumaly do not use it for anything), we provide the &amp;lt;code&amp;gt;libnsl-stub1&amp;lt;/code&amp;gt; package that includes ABI-compatible but otherwise function-less stub of the library file.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; not usable with many interfaces ====&lt;br /&gt;
&lt;br /&gt;
Due to an upstream bug, &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; might take a long time or time out when adding many interfaces. The error occurs when &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; is restarted after applying such a configuration. The following message appears in the system logs:&lt;br /&gt;
 ERROR:dbus.proxies:Introspect error on :1.18:/org/fedoraproject/FirewallD1: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply.&lt;br /&gt;
 Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.&lt;br /&gt;
&lt;br /&gt;
See https://github.com/firewalld/firewalld/issues/1399 for more information.&lt;br /&gt;
&lt;br /&gt;
=== Changes affecting all architectures (Beta2) ===&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta2. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
==== Switch from YaST to Cockpit ====&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 has switched from YaST to Cockpit for manual system administration. We have enhanced Cockpit with new modules with the intention to upstream them later. Despite being functional, bugs might appear and features might be missing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;: register, de-register and view SUSE Linux Enterprise registrations. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-repositories&amp;lt;/code&amp;gt;: add, remove, view repositories, change settings and refresh them. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;: show installed packages, search available repositories, install and uninstall packages. Requires administrative access. Be aware that there are no safety measures implemented as far as system usability goes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enhanced modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;: update packages from available repositories. The module now allows to individually select packages to update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upstream modules&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-kdump&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-machines&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-podman&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;: these modules are updated to the recent stable base version 332 (or their respective).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default selection&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installation of the pattern &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt; will pull in the following modules: &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-repos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;dovecot 2.4&amp;lt;/code&amp;gt; configuration upgrade ====&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 &amp;lt;code&amp;gt;dovecot&amp;lt;/code&amp;gt; has been upgraded to version 2.4. The configuration of this version is incompatible with the previous versions.&lt;br /&gt;
&lt;br /&gt;
Configuration has to be updated manually. For more information see https://doc.dovecot.org/2.4.0/installation/upgrade/2.3-to-2.4.html.&lt;br /&gt;
&lt;br /&gt;
=== Changes affecting all architectures (Beta1) ===&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
==== Disk configuration UI during installation ====&lt;br /&gt;
&lt;br /&gt;
Currently, choosing disk configurations other than &amp;quot;An existing disk&amp;quot; (installation to a single disk) suffer from poor usability. This is expected to change in a future update.&lt;br /&gt;
&lt;br /&gt;
==== Non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; after installation ====&lt;br /&gt;
&lt;br /&gt;
There is currently a known issue that adds a non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; repository which prevents &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; from working correctly.&lt;br /&gt;
&lt;br /&gt;
To fix this issue, remove the repository in question and add the installation medium repository manually:&lt;br /&gt;
# Remove repository with &amp;lt;code&amp;gt;zypper rr&amp;lt;/code&amp;gt;. To remove the first repository, for example, run: &amp;lt;code&amp;gt;zypper rr 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Add the installation medium as repository by running &lt;br /&gt;
#:&amp;lt;pre&amp;gt;zypper ar hd:/install?device=/dev/disk/by-label/agama-installer medium&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:(the &amp;lt;code&amp;gt;medium&amp;lt;/code&amp;gt; at the end is a name you want to give the repository).&lt;br /&gt;
# Run &amp;lt;code&amp;gt;zypper refresh&amp;lt;/code&amp;gt; to refresh the added repository.&lt;br /&gt;
&lt;br /&gt;
==== systemd uses cgroup v2 by default ====&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses cgroup v2 by default and v1 is unsupported. If you need to use cgroup v1, SLES 15 SP6 can be switched to hybrid mode using a boot parameter.&lt;br /&gt;
&lt;br /&gt;
=== x86-64-specific changes ===&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to the x86-64 architecture.&lt;br /&gt;
&lt;br /&gt;
==== AMD EPYC Turin automonous frequency scaling ====&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, the default Linux CPU frequency scaling driver for AMD EPYC Turin (and later processors) has shifted to the AMD P-State driver to enable autonomous frequency scaling.&lt;br /&gt;
&lt;br /&gt;
With the AMD P-State driver, it enables the use of the Energy Performance Preference (EPP) for more granular control over performance versus power efficiency to adjust the CPU frequencies based on workload and hardware feedback dynamically.&lt;br /&gt;
&lt;br /&gt;
=== IBM Z-specific changes (s390x) ===&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for IBM Z 16.0. For more information, see https://www.ibm.com/docs/en/linux-on-systems?topic=distributions-suse-linux-enterprise-server&lt;br /&gt;
&lt;br /&gt;
==== Hardware ====&lt;br /&gt;
&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; providing machine name, kconfig options, new instructions, etc.&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;gdb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;valgrind&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;binutils&amp;lt;/code&amp;gt;&lt;br /&gt;
* Support has been added for IBM z16 - reset DAT-Protection facility support&lt;br /&gt;
* Identify ConnectX devices through port rather than PCHID&lt;br /&gt;
* Processor Activity Instrumentation / Neural Network Processing Assist counters for new IBM Z hardware was added into kernel&lt;br /&gt;
* kprobes are now supported without &amp;lt;code&amp;gt;stop machine&amp;lt;/code&amp;gt;&lt;br /&gt;
* Promiscuous Mode Exploitation for NETH Virtual Functions for IBM z17 and LinuxONE 5&lt;br /&gt;
* Vertical CPU Polarization support for IBM z17 and LinuxONE 5&lt;br /&gt;
* qclib has been updated to support IBM z17&lt;br /&gt;
* The Integrated Accelerator for AI has new operations, which are now supported by libzdnn low-level driver library&lt;br /&gt;
* Enhanced RAS and Call Home for zPCI&lt;br /&gt;
* The kernel image can move into vmalloc space, where random physical pages are used to map virtual pages (V!=R)&lt;br /&gt;
* Add new CPU-MF Counters for new IBM Z Hardware (libpfm)&lt;br /&gt;
* Deactivate CONFIG_QETH_OSX kernel config option&lt;br /&gt;
* Upgrade Mellanox (mlx5) driver to latest version&lt;br /&gt;
&lt;br /&gt;
==== Performance ====&lt;br /&gt;
&lt;br /&gt;
* LPAR level power consumption reporting is now available in kernel and s390-tools.&lt;br /&gt;
&lt;br /&gt;
==== Security ====&lt;br /&gt;
&lt;br /&gt;
===== In-kernel crypto support =====&lt;br /&gt;
&lt;br /&gt;
With this service pack are additionally supported:&lt;br /&gt;
* MSA 10 XTS instructions for in-kernel crypto&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 12 (SHA3) has been added and introduces new options to call CPACF SHA 3 functions&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 10 XTS crypto PAES support for in-kernel crypto&lt;br /&gt;
&lt;br /&gt;
===== OpenSSL features =====&lt;br /&gt;
&lt;br /&gt;
This release brings these features and improvements:&lt;br /&gt;
* XTS instructions support in libcrypto/openSSL&lt;br /&gt;
* New MSA 11 HMAC instruction support in libcrypto/openSSL&lt;br /&gt;
* Added support for MSA 12 (SHA3), which also introduces new options to call CPACF SHA3 and SHKE functions&lt;br /&gt;
* Extended support of the openssl-pkcs11 provider such that it can be used by programs that issue forks&lt;br /&gt;
* Replace openssl-ibmpkcs11 with openssl-pkcs11&lt;br /&gt;
* Upgrade openssl-ibmca to the latest version&lt;br /&gt;
&lt;br /&gt;
===== openCryptoki =====&lt;br /&gt;
&lt;br /&gt;
* The new version of &amp;lt;code&amp;gt;libica&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libzpc&amp;lt;/code&amp;gt; is included.&lt;br /&gt;
* The openCryptoki CCA Token is now available on x86_64 and ppc64le architectures.&lt;br /&gt;
&lt;br /&gt;
===== p11-kit =====&lt;br /&gt;
&lt;br /&gt;
* Add support for IBM specific attributes and mechanisms to the PKCS11 client-server implementation of p11-kit.&lt;br /&gt;
&lt;br /&gt;
===== pkey =====&lt;br /&gt;
&lt;br /&gt;
* The kernel pkey module can now generate keys AES-XTS keys (MSA 10) and HMAC key (MSA 11) from clear keys.&lt;br /&gt;
* The module can also generate keys represented by identifiers of secure execution retrievable keys.&lt;br /&gt;
* The pkey also supports EP11 API ordinal 6 for secure guests.&lt;br /&gt;
&lt;br /&gt;
===== zcrypt =====&lt;br /&gt;
&lt;br /&gt;
* The zcrypt extends error recovery to deal with device scans of unavailable devices.&lt;br /&gt;
&lt;br /&gt;
==== Virtualization ====&lt;br /&gt;
&lt;br /&gt;
* KVM guests can exploit z17 &amp;amp; LinuxONE 5 CPU features&lt;br /&gt;
* KVM can display available host key hashes for Secure Execution (Query Host-key hash UVC)&lt;br /&gt;
* KVM can benefit from genprotimg rewritten in Rust to re-use existing rust libraries (s390-tools feature)&lt;br /&gt;
* KVM benefits from genprotimg validation of SE image running on particular host(s) (s390-tools feature)&lt;br /&gt;
* KVM benefits from using pvimg info command to display encrypted &amp;amp; unencrypted SE image information (s390-tools)&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM passthrough is available for guests i.e. retrievable secrets in Secure Execution guests&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM implements counters for nested guest shadow events&lt;br /&gt;
* KVM implements virsh hypervisor-cpu-models (libvirt)&lt;br /&gt;
* KVM provides enhanced and dynamic CPU topology for KVM guests (qemu)&lt;br /&gt;
* KVM and libvirt full boot order enables users to attempt booting from multiple targets&lt;br /&gt;
* KVM provides Atomic Memop for Key-Checked Compare-and-swap&lt;br /&gt;
* KVM enhances CCW address translation architectural compliance&lt;br /&gt;
* KVM improves memory reclaiming for z15 Secure Execution guests and above (libvirt)&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; was replaced by &amp;lt;code&amp;gt;blog&amp;lt;/code&amp;gt; on s390x, as &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; couldn&#039;t work without graphical display.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Eigen&amp;lt;/code&amp;gt; library is the backend used by &amp;lt;code&amp;gt;Tensorflow&amp;lt;/code&amp;gt; for computations executed on the CPU. Several GCC adjustments have been implemented to speed up Eigen with IBM z14 support and above.&lt;br /&gt;
* Allow &amp;lt;code&amp;gt;httpd&amp;lt;/code&amp;gt; customers to protect their web server identity using HSMs (via CryptoExpress adapters).&lt;br /&gt;
&lt;br /&gt;
===== Enhancements in &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The latest s390-tool update brings these noticeable changes:&lt;br /&gt;
* Additional channel measurements - kernel &amp;amp; &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* A new tool cpacinfo shall provide information on CPACF including the supported MSA levels, instructions, subfunctions per instruction. https://www.ibm.com/docs/en/linux-on-systems?topic=hw-cpacf&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO =====&lt;br /&gt;
&lt;br /&gt;
Previously, &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; would point to a directory of unpacked files.&lt;br /&gt;
&lt;br /&gt;
Now it needs to point to a loop-mounted ISO via FTP. For example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/agama-online.iso&lt;br /&gt;
 agama.install_url=ftp://$SERVER_URL/install/agama&lt;br /&gt;
&lt;br /&gt;
For more information see https://agama-project.github.io/docs/user/boot_options.&lt;br /&gt;
&lt;br /&gt;
===== Disk selection UI problems during installation =====&lt;br /&gt;
&lt;br /&gt;
If you want to enable a disk, click on &#039;&#039;Storage&#039;&#039; in the left panel, then &#039;&#039;Install new system on&#039;&#039; and choose &amp;quot;storage techs&amp;quot;. Then you can choose a type of disk. This can be avoided if you have defined your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; as described in Section &amp;quot;[[#parmfile now points to ISO|&amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you choose DASD, you should see disks based on your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cio_ignore&amp;lt;/code&amp;gt; configuration. Then choose a disk and activate it by clicking &#039;&#039;Perform an action&#039;&#039; and then &#039;&#039;Activate&#039;&#039;. This can take a moment. If it is not visible, then you need to click on Storage or refresh the page.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;zFCP&#039;&#039; section, after activating a disk a gray line will appear. This is just a visual bug, the disk will activate correctly.&lt;br /&gt;
&lt;br /&gt;
===== Installation failure on zVM =====&lt;br /&gt;
&lt;br /&gt;
Due to a change from &amp;lt;code&amp;gt;linuxrc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;dracut&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to define not only installation source but also a network and disks.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to be filled with a &amp;lt;code&amp;gt;dracut-like&amp;lt;/code&amp;gt; options, for example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/online.iso&lt;br /&gt;
 ip=$IP_address::$IP_gateway:24:SLE16-Beta4:$NETWORK_DEVICE:none&lt;br /&gt;
 rd.zdev=qeth,0.0.0800:0.0.0801:0.0.0802,layer2=1,portno=0&lt;br /&gt;
 cio_ignore=all,!condev,!0.0.0160 nameserver=$NAMEserverIP&lt;br /&gt;
 live.password=linux rd.zdev=dasd,0.0.0160&lt;br /&gt;
&lt;br /&gt;
=== POWER-specific changes (ppc64le) ===&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for POWER 16.0.&lt;br /&gt;
&lt;br /&gt;
==== KVM guests in LPAR ====&lt;br /&gt;
&lt;br /&gt;
The ability to run KVM Guests in an LPAR is a new feature in PowerVM Firmware 1060.10 release and supported in openSUSE Leap 16.0. This enables users to run KVM guests in a PowerVM LPAR bringing industry standard Linux KVM virtualization stack to IBM PowerVM, which easily integrates with existing Linux virtualization ecosystem. This enables a lot of interesting usecases which were earlier difficult to realize in a PowerVM LPAR.&lt;br /&gt;
&lt;br /&gt;
KVM in a PowerVM LPAR is a new type of LPAR (logical partition) that allows the openSUSE Leap 16.0 kernel to host KVM guests inside an LPAR on PowerVM. A KVM enabled LPAR allows standard Linux KVM tools (for example, &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt;) to create and manage lightweight Linux Virtual Machines (VM). A KVM Linux LPAR uses dedicated cores which enables Linux to have full control of when Linux VMs are scheduled to run, just like KVM on other platforms.&lt;br /&gt;
&lt;br /&gt;
==== Login times out on HMC virtual terminal ====&lt;br /&gt;
&lt;br /&gt;
If you install openSUSE Leap for POWER with the GNOME desktop on LPAR and try to login via the HMC virtual terminal, the login may time out while entering your credentials.&lt;br /&gt;
&lt;br /&gt;
To work around this issue, disable the Plymouth graphical boot screen by appending the boot parameter &amp;lt;code&amp;gt;plymouth.enable=0&amp;lt;/code&amp;gt; to the kernel command line.&lt;br /&gt;
&lt;br /&gt;
=== Arm-specific changes (AArch64) ===&lt;br /&gt;
&lt;br /&gt;
==== System-on-Chip driver enablement ====&lt;br /&gt;
&lt;br /&gt;
Leap 16.0 includes driver enablement for the following System-on-Chip (SoC) chipsets:&lt;br /&gt;
* Ampere* X-Gene*, eMAG*, Altra*, Altra Max, AmpereOne*&lt;br /&gt;
* AWS* Graviton, Graviton2, Graviton3&lt;br /&gt;
* Broadcom* BCM2837/BCM2710, BCM2711&lt;br /&gt;
* Fujitsu* A64FX&lt;br /&gt;
* Huawei* Kunpeng* 916, Kunpeng 920&lt;br /&gt;
* Marvell* ThunderX*, ThunderX2*; OCTEON TX*; Armada* 7040, Armada 8040&lt;br /&gt;
* NVIDIA* Grace; Tegra* X1, Tegra X2, Xavier*, Orin; Blue﻿Field*, Blue﻿Field-2, Blue﻿Field-3&lt;br /&gt;
* NXP* i.MX 8M, 8M Mini; Layerscape* LS1012A, LS1027A/LS1017A, LS1028A/LS1018A, LS1043A, LS1046A, LS1088A, LS2080A/LS2040A, LS2088A, LX2160A&lt;br /&gt;
* Rockchip RK3399&lt;br /&gt;
* Socionext* SynQuacer* SC2A11&lt;br /&gt;
* Xilinx* Zynq* UltraScale*﻿+ MPSoC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Driver enablement is done as far as available and requested. Refer to the following sections for any known limitations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some systems might need additional drivers for external chips, such as a Power Management Integrated Chip (PMIC), which may differ between systems with the same SoC chipset.&lt;br /&gt;
&lt;br /&gt;
For booting, systems need to fulfill either the Server Base Boot Requirements (SBBR) or the Embedded Base Boot Requirements (EBBR), that is, the Unified Extensible Firmware Interface (UEFI) either implementing the Advanced Configuration and Power Interface (ACPI) or providing a Flat Device Tree (FDT) table. If both are implemented, the kernel will default to the Device Tree; the kernel command line argument &amp;lt;code&amp;gt;acpi=force&amp;lt;/code&amp;gt; can override this default behavior.&lt;br /&gt;
&lt;br /&gt;
Check for SUSE &#039;&#039;YES!&#039;&#039; certified systems, which have undergone compatibility testing.&lt;br /&gt;
&lt;br /&gt;
=== Virtualization ===&lt;br /&gt;
&lt;br /&gt;
* iSCSI boot support is disabled in OVMF images.&lt;br /&gt;
&lt;br /&gt;
==== QEMU ====&lt;br /&gt;
&lt;br /&gt;
QEMU has been updated to version 10.0.2, full list of changes are available at https://wiki.qemu.org/ChangeLog/10.0&lt;br /&gt;
&lt;br /&gt;
Highlights include:&lt;br /&gt;
* Removed features: https://qemu-project.gitlab.io/qemu/about/removed-features.html&lt;br /&gt;
* Deprecated features: https://qemu-project.gitlab.io/qemu/about/deprecated.html&lt;br /&gt;
&lt;br /&gt;
==== libvirt ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; has been updated to version 11.4.0, this includes many incremental improvements and bug fixes, see https://libvirt.org/news.html#v11-4-0-2025-06-02.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; provides now a modular daemons.&lt;br /&gt;
&lt;br /&gt;
==== VMware ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; has been updated to version 13.0.0 that addresses a few critical problems and bug fixes. See https://github.com/vmware/open-vm-tools/blob/stable-13.0.0/ReleaseNotes.md.&lt;br /&gt;
&lt;br /&gt;
==== Confidential Computing ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; package has been updated to version 0.6.0.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; package has been updated to version 0.9.1. Full list of changes is available at: https://github.com/virtee/snpguest/compare/v0.7.1…​v0.9.1&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; package version 0.6.0 has been added.&lt;br /&gt;
&lt;br /&gt;
===== Intel TDX Confidential Computing =====&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 the kernel now incorporates the latest upstream Intel Trust Domain Extensions (TDX) patches. This significant update prepares the virtualization toolstack for Intel TDX confidential computing capabilities.&lt;br /&gt;
&lt;br /&gt;
These patches are important for enabling the kernel to support creating and managing trust domains, which is a step towards enabling confidential computing environments on Intel TDX-enabled hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The full Intel TDX confidential computing experience also requires integrating QEMU and libvirt components, which will be part of a future update.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Enhanced VM Security with AMD SEV-SNP =====&lt;br /&gt;
&lt;br /&gt;
AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) is a hardware security feature in AMD EPYC processors that provides a highly secure and confidential environment for virtual machines (VMs). It offers strong memory confidentiality through per-VM encryption keys and AES encryption, and crucially, robust memory integrity protection to prevent tampering from the hypervisor or other threats. It also provides enhanced isolation and remote attestation capabilities, making it ideal for protecting sensitive data and workloads in untrusted environments like cloud computing. This release fully integrates AMD SEV-SNP for KVM-based virtual machines. This means integrated support in our kernel, along with updated QEMU, Libvirt, and OVMF Firmware. To use AMD SEV-SNP, you’ll need, AMD EPYC™ 3rd Gen Processors (Milan) or newer and SEV-SNP enabled in your system’s BIOS/UEFI.&lt;br /&gt;
&lt;br /&gt;
==== Others ====&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; is available in version 2.5, adding support for Intel GNR and SRF platforms.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; is shipped in version 2.0.19. Full changes at: https://github.com/numactl/numactl/releases/tag/v2.0.19&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; has been updated to version 1.55.13.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;virt-v2v&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
Update to version 2.7.16. While there are no dedicated release notes, you can review the code changes in Github: https://github.com/libguestfs/virt-v2v/tree/v2.7.16&lt;br /&gt;
* Implement --parallel=N for parallel disk copies&lt;br /&gt;
* Update Translations&lt;br /&gt;
* Various fixes&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; has been updated to 1.12.0.&lt;br /&gt;
&lt;br /&gt;
===== &amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; is now shipped in version 5.0.0. Its preferable to setup VNC for remote viewing and do all the XML editing using the &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt; command. Full list of changes is available at https://github.com/virt-manager/virt-manager/releases/tag/v5.0.0&lt;br /&gt;
&lt;br /&gt;
===== virt-bridge-setup =====&lt;br /&gt;
&lt;br /&gt;
virt-bridge-setup is a script designed to simplify network bridge creation on a specified interface using nmcli. It was developed as a replacement for the automatic &amp;quot;yast2 virtualization&amp;quot; bridge creation and is particularly useful for setting up virtualization environments.&lt;br /&gt;
&lt;br /&gt;
Important considerations:&lt;br /&gt;
* It supports IPv4 only.&lt;br /&gt;
* This is a simple script not intended for complex network scenarios (vlan, bonding, etc…​); manual bridge setup is recommended for intricate configurations.&lt;br /&gt;
* The script should be run locally (not remotely) immediately after installation and before any custom network configurations.&lt;br /&gt;
&lt;br /&gt;
=== Removed and deprecated features and packages ===&lt;br /&gt;
&lt;br /&gt;
This section lists features and packages that were removed from openSUSE Leap or will be removed in upcoming versions.&lt;br /&gt;
&lt;br /&gt;
==== Removed features and packages ====&lt;br /&gt;
&lt;br /&gt;
The following features and packages have been removed in this release.&lt;br /&gt;
&lt;br /&gt;
* Xorg server has been removed. Only Wayland is supported for graphical display. X11 applications compatibility is provided via XWayland.&lt;br /&gt;
* &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; has been removed. See Section &amp;quot;[[#saptune replaces sapconf|&amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;]]&amp;quot; for more info.&lt;br /&gt;
* YaST has been removed. See Section &amp;quot;[[#Switch from YaST to Cockpit|Switch from YaST to Cockpit]]&amp;quot; for more info.&lt;br /&gt;
* WSL1 is not supported anymore&lt;br /&gt;
* The Xen hypervisor was removed in favor of KVM. You no longer run SLE 16 as Xen host or as paravirtualized guest (PV). Running SLE 16 as fully virtualized Xen guest (HVM) or using using hardware virtualization features (PVH) is still possible.&lt;br /&gt;
* &amp;lt;code&amp;gt;nscd&amp;lt;/code&amp;gt; has been removed&lt;br /&gt;
* The snIPL package is deprecated as HMC is providing most capabilities. There is also available a command line client to interact with the HMC Web Services API: the zhmccli https://github.com/zhmcclient.&lt;br /&gt;
* Removed &amp;lt;code&amp;gt;rc&amp;lt;service&amp;gt;&amp;lt;/code&amp;gt; controls of systemd services&lt;br /&gt;
* Removed the &amp;lt;code&amp;gt;KBD_DISABLE_CAPS_LOCK&amp;lt;/code&amp;gt; feature from &amp;lt;code&amp;gt;/etc/sysconfig/keyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;netiucv&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;lcs&amp;lt;/code&amp;gt; drivers&lt;br /&gt;
* &amp;lt;code&amp;gt;ansible-9&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ansible-core-2.16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;criu&amp;lt;/code&amp;gt;&lt;br /&gt;
* Section &amp;quot;[[#SysV init.d scripts support|SysV init.d scripts support]]&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;compat-libpthread-nonshared&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;crun&amp;lt;/code&amp;gt; has been removed. Use &amp;lt;code&amp;gt;runc&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
=== Deprecated features and packages ===&lt;br /&gt;
&lt;br /&gt;
The following features and packages are deprecated and will be removed in a future version of openSUSE Leap.&lt;br /&gt;
* The 2MB OVMF image will be deprecated and removed in openSUSE Leap 16.1.&lt;br /&gt;
&lt;br /&gt;
==== nmap deprecation notice ====&lt;br /&gt;
&lt;br /&gt;
The nmap project has moved to a new source license that makes future releases of nmap incompatible with our product.&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, we are shipping the latest version of nmap released under the old license. In an upcoming release we will switch to an alternative tool.&lt;br /&gt;
&lt;br /&gt;
== Obtaining source code ==&lt;br /&gt;
&lt;br /&gt;
This SUSE product includes materials licensed to SUSE under the GNU General Public License (GPL). The GPL requires SUSE to provide the source code that corresponds to the GPL-licensed material. The source code is available for download at https://get.opensuse.org on Medium 2. For up to three years after distribution of the SUSE product, upon request, SUSE will mail a copy of the source code. Send requests by e-mail to sle_source_request@suse.com. SUSE may charge a reasonable fee to recover distribution costs.&lt;br /&gt;
&lt;br /&gt;
== Legal notices ==&lt;br /&gt;
&lt;br /&gt;
Copyright © 2025-2025 openSUSE contributors and SUSE LLC. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) Version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”.&lt;br /&gt;
&lt;br /&gt;
This document includes content adapted from the SUSE Linux Enterprise release notes, contributed by the SUSE Documentation Team. Portions of the content are maintained by the openSUSE community.&lt;br /&gt;
&lt;br /&gt;
For SUSE trademarks, see https://www.suse.com/company/legal/. For openSUSE trademarks, see https://en.opensuse.org/openSUSE:Trademark_guidelines. All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™, etc.) denote trademarks of SUSE, openSUSE, and their affiliates. Asterisks (*) denote third-party trademarks.&lt;br /&gt;
&lt;br /&gt;
While every effort has been made to ensure accuracy, the openSUSE contributors, SUSE Documentation Team, and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1023</id>
		<title>OpenSUSE Leap 16.0 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1023"/>
		<updated>2025-10-15T01:41:55Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Removed features and packages */ Corrected section links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;openSUSE Leap is a modern, modular operating system suitable for both traditional IT and multimodal workloads. This document highlights major features, updates, and known limitations.&lt;br /&gt;
&lt;br /&gt;
= About the release notes =&lt;br /&gt;
&lt;br /&gt;
These Release Notes are identical across all architectures, and the most recent version is always available online at https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
Entries are only listed once but they can be referenced in several places if they are important and belong to more than one section.&lt;br /&gt;
&lt;br /&gt;
Release notes usually only list changes that happened between two subsequent releases. Certain important entries from the release notes of previous product versions are repeated. To make these entries easier to identify, they contain a note to that effect.&lt;br /&gt;
&lt;br /&gt;
However, repeated entries are provided as a courtesy only. Therefore, if you are skipping one or more service packs, check the release notes of the skipped service packs as well. If you are only reading the release notes of the current release, you could miss important changes.&lt;br /&gt;
&lt;br /&gt;
== Documentation and other information ==&lt;br /&gt;
&lt;br /&gt;
For the most up-to-date version of the documentation for openSUSE Leap, see:&lt;br /&gt;
&lt;br /&gt;
* https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
This section describes community-driven enhancements, features, and updates that extend the SUSE Linux Enterprise core. These changes reflect the openSUSE project’s unique contributions, including desktop improvements, additional packages, and new workflows.&lt;br /&gt;
&lt;br /&gt;
= openSUSE Leap Community Additions =&lt;br /&gt;
&lt;br /&gt;
== Lifecycle ==&lt;br /&gt;
&lt;br /&gt;
Each openSUSE Leap minor release is published once every 12 months. openSUSE Leap 16 provides maintenance updates over two minor releases, giving each release a full 24 months of community support.&lt;br /&gt;
&lt;br /&gt;
Unless there is a change in release strategy, the final openSUSE Leap version (16.6) will be released in fall 2031 and will continue receiving updates until the release of openSUSE Leap 17.1 two years later.&lt;br /&gt;
&lt;br /&gt;
For more information, see: [https://en.opensuse.org/Roadmap Roadmap].&lt;br /&gt;
&lt;br /&gt;
For more than 24 months of support for a point release, the openSUSE migration tool makes it simple to move to SUSE Linux Enterprise, which provides decades of support. See [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Migration from Leap 15.6 ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] (&amp;lt;code&amp;gt;zypper in opensuse-migration-tool&amp;lt;/code&amp;gt;) is included as part of openSUSE Leap 15.6. Users migrating from older releases can run the tool from [https://github.com/openSUSE/opensuse-migration-tool Git repository].&lt;br /&gt;
&lt;br /&gt;
For more information, refer to: [https://en.opensuse.org/SDB:System_upgrade SDB:System_upgrade].&lt;br /&gt;
&lt;br /&gt;
== Installer and Desktop Environments ==&lt;br /&gt;
&lt;br /&gt;
* openSUSE Leap 16 installer provides only Wayland variants of desktop environments. Xorg-based environments can be installed manually post-installation.&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA and Graphics Issues with the Installation Image ===&lt;br /&gt;
&lt;br /&gt;
Some users with NVIDIA GPUs may experience graphics-related issues during installation, such as boo#1247670 where X server fails to start. This is due to the fact that openSUSE Leap install image contains &amp;lt;code&amp;gt;kernel-default-optional&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;kernel-default-extra&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you encounter problems specific to the &amp;lt;code&amp;gt;nouveau&amp;lt;/code&amp;gt; driver, try booting with the option: &amp;lt;code&amp;gt;rd.driver.blacklist=nouveau&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For general graphics boot problems, use the option: &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Experimental Xfce Wayland session ===&lt;br /&gt;
&lt;br /&gt;
Experimental Xfce Wayland session is available as an installation option. openSUSE Leap is one of the first distributions to provide Wayland support for [https://en.opensuse.org/Portal:Xfce Xfce]. We use &amp;lt;code&amp;gt;gtkgreet&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;greetd&amp;lt;/code&amp;gt; as a Wayland-ready replacement for LightDM (used in the X11 variant).&lt;br /&gt;
&lt;br /&gt;
=== LXQt Wayland session available post install ===&lt;br /&gt;
&lt;br /&gt;
LXQt Wayland session is included, but will become a full installer option in later releases once LXQt Miriway efforts are further developed: https://code.opensuse.org/leap/features/issue/192.&lt;br /&gt;
&lt;br /&gt;
== Changes to the openSUSE Welcome ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16 now uses the &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt; to start the appropriate greeter application. This launcher, in combination with &amp;lt;code&amp;gt;gnome-tour&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;plasma-welcome&amp;lt;/code&amp;gt;, replaces the legacy Qt5-based &amp;lt;code&amp;gt;opensuse-welcome&amp;lt;/code&amp;gt;, which was previously the default greeter.&lt;br /&gt;
&lt;br /&gt;
The launcher also allows the openSUSE release team to update or refresh the displayed greeter via a package update, for example after a major GNOME update. To create a custom appliance without a welcome application, or to deploy a system where the greeter should never appear, remove &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Automated NVIDIA Driver and Repository Setup ==&lt;br /&gt;
&lt;br /&gt;
On supported GPUs, NVIDIA’s open driver is installed by default along with the NVIDIA graphics driver repository. In openSUSE Leap 16, user-space drivers are also automatically installed, enabling graphical acceleration out of the box.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
=== AppArmor ===&lt;br /&gt;
&lt;br /&gt;
AppArmor has been updated from version 3.1 to 4.1.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1 4.0] introduced fine-grained network rules (limitable by IP/port), but kernel support is not upstream yet.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.1.0 4.1] introduced the &amp;lt;code&amp;gt;priority=&amp;lt;number&amp;gt;&amp;lt;/code&amp;gt; rule prefix, which allows overriding rules.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor not available by default on new installations ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer available in SUSE Linux Enterprise 16.0. Leap users cannot select AppArmor as the Linux Security Module (LSM) during a new installation. AppArmor can still be enabled post-installation. For instructions, refer to AppArmor wiki page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Users migrating manually from 15.6 will retain AppArmor by default. Users migrating with [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] will be prompted to either switch to SELinux or preserve AppArmor during post-migration.&lt;br /&gt;
&lt;br /&gt;
== Steam ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Steam&amp;lt;/code&amp;gt; package has been removed from the [https://en.opensuse.org/Package_repositories#Non-OSS Non-OSS repository] due to limited 32-bit library support. Users are advised to install it via [https://en.opensuse.org/Steam#Flatpak Flatpak].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 32-bit execution requires installing &amp;lt;code&amp;gt;grub2-compat-ia32&amp;lt;/code&amp;gt; and rebooting.&lt;br /&gt;
* SELinux users may also need &amp;lt;code&amp;gt;selinux-policy-targeted-gaming&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/Portal:SELinux/Common_issues#Steam_Proton,_Bottles,_WINE,_Lutris,_not_working SELinux wiki page].&lt;br /&gt;
&lt;br /&gt;
== Wine ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap includes wine 10.10, available only in the [https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine#shared-wow64 wow64] flavor. Users requiring 32-bit binary execution should consider using the Flatpak version or a similar solution.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
=== Broken libvirt networking when using Docker ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If networking inside libvirt-managed virtual machines fails while Docker is running, it is likely due to Docker not supporting &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To fix the issue:&lt;br /&gt;
* Edit &amp;lt;code&amp;gt;/etc/libvirt/network.conf&amp;lt;/code&amp;gt; and set:&lt;br /&gt;
 firewall_backend = &amp;quot;iptables&amp;quot;&lt;br /&gt;
* Add the virtual network interface to the libvirt firewall zone:&lt;br /&gt;
 firewall-cmd --add-interface=virbr0 --zone=libvirt --permanent&lt;br /&gt;
 firewall-cmd --reload&lt;br /&gt;
* Restart libvirt and related services:&lt;br /&gt;
 systemctl restart libvirtd&lt;br /&gt;
This restores networking for libvirt VMs while Docker is active.&lt;br /&gt;
&lt;br /&gt;
== GNU Health ==&lt;br /&gt;
&lt;br /&gt;
[https://www.gnuhealth.org/ GNU Health] has been updated to major release 5.0.2. The underlying ERP framework, Tryton, has been updated to LTS version 7.0. Functional improvements include enhanced medical image workflows and better integration with Orthanc 1.12.9 (PACS server).&lt;br /&gt;
&lt;br /&gt;
== PipeWire replaces PulseAudio ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses PipeWire by default. Users upgrading from previous releases should be automatically migrated from PulseAudio. &amp;lt;code&amp;gt;opensuse-migration-tool&amp;lt;/code&amp;gt; provides a post-migration script if migration does not occur automatically.&lt;br /&gt;
&lt;br /&gt;
If experiencing audio issues, ensure you are not using the &amp;lt;code&amp;gt;wireplumber-video-only-profile&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/openSUSE:Pipewire#Installation PipeWire#Installation] for details.&lt;br /&gt;
&lt;br /&gt;
== Hexchat drop ==&lt;br /&gt;
&lt;br /&gt;
Hexchat IRC client has been dropped as the [https://github.com/hexchat/hexchat upstream project] is archived. Alternatives include [https://software.opensuse.org/package/polari Polari] or the Flatpak version: [https://flathub.org/en/apps/io.github.Hexchat Flatpak].&lt;br /&gt;
&lt;br /&gt;
== Configuring boot entry with serial console ==&lt;br /&gt;
&lt;br /&gt;
See https://en.opensuse.org/SDB:SerialConsole for guidance.&lt;br /&gt;
&lt;br /&gt;
This section describes the enterprise-grade foundation of openSUSE Leap, based on SUSE Linux Enterprise. Content here is adapted from the SUSE Linux Enterprise release notes to reflect core functionality, security updates, and enterprise features that openSUSE Leap inherits.&lt;br /&gt;
&lt;br /&gt;
= SUSE Linux Enterprise Core =&lt;br /&gt;
&lt;br /&gt;
== What&#039;s new? ==&lt;br /&gt;
&lt;br /&gt;
=== Package and module changes in 16.0 ===&lt;br /&gt;
&lt;br /&gt;
The full list of changed packages compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/package-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
The full list of changed modules compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/module-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
== Support and lifecycle ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap is backed by award-winning support from SUSE, an established technology leader with a proven history of delivering enterprise-quality support services.&lt;br /&gt;
&lt;br /&gt;
The current version (16.0) will be fully maintained and supported until 31 Jul 2034.&lt;br /&gt;
&lt;br /&gt;
If you need additional time to design, validate and test your upgrade plans, Long Term Service Pack Support can extend the support duration. You can buy an additional 12 to 36 months in twelve month increments. This means that you can receive support up to Dec 2037.&lt;br /&gt;
&lt;br /&gt;
For more information, see the pages [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Support statement for openSUSE Leap ==&lt;br /&gt;
&lt;br /&gt;
To receive support, you need an appropriate subscription with SUSE. For more information, see https://forums.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
The following definitions apply:&lt;br /&gt;
&lt;br /&gt;
;L1&lt;br /&gt;
:Problem determination, which means technical support designed to provide compatibility information, usage support, ongoing maintenance, information gathering, and basic troubleshooting using the documentation.&lt;br /&gt;
;L2&lt;br /&gt;
:Problem isolation, which means technical support designed to analyze data, reproduce customer problems, isolate the problem area, and provide a resolution for problems not resolved by Level 1 or prepare for Level 3.&lt;br /&gt;
;L3&lt;br /&gt;
:Problem resolution, which means technical support designed to resolve problems by engaging engineering to resolve product defects which have been identified by Level 2 Support.&lt;br /&gt;
&lt;br /&gt;
For contracted customers and partners, openSUSE Leap is delivered with L3 support for all packages, except for the following:&lt;br /&gt;
* Technology Previews, see Section  &amp;quot;[[#Technology previews|Technology previews]]&amp;quot;&lt;br /&gt;
* Sound, graphics, fonts and artwork&lt;br /&gt;
* Packages that require an additional customer contract, see Section &amp;quot;[[#Software requiring specific contracts|Software requiring specific contracts]]&amp;quot;&lt;br /&gt;
* Some packages shipped as part of the module &#039;&#039;Workstation Extension&#039;&#039; are L2-supported only&lt;br /&gt;
* Packages with names ending in &amp;lt;code&amp;gt;-devel&amp;lt;/code&amp;gt; (containing header files and similar developer resources) will only be supported together with their main packages.&lt;br /&gt;
&lt;br /&gt;
SUSE will only support the usage of original packages. That is, packages that are unchanged and not recompiled.&lt;br /&gt;
&lt;br /&gt;
=== General support ===&lt;br /&gt;
&lt;br /&gt;
To learn about supported features and limitations, refer to the following sections in this document:&lt;br /&gt;
* Section &amp;quot;[[#Virtualization|Virtualization]]&amp;quot;&lt;br /&gt;
* Section &amp;quot;[[#Removed and deprecated features and packages|Removed and deprecated features and packages]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Software requiring specific contracts ===&lt;br /&gt;
&lt;br /&gt;
Certain software delivered as part of openSUSE Leap may require an external contract. Check the support status of individual packages using the RPM metadata that can be viewed with &amp;lt;code&amp;gt;rpm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;YaST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Major packages and groups of packages affected by this are:&lt;br /&gt;
* PostgreSQL (all versions, including all subpackages)&lt;br /&gt;
&lt;br /&gt;
=== Software under GNU AGPL ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped &#039;&#039;only&#039;&#039; under a GNU AGPL software license:&lt;br /&gt;
* Ghostscript (including subpackages)&lt;br /&gt;
* &amp;lt;code&amp;gt;velociraptor&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;velociraptor-client&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zypp-boot-plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped under multiple licenses that include a GNU AGPL software license:&lt;br /&gt;
* MySpell dictionaries and LightProof&lt;br /&gt;
* ArgyllCMS&lt;br /&gt;
&lt;br /&gt;
== Technology previews ==&lt;br /&gt;
&lt;br /&gt;
Technology previews are packages, stacks, or features delivered by SUSE to provide glimpses into upcoming innovations. Technology previews are included for your convenience to give you a chance to test new technologies within your environment. We would appreciate your feedback! If you test a technology preview, contact your SUSE representative and let them know about your experience and use cases. Your input is helpful for future development.&lt;br /&gt;
&lt;br /&gt;
Technology previews come with the following limitations:&lt;br /&gt;
* Technology previews are still in development. Therefore, they may be functionally incomplete, unstable, or in other ways not suitable for production use.&lt;br /&gt;
* Technology previews are not supported.&lt;br /&gt;
* Technology previews may only be available for specific hardware architectures. Details and functionality of technology previews are subject to change. As a result, upgrading to subsequent releases of a technology preview may be impossible and require a fresh installation.&lt;br /&gt;
* Technology previews can be removed from a product at any time. This may be the case, for example, if SUSE discovers that a preview does not meet the customer or market needs, or does not comply with enterprise standards.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
As technology preview, &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is available in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is intentionally built without Btrfs support. Btrfs filesystems can be multi-device (for example, RAID1) but &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; currently only supports a single device per mount.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rasdaemon&amp;lt;/code&amp;gt; has been updated to version 8.3.0. This version supports machine checks related to CXL memory.&lt;br /&gt;
* We now provide Grafana Alloy which can integrate with SUSE Observability as well.&lt;br /&gt;
* &amp;lt;code&amp;gt;NetworkManager&amp;lt;/code&amp;gt; is now the only network configuration stack in openSUSE Leap 16.0.&lt;br /&gt;
* We now provide a unified image that can be used to install either SLES or SLES for SAP&lt;br /&gt;
&lt;br /&gt;
=== Userspace live patching ===&lt;br /&gt;
&lt;br /&gt;
Currently, &amp;lt;code&amp;gt;libpulp&amp;lt;/code&amp;gt; supports ULP (user space live patching) of &amp;lt;code&amp;gt;glibc&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt; binaries on the following architectures:&lt;br /&gt;
* x86-64&lt;br /&gt;
* ppc64le&lt;br /&gt;
&lt;br /&gt;
For more information see https://documentation.suse.com/sles/15-SP7/html/SLES-all/cha-ulp.html&lt;br /&gt;
&lt;br /&gt;
=== Switch to &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API in &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; mount command has switched from the old string-based method to the new kernel &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API. This change introduces new features but also comes with some minor incompatibilities.&lt;br /&gt;
&lt;br /&gt;
There is a special case that cannot be handled by &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; and needs to be handled by applications:&lt;br /&gt;
* &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; discriminates between the physical mount layer and the virtual mount layer&lt;br /&gt;
* once the physical mount layer is read-only, read-write mount on the virtual layer is not possible&lt;br /&gt;
&lt;br /&gt;
If the first mount is read-only, then the physical filesystem is mounted read-only, and later mounting of the same file system as read-write is not possible. To solve this problem, the first mount needs to be read-only on the virtual layer only, keeping the physical layer read-write. The userspace fix is simple. Instead of:&lt;br /&gt;
 mount -oro&lt;br /&gt;
use&lt;br /&gt;
 mount -oro=vfs&lt;br /&gt;
&lt;br /&gt;
This will keep the physical layer read-write, but the virtual file system layer (and the userspace access) read-only.&lt;br /&gt;
&lt;br /&gt;
=== Switch to predictable network names ===&lt;br /&gt;
&lt;br /&gt;
The persistent network naming scheme used in Leap 15 became legacy with the switch to the systemd predictable network names. For complicated setups, we recommend using &amp;lt;code&amp;gt;systemd.link&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see:&lt;br /&gt;
* https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the future, when upgrading from SL Micro to Leap 16.1 (so-called &amp;quot;SLE merge&amp;quot;), some systems will have &amp;lt;code&amp;gt;net.ifnames=0&amp;lt;/code&amp;gt; set on their kernel command line (this is the case for new installations of SL Micro 6.0 and 6.1). This boot option will prevent the system from switching to the predictable naming scheme and it will need to be removed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== systemd default configurations moved to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Main configuration files have been moved from &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;. This ensures that main configuration files have lower precedence, allowing them to be overriden by package-supplied drop-in snippets.&lt;br /&gt;
&lt;br /&gt;
Local configuration should be created by either modifying the default file in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; (or a copy of it placed in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; if the original file is shipped in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;), or by creating drop-in snippets in the appropriate directory in (for example, &amp;lt;code&amp;gt;/etc/systemd/coredump.conf.d/&amp;lt;/code&amp;gt;) - this is recommended.&lt;br /&gt;
&lt;br /&gt;
Remove configurations in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to restore defaults.&lt;br /&gt;
&lt;br /&gt;
=== Password access as root via SSH disabled ===&lt;br /&gt;
&lt;br /&gt;
Previously, it was possible to SSH as root using password-based authentication. In Leap 16.0 only key-based authentication is allowed by default. Systems upgraded to 16.0 from a previous version will carry over the old behavior. New installations will enforce the new behavior.&lt;br /&gt;
&lt;br /&gt;
Installing the package &amp;lt;code&amp;gt;openssh-server-config-rootlogin&amp;lt;/code&amp;gt; restores the old behavior and allows password-based login for the root user.&lt;br /&gt;
&lt;br /&gt;
=== Minimum hardware requirements ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires hardware to meet requirements on these architectures:&lt;br /&gt;
* For AMD64 and Intel* 64 systems: Microarchitecture level x86-64-v2 or higher.&lt;br /&gt;
* For IBM* Power LE systems: POWER10 or higher (see note below).&lt;br /&gt;
* For Arm64* systems: Armv8.0-A or higher.&lt;br /&gt;
* For IBM* Z systems: z14 or higher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
POWER9 systems may work with Leap 16.0 but are not supported by IBM, the hardware vendor.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SHA1 to be disabled or mark unapproved ===&lt;br /&gt;
&lt;br /&gt;
Due to FIPS 140-3 certification requirements, the SHA1 cryptographic algorithm will be disabled or marked unapproved when running in FIPS mode.&lt;br /&gt;
&lt;br /&gt;
=== Added &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; package contains a daemon that tunes system settings dynamically.&lt;br /&gt;
&lt;br /&gt;
=== Lightweight guard region support ===&lt;br /&gt;
&lt;br /&gt;
This is a new feature in &amp;lt;code&amp;gt;madvise()&amp;lt;/code&amp;gt; that installs a lightweight guard region into a specified address range.&lt;br /&gt;
&lt;br /&gt;
See [https://manpages.opensuse.org/Leap-16.0/man-pages/madvise.2.en.html#MADV_GUARD_INSTALL madvise() man page] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Harmless error messages sometimes displayed when launching some applications ===&lt;br /&gt;
&lt;br /&gt;
The following messages are sometimes displayed when launching specific applications:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;gnome-desktop&amp;lt;/code&amp;gt; some times failes to create transient scope:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; gnome-session-binary: GnomeDesktop-WARNING: Could not create transient scope for PID 7883: GDBus.Error:org.freedesktop.DBus.Error.UnixProcessIdUnknown: Process with ID 7883 does not exist.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; sometimes fails to assign cgroup:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Couldn&#039;t move process 6708 to requested cgroup &#039;/user.slice/user-0.slice/user@0.service/app.slice/app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope&#039;: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed to add PIDs to scope&#039;s control group: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed with result &#039;resources&#039;.&lt;br /&gt;
&amp;gt; systemd: Failed to start Application launched by gnome-session-binary.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These messages are harmless and can be ignored.&lt;br /&gt;
&lt;br /&gt;
=== NFS over TLS support ===&lt;br /&gt;
&lt;br /&gt;
NFS over TLS is now supported for storage traffic.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; is replaced with &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; will also be enabled with a base tuning, similar to &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;. Base tuning only will be enabled if &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; was not configured before (no SAP Notes or Solutions selected).&lt;br /&gt;
&lt;br /&gt;
=== Azure Entra ID authentication via &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; package has been added. It provides interoperability with Microsoft Azure Entra ID and Intune. It supports Linux authentication to Microsoft Azure Entra ID via PAM and NSS modules.&lt;br /&gt;
&lt;br /&gt;
For more information see https://github.com/himmelblau-idm/himmelblau.&lt;br /&gt;
&lt;br /&gt;
=== Legacy BIOS support ===&lt;br /&gt;
&lt;br /&gt;
Legacy BIOS is still supported in openSUSE Leap 16.0. However, some features are not available when using it (for example, full-disk encryption with TPM). Finally, support for legacy BIOS will be discontinued in the future. For that reason we recommend switching to UEFI at the nearest opportunity.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; not persistent ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0, &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; is no longer persistent between reboots but uses &amp;lt;code&amp;gt;tmpfs&amp;lt;/code&amp;gt; instead. See https://susedoc.github.io/doc-modular/main/html/SLE-comparison/index.html#sle16-tmp for more information.&lt;br /&gt;
&lt;br /&gt;
=== Python update strategy ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; is currently set to use Python 3.13. In a future minor version update this is likely going to be changed to a newer Python version.&lt;br /&gt;
* openSUSE Leap 16.0 contains around 700 popular Python packages, which form a basic set of functionality for packages that depends on Python and for developing apps without needing to install Python modules from an external provider.&lt;br /&gt;
* We have been working on removing the dependencies of packages and tools on the &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; binary, which means that openSUSE Leap could use a newer version of the Python interpreter in the future. This new Python interpreter will coexist with the previous version that will then be maintained as legacy interpreter for a limited time.&lt;br /&gt;
&lt;br /&gt;
=== Removal of 32-bit support ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 only supports 64-bit binaries. Support for 32-bit binaries (or 31-bit binaries on IBM Z) has been removed.&lt;br /&gt;
&lt;br /&gt;
This means that statically-linked 32-bit binaries (or 31-bit binaries on IBM Z) and container images cannot be run anymore. 32-bit syscalls are still enabled by default on arm64, and can be enabled on x86_64 via the kernel parameter &amp;lt;code&amp;gt;ia32_emulation&amp;lt;/code&amp;gt;. On other architectures it’s disabled without any option to enable it.&lt;br /&gt;
&lt;br /&gt;
=== Compiling kernel uses non-default compiler ===&lt;br /&gt;
&lt;br /&gt;
Customers who need to build kernel modules or rebuild the kernel must use the same compiler version the kernel was built with. The kernel is built with &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13, which is not the default compiler. Install the &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13 compiler using the gcc13 package and invoke it with the command &amp;lt;code&amp;gt;gcc-13&amp;lt;/code&amp;gt;. This specific compiler version is only supported for building kernel modules and the kernel.&lt;br /&gt;
&lt;br /&gt;
=== Optimized libraries for newer hardware architectures ===&lt;br /&gt;
&lt;br /&gt;
We have added support for the glibc-HWCAPS feature which loads optimized versions of libraries for specific newer CPUs automatically.&lt;br /&gt;
&lt;br /&gt;
The build infrastructure for this feature is enabled for the following libraries:&lt;br /&gt;
* &amp;lt;code&amp;gt;blosc2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;boost&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;brotli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bzip2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;flac&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;jsoncpp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lame&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;leveldb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libdb-4_8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libgcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libiscsi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjpeg-turbo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjxl&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libmng&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libnettle&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libpng16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libvorbis&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libxmlb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lz4&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lzo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openjpeg2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openssl-3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python311&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python313&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sqlite3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;talloc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tree-sitter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xxhash&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zopfli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No remote root login with password ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you install the system using only a &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; password and do not provide an SSH key for the root user, &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; will not be enabled automatically after installation. You will not be able to log in remotely as root using the password.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, remote password-based &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login is disabled. The installer enables the &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; service only when an SSH key for root is configured during setup. To allow remote &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login, configure an SSH key for root during installation.&lt;br /&gt;
&lt;br /&gt;
=== Default user group assignment changed ===&lt;br /&gt;
&lt;br /&gt;
Previously, all user accounts belonged to a single &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group.&lt;br /&gt;
&lt;br /&gt;
Now instead of being added to the common &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group, each new user now gets their own primary group matching their username. This is due to &amp;lt;code&amp;gt;USERGROUPS_ENAB&amp;lt;/code&amp;gt; being enabled in &amp;lt;code&amp;gt;/usr/etc/login.defs&amp;lt;/code&amp;gt;. This change affects all new installations and upgraded systems that did not change the default &amp;lt;code&amp;gt;/etc/login.defs&amp;lt;/code&amp;gt;. This has several consequences:&lt;br /&gt;
* files created by new users are not group-readable by default&lt;br /&gt;
* configurations that used the primary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition do not work anymore&lt;br /&gt;
* configurations that used the primary or secondary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition need to have the &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group manually added to these user accounts in order to continue to work, for example, to for &amp;lt;code&amp;gt;@users&amp;lt;/code&amp;gt; in the sudoers file&lt;br /&gt;
* home directories inherited from a previous system need to standardize the GID of the files by running: &lt;br /&gt;
:&amp;lt;code&amp;gt;find &amp;quot;$HOME&amp;quot; -group users -exec chgrp myuser {} \;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;chgrp -R myuser &amp;quot;$HOME&amp;quot;&amp;lt;/code&amp;gt; if you did not use any GID other than &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SysV init.d scripts support ===&lt;br /&gt;
&lt;br /&gt;
SysV init.d scripts have been [https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15-SP2/index.html#jsc-SLE-7690 deprecated since Leap 15 SP2].&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, support of SysV init.d scripts has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (RC1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to RC1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; removal ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; file is just a dummy file that will be removed in the future. Software that appends to it without creating it should have its behavior changed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta4) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta4. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Configuring network interfaces during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, the installer does not allow for setting up network interfaces using the UI. However, in the meantime you can use dracut-like command-line options, for example:&lt;br /&gt;
&lt;br /&gt;
 ifname=&amp;lt;interface&amp;gt;:&amp;lt;MAC&amp;gt;&lt;br /&gt;
 ip=&amp;lt;interface&amp;gt;:dhcp&lt;br /&gt;
&lt;br /&gt;
Additionally, the &amp;lt;code&amp;gt;inst.copy_network&amp;lt;/code&amp;gt; is not available in Beta4.&lt;br /&gt;
&lt;br /&gt;
=== SAP workloads on Leap 16.0 ===&lt;br /&gt;
&lt;br /&gt;
For running SAP workloads on openSUSE Leap 16.0, do the following:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Unpack the SAP installer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to change policies:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;semanage boolean -m --on selinuxuser_execmod&lt;br /&gt;
semanage boolean -m --on unconfined_service_transition_to_unconfined_user&lt;br /&gt;
semanage permissive -a snapper_grub_plugin_t&lt;br /&gt;
restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to lable all files:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d ./snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d ./snapshots || restorecon R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install SAP workload or SAP HANA&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Label all files again:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d /.snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d /.snapshots || restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== FIPS 140-3 not working properly ===&lt;br /&gt;
&lt;br /&gt;
FIPS 140-3 installation has not been fully validated and may cause unexpected software failure or crashes. Therefore, we discourage you from using it on Beta4.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta3) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta3. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Kernel crash in QEMU ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires a CPU that supports a so-called &amp;quot;x86-64-v2&amp;quot; microarchitecture. Due to this, running a Leap image using QEMU currently results in a kernel crash.&lt;br /&gt;
&lt;br /&gt;
As a workaround you can run QEMU with the &amp;lt;code&amp;gt;-cpu host&amp;lt;/code&amp;gt; argument.&lt;br /&gt;
&lt;br /&gt;
=== Missing &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library has been deprecated in SLES 15 and finally removed in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
As a workaround for applications that cannot be installed without it (but presumaly do not use it for anything), we provide the &amp;lt;code&amp;gt;libnsl-stub1&amp;lt;/code&amp;gt; package that includes ABI-compatible but otherwise function-less stub of the library file.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; not usable with many interfaces ===&lt;br /&gt;
&lt;br /&gt;
Due to an upstream bug, &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; might take a long time or time out when adding many interfaces. The error occurs when &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; is restarted after applying such a configuration. The following message appears in the system logs:&lt;br /&gt;
 ERROR:dbus.proxies:Introspect error on :1.18:/org/fedoraproject/FirewallD1: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply.&lt;br /&gt;
 Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.&lt;br /&gt;
&lt;br /&gt;
See https://github.com/firewalld/firewalld/issues/1399 for more information.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta2) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta2. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Switch from YaST to Cockpit ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 has switched from YaST to Cockpit for manual system administration. We have enhanced Cockpit with new modules with the intention to upstream them later. Despite being functional, bugs might appear and features might be missing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;: register, de-register and view SUSE Linux Enterprise registrations. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-repositories&amp;lt;/code&amp;gt;: add, remove, view repositories, change settings and refresh them. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;: show installed packages, search available repositories, install and uninstall packages. Requires administrative access. Be aware that there are no safety measures implemented as far as system usability goes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enhanced modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;: update packages from available repositories. The module now allows to individually select packages to update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upstream modules&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-kdump&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-machines&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-podman&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;: these modules are updated to the recent stable base version 332 (or their respective).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default selection&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installation of the pattern &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt; will pull in the following modules: &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-repos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;dovecot 2.4&amp;lt;/code&amp;gt; configuration upgrade ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 &amp;lt;code&amp;gt;dovecot&amp;lt;/code&amp;gt; has been upgraded to version 2.4. The configuration of this version is incompatible with the previous versions.&lt;br /&gt;
&lt;br /&gt;
Configuration has to be updated manually. For more information see https://doc.dovecot.org/2.4.0/installation/upgrade/2.3-to-2.4.html.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Disk configuration UI during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, choosing disk configurations other than &amp;quot;An existing disk&amp;quot; (installation to a single disk) suffer from poor usability. This is expected to change in a future update.&lt;br /&gt;
&lt;br /&gt;
=== Non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; after installation ===&lt;br /&gt;
&lt;br /&gt;
There is currently a known issue that adds a non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; repository which prevents &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; from working correctly.&lt;br /&gt;
&lt;br /&gt;
To fix this issue, remove the repository in question and add the installation medium repository manually:&lt;br /&gt;
# Remove repository with &amp;lt;code&amp;gt;zypper rr&amp;lt;/code&amp;gt;. To remove the first repository, for example, run: &amp;lt;code&amp;gt;zypper rr 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Add the installation medium as repository by running &lt;br /&gt;
#:&amp;lt;pre&amp;gt;zypper ar hd:/install?device=/dev/disk/by-label/agama-installer medium&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:(the &amp;lt;code&amp;gt;medium&amp;lt;/code&amp;gt; at the end is a name you want to give the repository).&lt;br /&gt;
# Run &amp;lt;code&amp;gt;zypper refresh&amp;lt;/code&amp;gt; to refresh the added repository.&lt;br /&gt;
&lt;br /&gt;
=== systemd uses cgroup v2 by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses cgroup v2 by default and v1 is unsupported. If you need to use cgroup v1, SLES 15 SP6 can be switched to hybrid mode using a boot parameter.&lt;br /&gt;
&lt;br /&gt;
== x86-64-specific changes ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to the x86-64 architecture.&lt;br /&gt;
&lt;br /&gt;
=== AMD EPYC Turin automonous frequency scaling ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, the default Linux CPU frequency scaling driver for AMD EPYC Turin (and later processors) has shifted to the AMD P-State driver to enable autonomous frequency scaling.&lt;br /&gt;
&lt;br /&gt;
With the AMD P-State driver, it enables the use of the Energy Performance Preference (EPP) for more granular control over performance versus power efficiency to adjust the CPU frequencies based on workload and hardware feedback dynamically.&lt;br /&gt;
&lt;br /&gt;
== IBM Z-specific changes (s390x) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for IBM Z 16.0. For more information, see https://www.ibm.com/docs/en/linux-on-systems?topic=distributions-suse-linux-enterprise-server&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; providing machine name, kconfig options, new instructions, etc.&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;gdb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;valgrind&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;binutils&amp;lt;/code&amp;gt;&lt;br /&gt;
* Support has been added for IBM z16 - reset DAT-Protection facility support&lt;br /&gt;
* Identify ConnectX devices through port rather than PCHID&lt;br /&gt;
* Processor Activity Instrumentation / Neural Network Processing Assist counters for new IBM Z hardware was added into kernel&lt;br /&gt;
* kprobes are now supported without &amp;lt;code&amp;gt;stop machine&amp;lt;/code&amp;gt;&lt;br /&gt;
* Promiscuous Mode Exploitation for NETH Virtual Functions for IBM z17 and LinuxONE 5&lt;br /&gt;
* Vertical CPU Polarization support for IBM z17 and LinuxONE 5&lt;br /&gt;
* qclib has been updated to support IBM z17&lt;br /&gt;
* The Integrated Accelerator for AI has new operations, which are now supported by libzdnn low-level driver library&lt;br /&gt;
* Enhanced RAS and Call Home for zPCI&lt;br /&gt;
* The kernel image can move into vmalloc space, where random physical pages are used to map virtual pages (V!=R)&lt;br /&gt;
* Add new CPU-MF Counters for new IBM Z Hardware (libpfm)&lt;br /&gt;
* Deactivate CONFIG_QETH_OSX kernel config option&lt;br /&gt;
* Upgrade Mellanox (mlx5) driver to latest version&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
* LPAR level power consumption reporting is now available in kernel and s390-tools.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== In-kernel crypto support ====&lt;br /&gt;
&lt;br /&gt;
With this service pack are additionally supported:&lt;br /&gt;
* MSA 10 XTS instructions for in-kernel crypto&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 12 (SHA3) has been added and introduces new options to call CPACF SHA 3 functions&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 10 XTS crypto PAES support for in-kernel crypto&lt;br /&gt;
&lt;br /&gt;
==== OpenSSL features ====&lt;br /&gt;
&lt;br /&gt;
This release brings these features and improvements:&lt;br /&gt;
* XTS instructions support in libcrypto/openSSL&lt;br /&gt;
* New MSA 11 HMAC instruction support in libcrypto/openSSL&lt;br /&gt;
* Added support for MSA 12 (SHA3), which also introduces new options to call CPACF SHA3 and SHKE functions&lt;br /&gt;
* Extended support of the openssl-pkcs11 provider such that it can be used by programs that issue forks&lt;br /&gt;
* Replace openssl-ibmpkcs11 with openssl-pkcs11&lt;br /&gt;
* Upgrade openssl-ibmca to the latest version&lt;br /&gt;
&lt;br /&gt;
==== openCryptoki ====&lt;br /&gt;
&lt;br /&gt;
* The new version of &amp;lt;code&amp;gt;libica&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libzpc&amp;lt;/code&amp;gt; is included.&lt;br /&gt;
* The openCryptoki CCA Token is now available on x86_64 and ppc64le architectures.&lt;br /&gt;
&lt;br /&gt;
==== p11-kit =====&lt;br /&gt;
&lt;br /&gt;
* Add support for IBM specific attributes and mechanisms to the PKCS11 client-server implementation of p11-kit.&lt;br /&gt;
&lt;br /&gt;
==== pkey ====&lt;br /&gt;
&lt;br /&gt;
* The kernel pkey module can now generate keys AES-XTS keys (MSA 10) and HMAC key (MSA 11) from clear keys.&lt;br /&gt;
* The module can also generate keys represented by identifiers of secure execution retrievable keys.&lt;br /&gt;
* The pkey also supports EP11 API ordinal 6 for secure guests.&lt;br /&gt;
&lt;br /&gt;
==== zcrypt =====&lt;br /&gt;
&lt;br /&gt;
* The zcrypt extends error recovery to deal with device scans of unavailable devices.&lt;br /&gt;
&lt;br /&gt;
=== Virtualization ===&lt;br /&gt;
&lt;br /&gt;
* KVM guests can exploit z17 &amp;amp; LinuxONE 5 CPU features&lt;br /&gt;
* KVM can display available host key hashes for Secure Execution (Query Host-key hash UVC)&lt;br /&gt;
* KVM can benefit from genprotimg rewritten in Rust to re-use existing rust libraries (s390-tools feature)&lt;br /&gt;
* KVM benefits from genprotimg validation of SE image running on particular host(s) (s390-tools feature)&lt;br /&gt;
* KVM benefits from using pvimg info command to display encrypted &amp;amp; unencrypted SE image information (s390-tools)&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM passthrough is available for guests i.e. retrievable secrets in Secure Execution guests&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM implements counters for nested guest shadow events&lt;br /&gt;
* KVM implements virsh hypervisor-cpu-models (libvirt)&lt;br /&gt;
* KVM provides enhanced and dynamic CPU topology for KVM guests (qemu)&lt;br /&gt;
* KVM and libvirt full boot order enables users to attempt booting from multiple targets&lt;br /&gt;
* KVM provides Atomic Memop for Key-Checked Compare-and-swap&lt;br /&gt;
* KVM enhances CCW address translation architectural compliance&lt;br /&gt;
* KVM improves memory reclaiming for z15 Secure Execution guests and above (libvirt)&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; was replaced by &amp;lt;code&amp;gt;blog&amp;lt;/code&amp;gt; on s390x, as &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; couldn&#039;t work without graphical display.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Eigen&amp;lt;/code&amp;gt; library is the backend used by &amp;lt;code&amp;gt;Tensorflow&amp;lt;/code&amp;gt; for computations executed on the CPU. Several GCC adjustments have been implemented to speed up Eigen with IBM z14 support and above.&lt;br /&gt;
* Allow &amp;lt;code&amp;gt;httpd&amp;lt;/code&amp;gt; customers to protect their web server identity using HSMs (via CryptoExpress adapters).&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The latest s390-tool update brings these noticeable changes:&lt;br /&gt;
* Additional channel measurements - kernel &amp;amp; &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* A new tool cpacinfo shall provide information on CPACF including the supported MSA levels, instructions, subfunctions per instruction. https://www.ibm.com/docs/en/linux-on-systems?topic=hw-cpacf&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO ====&lt;br /&gt;
&lt;br /&gt;
Previously, &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; would point to a directory of unpacked files.&lt;br /&gt;
&lt;br /&gt;
Now it needs to point to a loop-mounted ISO via FTP. For example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/agama-online.iso&lt;br /&gt;
 agama.install_url=ftp://$SERVER_URL/install/agama&lt;br /&gt;
&lt;br /&gt;
For more information see https://agama-project.github.io/docs/user/boot_options.&lt;br /&gt;
&lt;br /&gt;
==== Disk selection UI problems during installation ====&lt;br /&gt;
&lt;br /&gt;
If you want to enable a disk, click on &#039;&#039;Storage&#039;&#039; in the left panel, then &#039;&#039;Install new system on&#039;&#039; and choose &amp;quot;storage techs&amp;quot;. Then you can choose a type of disk. This can be avoided if you have defined your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; as described in Section &amp;quot;[[#parmfile now points to ISO|&amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you choose DASD, you should see disks based on your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cio_ignore&amp;lt;/code&amp;gt; configuration. Then choose a disk and activate it by clicking &#039;&#039;Perform an action&#039;&#039; and then &#039;&#039;Activate&#039;&#039;. This can take a moment. If it is not visible, then you need to click on Storage or refresh the page.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;zFCP&#039;&#039; section, after activating a disk a gray line will appear. This is just a visual bug, the disk will activate correctly.&lt;br /&gt;
&lt;br /&gt;
==== Installation failure on zVM ====&lt;br /&gt;
&lt;br /&gt;
Due to a change from &amp;lt;code&amp;gt;linuxrc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;dracut&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to define not only installation source but also a network and disks.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to be filled with a &amp;lt;code&amp;gt;dracut-like&amp;lt;/code&amp;gt; options, for example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/online.iso&lt;br /&gt;
 ip=$IP_address::$IP_gateway:24:SLE16-Beta4:$NETWORK_DEVICE:none&lt;br /&gt;
 rd.zdev=qeth,0.0.0800:0.0.0801:0.0.0802,layer2=1,portno=0&lt;br /&gt;
 cio_ignore=all,!condev,!0.0.0160 nameserver=$NAMEserverIP&lt;br /&gt;
 live.password=linux rd.zdev=dasd,0.0.0160&lt;br /&gt;
&lt;br /&gt;
== POWER-specific changes (ppc64le) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for POWER 16.0.&lt;br /&gt;
&lt;br /&gt;
=== KVM guests in LPAR ===&lt;br /&gt;
&lt;br /&gt;
The ability to run KVM Guests in an LPAR is a new feature in PowerVM Firmware 1060.10 release and supported in openSUSE Leap 16.0. This enables users to run KVM guests in a PowerVM LPAR bringing industry standard Linux KVM virtualization stack to IBM PowerVM, which easily integrates with existing Linux virtualization ecosystem. This enables a lot of interesting usecases which were earlier difficult to realize in a PowerVM LPAR.&lt;br /&gt;
&lt;br /&gt;
KVM in a PowerVM LPAR is a new type of LPAR (logical partition) that allows the openSUSE Leap 16.0 kernel to host KVM guests inside an LPAR on PowerVM. A KVM enabled LPAR allows standard Linux KVM tools (for example, &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt;) to create and manage lightweight Linux Virtual Machines (VM). A KVM Linux LPAR uses dedicated cores which enables Linux to have full control of when Linux VMs are scheduled to run, just like KVM on other platforms.&lt;br /&gt;
&lt;br /&gt;
=== Login times out on HMC virtual terminal ===&lt;br /&gt;
&lt;br /&gt;
If you install openSUSE Leap for POWER with the GNOME desktop on LPAR and try to login via the HMC virtual terminal, the login may time out while entering your credentials.&lt;br /&gt;
&lt;br /&gt;
To work around this issue, disable the Plymouth graphical boot screen by appending the boot parameter &amp;lt;code&amp;gt;plymouth.enable=0&amp;lt;/code&amp;gt; to the kernel command line.&lt;br /&gt;
&lt;br /&gt;
== Arm-specific changes (AArch64) ==&lt;br /&gt;
&lt;br /&gt;
=== System-on-Chip driver enablement ===&lt;br /&gt;
&lt;br /&gt;
Leap 16.0 includes driver enablement for the following System-on-Chip (SoC) chipsets:&lt;br /&gt;
* Ampere* X-Gene*, eMAG*, Altra*, Altra Max, AmpereOne*&lt;br /&gt;
* AWS* Graviton, Graviton2, Graviton3&lt;br /&gt;
* Broadcom* BCM2837/BCM2710, BCM2711&lt;br /&gt;
* Fujitsu* A64FX&lt;br /&gt;
* Huawei* Kunpeng* 916, Kunpeng 920&lt;br /&gt;
* Marvell* ThunderX*, ThunderX2*; OCTEON TX*; Armada* 7040, Armada 8040&lt;br /&gt;
* NVIDIA* Grace; Tegra* X1, Tegra X2, Xavier*, Orin; Blue﻿Field*, Blue﻿Field-2, Blue﻿Field-3&lt;br /&gt;
* NXP* i.MX 8M, 8M Mini; Layerscape* LS1012A, LS1027A/LS1017A, LS1028A/LS1018A, LS1043A, LS1046A, LS1088A, LS2080A/LS2040A, LS2088A, LX2160A&lt;br /&gt;
* Rockchip RK3399&lt;br /&gt;
* Socionext* SynQuacer* SC2A11&lt;br /&gt;
* Xilinx* Zynq* UltraScale*﻿+ MPSoC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Driver enablement is done as far as available and requested. Refer to the following sections for any known limitations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some systems might need additional drivers for external chips, such as a Power Management Integrated Chip (PMIC), which may differ between systems with the same SoC chipset.&lt;br /&gt;
&lt;br /&gt;
For booting, systems need to fulfill either the Server Base Boot Requirements (SBBR) or the Embedded Base Boot Requirements (EBBR), that is, the Unified Extensible Firmware Interface (UEFI) either implementing the Advanced Configuration and Power Interface (ACPI) or providing a Flat Device Tree (FDT) table. If both are implemented, the kernel will default to the Device Tree; the kernel command line argument &amp;lt;code&amp;gt;acpi=force&amp;lt;/code&amp;gt; can override this default behavior.&lt;br /&gt;
&lt;br /&gt;
Check for SUSE &#039;&#039;YES!&#039;&#039; certified systems, which have undergone compatibility testing.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
* iSCSI boot support is disabled in OVMF images.&lt;br /&gt;
&lt;br /&gt;
=== QEMU ===&lt;br /&gt;
&lt;br /&gt;
QEMU has been updated to version 10.0.2, full list of changes are available at https://wiki.qemu.org/ChangeLog/10.0&lt;br /&gt;
&lt;br /&gt;
Highlights include:&lt;br /&gt;
* Removed features: https://qemu-project.gitlab.io/qemu/about/removed-features.html&lt;br /&gt;
* Deprecated features: https://qemu-project.gitlab.io/qemu/about/deprecated.html&lt;br /&gt;
&lt;br /&gt;
=== libvirt ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; has been updated to version 11.4.0, this includes many incremental improvements and bug fixes, see https://libvirt.org/news.html#v11-4-0-2025-06-02.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; provides now a modular daemons.&lt;br /&gt;
&lt;br /&gt;
=== VMware ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; has been updated to version 13.0.0 that addresses a few critical problems and bug fixes. See https://github.com/vmware/open-vm-tools/blob/stable-13.0.0/ReleaseNotes.md.&lt;br /&gt;
&lt;br /&gt;
=== Confidential Computing ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; package has been updated to version 0.6.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; package has been updated to version 0.9.1. Full list of changes is available at: https://github.com/virtee/snpguest/compare/v0.7.1…​v0.9.1&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; package version 0.6.0 has been added.&lt;br /&gt;
&lt;br /&gt;
==== Intel TDX Confidential Computing ====&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 the kernel now incorporates the latest upstream Intel Trust Domain Extensions (TDX) patches. This significant update prepares the virtualization toolstack for Intel TDX confidential computing capabilities.&lt;br /&gt;
&lt;br /&gt;
These patches are important for enabling the kernel to support creating and managing trust domains, which is a step towards enabling confidential computing environments on Intel TDX-enabled hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The full Intel TDX confidential computing experience also requires integrating QEMU and libvirt components, which will be part of a future update.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Enhanced VM Security with AMD SEV-SNP ====&lt;br /&gt;
&lt;br /&gt;
AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) is a hardware security feature in AMD EPYC processors that provides a highly secure and confidential environment for virtual machines (VMs). It offers strong memory confidentiality through per-VM encryption keys and AES encryption, and crucially, robust memory integrity protection to prevent tampering from the hypervisor or other threats. It also provides enhanced isolation and remote attestation capabilities, making it ideal for protecting sensitive data and workloads in untrusted environments like cloud computing. This release fully integrates AMD SEV-SNP for KVM-based virtual machines. This means integrated support in our kernel, along with updated QEMU, Libvirt, and OVMF Firmware. To use AMD SEV-SNP, you’ll need, AMD EPYC™ 3rd Gen Processors (Milan) or newer and SEV-SNP enabled in your system’s BIOS/UEFI.&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; is available in version 2.5, adding support for Intel GNR and SRF platforms.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; is shipped in version 2.0.19. Full changes at: https://github.com/numactl/numactl/releases/tag/v2.0.19&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; has been updated to version 1.55.13.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-v2v&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Update to version 2.7.16. While there are no dedicated release notes, you can review the code changes in Github: https://github.com/libguestfs/virt-v2v/tree/v2.7.16&lt;br /&gt;
* Implement --parallel=N for parallel disk copies&lt;br /&gt;
* Update Translations&lt;br /&gt;
* Various fixes&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; has been updated to 1.12.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; is now shipped in version 5.0.0. Its preferable to setup VNC for remote viewing and do all the XML editing using the &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt; command. Full list of changes is available at https://github.com/virt-manager/virt-manager/releases/tag/v5.0.0&lt;br /&gt;
&lt;br /&gt;
==== virt-bridge-setup ====&lt;br /&gt;
&lt;br /&gt;
virt-bridge-setup is a script designed to simplify network bridge creation on a specified interface using nmcli. It was developed as a replacement for the automatic &amp;quot;yast2 virtualization&amp;quot; bridge creation and is particularly useful for setting up virtualization environments.&lt;br /&gt;
&lt;br /&gt;
Important considerations:&lt;br /&gt;
* It supports IPv4 only.&lt;br /&gt;
* This is a simple script not intended for complex network scenarios (vlan, bonding, etc…​); manual bridge setup is recommended for intricate configurations.&lt;br /&gt;
* The script should be run locally (not remotely) immediately after installation and before any custom network configurations.&lt;br /&gt;
&lt;br /&gt;
== Removed and deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
This section lists features and packages that were removed from openSUSE Leap or will be removed in upcoming versions.&lt;br /&gt;
&lt;br /&gt;
=== Removed features and packages ===&lt;br /&gt;
&lt;br /&gt;
The following features and packages have been removed in this release.&lt;br /&gt;
&lt;br /&gt;
* Xorg server has been removed. Only Wayland is supported for graphical display. X11 applications compatibility is provided via XWayland.&lt;br /&gt;
* &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; has been removed. See Section &amp;quot;[[#saptune replaces sapconf|&amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;]]&amp;quot; for more info.&lt;br /&gt;
* YaST has been removed. See Section &amp;quot;[[#Switch from YaST to Cockpit|Switch from YaST to Cockpit]]&amp;quot; for more info.&lt;br /&gt;
* WSL1 is not supported anymore&lt;br /&gt;
* The Xen hypervisor was removed in favor of KVM. You no longer run SLE 16 as Xen host or as paravirtualized guest (PV). Running SLE 16 as fully virtualized Xen guest (HVM) or using using hardware virtualization features (PVH) is still possible.&lt;br /&gt;
* &amp;lt;code&amp;gt;nscd&amp;lt;/code&amp;gt; has been removed&lt;br /&gt;
* The snIPL package is deprecated as HMC is providing most capabilities. There is also available a command line client to interact with the HMC Web Services API: the zhmccli https://github.com/zhmcclient.&lt;br /&gt;
* Removed &amp;lt;code&amp;gt;rc&amp;lt;service&amp;gt;&amp;lt;/code&amp;gt; controls of systemd services&lt;br /&gt;
* Removed the &amp;lt;code&amp;gt;KBD_DISABLE_CAPS_LOCK&amp;lt;/code&amp;gt; feature from &amp;lt;code&amp;gt;/etc/sysconfig/keyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;netiucv&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;lcs&amp;lt;/code&amp;gt; drivers&lt;br /&gt;
* &amp;lt;code&amp;gt;ansible-9&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ansible-core-2.16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;criu&amp;lt;/code&amp;gt;&lt;br /&gt;
* Section &amp;quot;[[#SysV init.d scripts support|SysV init.d scripts support]]&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;compat-libpthread-nonshared&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;crun&amp;lt;/code&amp;gt; has been removed. Use &amp;lt;code&amp;gt;runc&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
== Deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
The following features and packages are deprecated and will be removed in a future version of openSUSE Leap.&lt;br /&gt;
* The 2MB OVMF image will be deprecated and removed in openSUSE Leap 16.1.&lt;br /&gt;
&lt;br /&gt;
=== nmap deprecation notice ===&lt;br /&gt;
&lt;br /&gt;
The nmap project has moved to a new source license that makes future releases of nmap incompatible with our product.&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, we are shipping the latest version of nmap released under the old license. In an upcoming release we will switch to an alternative tool.&lt;br /&gt;
&lt;br /&gt;
= Obtaining source code =&lt;br /&gt;
&lt;br /&gt;
This SUSE product includes materials licensed to SUSE under the GNU General Public License (GPL). The GPL requires SUSE to provide the source code that corresponds to the GPL-licensed material. The source code is available for download at https://get.opensuse.org on Medium 2. For up to three years after distribution of the SUSE product, upon request, SUSE will mail a copy of the source code. Send requests by e-mail to sle_source_request@suse.com. SUSE may charge a reasonable fee to recover distribution costs.&lt;br /&gt;
&lt;br /&gt;
= Legal notices =&lt;br /&gt;
&lt;br /&gt;
Copyright © 2025-2025 openSUSE contributors and SUSE LLC. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) Version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”.&lt;br /&gt;
&lt;br /&gt;
This document includes content adapted from the SUSE Linux Enterprise release notes, contributed by the SUSE Documentation Team. Portions of the content are maintained by the openSUSE community.&lt;br /&gt;
&lt;br /&gt;
For SUSE trademarks, see https://www.suse.com/company/legal/. For openSUSE trademarks, see https://en.opensuse.org/openSUSE:Trademark_guidelines. All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™, etc.) denote trademarks of SUSE, openSUSE, and their affiliates. Asterisks (*) denote third-party trademarks.&lt;br /&gt;
&lt;br /&gt;
While every effort has been made to ensure accuracy, the openSUSE contributors, SUSE Documentation Team, and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1022</id>
		<title>OpenSUSE Leap 16.0 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1022"/>
		<updated>2025-10-15T01:40:53Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Removed features and packages */ Added section links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;openSUSE Leap is a modern, modular operating system suitable for both traditional IT and multimodal workloads. This document highlights major features, updates, and known limitations.&lt;br /&gt;
&lt;br /&gt;
= About the release notes =&lt;br /&gt;
&lt;br /&gt;
These Release Notes are identical across all architectures, and the most recent version is always available online at https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
Entries are only listed once but they can be referenced in several places if they are important and belong to more than one section.&lt;br /&gt;
&lt;br /&gt;
Release notes usually only list changes that happened between two subsequent releases. Certain important entries from the release notes of previous product versions are repeated. To make these entries easier to identify, they contain a note to that effect.&lt;br /&gt;
&lt;br /&gt;
However, repeated entries are provided as a courtesy only. Therefore, if you are skipping one or more service packs, check the release notes of the skipped service packs as well. If you are only reading the release notes of the current release, you could miss important changes.&lt;br /&gt;
&lt;br /&gt;
== Documentation and other information ==&lt;br /&gt;
&lt;br /&gt;
For the most up-to-date version of the documentation for openSUSE Leap, see:&lt;br /&gt;
&lt;br /&gt;
* https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
This section describes community-driven enhancements, features, and updates that extend the SUSE Linux Enterprise core. These changes reflect the openSUSE project’s unique contributions, including desktop improvements, additional packages, and new workflows.&lt;br /&gt;
&lt;br /&gt;
= openSUSE Leap Community Additions =&lt;br /&gt;
&lt;br /&gt;
== Lifecycle ==&lt;br /&gt;
&lt;br /&gt;
Each openSUSE Leap minor release is published once every 12 months. openSUSE Leap 16 provides maintenance updates over two minor releases, giving each release a full 24 months of community support.&lt;br /&gt;
&lt;br /&gt;
Unless there is a change in release strategy, the final openSUSE Leap version (16.6) will be released in fall 2031 and will continue receiving updates until the release of openSUSE Leap 17.1 two years later.&lt;br /&gt;
&lt;br /&gt;
For more information, see: [https://en.opensuse.org/Roadmap Roadmap].&lt;br /&gt;
&lt;br /&gt;
For more than 24 months of support for a point release, the openSUSE migration tool makes it simple to move to SUSE Linux Enterprise, which provides decades of support. See [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Migration from Leap 15.6 ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] (&amp;lt;code&amp;gt;zypper in opensuse-migration-tool&amp;lt;/code&amp;gt;) is included as part of openSUSE Leap 15.6. Users migrating from older releases can run the tool from [https://github.com/openSUSE/opensuse-migration-tool Git repository].&lt;br /&gt;
&lt;br /&gt;
For more information, refer to: [https://en.opensuse.org/SDB:System_upgrade SDB:System_upgrade].&lt;br /&gt;
&lt;br /&gt;
== Installer and Desktop Environments ==&lt;br /&gt;
&lt;br /&gt;
* openSUSE Leap 16 installer provides only Wayland variants of desktop environments. Xorg-based environments can be installed manually post-installation.&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA and Graphics Issues with the Installation Image ===&lt;br /&gt;
&lt;br /&gt;
Some users with NVIDIA GPUs may experience graphics-related issues during installation, such as boo#1247670 where X server fails to start. This is due to the fact that openSUSE Leap install image contains &amp;lt;code&amp;gt;kernel-default-optional&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;kernel-default-extra&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you encounter problems specific to the &amp;lt;code&amp;gt;nouveau&amp;lt;/code&amp;gt; driver, try booting with the option: &amp;lt;code&amp;gt;rd.driver.blacklist=nouveau&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For general graphics boot problems, use the option: &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Experimental Xfce Wayland session ===&lt;br /&gt;
&lt;br /&gt;
Experimental Xfce Wayland session is available as an installation option. openSUSE Leap is one of the first distributions to provide Wayland support for [https://en.opensuse.org/Portal:Xfce Xfce]. We use &amp;lt;code&amp;gt;gtkgreet&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;greetd&amp;lt;/code&amp;gt; as a Wayland-ready replacement for LightDM (used in the X11 variant).&lt;br /&gt;
&lt;br /&gt;
=== LXQt Wayland session available post install ===&lt;br /&gt;
&lt;br /&gt;
LXQt Wayland session is included, but will become a full installer option in later releases once LXQt Miriway efforts are further developed: https://code.opensuse.org/leap/features/issue/192.&lt;br /&gt;
&lt;br /&gt;
== Changes to the openSUSE Welcome ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16 now uses the &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt; to start the appropriate greeter application. This launcher, in combination with &amp;lt;code&amp;gt;gnome-tour&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;plasma-welcome&amp;lt;/code&amp;gt;, replaces the legacy Qt5-based &amp;lt;code&amp;gt;opensuse-welcome&amp;lt;/code&amp;gt;, which was previously the default greeter.&lt;br /&gt;
&lt;br /&gt;
The launcher also allows the openSUSE release team to update or refresh the displayed greeter via a package update, for example after a major GNOME update. To create a custom appliance without a welcome application, or to deploy a system where the greeter should never appear, remove &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Automated NVIDIA Driver and Repository Setup ==&lt;br /&gt;
&lt;br /&gt;
On supported GPUs, NVIDIA’s open driver is installed by default along with the NVIDIA graphics driver repository. In openSUSE Leap 16, user-space drivers are also automatically installed, enabling graphical acceleration out of the box.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
=== AppArmor ===&lt;br /&gt;
&lt;br /&gt;
AppArmor has been updated from version 3.1 to 4.1.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1 4.0] introduced fine-grained network rules (limitable by IP/port), but kernel support is not upstream yet.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.1.0 4.1] introduced the &amp;lt;code&amp;gt;priority=&amp;lt;number&amp;gt;&amp;lt;/code&amp;gt; rule prefix, which allows overriding rules.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor not available by default on new installations ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer available in SUSE Linux Enterprise 16.0. Leap users cannot select AppArmor as the Linux Security Module (LSM) during a new installation. AppArmor can still be enabled post-installation. For instructions, refer to AppArmor wiki page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Users migrating manually from 15.6 will retain AppArmor by default. Users migrating with [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] will be prompted to either switch to SELinux or preserve AppArmor during post-migration.&lt;br /&gt;
&lt;br /&gt;
== Steam ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Steam&amp;lt;/code&amp;gt; package has been removed from the [https://en.opensuse.org/Package_repositories#Non-OSS Non-OSS repository] due to limited 32-bit library support. Users are advised to install it via [https://en.opensuse.org/Steam#Flatpak Flatpak].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 32-bit execution requires installing &amp;lt;code&amp;gt;grub2-compat-ia32&amp;lt;/code&amp;gt; and rebooting.&lt;br /&gt;
* SELinux users may also need &amp;lt;code&amp;gt;selinux-policy-targeted-gaming&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/Portal:SELinux/Common_issues#Steam_Proton,_Bottles,_WINE,_Lutris,_not_working SELinux wiki page].&lt;br /&gt;
&lt;br /&gt;
== Wine ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap includes wine 10.10, available only in the [https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine#shared-wow64 wow64] flavor. Users requiring 32-bit binary execution should consider using the Flatpak version or a similar solution.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
=== Broken libvirt networking when using Docker ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If networking inside libvirt-managed virtual machines fails while Docker is running, it is likely due to Docker not supporting &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To fix the issue:&lt;br /&gt;
* Edit &amp;lt;code&amp;gt;/etc/libvirt/network.conf&amp;lt;/code&amp;gt; and set:&lt;br /&gt;
 firewall_backend = &amp;quot;iptables&amp;quot;&lt;br /&gt;
* Add the virtual network interface to the libvirt firewall zone:&lt;br /&gt;
 firewall-cmd --add-interface=virbr0 --zone=libvirt --permanent&lt;br /&gt;
 firewall-cmd --reload&lt;br /&gt;
* Restart libvirt and related services:&lt;br /&gt;
 systemctl restart libvirtd&lt;br /&gt;
This restores networking for libvirt VMs while Docker is active.&lt;br /&gt;
&lt;br /&gt;
== GNU Health ==&lt;br /&gt;
&lt;br /&gt;
[https://www.gnuhealth.org/ GNU Health] has been updated to major release 5.0.2. The underlying ERP framework, Tryton, has been updated to LTS version 7.0. Functional improvements include enhanced medical image workflows and better integration with Orthanc 1.12.9 (PACS server).&lt;br /&gt;
&lt;br /&gt;
== PipeWire replaces PulseAudio ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses PipeWire by default. Users upgrading from previous releases should be automatically migrated from PulseAudio. &amp;lt;code&amp;gt;opensuse-migration-tool&amp;lt;/code&amp;gt; provides a post-migration script if migration does not occur automatically.&lt;br /&gt;
&lt;br /&gt;
If experiencing audio issues, ensure you are not using the &amp;lt;code&amp;gt;wireplumber-video-only-profile&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/openSUSE:Pipewire#Installation PipeWire#Installation] for details.&lt;br /&gt;
&lt;br /&gt;
== Hexchat drop ==&lt;br /&gt;
&lt;br /&gt;
Hexchat IRC client has been dropped as the [https://github.com/hexchat/hexchat upstream project] is archived. Alternatives include [https://software.opensuse.org/package/polari Polari] or the Flatpak version: [https://flathub.org/en/apps/io.github.Hexchat Flatpak].&lt;br /&gt;
&lt;br /&gt;
== Configuring boot entry with serial console ==&lt;br /&gt;
&lt;br /&gt;
See https://en.opensuse.org/SDB:SerialConsole for guidance.&lt;br /&gt;
&lt;br /&gt;
This section describes the enterprise-grade foundation of openSUSE Leap, based on SUSE Linux Enterprise. Content here is adapted from the SUSE Linux Enterprise release notes to reflect core functionality, security updates, and enterprise features that openSUSE Leap inherits.&lt;br /&gt;
&lt;br /&gt;
= SUSE Linux Enterprise Core =&lt;br /&gt;
&lt;br /&gt;
== What&#039;s new? ==&lt;br /&gt;
&lt;br /&gt;
=== Package and module changes in 16.0 ===&lt;br /&gt;
&lt;br /&gt;
The full list of changed packages compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/package-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
The full list of changed modules compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/module-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
== Support and lifecycle ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap is backed by award-winning support from SUSE, an established technology leader with a proven history of delivering enterprise-quality support services.&lt;br /&gt;
&lt;br /&gt;
The current version (16.0) will be fully maintained and supported until 31 Jul 2034.&lt;br /&gt;
&lt;br /&gt;
If you need additional time to design, validate and test your upgrade plans, Long Term Service Pack Support can extend the support duration. You can buy an additional 12 to 36 months in twelve month increments. This means that you can receive support up to Dec 2037.&lt;br /&gt;
&lt;br /&gt;
For more information, see the pages [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Support statement for openSUSE Leap ==&lt;br /&gt;
&lt;br /&gt;
To receive support, you need an appropriate subscription with SUSE. For more information, see https://forums.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
The following definitions apply:&lt;br /&gt;
&lt;br /&gt;
;L1&lt;br /&gt;
:Problem determination, which means technical support designed to provide compatibility information, usage support, ongoing maintenance, information gathering, and basic troubleshooting using the documentation.&lt;br /&gt;
;L2&lt;br /&gt;
:Problem isolation, which means technical support designed to analyze data, reproduce customer problems, isolate the problem area, and provide a resolution for problems not resolved by Level 1 or prepare for Level 3.&lt;br /&gt;
;L3&lt;br /&gt;
:Problem resolution, which means technical support designed to resolve problems by engaging engineering to resolve product defects which have been identified by Level 2 Support.&lt;br /&gt;
&lt;br /&gt;
For contracted customers and partners, openSUSE Leap is delivered with L3 support for all packages, except for the following:&lt;br /&gt;
* Technology Previews, see Section  &amp;quot;[[#Technology previews|Technology previews]]&amp;quot;&lt;br /&gt;
* Sound, graphics, fonts and artwork&lt;br /&gt;
* Packages that require an additional customer contract, see Section &amp;quot;[[#Software requiring specific contracts|Software requiring specific contracts]]&amp;quot;&lt;br /&gt;
* Some packages shipped as part of the module &#039;&#039;Workstation Extension&#039;&#039; are L2-supported only&lt;br /&gt;
* Packages with names ending in &amp;lt;code&amp;gt;-devel&amp;lt;/code&amp;gt; (containing header files and similar developer resources) will only be supported together with their main packages.&lt;br /&gt;
&lt;br /&gt;
SUSE will only support the usage of original packages. That is, packages that are unchanged and not recompiled.&lt;br /&gt;
&lt;br /&gt;
=== General support ===&lt;br /&gt;
&lt;br /&gt;
To learn about supported features and limitations, refer to the following sections in this document:&lt;br /&gt;
* Section &amp;quot;[[#Virtualization|Virtualization]]&amp;quot;&lt;br /&gt;
* Section &amp;quot;[[#Removed and deprecated features and packages|Removed and deprecated features and packages]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Software requiring specific contracts ===&lt;br /&gt;
&lt;br /&gt;
Certain software delivered as part of openSUSE Leap may require an external contract. Check the support status of individual packages using the RPM metadata that can be viewed with &amp;lt;code&amp;gt;rpm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;YaST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Major packages and groups of packages affected by this are:&lt;br /&gt;
* PostgreSQL (all versions, including all subpackages)&lt;br /&gt;
&lt;br /&gt;
=== Software under GNU AGPL ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped &#039;&#039;only&#039;&#039; under a GNU AGPL software license:&lt;br /&gt;
* Ghostscript (including subpackages)&lt;br /&gt;
* &amp;lt;code&amp;gt;velociraptor&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;velociraptor-client&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zypp-boot-plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped under multiple licenses that include a GNU AGPL software license:&lt;br /&gt;
* MySpell dictionaries and LightProof&lt;br /&gt;
* ArgyllCMS&lt;br /&gt;
&lt;br /&gt;
== Technology previews ==&lt;br /&gt;
&lt;br /&gt;
Technology previews are packages, stacks, or features delivered by SUSE to provide glimpses into upcoming innovations. Technology previews are included for your convenience to give you a chance to test new technologies within your environment. We would appreciate your feedback! If you test a technology preview, contact your SUSE representative and let them know about your experience and use cases. Your input is helpful for future development.&lt;br /&gt;
&lt;br /&gt;
Technology previews come with the following limitations:&lt;br /&gt;
* Technology previews are still in development. Therefore, they may be functionally incomplete, unstable, or in other ways not suitable for production use.&lt;br /&gt;
* Technology previews are not supported.&lt;br /&gt;
* Technology previews may only be available for specific hardware architectures. Details and functionality of technology previews are subject to change. As a result, upgrading to subsequent releases of a technology preview may be impossible and require a fresh installation.&lt;br /&gt;
* Technology previews can be removed from a product at any time. This may be the case, for example, if SUSE discovers that a preview does not meet the customer or market needs, or does not comply with enterprise standards.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
As technology preview, &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is available in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is intentionally built without Btrfs support. Btrfs filesystems can be multi-device (for example, RAID1) but &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; currently only supports a single device per mount.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rasdaemon&amp;lt;/code&amp;gt; has been updated to version 8.3.0. This version supports machine checks related to CXL memory.&lt;br /&gt;
* We now provide Grafana Alloy which can integrate with SUSE Observability as well.&lt;br /&gt;
* &amp;lt;code&amp;gt;NetworkManager&amp;lt;/code&amp;gt; is now the only network configuration stack in openSUSE Leap 16.0.&lt;br /&gt;
* We now provide a unified image that can be used to install either SLES or SLES for SAP&lt;br /&gt;
&lt;br /&gt;
=== Userspace live patching ===&lt;br /&gt;
&lt;br /&gt;
Currently, &amp;lt;code&amp;gt;libpulp&amp;lt;/code&amp;gt; supports ULP (user space live patching) of &amp;lt;code&amp;gt;glibc&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt; binaries on the following architectures:&lt;br /&gt;
* x86-64&lt;br /&gt;
* ppc64le&lt;br /&gt;
&lt;br /&gt;
For more information see https://documentation.suse.com/sles/15-SP7/html/SLES-all/cha-ulp.html&lt;br /&gt;
&lt;br /&gt;
=== Switch to &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API in &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; mount command has switched from the old string-based method to the new kernel &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API. This change introduces new features but also comes with some minor incompatibilities.&lt;br /&gt;
&lt;br /&gt;
There is a special case that cannot be handled by &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; and needs to be handled by applications:&lt;br /&gt;
* &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; discriminates between the physical mount layer and the virtual mount layer&lt;br /&gt;
* once the physical mount layer is read-only, read-write mount on the virtual layer is not possible&lt;br /&gt;
&lt;br /&gt;
If the first mount is read-only, then the physical filesystem is mounted read-only, and later mounting of the same file system as read-write is not possible. To solve this problem, the first mount needs to be read-only on the virtual layer only, keeping the physical layer read-write. The userspace fix is simple. Instead of:&lt;br /&gt;
 mount -oro&lt;br /&gt;
use&lt;br /&gt;
 mount -oro=vfs&lt;br /&gt;
&lt;br /&gt;
This will keep the physical layer read-write, but the virtual file system layer (and the userspace access) read-only.&lt;br /&gt;
&lt;br /&gt;
=== Switch to predictable network names ===&lt;br /&gt;
&lt;br /&gt;
The persistent network naming scheme used in Leap 15 became legacy with the switch to the systemd predictable network names. For complicated setups, we recommend using &amp;lt;code&amp;gt;systemd.link&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see:&lt;br /&gt;
* https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the future, when upgrading from SL Micro to Leap 16.1 (so-called &amp;quot;SLE merge&amp;quot;), some systems will have &amp;lt;code&amp;gt;net.ifnames=0&amp;lt;/code&amp;gt; set on their kernel command line (this is the case for new installations of SL Micro 6.0 and 6.1). This boot option will prevent the system from switching to the predictable naming scheme and it will need to be removed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== systemd default configurations moved to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Main configuration files have been moved from &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;. This ensures that main configuration files have lower precedence, allowing them to be overriden by package-supplied drop-in snippets.&lt;br /&gt;
&lt;br /&gt;
Local configuration should be created by either modifying the default file in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; (or a copy of it placed in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; if the original file is shipped in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;), or by creating drop-in snippets in the appropriate directory in (for example, &amp;lt;code&amp;gt;/etc/systemd/coredump.conf.d/&amp;lt;/code&amp;gt;) - this is recommended.&lt;br /&gt;
&lt;br /&gt;
Remove configurations in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to restore defaults.&lt;br /&gt;
&lt;br /&gt;
=== Password access as root via SSH disabled ===&lt;br /&gt;
&lt;br /&gt;
Previously, it was possible to SSH as root using password-based authentication. In Leap 16.0 only key-based authentication is allowed by default. Systems upgraded to 16.0 from a previous version will carry over the old behavior. New installations will enforce the new behavior.&lt;br /&gt;
&lt;br /&gt;
Installing the package &amp;lt;code&amp;gt;openssh-server-config-rootlogin&amp;lt;/code&amp;gt; restores the old behavior and allows password-based login for the root user.&lt;br /&gt;
&lt;br /&gt;
=== Minimum hardware requirements ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires hardware to meet requirements on these architectures:&lt;br /&gt;
* For AMD64 and Intel* 64 systems: Microarchitecture level x86-64-v2 or higher.&lt;br /&gt;
* For IBM* Power LE systems: POWER10 or higher (see note below).&lt;br /&gt;
* For Arm64* systems: Armv8.0-A or higher.&lt;br /&gt;
* For IBM* Z systems: z14 or higher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
POWER9 systems may work with Leap 16.0 but are not supported by IBM, the hardware vendor.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SHA1 to be disabled or mark unapproved ===&lt;br /&gt;
&lt;br /&gt;
Due to FIPS 140-3 certification requirements, the SHA1 cryptographic algorithm will be disabled or marked unapproved when running in FIPS mode.&lt;br /&gt;
&lt;br /&gt;
=== Added &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; package contains a daemon that tunes system settings dynamically.&lt;br /&gt;
&lt;br /&gt;
=== Lightweight guard region support ===&lt;br /&gt;
&lt;br /&gt;
This is a new feature in &amp;lt;code&amp;gt;madvise()&amp;lt;/code&amp;gt; that installs a lightweight guard region into a specified address range.&lt;br /&gt;
&lt;br /&gt;
See [https://manpages.opensuse.org/Leap-16.0/man-pages/madvise.2.en.html#MADV_GUARD_INSTALL madvise() man page] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Harmless error messages sometimes displayed when launching some applications ===&lt;br /&gt;
&lt;br /&gt;
The following messages are sometimes displayed when launching specific applications:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;gnome-desktop&amp;lt;/code&amp;gt; some times failes to create transient scope:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; gnome-session-binary: GnomeDesktop-WARNING: Could not create transient scope for PID 7883: GDBus.Error:org.freedesktop.DBus.Error.UnixProcessIdUnknown: Process with ID 7883 does not exist.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; sometimes fails to assign cgroup:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Couldn&#039;t move process 6708 to requested cgroup &#039;/user.slice/user-0.slice/user@0.service/app.slice/app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope&#039;: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed to add PIDs to scope&#039;s control group: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed with result &#039;resources&#039;.&lt;br /&gt;
&amp;gt; systemd: Failed to start Application launched by gnome-session-binary.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These messages are harmless and can be ignored.&lt;br /&gt;
&lt;br /&gt;
=== NFS over TLS support ===&lt;br /&gt;
&lt;br /&gt;
NFS over TLS is now supported for storage traffic.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; is replaced with &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; will also be enabled with a base tuning, similar to &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;. Base tuning only will be enabled if &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; was not configured before (no SAP Notes or Solutions selected).&lt;br /&gt;
&lt;br /&gt;
=== Azure Entra ID authentication via &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; package has been added. It provides interoperability with Microsoft Azure Entra ID and Intune. It supports Linux authentication to Microsoft Azure Entra ID via PAM and NSS modules.&lt;br /&gt;
&lt;br /&gt;
For more information see https://github.com/himmelblau-idm/himmelblau.&lt;br /&gt;
&lt;br /&gt;
=== Legacy BIOS support ===&lt;br /&gt;
&lt;br /&gt;
Legacy BIOS is still supported in openSUSE Leap 16.0. However, some features are not available when using it (for example, full-disk encryption with TPM). Finally, support for legacy BIOS will be discontinued in the future. For that reason we recommend switching to UEFI at the nearest opportunity.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; not persistent ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0, &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; is no longer persistent between reboots but uses &amp;lt;code&amp;gt;tmpfs&amp;lt;/code&amp;gt; instead. See https://susedoc.github.io/doc-modular/main/html/SLE-comparison/index.html#sle16-tmp for more information.&lt;br /&gt;
&lt;br /&gt;
=== Python update strategy ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; is currently set to use Python 3.13. In a future minor version update this is likely going to be changed to a newer Python version.&lt;br /&gt;
* openSUSE Leap 16.0 contains around 700 popular Python packages, which form a basic set of functionality for packages that depends on Python and for developing apps without needing to install Python modules from an external provider.&lt;br /&gt;
* We have been working on removing the dependencies of packages and tools on the &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; binary, which means that openSUSE Leap could use a newer version of the Python interpreter in the future. This new Python interpreter will coexist with the previous version that will then be maintained as legacy interpreter for a limited time.&lt;br /&gt;
&lt;br /&gt;
=== Removal of 32-bit support ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 only supports 64-bit binaries. Support for 32-bit binaries (or 31-bit binaries on IBM Z) has been removed.&lt;br /&gt;
&lt;br /&gt;
This means that statically-linked 32-bit binaries (or 31-bit binaries on IBM Z) and container images cannot be run anymore. 32-bit syscalls are still enabled by default on arm64, and can be enabled on x86_64 via the kernel parameter &amp;lt;code&amp;gt;ia32_emulation&amp;lt;/code&amp;gt;. On other architectures it’s disabled without any option to enable it.&lt;br /&gt;
&lt;br /&gt;
=== Compiling kernel uses non-default compiler ===&lt;br /&gt;
&lt;br /&gt;
Customers who need to build kernel modules or rebuild the kernel must use the same compiler version the kernel was built with. The kernel is built with &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13, which is not the default compiler. Install the &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13 compiler using the gcc13 package and invoke it with the command &amp;lt;code&amp;gt;gcc-13&amp;lt;/code&amp;gt;. This specific compiler version is only supported for building kernel modules and the kernel.&lt;br /&gt;
&lt;br /&gt;
=== Optimized libraries for newer hardware architectures ===&lt;br /&gt;
&lt;br /&gt;
We have added support for the glibc-HWCAPS feature which loads optimized versions of libraries for specific newer CPUs automatically.&lt;br /&gt;
&lt;br /&gt;
The build infrastructure for this feature is enabled for the following libraries:&lt;br /&gt;
* &amp;lt;code&amp;gt;blosc2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;boost&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;brotli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bzip2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;flac&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;jsoncpp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lame&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;leveldb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libdb-4_8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libgcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libiscsi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjpeg-turbo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjxl&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libmng&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libnettle&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libpng16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libvorbis&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libxmlb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lz4&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lzo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openjpeg2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openssl-3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python311&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python313&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sqlite3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;talloc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tree-sitter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xxhash&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zopfli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No remote root login with password ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you install the system using only a &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; password and do not provide an SSH key for the root user, &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; will not be enabled automatically after installation. You will not be able to log in remotely as root using the password.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, remote password-based &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login is disabled. The installer enables the &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; service only when an SSH key for root is configured during setup. To allow remote &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login, configure an SSH key for root during installation.&lt;br /&gt;
&lt;br /&gt;
=== Default user group assignment changed ===&lt;br /&gt;
&lt;br /&gt;
Previously, all user accounts belonged to a single &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group.&lt;br /&gt;
&lt;br /&gt;
Now instead of being added to the common &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group, each new user now gets their own primary group matching their username. This is due to &amp;lt;code&amp;gt;USERGROUPS_ENAB&amp;lt;/code&amp;gt; being enabled in &amp;lt;code&amp;gt;/usr/etc/login.defs&amp;lt;/code&amp;gt;. This change affects all new installations and upgraded systems that did not change the default &amp;lt;code&amp;gt;/etc/login.defs&amp;lt;/code&amp;gt;. This has several consequences:&lt;br /&gt;
* files created by new users are not group-readable by default&lt;br /&gt;
* configurations that used the primary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition do not work anymore&lt;br /&gt;
* configurations that used the primary or secondary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition need to have the &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group manually added to these user accounts in order to continue to work, for example, to for &amp;lt;code&amp;gt;@users&amp;lt;/code&amp;gt; in the sudoers file&lt;br /&gt;
* home directories inherited from a previous system need to standardize the GID of the files by running: &lt;br /&gt;
:&amp;lt;code&amp;gt;find &amp;quot;$HOME&amp;quot; -group users -exec chgrp myuser {} \;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;chgrp -R myuser &amp;quot;$HOME&amp;quot;&amp;lt;/code&amp;gt; if you did not use any GID other than &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SysV init.d scripts support ===&lt;br /&gt;
&lt;br /&gt;
SysV init.d scripts have been [https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15-SP2/index.html#jsc-SLE-7690 deprecated since Leap 15 SP2].&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, support of SysV init.d scripts has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (RC1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to RC1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; removal ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; file is just a dummy file that will be removed in the future. Software that appends to it without creating it should have its behavior changed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta4) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta4. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Configuring network interfaces during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, the installer does not allow for setting up network interfaces using the UI. However, in the meantime you can use dracut-like command-line options, for example:&lt;br /&gt;
&lt;br /&gt;
 ifname=&amp;lt;interface&amp;gt;:&amp;lt;MAC&amp;gt;&lt;br /&gt;
 ip=&amp;lt;interface&amp;gt;:dhcp&lt;br /&gt;
&lt;br /&gt;
Additionally, the &amp;lt;code&amp;gt;inst.copy_network&amp;lt;/code&amp;gt; is not available in Beta4.&lt;br /&gt;
&lt;br /&gt;
=== SAP workloads on Leap 16.0 ===&lt;br /&gt;
&lt;br /&gt;
For running SAP workloads on openSUSE Leap 16.0, do the following:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Unpack the SAP installer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to change policies:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;semanage boolean -m --on selinuxuser_execmod&lt;br /&gt;
semanage boolean -m --on unconfined_service_transition_to_unconfined_user&lt;br /&gt;
semanage permissive -a snapper_grub_plugin_t&lt;br /&gt;
restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to lable all files:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d ./snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d ./snapshots || restorecon R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install SAP workload or SAP HANA&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Label all files again:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d /.snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d /.snapshots || restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== FIPS 140-3 not working properly ===&lt;br /&gt;
&lt;br /&gt;
FIPS 140-3 installation has not been fully validated and may cause unexpected software failure or crashes. Therefore, we discourage you from using it on Beta4.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta3) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta3. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Kernel crash in QEMU ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires a CPU that supports a so-called &amp;quot;x86-64-v2&amp;quot; microarchitecture. Due to this, running a Leap image using QEMU currently results in a kernel crash.&lt;br /&gt;
&lt;br /&gt;
As a workaround you can run QEMU with the &amp;lt;code&amp;gt;-cpu host&amp;lt;/code&amp;gt; argument.&lt;br /&gt;
&lt;br /&gt;
=== Missing &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library has been deprecated in SLES 15 and finally removed in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
As a workaround for applications that cannot be installed without it (but presumaly do not use it for anything), we provide the &amp;lt;code&amp;gt;libnsl-stub1&amp;lt;/code&amp;gt; package that includes ABI-compatible but otherwise function-less stub of the library file.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; not usable with many interfaces ===&lt;br /&gt;
&lt;br /&gt;
Due to an upstream bug, &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; might take a long time or time out when adding many interfaces. The error occurs when &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; is restarted after applying such a configuration. The following message appears in the system logs:&lt;br /&gt;
 ERROR:dbus.proxies:Introspect error on :1.18:/org/fedoraproject/FirewallD1: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply.&lt;br /&gt;
 Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.&lt;br /&gt;
&lt;br /&gt;
See https://github.com/firewalld/firewalld/issues/1399 for more information.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta2) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta2. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Switch from YaST to Cockpit ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 has switched from YaST to Cockpit for manual system administration. We have enhanced Cockpit with new modules with the intention to upstream them later. Despite being functional, bugs might appear and features might be missing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;: register, de-register and view SUSE Linux Enterprise registrations. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-repositories&amp;lt;/code&amp;gt;: add, remove, view repositories, change settings and refresh them. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;: show installed packages, search available repositories, install and uninstall packages. Requires administrative access. Be aware that there are no safety measures implemented as far as system usability goes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enhanced modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;: update packages from available repositories. The module now allows to individually select packages to update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upstream modules&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-kdump&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-machines&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-podman&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;: these modules are updated to the recent stable base version 332 (or their respective).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default selection&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installation of the pattern &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt; will pull in the following modules: &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-repos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;dovecot 2.4&amp;lt;/code&amp;gt; configuration upgrade ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 &amp;lt;code&amp;gt;dovecot&amp;lt;/code&amp;gt; has been upgraded to version 2.4. The configuration of this version is incompatible with the previous versions.&lt;br /&gt;
&lt;br /&gt;
Configuration has to be updated manually. For more information see https://doc.dovecot.org/2.4.0/installation/upgrade/2.3-to-2.4.html.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Disk configuration UI during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, choosing disk configurations other than &amp;quot;An existing disk&amp;quot; (installation to a single disk) suffer from poor usability. This is expected to change in a future update.&lt;br /&gt;
&lt;br /&gt;
=== Non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; after installation ===&lt;br /&gt;
&lt;br /&gt;
There is currently a known issue that adds a non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; repository which prevents &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; from working correctly.&lt;br /&gt;
&lt;br /&gt;
To fix this issue, remove the repository in question and add the installation medium repository manually:&lt;br /&gt;
# Remove repository with &amp;lt;code&amp;gt;zypper rr&amp;lt;/code&amp;gt;. To remove the first repository, for example, run: &amp;lt;code&amp;gt;zypper rr 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Add the installation medium as repository by running &lt;br /&gt;
#:&amp;lt;pre&amp;gt;zypper ar hd:/install?device=/dev/disk/by-label/agama-installer medium&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:(the &amp;lt;code&amp;gt;medium&amp;lt;/code&amp;gt; at the end is a name you want to give the repository).&lt;br /&gt;
# Run &amp;lt;code&amp;gt;zypper refresh&amp;lt;/code&amp;gt; to refresh the added repository.&lt;br /&gt;
&lt;br /&gt;
=== systemd uses cgroup v2 by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses cgroup v2 by default and v1 is unsupported. If you need to use cgroup v1, SLES 15 SP6 can be switched to hybrid mode using a boot parameter.&lt;br /&gt;
&lt;br /&gt;
== x86-64-specific changes ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to the x86-64 architecture.&lt;br /&gt;
&lt;br /&gt;
=== AMD EPYC Turin automonous frequency scaling ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, the default Linux CPU frequency scaling driver for AMD EPYC Turin (and later processors) has shifted to the AMD P-State driver to enable autonomous frequency scaling.&lt;br /&gt;
&lt;br /&gt;
With the AMD P-State driver, it enables the use of the Energy Performance Preference (EPP) for more granular control over performance versus power efficiency to adjust the CPU frequencies based on workload and hardware feedback dynamically.&lt;br /&gt;
&lt;br /&gt;
== IBM Z-specific changes (s390x) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for IBM Z 16.0. For more information, see https://www.ibm.com/docs/en/linux-on-systems?topic=distributions-suse-linux-enterprise-server&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; providing machine name, kconfig options, new instructions, etc.&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;gdb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;valgrind&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;binutils&amp;lt;/code&amp;gt;&lt;br /&gt;
* Support has been added for IBM z16 - reset DAT-Protection facility support&lt;br /&gt;
* Identify ConnectX devices through port rather than PCHID&lt;br /&gt;
* Processor Activity Instrumentation / Neural Network Processing Assist counters for new IBM Z hardware was added into kernel&lt;br /&gt;
* kprobes are now supported without &amp;lt;code&amp;gt;stop machine&amp;lt;/code&amp;gt;&lt;br /&gt;
* Promiscuous Mode Exploitation for NETH Virtual Functions for IBM z17 and LinuxONE 5&lt;br /&gt;
* Vertical CPU Polarization support for IBM z17 and LinuxONE 5&lt;br /&gt;
* qclib has been updated to support IBM z17&lt;br /&gt;
* The Integrated Accelerator for AI has new operations, which are now supported by libzdnn low-level driver library&lt;br /&gt;
* Enhanced RAS and Call Home for zPCI&lt;br /&gt;
* The kernel image can move into vmalloc space, where random physical pages are used to map virtual pages (V!=R)&lt;br /&gt;
* Add new CPU-MF Counters for new IBM Z Hardware (libpfm)&lt;br /&gt;
* Deactivate CONFIG_QETH_OSX kernel config option&lt;br /&gt;
* Upgrade Mellanox (mlx5) driver to latest version&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
* LPAR level power consumption reporting is now available in kernel and s390-tools.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== In-kernel crypto support ====&lt;br /&gt;
&lt;br /&gt;
With this service pack are additionally supported:&lt;br /&gt;
* MSA 10 XTS instructions for in-kernel crypto&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 12 (SHA3) has been added and introduces new options to call CPACF SHA 3 functions&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 10 XTS crypto PAES support for in-kernel crypto&lt;br /&gt;
&lt;br /&gt;
==== OpenSSL features ====&lt;br /&gt;
&lt;br /&gt;
This release brings these features and improvements:&lt;br /&gt;
* XTS instructions support in libcrypto/openSSL&lt;br /&gt;
* New MSA 11 HMAC instruction support in libcrypto/openSSL&lt;br /&gt;
* Added support for MSA 12 (SHA3), which also introduces new options to call CPACF SHA3 and SHKE functions&lt;br /&gt;
* Extended support of the openssl-pkcs11 provider such that it can be used by programs that issue forks&lt;br /&gt;
* Replace openssl-ibmpkcs11 with openssl-pkcs11&lt;br /&gt;
* Upgrade openssl-ibmca to the latest version&lt;br /&gt;
&lt;br /&gt;
==== openCryptoki ====&lt;br /&gt;
&lt;br /&gt;
* The new version of &amp;lt;code&amp;gt;libica&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libzpc&amp;lt;/code&amp;gt; is included.&lt;br /&gt;
* The openCryptoki CCA Token is now available on x86_64 and ppc64le architectures.&lt;br /&gt;
&lt;br /&gt;
==== p11-kit =====&lt;br /&gt;
&lt;br /&gt;
* Add support for IBM specific attributes and mechanisms to the PKCS11 client-server implementation of p11-kit.&lt;br /&gt;
&lt;br /&gt;
==== pkey ====&lt;br /&gt;
&lt;br /&gt;
* The kernel pkey module can now generate keys AES-XTS keys (MSA 10) and HMAC key (MSA 11) from clear keys.&lt;br /&gt;
* The module can also generate keys represented by identifiers of secure execution retrievable keys.&lt;br /&gt;
* The pkey also supports EP11 API ordinal 6 for secure guests.&lt;br /&gt;
&lt;br /&gt;
==== zcrypt =====&lt;br /&gt;
&lt;br /&gt;
* The zcrypt extends error recovery to deal with device scans of unavailable devices.&lt;br /&gt;
&lt;br /&gt;
=== Virtualization ===&lt;br /&gt;
&lt;br /&gt;
* KVM guests can exploit z17 &amp;amp; LinuxONE 5 CPU features&lt;br /&gt;
* KVM can display available host key hashes for Secure Execution (Query Host-key hash UVC)&lt;br /&gt;
* KVM can benefit from genprotimg rewritten in Rust to re-use existing rust libraries (s390-tools feature)&lt;br /&gt;
* KVM benefits from genprotimg validation of SE image running on particular host(s) (s390-tools feature)&lt;br /&gt;
* KVM benefits from using pvimg info command to display encrypted &amp;amp; unencrypted SE image information (s390-tools)&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM passthrough is available for guests i.e. retrievable secrets in Secure Execution guests&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM implements counters for nested guest shadow events&lt;br /&gt;
* KVM implements virsh hypervisor-cpu-models (libvirt)&lt;br /&gt;
* KVM provides enhanced and dynamic CPU topology for KVM guests (qemu)&lt;br /&gt;
* KVM and libvirt full boot order enables users to attempt booting from multiple targets&lt;br /&gt;
* KVM provides Atomic Memop for Key-Checked Compare-and-swap&lt;br /&gt;
* KVM enhances CCW address translation architectural compliance&lt;br /&gt;
* KVM improves memory reclaiming for z15 Secure Execution guests and above (libvirt)&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; was replaced by &amp;lt;code&amp;gt;blog&amp;lt;/code&amp;gt; on s390x, as &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; couldn&#039;t work without graphical display.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Eigen&amp;lt;/code&amp;gt; library is the backend used by &amp;lt;code&amp;gt;Tensorflow&amp;lt;/code&amp;gt; for computations executed on the CPU. Several GCC adjustments have been implemented to speed up Eigen with IBM z14 support and above.&lt;br /&gt;
* Allow &amp;lt;code&amp;gt;httpd&amp;lt;/code&amp;gt; customers to protect their web server identity using HSMs (via CryptoExpress adapters).&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The latest s390-tool update brings these noticeable changes:&lt;br /&gt;
* Additional channel measurements - kernel &amp;amp; &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* A new tool cpacinfo shall provide information on CPACF including the supported MSA levels, instructions, subfunctions per instruction. https://www.ibm.com/docs/en/linux-on-systems?topic=hw-cpacf&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO ====&lt;br /&gt;
&lt;br /&gt;
Previously, &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; would point to a directory of unpacked files.&lt;br /&gt;
&lt;br /&gt;
Now it needs to point to a loop-mounted ISO via FTP. For example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/agama-online.iso&lt;br /&gt;
 agama.install_url=ftp://$SERVER_URL/install/agama&lt;br /&gt;
&lt;br /&gt;
For more information see https://agama-project.github.io/docs/user/boot_options.&lt;br /&gt;
&lt;br /&gt;
==== Disk selection UI problems during installation ====&lt;br /&gt;
&lt;br /&gt;
If you want to enable a disk, click on &#039;&#039;Storage&#039;&#039; in the left panel, then &#039;&#039;Install new system on&#039;&#039; and choose &amp;quot;storage techs&amp;quot;. Then you can choose a type of disk. This can be avoided if you have defined your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; as described in Section &amp;quot;[[#parmfile now points to ISO|&amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you choose DASD, you should see disks based on your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cio_ignore&amp;lt;/code&amp;gt; configuration. Then choose a disk and activate it by clicking &#039;&#039;Perform an action&#039;&#039; and then &#039;&#039;Activate&#039;&#039;. This can take a moment. If it is not visible, then you need to click on Storage or refresh the page.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;zFCP&#039;&#039; section, after activating a disk a gray line will appear. This is just a visual bug, the disk will activate correctly.&lt;br /&gt;
&lt;br /&gt;
==== Installation failure on zVM ====&lt;br /&gt;
&lt;br /&gt;
Due to a change from &amp;lt;code&amp;gt;linuxrc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;dracut&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to define not only installation source but also a network and disks.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to be filled with a &amp;lt;code&amp;gt;dracut-like&amp;lt;/code&amp;gt; options, for example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/online.iso&lt;br /&gt;
 ip=$IP_address::$IP_gateway:24:SLE16-Beta4:$NETWORK_DEVICE:none&lt;br /&gt;
 rd.zdev=qeth,0.0.0800:0.0.0801:0.0.0802,layer2=1,portno=0&lt;br /&gt;
 cio_ignore=all,!condev,!0.0.0160 nameserver=$NAMEserverIP&lt;br /&gt;
 live.password=linux rd.zdev=dasd,0.0.0160&lt;br /&gt;
&lt;br /&gt;
== POWER-specific changes (ppc64le) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for POWER 16.0.&lt;br /&gt;
&lt;br /&gt;
=== KVM guests in LPAR ===&lt;br /&gt;
&lt;br /&gt;
The ability to run KVM Guests in an LPAR is a new feature in PowerVM Firmware 1060.10 release and supported in openSUSE Leap 16.0. This enables users to run KVM guests in a PowerVM LPAR bringing industry standard Linux KVM virtualization stack to IBM PowerVM, which easily integrates with existing Linux virtualization ecosystem. This enables a lot of interesting usecases which were earlier difficult to realize in a PowerVM LPAR.&lt;br /&gt;
&lt;br /&gt;
KVM in a PowerVM LPAR is a new type of LPAR (logical partition) that allows the openSUSE Leap 16.0 kernel to host KVM guests inside an LPAR on PowerVM. A KVM enabled LPAR allows standard Linux KVM tools (for example, &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt;) to create and manage lightweight Linux Virtual Machines (VM). A KVM Linux LPAR uses dedicated cores which enables Linux to have full control of when Linux VMs are scheduled to run, just like KVM on other platforms.&lt;br /&gt;
&lt;br /&gt;
=== Login times out on HMC virtual terminal ===&lt;br /&gt;
&lt;br /&gt;
If you install openSUSE Leap for POWER with the GNOME desktop on LPAR and try to login via the HMC virtual terminal, the login may time out while entering your credentials.&lt;br /&gt;
&lt;br /&gt;
To work around this issue, disable the Plymouth graphical boot screen by appending the boot parameter &amp;lt;code&amp;gt;plymouth.enable=0&amp;lt;/code&amp;gt; to the kernel command line.&lt;br /&gt;
&lt;br /&gt;
== Arm-specific changes (AArch64) ==&lt;br /&gt;
&lt;br /&gt;
=== System-on-Chip driver enablement ===&lt;br /&gt;
&lt;br /&gt;
Leap 16.0 includes driver enablement for the following System-on-Chip (SoC) chipsets:&lt;br /&gt;
* Ampere* X-Gene*, eMAG*, Altra*, Altra Max, AmpereOne*&lt;br /&gt;
* AWS* Graviton, Graviton2, Graviton3&lt;br /&gt;
* Broadcom* BCM2837/BCM2710, BCM2711&lt;br /&gt;
* Fujitsu* A64FX&lt;br /&gt;
* Huawei* Kunpeng* 916, Kunpeng 920&lt;br /&gt;
* Marvell* ThunderX*, ThunderX2*; OCTEON TX*; Armada* 7040, Armada 8040&lt;br /&gt;
* NVIDIA* Grace; Tegra* X1, Tegra X2, Xavier*, Orin; Blue﻿Field*, Blue﻿Field-2, Blue﻿Field-3&lt;br /&gt;
* NXP* i.MX 8M, 8M Mini; Layerscape* LS1012A, LS1027A/LS1017A, LS1028A/LS1018A, LS1043A, LS1046A, LS1088A, LS2080A/LS2040A, LS2088A, LX2160A&lt;br /&gt;
* Rockchip RK3399&lt;br /&gt;
* Socionext* SynQuacer* SC2A11&lt;br /&gt;
* Xilinx* Zynq* UltraScale*﻿+ MPSoC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Driver enablement is done as far as available and requested. Refer to the following sections for any known limitations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some systems might need additional drivers for external chips, such as a Power Management Integrated Chip (PMIC), which may differ between systems with the same SoC chipset.&lt;br /&gt;
&lt;br /&gt;
For booting, systems need to fulfill either the Server Base Boot Requirements (SBBR) or the Embedded Base Boot Requirements (EBBR), that is, the Unified Extensible Firmware Interface (UEFI) either implementing the Advanced Configuration and Power Interface (ACPI) or providing a Flat Device Tree (FDT) table. If both are implemented, the kernel will default to the Device Tree; the kernel command line argument &amp;lt;code&amp;gt;acpi=force&amp;lt;/code&amp;gt; can override this default behavior.&lt;br /&gt;
&lt;br /&gt;
Check for SUSE &#039;&#039;YES!&#039;&#039; certified systems, which have undergone compatibility testing.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
* iSCSI boot support is disabled in OVMF images.&lt;br /&gt;
&lt;br /&gt;
=== QEMU ===&lt;br /&gt;
&lt;br /&gt;
QEMU has been updated to version 10.0.2, full list of changes are available at https://wiki.qemu.org/ChangeLog/10.0&lt;br /&gt;
&lt;br /&gt;
Highlights include:&lt;br /&gt;
* Removed features: https://qemu-project.gitlab.io/qemu/about/removed-features.html&lt;br /&gt;
* Deprecated features: https://qemu-project.gitlab.io/qemu/about/deprecated.html&lt;br /&gt;
&lt;br /&gt;
=== libvirt ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; has been updated to version 11.4.0, this includes many incremental improvements and bug fixes, see https://libvirt.org/news.html#v11-4-0-2025-06-02.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; provides now a modular daemons.&lt;br /&gt;
&lt;br /&gt;
=== VMware ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; has been updated to version 13.0.0 that addresses a few critical problems and bug fixes. See https://github.com/vmware/open-vm-tools/blob/stable-13.0.0/ReleaseNotes.md.&lt;br /&gt;
&lt;br /&gt;
=== Confidential Computing ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; package has been updated to version 0.6.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; package has been updated to version 0.9.1. Full list of changes is available at: https://github.com/virtee/snpguest/compare/v0.7.1…​v0.9.1&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; package version 0.6.0 has been added.&lt;br /&gt;
&lt;br /&gt;
==== Intel TDX Confidential Computing ====&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 the kernel now incorporates the latest upstream Intel Trust Domain Extensions (TDX) patches. This significant update prepares the virtualization toolstack for Intel TDX confidential computing capabilities.&lt;br /&gt;
&lt;br /&gt;
These patches are important for enabling the kernel to support creating and managing trust domains, which is a step towards enabling confidential computing environments on Intel TDX-enabled hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The full Intel TDX confidential computing experience also requires integrating QEMU and libvirt components, which will be part of a future update.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Enhanced VM Security with AMD SEV-SNP ====&lt;br /&gt;
&lt;br /&gt;
AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) is a hardware security feature in AMD EPYC processors that provides a highly secure and confidential environment for virtual machines (VMs). It offers strong memory confidentiality through per-VM encryption keys and AES encryption, and crucially, robust memory integrity protection to prevent tampering from the hypervisor or other threats. It also provides enhanced isolation and remote attestation capabilities, making it ideal for protecting sensitive data and workloads in untrusted environments like cloud computing. This release fully integrates AMD SEV-SNP for KVM-based virtual machines. This means integrated support in our kernel, along with updated QEMU, Libvirt, and OVMF Firmware. To use AMD SEV-SNP, you’ll need, AMD EPYC™ 3rd Gen Processors (Milan) or newer and SEV-SNP enabled in your system’s BIOS/UEFI.&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; is available in version 2.5, adding support for Intel GNR and SRF platforms.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; is shipped in version 2.0.19. Full changes at: https://github.com/numactl/numactl/releases/tag/v2.0.19&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; has been updated to version 1.55.13.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-v2v&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Update to version 2.7.16. While there are no dedicated release notes, you can review the code changes in Github: https://github.com/libguestfs/virt-v2v/tree/v2.7.16&lt;br /&gt;
* Implement --parallel=N for parallel disk copies&lt;br /&gt;
* Update Translations&lt;br /&gt;
* Various fixes&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; has been updated to 1.12.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; is now shipped in version 5.0.0. Its preferable to setup VNC for remote viewing and do all the XML editing using the &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt; command. Full list of changes is available at https://github.com/virt-manager/virt-manager/releases/tag/v5.0.0&lt;br /&gt;
&lt;br /&gt;
==== virt-bridge-setup ====&lt;br /&gt;
&lt;br /&gt;
virt-bridge-setup is a script designed to simplify network bridge creation on a specified interface using nmcli. It was developed as a replacement for the automatic &amp;quot;yast2 virtualization&amp;quot; bridge creation and is particularly useful for setting up virtualization environments.&lt;br /&gt;
&lt;br /&gt;
Important considerations:&lt;br /&gt;
* It supports IPv4 only.&lt;br /&gt;
* This is a simple script not intended for complex network scenarios (vlan, bonding, etc…​); manual bridge setup is recommended for intricate configurations.&lt;br /&gt;
* The script should be run locally (not remotely) immediately after installation and before any custom network configurations.&lt;br /&gt;
&lt;br /&gt;
== Removed and deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
This section lists features and packages that were removed from openSUSE Leap or will be removed in upcoming versions.&lt;br /&gt;
&lt;br /&gt;
=== Removed features and packages ===&lt;br /&gt;
&lt;br /&gt;
The following features and packages have been removed in this release.&lt;br /&gt;
&lt;br /&gt;
* Xorg server has been removed. Only Wayland is supported for graphical display. X11 applications compatibility is provided via XWayland.&lt;br /&gt;
* &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; has been removed. See Section &amp;quot;[[#saptune replaces sapconf|&amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;&amp;quot; for more info.&lt;br /&gt;
* YaST has been removed. See Section &amp;quot;#Switch from YaST to Cockpit|Switch from YaST to Cockpit&amp;quot; for more info.&lt;br /&gt;
* WSL1 is not supported anymore&lt;br /&gt;
* The Xen hypervisor was removed in favor of KVM. You no longer run SLE 16 as Xen host or as paravirtualized guest (PV). Running SLE 16 as fully virtualized Xen guest (HVM) or using using hardware virtualization features (PVH) is still possible.&lt;br /&gt;
* &amp;lt;code&amp;gt;nscd&amp;lt;/code&amp;gt; has been removed&lt;br /&gt;
* The snIPL package is deprecated as HMC is providing most capabilities. There is also available a command line client to interact with the HMC Web Services API: the zhmccli https://github.com/zhmcclient.&lt;br /&gt;
* Removed &amp;lt;code&amp;gt;rc&amp;lt;service&amp;gt;&amp;lt;/code&amp;gt; controls of systemd services&lt;br /&gt;
* Removed the &amp;lt;code&amp;gt;KBD_DISABLE_CAPS_LOCK&amp;lt;/code&amp;gt; feature from &amp;lt;code&amp;gt;/etc/sysconfig/keyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;netiucv&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;lcs&amp;lt;/code&amp;gt; drivers&lt;br /&gt;
* &amp;lt;code&amp;gt;ansible-9&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ansible-core-2.16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;criu&amp;lt;/code&amp;gt;&lt;br /&gt;
* Section &amp;quot;#SysV init.d scripts support|SysV init.d scripts support&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;compat-libpthread-nonshared&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;crun&amp;lt;/code&amp;gt; has been removed. Use &amp;lt;code&amp;gt;runc&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
== Deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
The following features and packages are deprecated and will be removed in a future version of openSUSE Leap.&lt;br /&gt;
* The 2MB OVMF image will be deprecated and removed in openSUSE Leap 16.1.&lt;br /&gt;
&lt;br /&gt;
=== nmap deprecation notice ===&lt;br /&gt;
&lt;br /&gt;
The nmap project has moved to a new source license that makes future releases of nmap incompatible with our product.&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, we are shipping the latest version of nmap released under the old license. In an upcoming release we will switch to an alternative tool.&lt;br /&gt;
&lt;br /&gt;
= Obtaining source code =&lt;br /&gt;
&lt;br /&gt;
This SUSE product includes materials licensed to SUSE under the GNU General Public License (GPL). The GPL requires SUSE to provide the source code that corresponds to the GPL-licensed material. The source code is available for download at https://get.opensuse.org on Medium 2. For up to three years after distribution of the SUSE product, upon request, SUSE will mail a copy of the source code. Send requests by e-mail to sle_source_request@suse.com. SUSE may charge a reasonable fee to recover distribution costs.&lt;br /&gt;
&lt;br /&gt;
= Legal notices =&lt;br /&gt;
&lt;br /&gt;
Copyright © 2025-2025 openSUSE contributors and SUSE LLC. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) Version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”.&lt;br /&gt;
&lt;br /&gt;
This document includes content adapted from the SUSE Linux Enterprise release notes, contributed by the SUSE Documentation Team. Portions of the content are maintained by the openSUSE community.&lt;br /&gt;
&lt;br /&gt;
For SUSE trademarks, see https://www.suse.com/company/legal/. For openSUSE trademarks, see https://en.opensuse.org/openSUSE:Trademark_guidelines. All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™, etc.) denote trademarks of SUSE, openSUSE, and their affiliates. Asterisks (*) denote third-party trademarks.&lt;br /&gt;
&lt;br /&gt;
While every effort has been made to ensure accuracy, the openSUSE contributors, SUSE Documentation Team, and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1021</id>
		<title>OpenSUSE Leap 16.0 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1021"/>
		<updated>2025-10-15T01:38:20Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Disk selection UI problems during installation */ Added section link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;openSUSE Leap is a modern, modular operating system suitable for both traditional IT and multimodal workloads. This document highlights major features, updates, and known limitations.&lt;br /&gt;
&lt;br /&gt;
= About the release notes =&lt;br /&gt;
&lt;br /&gt;
These Release Notes are identical across all architectures, and the most recent version is always available online at https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
Entries are only listed once but they can be referenced in several places if they are important and belong to more than one section.&lt;br /&gt;
&lt;br /&gt;
Release notes usually only list changes that happened between two subsequent releases. Certain important entries from the release notes of previous product versions are repeated. To make these entries easier to identify, they contain a note to that effect.&lt;br /&gt;
&lt;br /&gt;
However, repeated entries are provided as a courtesy only. Therefore, if you are skipping one or more service packs, check the release notes of the skipped service packs as well. If you are only reading the release notes of the current release, you could miss important changes.&lt;br /&gt;
&lt;br /&gt;
== Documentation and other information ==&lt;br /&gt;
&lt;br /&gt;
For the most up-to-date version of the documentation for openSUSE Leap, see:&lt;br /&gt;
&lt;br /&gt;
* https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
This section describes community-driven enhancements, features, and updates that extend the SUSE Linux Enterprise core. These changes reflect the openSUSE project’s unique contributions, including desktop improvements, additional packages, and new workflows.&lt;br /&gt;
&lt;br /&gt;
= openSUSE Leap Community Additions =&lt;br /&gt;
&lt;br /&gt;
== Lifecycle ==&lt;br /&gt;
&lt;br /&gt;
Each openSUSE Leap minor release is published once every 12 months. openSUSE Leap 16 provides maintenance updates over two minor releases, giving each release a full 24 months of community support.&lt;br /&gt;
&lt;br /&gt;
Unless there is a change in release strategy, the final openSUSE Leap version (16.6) will be released in fall 2031 and will continue receiving updates until the release of openSUSE Leap 17.1 two years later.&lt;br /&gt;
&lt;br /&gt;
For more information, see: [https://en.opensuse.org/Roadmap Roadmap].&lt;br /&gt;
&lt;br /&gt;
For more than 24 months of support for a point release, the openSUSE migration tool makes it simple to move to SUSE Linux Enterprise, which provides decades of support. See [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Migration from Leap 15.6 ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] (&amp;lt;code&amp;gt;zypper in opensuse-migration-tool&amp;lt;/code&amp;gt;) is included as part of openSUSE Leap 15.6. Users migrating from older releases can run the tool from [https://github.com/openSUSE/opensuse-migration-tool Git repository].&lt;br /&gt;
&lt;br /&gt;
For more information, refer to: [https://en.opensuse.org/SDB:System_upgrade SDB:System_upgrade].&lt;br /&gt;
&lt;br /&gt;
== Installer and Desktop Environments ==&lt;br /&gt;
&lt;br /&gt;
* openSUSE Leap 16 installer provides only Wayland variants of desktop environments. Xorg-based environments can be installed manually post-installation.&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA and Graphics Issues with the Installation Image ===&lt;br /&gt;
&lt;br /&gt;
Some users with NVIDIA GPUs may experience graphics-related issues during installation, such as boo#1247670 where X server fails to start. This is due to the fact that openSUSE Leap install image contains &amp;lt;code&amp;gt;kernel-default-optional&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;kernel-default-extra&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you encounter problems specific to the &amp;lt;code&amp;gt;nouveau&amp;lt;/code&amp;gt; driver, try booting with the option: &amp;lt;code&amp;gt;rd.driver.blacklist=nouveau&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For general graphics boot problems, use the option: &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Experimental Xfce Wayland session ===&lt;br /&gt;
&lt;br /&gt;
Experimental Xfce Wayland session is available as an installation option. openSUSE Leap is one of the first distributions to provide Wayland support for [https://en.opensuse.org/Portal:Xfce Xfce]. We use &amp;lt;code&amp;gt;gtkgreet&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;greetd&amp;lt;/code&amp;gt; as a Wayland-ready replacement for LightDM (used in the X11 variant).&lt;br /&gt;
&lt;br /&gt;
=== LXQt Wayland session available post install ===&lt;br /&gt;
&lt;br /&gt;
LXQt Wayland session is included, but will become a full installer option in later releases once LXQt Miriway efforts are further developed: https://code.opensuse.org/leap/features/issue/192.&lt;br /&gt;
&lt;br /&gt;
== Changes to the openSUSE Welcome ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16 now uses the &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt; to start the appropriate greeter application. This launcher, in combination with &amp;lt;code&amp;gt;gnome-tour&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;plasma-welcome&amp;lt;/code&amp;gt;, replaces the legacy Qt5-based &amp;lt;code&amp;gt;opensuse-welcome&amp;lt;/code&amp;gt;, which was previously the default greeter.&lt;br /&gt;
&lt;br /&gt;
The launcher also allows the openSUSE release team to update or refresh the displayed greeter via a package update, for example after a major GNOME update. To create a custom appliance without a welcome application, or to deploy a system where the greeter should never appear, remove &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Automated NVIDIA Driver and Repository Setup ==&lt;br /&gt;
&lt;br /&gt;
On supported GPUs, NVIDIA’s open driver is installed by default along with the NVIDIA graphics driver repository. In openSUSE Leap 16, user-space drivers are also automatically installed, enabling graphical acceleration out of the box.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
=== AppArmor ===&lt;br /&gt;
&lt;br /&gt;
AppArmor has been updated from version 3.1 to 4.1.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1 4.0] introduced fine-grained network rules (limitable by IP/port), but kernel support is not upstream yet.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.1.0 4.1] introduced the &amp;lt;code&amp;gt;priority=&amp;lt;number&amp;gt;&amp;lt;/code&amp;gt; rule prefix, which allows overriding rules.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor not available by default on new installations ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer available in SUSE Linux Enterprise 16.0. Leap users cannot select AppArmor as the Linux Security Module (LSM) during a new installation. AppArmor can still be enabled post-installation. For instructions, refer to AppArmor wiki page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Users migrating manually from 15.6 will retain AppArmor by default. Users migrating with [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] will be prompted to either switch to SELinux or preserve AppArmor during post-migration.&lt;br /&gt;
&lt;br /&gt;
== Steam ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Steam&amp;lt;/code&amp;gt; package has been removed from the [https://en.opensuse.org/Package_repositories#Non-OSS Non-OSS repository] due to limited 32-bit library support. Users are advised to install it via [https://en.opensuse.org/Steam#Flatpak Flatpak].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 32-bit execution requires installing &amp;lt;code&amp;gt;grub2-compat-ia32&amp;lt;/code&amp;gt; and rebooting.&lt;br /&gt;
* SELinux users may also need &amp;lt;code&amp;gt;selinux-policy-targeted-gaming&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/Portal:SELinux/Common_issues#Steam_Proton,_Bottles,_WINE,_Lutris,_not_working SELinux wiki page].&lt;br /&gt;
&lt;br /&gt;
== Wine ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap includes wine 10.10, available only in the [https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine#shared-wow64 wow64] flavor. Users requiring 32-bit binary execution should consider using the Flatpak version or a similar solution.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
=== Broken libvirt networking when using Docker ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If networking inside libvirt-managed virtual machines fails while Docker is running, it is likely due to Docker not supporting &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To fix the issue:&lt;br /&gt;
* Edit &amp;lt;code&amp;gt;/etc/libvirt/network.conf&amp;lt;/code&amp;gt; and set:&lt;br /&gt;
 firewall_backend = &amp;quot;iptables&amp;quot;&lt;br /&gt;
* Add the virtual network interface to the libvirt firewall zone:&lt;br /&gt;
 firewall-cmd --add-interface=virbr0 --zone=libvirt --permanent&lt;br /&gt;
 firewall-cmd --reload&lt;br /&gt;
* Restart libvirt and related services:&lt;br /&gt;
 systemctl restart libvirtd&lt;br /&gt;
This restores networking for libvirt VMs while Docker is active.&lt;br /&gt;
&lt;br /&gt;
== GNU Health ==&lt;br /&gt;
&lt;br /&gt;
[https://www.gnuhealth.org/ GNU Health] has been updated to major release 5.0.2. The underlying ERP framework, Tryton, has been updated to LTS version 7.0. Functional improvements include enhanced medical image workflows and better integration with Orthanc 1.12.9 (PACS server).&lt;br /&gt;
&lt;br /&gt;
== PipeWire replaces PulseAudio ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses PipeWire by default. Users upgrading from previous releases should be automatically migrated from PulseAudio. &amp;lt;code&amp;gt;opensuse-migration-tool&amp;lt;/code&amp;gt; provides a post-migration script if migration does not occur automatically.&lt;br /&gt;
&lt;br /&gt;
If experiencing audio issues, ensure you are not using the &amp;lt;code&amp;gt;wireplumber-video-only-profile&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/openSUSE:Pipewire#Installation PipeWire#Installation] for details.&lt;br /&gt;
&lt;br /&gt;
== Hexchat drop ==&lt;br /&gt;
&lt;br /&gt;
Hexchat IRC client has been dropped as the [https://github.com/hexchat/hexchat upstream project] is archived. Alternatives include [https://software.opensuse.org/package/polari Polari] or the Flatpak version: [https://flathub.org/en/apps/io.github.Hexchat Flatpak].&lt;br /&gt;
&lt;br /&gt;
== Configuring boot entry with serial console ==&lt;br /&gt;
&lt;br /&gt;
See https://en.opensuse.org/SDB:SerialConsole for guidance.&lt;br /&gt;
&lt;br /&gt;
This section describes the enterprise-grade foundation of openSUSE Leap, based on SUSE Linux Enterprise. Content here is adapted from the SUSE Linux Enterprise release notes to reflect core functionality, security updates, and enterprise features that openSUSE Leap inherits.&lt;br /&gt;
&lt;br /&gt;
= SUSE Linux Enterprise Core =&lt;br /&gt;
&lt;br /&gt;
== What&#039;s new? ==&lt;br /&gt;
&lt;br /&gt;
=== Package and module changes in 16.0 ===&lt;br /&gt;
&lt;br /&gt;
The full list of changed packages compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/package-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
The full list of changed modules compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/module-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
== Support and lifecycle ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap is backed by award-winning support from SUSE, an established technology leader with a proven history of delivering enterprise-quality support services.&lt;br /&gt;
&lt;br /&gt;
The current version (16.0) will be fully maintained and supported until 31 Jul 2034.&lt;br /&gt;
&lt;br /&gt;
If you need additional time to design, validate and test your upgrade plans, Long Term Service Pack Support can extend the support duration. You can buy an additional 12 to 36 months in twelve month increments. This means that you can receive support up to Dec 2037.&lt;br /&gt;
&lt;br /&gt;
For more information, see the pages [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Support statement for openSUSE Leap ==&lt;br /&gt;
&lt;br /&gt;
To receive support, you need an appropriate subscription with SUSE. For more information, see https://forums.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
The following definitions apply:&lt;br /&gt;
&lt;br /&gt;
;L1&lt;br /&gt;
:Problem determination, which means technical support designed to provide compatibility information, usage support, ongoing maintenance, information gathering, and basic troubleshooting using the documentation.&lt;br /&gt;
;L2&lt;br /&gt;
:Problem isolation, which means technical support designed to analyze data, reproduce customer problems, isolate the problem area, and provide a resolution for problems not resolved by Level 1 or prepare for Level 3.&lt;br /&gt;
;L3&lt;br /&gt;
:Problem resolution, which means technical support designed to resolve problems by engaging engineering to resolve product defects which have been identified by Level 2 Support.&lt;br /&gt;
&lt;br /&gt;
For contracted customers and partners, openSUSE Leap is delivered with L3 support for all packages, except for the following:&lt;br /&gt;
* Technology Previews, see Section  &amp;quot;[[#Technology previews|Technology previews]]&amp;quot;&lt;br /&gt;
* Sound, graphics, fonts and artwork&lt;br /&gt;
* Packages that require an additional customer contract, see Section &amp;quot;[[#Software requiring specific contracts|Software requiring specific contracts]]&amp;quot;&lt;br /&gt;
* Some packages shipped as part of the module &#039;&#039;Workstation Extension&#039;&#039; are L2-supported only&lt;br /&gt;
* Packages with names ending in &amp;lt;code&amp;gt;-devel&amp;lt;/code&amp;gt; (containing header files and similar developer resources) will only be supported together with their main packages.&lt;br /&gt;
&lt;br /&gt;
SUSE will only support the usage of original packages. That is, packages that are unchanged and not recompiled.&lt;br /&gt;
&lt;br /&gt;
=== General support ===&lt;br /&gt;
&lt;br /&gt;
To learn about supported features and limitations, refer to the following sections in this document:&lt;br /&gt;
* Section &amp;quot;[[#Virtualization|Virtualization]]&amp;quot;&lt;br /&gt;
* Section &amp;quot;[[#Removed and deprecated features and packages|Removed and deprecated features and packages]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Software requiring specific contracts ===&lt;br /&gt;
&lt;br /&gt;
Certain software delivered as part of openSUSE Leap may require an external contract. Check the support status of individual packages using the RPM metadata that can be viewed with &amp;lt;code&amp;gt;rpm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;YaST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Major packages and groups of packages affected by this are:&lt;br /&gt;
* PostgreSQL (all versions, including all subpackages)&lt;br /&gt;
&lt;br /&gt;
=== Software under GNU AGPL ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped &#039;&#039;only&#039;&#039; under a GNU AGPL software license:&lt;br /&gt;
* Ghostscript (including subpackages)&lt;br /&gt;
* &amp;lt;code&amp;gt;velociraptor&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;velociraptor-client&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zypp-boot-plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped under multiple licenses that include a GNU AGPL software license:&lt;br /&gt;
* MySpell dictionaries and LightProof&lt;br /&gt;
* ArgyllCMS&lt;br /&gt;
&lt;br /&gt;
== Technology previews ==&lt;br /&gt;
&lt;br /&gt;
Technology previews are packages, stacks, or features delivered by SUSE to provide glimpses into upcoming innovations. Technology previews are included for your convenience to give you a chance to test new technologies within your environment. We would appreciate your feedback! If you test a technology preview, contact your SUSE representative and let them know about your experience and use cases. Your input is helpful for future development.&lt;br /&gt;
&lt;br /&gt;
Technology previews come with the following limitations:&lt;br /&gt;
* Technology previews are still in development. Therefore, they may be functionally incomplete, unstable, or in other ways not suitable for production use.&lt;br /&gt;
* Technology previews are not supported.&lt;br /&gt;
* Technology previews may only be available for specific hardware architectures. Details and functionality of technology previews are subject to change. As a result, upgrading to subsequent releases of a technology preview may be impossible and require a fresh installation.&lt;br /&gt;
* Technology previews can be removed from a product at any time. This may be the case, for example, if SUSE discovers that a preview does not meet the customer or market needs, or does not comply with enterprise standards.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
As technology preview, &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is available in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is intentionally built without Btrfs support. Btrfs filesystems can be multi-device (for example, RAID1) but &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; currently only supports a single device per mount.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rasdaemon&amp;lt;/code&amp;gt; has been updated to version 8.3.0. This version supports machine checks related to CXL memory.&lt;br /&gt;
* We now provide Grafana Alloy which can integrate with SUSE Observability as well.&lt;br /&gt;
* &amp;lt;code&amp;gt;NetworkManager&amp;lt;/code&amp;gt; is now the only network configuration stack in openSUSE Leap 16.0.&lt;br /&gt;
* We now provide a unified image that can be used to install either SLES or SLES for SAP&lt;br /&gt;
&lt;br /&gt;
=== Userspace live patching ===&lt;br /&gt;
&lt;br /&gt;
Currently, &amp;lt;code&amp;gt;libpulp&amp;lt;/code&amp;gt; supports ULP (user space live patching) of &amp;lt;code&amp;gt;glibc&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt; binaries on the following architectures:&lt;br /&gt;
* x86-64&lt;br /&gt;
* ppc64le&lt;br /&gt;
&lt;br /&gt;
For more information see https://documentation.suse.com/sles/15-SP7/html/SLES-all/cha-ulp.html&lt;br /&gt;
&lt;br /&gt;
=== Switch to &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API in &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; mount command has switched from the old string-based method to the new kernel &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API. This change introduces new features but also comes with some minor incompatibilities.&lt;br /&gt;
&lt;br /&gt;
There is a special case that cannot be handled by &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; and needs to be handled by applications:&lt;br /&gt;
* &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; discriminates between the physical mount layer and the virtual mount layer&lt;br /&gt;
* once the physical mount layer is read-only, read-write mount on the virtual layer is not possible&lt;br /&gt;
&lt;br /&gt;
If the first mount is read-only, then the physical filesystem is mounted read-only, and later mounting of the same file system as read-write is not possible. To solve this problem, the first mount needs to be read-only on the virtual layer only, keeping the physical layer read-write. The userspace fix is simple. Instead of:&lt;br /&gt;
 mount -oro&lt;br /&gt;
use&lt;br /&gt;
 mount -oro=vfs&lt;br /&gt;
&lt;br /&gt;
This will keep the physical layer read-write, but the virtual file system layer (and the userspace access) read-only.&lt;br /&gt;
&lt;br /&gt;
=== Switch to predictable network names ===&lt;br /&gt;
&lt;br /&gt;
The persistent network naming scheme used in Leap 15 became legacy with the switch to the systemd predictable network names. For complicated setups, we recommend using &amp;lt;code&amp;gt;systemd.link&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see:&lt;br /&gt;
* https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the future, when upgrading from SL Micro to Leap 16.1 (so-called &amp;quot;SLE merge&amp;quot;), some systems will have &amp;lt;code&amp;gt;net.ifnames=0&amp;lt;/code&amp;gt; set on their kernel command line (this is the case for new installations of SL Micro 6.0 and 6.1). This boot option will prevent the system from switching to the predictable naming scheme and it will need to be removed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== systemd default configurations moved to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Main configuration files have been moved from &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;. This ensures that main configuration files have lower precedence, allowing them to be overriden by package-supplied drop-in snippets.&lt;br /&gt;
&lt;br /&gt;
Local configuration should be created by either modifying the default file in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; (or a copy of it placed in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; if the original file is shipped in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;), or by creating drop-in snippets in the appropriate directory in (for example, &amp;lt;code&amp;gt;/etc/systemd/coredump.conf.d/&amp;lt;/code&amp;gt;) - this is recommended.&lt;br /&gt;
&lt;br /&gt;
Remove configurations in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to restore defaults.&lt;br /&gt;
&lt;br /&gt;
=== Password access as root via SSH disabled ===&lt;br /&gt;
&lt;br /&gt;
Previously, it was possible to SSH as root using password-based authentication. In Leap 16.0 only key-based authentication is allowed by default. Systems upgraded to 16.0 from a previous version will carry over the old behavior. New installations will enforce the new behavior.&lt;br /&gt;
&lt;br /&gt;
Installing the package &amp;lt;code&amp;gt;openssh-server-config-rootlogin&amp;lt;/code&amp;gt; restores the old behavior and allows password-based login for the root user.&lt;br /&gt;
&lt;br /&gt;
=== Minimum hardware requirements ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires hardware to meet requirements on these architectures:&lt;br /&gt;
* For AMD64 and Intel* 64 systems: Microarchitecture level x86-64-v2 or higher.&lt;br /&gt;
* For IBM* Power LE systems: POWER10 or higher (see note below).&lt;br /&gt;
* For Arm64* systems: Armv8.0-A or higher.&lt;br /&gt;
* For IBM* Z systems: z14 or higher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
POWER9 systems may work with Leap 16.0 but are not supported by IBM, the hardware vendor.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SHA1 to be disabled or mark unapproved ===&lt;br /&gt;
&lt;br /&gt;
Due to FIPS 140-3 certification requirements, the SHA1 cryptographic algorithm will be disabled or marked unapproved when running in FIPS mode.&lt;br /&gt;
&lt;br /&gt;
=== Added &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; package contains a daemon that tunes system settings dynamically.&lt;br /&gt;
&lt;br /&gt;
=== Lightweight guard region support ===&lt;br /&gt;
&lt;br /&gt;
This is a new feature in &amp;lt;code&amp;gt;madvise()&amp;lt;/code&amp;gt; that installs a lightweight guard region into a specified address range.&lt;br /&gt;
&lt;br /&gt;
See [https://manpages.opensuse.org/Leap-16.0/man-pages/madvise.2.en.html#MADV_GUARD_INSTALL madvise() man page] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Harmless error messages sometimes displayed when launching some applications ===&lt;br /&gt;
&lt;br /&gt;
The following messages are sometimes displayed when launching specific applications:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;gnome-desktop&amp;lt;/code&amp;gt; some times failes to create transient scope:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; gnome-session-binary: GnomeDesktop-WARNING: Could not create transient scope for PID 7883: GDBus.Error:org.freedesktop.DBus.Error.UnixProcessIdUnknown: Process with ID 7883 does not exist.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; sometimes fails to assign cgroup:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Couldn&#039;t move process 6708 to requested cgroup &#039;/user.slice/user-0.slice/user@0.service/app.slice/app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope&#039;: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed to add PIDs to scope&#039;s control group: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed with result &#039;resources&#039;.&lt;br /&gt;
&amp;gt; systemd: Failed to start Application launched by gnome-session-binary.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These messages are harmless and can be ignored.&lt;br /&gt;
&lt;br /&gt;
=== NFS over TLS support ===&lt;br /&gt;
&lt;br /&gt;
NFS over TLS is now supported for storage traffic.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; is replaced with &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; will also be enabled with a base tuning, similar to &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;. Base tuning only will be enabled if &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; was not configured before (no SAP Notes or Solutions selected).&lt;br /&gt;
&lt;br /&gt;
=== Azure Entra ID authentication via &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; package has been added. It provides interoperability with Microsoft Azure Entra ID and Intune. It supports Linux authentication to Microsoft Azure Entra ID via PAM and NSS modules.&lt;br /&gt;
&lt;br /&gt;
For more information see https://github.com/himmelblau-idm/himmelblau.&lt;br /&gt;
&lt;br /&gt;
=== Legacy BIOS support ===&lt;br /&gt;
&lt;br /&gt;
Legacy BIOS is still supported in openSUSE Leap 16.0. However, some features are not available when using it (for example, full-disk encryption with TPM). Finally, support for legacy BIOS will be discontinued in the future. For that reason we recommend switching to UEFI at the nearest opportunity.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; not persistent ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0, &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; is no longer persistent between reboots but uses &amp;lt;code&amp;gt;tmpfs&amp;lt;/code&amp;gt; instead. See https://susedoc.github.io/doc-modular/main/html/SLE-comparison/index.html#sle16-tmp for more information.&lt;br /&gt;
&lt;br /&gt;
=== Python update strategy ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; is currently set to use Python 3.13. In a future minor version update this is likely going to be changed to a newer Python version.&lt;br /&gt;
* openSUSE Leap 16.0 contains around 700 popular Python packages, which form a basic set of functionality for packages that depends on Python and for developing apps without needing to install Python modules from an external provider.&lt;br /&gt;
* We have been working on removing the dependencies of packages and tools on the &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; binary, which means that openSUSE Leap could use a newer version of the Python interpreter in the future. This new Python interpreter will coexist with the previous version that will then be maintained as legacy interpreter for a limited time.&lt;br /&gt;
&lt;br /&gt;
=== Removal of 32-bit support ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 only supports 64-bit binaries. Support for 32-bit binaries (or 31-bit binaries on IBM Z) has been removed.&lt;br /&gt;
&lt;br /&gt;
This means that statically-linked 32-bit binaries (or 31-bit binaries on IBM Z) and container images cannot be run anymore. 32-bit syscalls are still enabled by default on arm64, and can be enabled on x86_64 via the kernel parameter &amp;lt;code&amp;gt;ia32_emulation&amp;lt;/code&amp;gt;. On other architectures it’s disabled without any option to enable it.&lt;br /&gt;
&lt;br /&gt;
=== Compiling kernel uses non-default compiler ===&lt;br /&gt;
&lt;br /&gt;
Customers who need to build kernel modules or rebuild the kernel must use the same compiler version the kernel was built with. The kernel is built with &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13, which is not the default compiler. Install the &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13 compiler using the gcc13 package and invoke it with the command &amp;lt;code&amp;gt;gcc-13&amp;lt;/code&amp;gt;. This specific compiler version is only supported for building kernel modules and the kernel.&lt;br /&gt;
&lt;br /&gt;
=== Optimized libraries for newer hardware architectures ===&lt;br /&gt;
&lt;br /&gt;
We have added support for the glibc-HWCAPS feature which loads optimized versions of libraries for specific newer CPUs automatically.&lt;br /&gt;
&lt;br /&gt;
The build infrastructure for this feature is enabled for the following libraries:&lt;br /&gt;
* &amp;lt;code&amp;gt;blosc2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;boost&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;brotli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bzip2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;flac&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;jsoncpp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lame&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;leveldb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libdb-4_8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libgcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libiscsi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjpeg-turbo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjxl&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libmng&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libnettle&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libpng16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libvorbis&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libxmlb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lz4&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lzo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openjpeg2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openssl-3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python311&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python313&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sqlite3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;talloc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tree-sitter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xxhash&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zopfli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No remote root login with password ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you install the system using only a &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; password and do not provide an SSH key for the root user, &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; will not be enabled automatically after installation. You will not be able to log in remotely as root using the password.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, remote password-based &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login is disabled. The installer enables the &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; service only when an SSH key for root is configured during setup. To allow remote &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login, configure an SSH key for root during installation.&lt;br /&gt;
&lt;br /&gt;
=== Default user group assignment changed ===&lt;br /&gt;
&lt;br /&gt;
Previously, all user accounts belonged to a single &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group.&lt;br /&gt;
&lt;br /&gt;
Now instead of being added to the common &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group, each new user now gets their own primary group matching their username. This is due to &amp;lt;code&amp;gt;USERGROUPS_ENAB&amp;lt;/code&amp;gt; being enabled in &amp;lt;code&amp;gt;/usr/etc/login.defs&amp;lt;/code&amp;gt;. This change affects all new installations and upgraded systems that did not change the default &amp;lt;code&amp;gt;/etc/login.defs&amp;lt;/code&amp;gt;. This has several consequences:&lt;br /&gt;
* files created by new users are not group-readable by default&lt;br /&gt;
* configurations that used the primary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition do not work anymore&lt;br /&gt;
* configurations that used the primary or secondary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition need to have the &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group manually added to these user accounts in order to continue to work, for example, to for &amp;lt;code&amp;gt;@users&amp;lt;/code&amp;gt; in the sudoers file&lt;br /&gt;
* home directories inherited from a previous system need to standardize the GID of the files by running: &lt;br /&gt;
:&amp;lt;code&amp;gt;find &amp;quot;$HOME&amp;quot; -group users -exec chgrp myuser {} \;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;chgrp -R myuser &amp;quot;$HOME&amp;quot;&amp;lt;/code&amp;gt; if you did not use any GID other than &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SysV init.d scripts support ===&lt;br /&gt;
&lt;br /&gt;
SysV init.d scripts have been [https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15-SP2/index.html#jsc-SLE-7690 deprecated since Leap 15 SP2].&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, support of SysV init.d scripts has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (RC1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to RC1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; removal ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; file is just a dummy file that will be removed in the future. Software that appends to it without creating it should have its behavior changed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta4) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta4. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Configuring network interfaces during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, the installer does not allow for setting up network interfaces using the UI. However, in the meantime you can use dracut-like command-line options, for example:&lt;br /&gt;
&lt;br /&gt;
 ifname=&amp;lt;interface&amp;gt;:&amp;lt;MAC&amp;gt;&lt;br /&gt;
 ip=&amp;lt;interface&amp;gt;:dhcp&lt;br /&gt;
&lt;br /&gt;
Additionally, the &amp;lt;code&amp;gt;inst.copy_network&amp;lt;/code&amp;gt; is not available in Beta4.&lt;br /&gt;
&lt;br /&gt;
=== SAP workloads on Leap 16.0 ===&lt;br /&gt;
&lt;br /&gt;
For running SAP workloads on openSUSE Leap 16.0, do the following:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Unpack the SAP installer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to change policies:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;semanage boolean -m --on selinuxuser_execmod&lt;br /&gt;
semanage boolean -m --on unconfined_service_transition_to_unconfined_user&lt;br /&gt;
semanage permissive -a snapper_grub_plugin_t&lt;br /&gt;
restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to lable all files:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d ./snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d ./snapshots || restorecon R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install SAP workload or SAP HANA&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Label all files again:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d /.snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d /.snapshots || restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== FIPS 140-3 not working properly ===&lt;br /&gt;
&lt;br /&gt;
FIPS 140-3 installation has not been fully validated and may cause unexpected software failure or crashes. Therefore, we discourage you from using it on Beta4.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta3) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta3. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Kernel crash in QEMU ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires a CPU that supports a so-called &amp;quot;x86-64-v2&amp;quot; microarchitecture. Due to this, running a Leap image using QEMU currently results in a kernel crash.&lt;br /&gt;
&lt;br /&gt;
As a workaround you can run QEMU with the &amp;lt;code&amp;gt;-cpu host&amp;lt;/code&amp;gt; argument.&lt;br /&gt;
&lt;br /&gt;
=== Missing &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library has been deprecated in SLES 15 and finally removed in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
As a workaround for applications that cannot be installed without it (but presumaly do not use it for anything), we provide the &amp;lt;code&amp;gt;libnsl-stub1&amp;lt;/code&amp;gt; package that includes ABI-compatible but otherwise function-less stub of the library file.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; not usable with many interfaces ===&lt;br /&gt;
&lt;br /&gt;
Due to an upstream bug, &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; might take a long time or time out when adding many interfaces. The error occurs when &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; is restarted after applying such a configuration. The following message appears in the system logs:&lt;br /&gt;
 ERROR:dbus.proxies:Introspect error on :1.18:/org/fedoraproject/FirewallD1: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply.&lt;br /&gt;
 Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.&lt;br /&gt;
&lt;br /&gt;
See https://github.com/firewalld/firewalld/issues/1399 for more information.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta2) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta2. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Switch from YaST to Cockpit ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 has switched from YaST to Cockpit for manual system administration. We have enhanced Cockpit with new modules with the intention to upstream them later. Despite being functional, bugs might appear and features might be missing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;: register, de-register and view SUSE Linux Enterprise registrations. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-repositories&amp;lt;/code&amp;gt;: add, remove, view repositories, change settings and refresh them. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;: show installed packages, search available repositories, install and uninstall packages. Requires administrative access. Be aware that there are no safety measures implemented as far as system usability goes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enhanced modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;: update packages from available repositories. The module now allows to individually select packages to update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upstream modules&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-kdump&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-machines&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-podman&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;: these modules are updated to the recent stable base version 332 (or their respective).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default selection&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installation of the pattern &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt; will pull in the following modules: &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-repos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;dovecot 2.4&amp;lt;/code&amp;gt; configuration upgrade ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 &amp;lt;code&amp;gt;dovecot&amp;lt;/code&amp;gt; has been upgraded to version 2.4. The configuration of this version is incompatible with the previous versions.&lt;br /&gt;
&lt;br /&gt;
Configuration has to be updated manually. For more information see https://doc.dovecot.org/2.4.0/installation/upgrade/2.3-to-2.4.html.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Disk configuration UI during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, choosing disk configurations other than &amp;quot;An existing disk&amp;quot; (installation to a single disk) suffer from poor usability. This is expected to change in a future update.&lt;br /&gt;
&lt;br /&gt;
=== Non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; after installation ===&lt;br /&gt;
&lt;br /&gt;
There is currently a known issue that adds a non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; repository which prevents &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; from working correctly.&lt;br /&gt;
&lt;br /&gt;
To fix this issue, remove the repository in question and add the installation medium repository manually:&lt;br /&gt;
# Remove repository with &amp;lt;code&amp;gt;zypper rr&amp;lt;/code&amp;gt;. To remove the first repository, for example, run: &amp;lt;code&amp;gt;zypper rr 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Add the installation medium as repository by running &lt;br /&gt;
#:&amp;lt;pre&amp;gt;zypper ar hd:/install?device=/dev/disk/by-label/agama-installer medium&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:(the &amp;lt;code&amp;gt;medium&amp;lt;/code&amp;gt; at the end is a name you want to give the repository).&lt;br /&gt;
# Run &amp;lt;code&amp;gt;zypper refresh&amp;lt;/code&amp;gt; to refresh the added repository.&lt;br /&gt;
&lt;br /&gt;
=== systemd uses cgroup v2 by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses cgroup v2 by default and v1 is unsupported. If you need to use cgroup v1, SLES 15 SP6 can be switched to hybrid mode using a boot parameter.&lt;br /&gt;
&lt;br /&gt;
== x86-64-specific changes ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to the x86-64 architecture.&lt;br /&gt;
&lt;br /&gt;
=== AMD EPYC Turin automonous frequency scaling ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, the default Linux CPU frequency scaling driver for AMD EPYC Turin (and later processors) has shifted to the AMD P-State driver to enable autonomous frequency scaling.&lt;br /&gt;
&lt;br /&gt;
With the AMD P-State driver, it enables the use of the Energy Performance Preference (EPP) for more granular control over performance versus power efficiency to adjust the CPU frequencies based on workload and hardware feedback dynamically.&lt;br /&gt;
&lt;br /&gt;
== IBM Z-specific changes (s390x) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for IBM Z 16.0. For more information, see https://www.ibm.com/docs/en/linux-on-systems?topic=distributions-suse-linux-enterprise-server&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; providing machine name, kconfig options, new instructions, etc.&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;gdb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;valgrind&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;binutils&amp;lt;/code&amp;gt;&lt;br /&gt;
* Support has been added for IBM z16 - reset DAT-Protection facility support&lt;br /&gt;
* Identify ConnectX devices through port rather than PCHID&lt;br /&gt;
* Processor Activity Instrumentation / Neural Network Processing Assist counters for new IBM Z hardware was added into kernel&lt;br /&gt;
* kprobes are now supported without &amp;lt;code&amp;gt;stop machine&amp;lt;/code&amp;gt;&lt;br /&gt;
* Promiscuous Mode Exploitation for NETH Virtual Functions for IBM z17 and LinuxONE 5&lt;br /&gt;
* Vertical CPU Polarization support for IBM z17 and LinuxONE 5&lt;br /&gt;
* qclib has been updated to support IBM z17&lt;br /&gt;
* The Integrated Accelerator for AI has new operations, which are now supported by libzdnn low-level driver library&lt;br /&gt;
* Enhanced RAS and Call Home for zPCI&lt;br /&gt;
* The kernel image can move into vmalloc space, where random physical pages are used to map virtual pages (V!=R)&lt;br /&gt;
* Add new CPU-MF Counters for new IBM Z Hardware (libpfm)&lt;br /&gt;
* Deactivate CONFIG_QETH_OSX kernel config option&lt;br /&gt;
* Upgrade Mellanox (mlx5) driver to latest version&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
* LPAR level power consumption reporting is now available in kernel and s390-tools.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== In-kernel crypto support ====&lt;br /&gt;
&lt;br /&gt;
With this service pack are additionally supported:&lt;br /&gt;
* MSA 10 XTS instructions for in-kernel crypto&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 12 (SHA3) has been added and introduces new options to call CPACF SHA 3 functions&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 10 XTS crypto PAES support for in-kernel crypto&lt;br /&gt;
&lt;br /&gt;
==== OpenSSL features ====&lt;br /&gt;
&lt;br /&gt;
This release brings these features and improvements:&lt;br /&gt;
* XTS instructions support in libcrypto/openSSL&lt;br /&gt;
* New MSA 11 HMAC instruction support in libcrypto/openSSL&lt;br /&gt;
* Added support for MSA 12 (SHA3), which also introduces new options to call CPACF SHA3 and SHKE functions&lt;br /&gt;
* Extended support of the openssl-pkcs11 provider such that it can be used by programs that issue forks&lt;br /&gt;
* Replace openssl-ibmpkcs11 with openssl-pkcs11&lt;br /&gt;
* Upgrade openssl-ibmca to the latest version&lt;br /&gt;
&lt;br /&gt;
==== openCryptoki ====&lt;br /&gt;
&lt;br /&gt;
* The new version of &amp;lt;code&amp;gt;libica&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libzpc&amp;lt;/code&amp;gt; is included.&lt;br /&gt;
* The openCryptoki CCA Token is now available on x86_64 and ppc64le architectures.&lt;br /&gt;
&lt;br /&gt;
==== p11-kit =====&lt;br /&gt;
&lt;br /&gt;
* Add support for IBM specific attributes and mechanisms to the PKCS11 client-server implementation of p11-kit.&lt;br /&gt;
&lt;br /&gt;
==== pkey ====&lt;br /&gt;
&lt;br /&gt;
* The kernel pkey module can now generate keys AES-XTS keys (MSA 10) and HMAC key (MSA 11) from clear keys.&lt;br /&gt;
* The module can also generate keys represented by identifiers of secure execution retrievable keys.&lt;br /&gt;
* The pkey also supports EP11 API ordinal 6 for secure guests.&lt;br /&gt;
&lt;br /&gt;
==== zcrypt =====&lt;br /&gt;
&lt;br /&gt;
* The zcrypt extends error recovery to deal with device scans of unavailable devices.&lt;br /&gt;
&lt;br /&gt;
=== Virtualization ===&lt;br /&gt;
&lt;br /&gt;
* KVM guests can exploit z17 &amp;amp; LinuxONE 5 CPU features&lt;br /&gt;
* KVM can display available host key hashes for Secure Execution (Query Host-key hash UVC)&lt;br /&gt;
* KVM can benefit from genprotimg rewritten in Rust to re-use existing rust libraries (s390-tools feature)&lt;br /&gt;
* KVM benefits from genprotimg validation of SE image running on particular host(s) (s390-tools feature)&lt;br /&gt;
* KVM benefits from using pvimg info command to display encrypted &amp;amp; unencrypted SE image information (s390-tools)&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM passthrough is available for guests i.e. retrievable secrets in Secure Execution guests&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM implements counters for nested guest shadow events&lt;br /&gt;
* KVM implements virsh hypervisor-cpu-models (libvirt)&lt;br /&gt;
* KVM provides enhanced and dynamic CPU topology for KVM guests (qemu)&lt;br /&gt;
* KVM and libvirt full boot order enables users to attempt booting from multiple targets&lt;br /&gt;
* KVM provides Atomic Memop for Key-Checked Compare-and-swap&lt;br /&gt;
* KVM enhances CCW address translation architectural compliance&lt;br /&gt;
* KVM improves memory reclaiming for z15 Secure Execution guests and above (libvirt)&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; was replaced by &amp;lt;code&amp;gt;blog&amp;lt;/code&amp;gt; on s390x, as &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; couldn&#039;t work without graphical display.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Eigen&amp;lt;/code&amp;gt; library is the backend used by &amp;lt;code&amp;gt;Tensorflow&amp;lt;/code&amp;gt; for computations executed on the CPU. Several GCC adjustments have been implemented to speed up Eigen with IBM z14 support and above.&lt;br /&gt;
* Allow &amp;lt;code&amp;gt;httpd&amp;lt;/code&amp;gt; customers to protect their web server identity using HSMs (via CryptoExpress adapters).&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The latest s390-tool update brings these noticeable changes:&lt;br /&gt;
* Additional channel measurements - kernel &amp;amp; &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* A new tool cpacinfo shall provide information on CPACF including the supported MSA levels, instructions, subfunctions per instruction. https://www.ibm.com/docs/en/linux-on-systems?topic=hw-cpacf&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO ====&lt;br /&gt;
&lt;br /&gt;
Previously, &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; would point to a directory of unpacked files.&lt;br /&gt;
&lt;br /&gt;
Now it needs to point to a loop-mounted ISO via FTP. For example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/agama-online.iso&lt;br /&gt;
 agama.install_url=ftp://$SERVER_URL/install/agama&lt;br /&gt;
&lt;br /&gt;
For more information see https://agama-project.github.io/docs/user/boot_options.&lt;br /&gt;
&lt;br /&gt;
==== Disk selection UI problems during installation ====&lt;br /&gt;
&lt;br /&gt;
If you want to enable a disk, click on &#039;&#039;Storage&#039;&#039; in the left panel, then &#039;&#039;Install new system on&#039;&#039; and choose &amp;quot;storage techs&amp;quot;. Then you can choose a type of disk. This can be avoided if you have defined your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; as described in Section &amp;quot;[[#parmfile now points to ISO|&amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you choose DASD, you should see disks based on your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cio_ignore&amp;lt;/code&amp;gt; configuration. Then choose a disk and activate it by clicking &#039;&#039;Perform an action&#039;&#039; and then &#039;&#039;Activate&#039;&#039;. This can take a moment. If it is not visible, then you need to click on Storage or refresh the page.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;zFCP&#039;&#039; section, after activating a disk a gray line will appear. This is just a visual bug, the disk will activate correctly.&lt;br /&gt;
&lt;br /&gt;
==== Installation failure on zVM ====&lt;br /&gt;
&lt;br /&gt;
Due to a change from &amp;lt;code&amp;gt;linuxrc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;dracut&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to define not only installation source but also a network and disks.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to be filled with a &amp;lt;code&amp;gt;dracut-like&amp;lt;/code&amp;gt; options, for example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/online.iso&lt;br /&gt;
 ip=$IP_address::$IP_gateway:24:SLE16-Beta4:$NETWORK_DEVICE:none&lt;br /&gt;
 rd.zdev=qeth,0.0.0800:0.0.0801:0.0.0802,layer2=1,portno=0&lt;br /&gt;
 cio_ignore=all,!condev,!0.0.0160 nameserver=$NAMEserverIP&lt;br /&gt;
 live.password=linux rd.zdev=dasd,0.0.0160&lt;br /&gt;
&lt;br /&gt;
== POWER-specific changes (ppc64le) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for POWER 16.0.&lt;br /&gt;
&lt;br /&gt;
=== KVM guests in LPAR ===&lt;br /&gt;
&lt;br /&gt;
The ability to run KVM Guests in an LPAR is a new feature in PowerVM Firmware 1060.10 release and supported in openSUSE Leap 16.0. This enables users to run KVM guests in a PowerVM LPAR bringing industry standard Linux KVM virtualization stack to IBM PowerVM, which easily integrates with existing Linux virtualization ecosystem. This enables a lot of interesting usecases which were earlier difficult to realize in a PowerVM LPAR.&lt;br /&gt;
&lt;br /&gt;
KVM in a PowerVM LPAR is a new type of LPAR (logical partition) that allows the openSUSE Leap 16.0 kernel to host KVM guests inside an LPAR on PowerVM. A KVM enabled LPAR allows standard Linux KVM tools (for example, &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt;) to create and manage lightweight Linux Virtual Machines (VM). A KVM Linux LPAR uses dedicated cores which enables Linux to have full control of when Linux VMs are scheduled to run, just like KVM on other platforms.&lt;br /&gt;
&lt;br /&gt;
=== Login times out on HMC virtual terminal ===&lt;br /&gt;
&lt;br /&gt;
If you install openSUSE Leap for POWER with the GNOME desktop on LPAR and try to login via the HMC virtual terminal, the login may time out while entering your credentials.&lt;br /&gt;
&lt;br /&gt;
To work around this issue, disable the Plymouth graphical boot screen by appending the boot parameter &amp;lt;code&amp;gt;plymouth.enable=0&amp;lt;/code&amp;gt; to the kernel command line.&lt;br /&gt;
&lt;br /&gt;
== Arm-specific changes (AArch64) ==&lt;br /&gt;
&lt;br /&gt;
=== System-on-Chip driver enablement ===&lt;br /&gt;
&lt;br /&gt;
Leap 16.0 includes driver enablement for the following System-on-Chip (SoC) chipsets:&lt;br /&gt;
* Ampere* X-Gene*, eMAG*, Altra*, Altra Max, AmpereOne*&lt;br /&gt;
* AWS* Graviton, Graviton2, Graviton3&lt;br /&gt;
* Broadcom* BCM2837/BCM2710, BCM2711&lt;br /&gt;
* Fujitsu* A64FX&lt;br /&gt;
* Huawei* Kunpeng* 916, Kunpeng 920&lt;br /&gt;
* Marvell* ThunderX*, ThunderX2*; OCTEON TX*; Armada* 7040, Armada 8040&lt;br /&gt;
* NVIDIA* Grace; Tegra* X1, Tegra X2, Xavier*, Orin; Blue﻿Field*, Blue﻿Field-2, Blue﻿Field-3&lt;br /&gt;
* NXP* i.MX 8M, 8M Mini; Layerscape* LS1012A, LS1027A/LS1017A, LS1028A/LS1018A, LS1043A, LS1046A, LS1088A, LS2080A/LS2040A, LS2088A, LX2160A&lt;br /&gt;
* Rockchip RK3399&lt;br /&gt;
* Socionext* SynQuacer* SC2A11&lt;br /&gt;
* Xilinx* Zynq* UltraScale*﻿+ MPSoC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Driver enablement is done as far as available and requested. Refer to the following sections for any known limitations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some systems might need additional drivers for external chips, such as a Power Management Integrated Chip (PMIC), which may differ between systems with the same SoC chipset.&lt;br /&gt;
&lt;br /&gt;
For booting, systems need to fulfill either the Server Base Boot Requirements (SBBR) or the Embedded Base Boot Requirements (EBBR), that is, the Unified Extensible Firmware Interface (UEFI) either implementing the Advanced Configuration and Power Interface (ACPI) or providing a Flat Device Tree (FDT) table. If both are implemented, the kernel will default to the Device Tree; the kernel command line argument &amp;lt;code&amp;gt;acpi=force&amp;lt;/code&amp;gt; can override this default behavior.&lt;br /&gt;
&lt;br /&gt;
Check for SUSE &#039;&#039;YES!&#039;&#039; certified systems, which have undergone compatibility testing.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
* iSCSI boot support is disabled in OVMF images.&lt;br /&gt;
&lt;br /&gt;
=== QEMU ===&lt;br /&gt;
&lt;br /&gt;
QEMU has been updated to version 10.0.2, full list of changes are available at https://wiki.qemu.org/ChangeLog/10.0&lt;br /&gt;
&lt;br /&gt;
Highlights include:&lt;br /&gt;
* Removed features: https://qemu-project.gitlab.io/qemu/about/removed-features.html&lt;br /&gt;
* Deprecated features: https://qemu-project.gitlab.io/qemu/about/deprecated.html&lt;br /&gt;
&lt;br /&gt;
=== libvirt ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; has been updated to version 11.4.0, this includes many incremental improvements and bug fixes, see https://libvirt.org/news.html#v11-4-0-2025-06-02.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; provides now a modular daemons.&lt;br /&gt;
&lt;br /&gt;
=== VMware ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; has been updated to version 13.0.0 that addresses a few critical problems and bug fixes. See https://github.com/vmware/open-vm-tools/blob/stable-13.0.0/ReleaseNotes.md.&lt;br /&gt;
&lt;br /&gt;
=== Confidential Computing ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; package has been updated to version 0.6.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; package has been updated to version 0.9.1. Full list of changes is available at: https://github.com/virtee/snpguest/compare/v0.7.1…​v0.9.1&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; package version 0.6.0 has been added.&lt;br /&gt;
&lt;br /&gt;
==== Intel TDX Confidential Computing ====&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 the kernel now incorporates the latest upstream Intel Trust Domain Extensions (TDX) patches. This significant update prepares the virtualization toolstack for Intel TDX confidential computing capabilities.&lt;br /&gt;
&lt;br /&gt;
These patches are important for enabling the kernel to support creating and managing trust domains, which is a step towards enabling confidential computing environments on Intel TDX-enabled hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The full Intel TDX confidential computing experience also requires integrating QEMU and libvirt components, which will be part of a future update.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Enhanced VM Security with AMD SEV-SNP ====&lt;br /&gt;
&lt;br /&gt;
AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) is a hardware security feature in AMD EPYC processors that provides a highly secure and confidential environment for virtual machines (VMs). It offers strong memory confidentiality through per-VM encryption keys and AES encryption, and crucially, robust memory integrity protection to prevent tampering from the hypervisor or other threats. It also provides enhanced isolation and remote attestation capabilities, making it ideal for protecting sensitive data and workloads in untrusted environments like cloud computing. This release fully integrates AMD SEV-SNP for KVM-based virtual machines. This means integrated support in our kernel, along with updated QEMU, Libvirt, and OVMF Firmware. To use AMD SEV-SNP, you’ll need, AMD EPYC™ 3rd Gen Processors (Milan) or newer and SEV-SNP enabled in your system’s BIOS/UEFI.&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; is available in version 2.5, adding support for Intel GNR and SRF platforms.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; is shipped in version 2.0.19. Full changes at: https://github.com/numactl/numactl/releases/tag/v2.0.19&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; has been updated to version 1.55.13.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-v2v&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Update to version 2.7.16. While there are no dedicated release notes, you can review the code changes in Github: https://github.com/libguestfs/virt-v2v/tree/v2.7.16&lt;br /&gt;
* Implement --parallel=N for parallel disk copies&lt;br /&gt;
* Update Translations&lt;br /&gt;
* Various fixes&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; has been updated to 1.12.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; is now shipped in version 5.0.0. Its preferable to setup VNC for remote viewing and do all the XML editing using the &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt; command. Full list of changes is available at https://github.com/virt-manager/virt-manager/releases/tag/v5.0.0&lt;br /&gt;
&lt;br /&gt;
==== virt-bridge-setup ====&lt;br /&gt;
&lt;br /&gt;
virt-bridge-setup is a script designed to simplify network bridge creation on a specified interface using nmcli. It was developed as a replacement for the automatic &amp;quot;yast2 virtualization&amp;quot; bridge creation and is particularly useful for setting up virtualization environments.&lt;br /&gt;
&lt;br /&gt;
Important considerations:&lt;br /&gt;
* It supports IPv4 only.&lt;br /&gt;
* This is a simple script not intended for complex network scenarios (vlan, bonding, etc…​); manual bridge setup is recommended for intricate configurations.&lt;br /&gt;
* The script should be run locally (not remotely) immediately after installation and before any custom network configurations.&lt;br /&gt;
&lt;br /&gt;
== Removed and deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
This section lists features and packages that were removed from openSUSE Leap or will be removed in upcoming versions.&lt;br /&gt;
&lt;br /&gt;
=== Removed features and packages ===&lt;br /&gt;
&lt;br /&gt;
The following features and packages have been removed in this release.&lt;br /&gt;
&lt;br /&gt;
* Xorg server has been removed. Only Wayland is supported for graphical display. X11 applications compatibility is provided via XWayland.&lt;br /&gt;
* &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; has been removed. See Section 3.6.7, &amp;quot;&amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;&amp;quot; for more info.&lt;br /&gt;
* YaST has been removed. See Section 3.10.1, &amp;quot;Switch from YaST to Cockpit&amp;quot; for more info.&lt;br /&gt;
* WSL1 is not supported anymore&lt;br /&gt;
* The Xen hypervisor was removed in favor of KVM. You no longer run SLE 16 as Xen host or as paravirtualized guest (PV). Running SLE 16 as fully virtualized Xen guest (HVM) or using using hardware virtualization features (PVH) is still possible.&lt;br /&gt;
* &amp;lt;code&amp;gt;nscd&amp;lt;/code&amp;gt; has been removed&lt;br /&gt;
* The snIPL package is deprecated as HMC is providing most capabilities. There is also available a command line client to interact with the HMC Web Services API: the zhmccli https://github.com/zhmcclient.&lt;br /&gt;
* Removed &amp;lt;code&amp;gt;rc&amp;lt;service&amp;gt;&amp;lt;/code&amp;gt; controls of systemd services&lt;br /&gt;
* Removed the &amp;lt;code&amp;gt;KBD_DISABLE_CAPS_LOCK&amp;lt;/code&amp;gt; feature from &amp;lt;code&amp;gt;/etc/sysconfig/keyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;netiucv&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;lcs&amp;lt;/code&amp;gt; drivers&lt;br /&gt;
* &amp;lt;code&amp;gt;ansible-9&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ansible-core-2.16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;criu&amp;lt;/code&amp;gt;&lt;br /&gt;
* Section 3.6.17, &amp;quot;SysV init.d scripts support&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;compat-libpthread-nonshared&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;crun&amp;lt;/code&amp;gt; has been removed. Use &amp;lt;code&amp;gt;runc&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
== Deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
The following features and packages are deprecated and will be removed in a future version of openSUSE Leap.&lt;br /&gt;
* The 2MB OVMF image will be deprecated and removed in openSUSE Leap 16.1.&lt;br /&gt;
&lt;br /&gt;
=== nmap deprecation notice ===&lt;br /&gt;
&lt;br /&gt;
The nmap project has moved to a new source license that makes future releases of nmap incompatible with our product.&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, we are shipping the latest version of nmap released under the old license. In an upcoming release we will switch to an alternative tool.&lt;br /&gt;
&lt;br /&gt;
= Obtaining source code =&lt;br /&gt;
&lt;br /&gt;
This SUSE product includes materials licensed to SUSE under the GNU General Public License (GPL). The GPL requires SUSE to provide the source code that corresponds to the GPL-licensed material. The source code is available for download at https://get.opensuse.org on Medium 2. For up to three years after distribution of the SUSE product, upon request, SUSE will mail a copy of the source code. Send requests by e-mail to sle_source_request@suse.com. SUSE may charge a reasonable fee to recover distribution costs.&lt;br /&gt;
&lt;br /&gt;
= Legal notices =&lt;br /&gt;
&lt;br /&gt;
Copyright © 2025-2025 openSUSE contributors and SUSE LLC. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) Version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”.&lt;br /&gt;
&lt;br /&gt;
This document includes content adapted from the SUSE Linux Enterprise release notes, contributed by the SUSE Documentation Team. Portions of the content are maintained by the openSUSE community.&lt;br /&gt;
&lt;br /&gt;
For SUSE trademarks, see https://www.suse.com/company/legal/. For openSUSE trademarks, see https://en.opensuse.org/openSUSE:Trademark_guidelines. All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™, etc.) denote trademarks of SUSE, openSUSE, and their affiliates. Asterisks (*) denote third-party trademarks.&lt;br /&gt;
&lt;br /&gt;
While every effort has been made to ensure accuracy, the openSUSE contributors, SUSE Documentation Team, and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1020</id>
		<title>OpenSUSE Leap 16.0 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1020"/>
		<updated>2025-10-15T01:35:57Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Support statement for openSUSE Leap */ Added section links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;openSUSE Leap is a modern, modular operating system suitable for both traditional IT and multimodal workloads. This document highlights major features, updates, and known limitations.&lt;br /&gt;
&lt;br /&gt;
= About the release notes =&lt;br /&gt;
&lt;br /&gt;
These Release Notes are identical across all architectures, and the most recent version is always available online at https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
Entries are only listed once but they can be referenced in several places if they are important and belong to more than one section.&lt;br /&gt;
&lt;br /&gt;
Release notes usually only list changes that happened between two subsequent releases. Certain important entries from the release notes of previous product versions are repeated. To make these entries easier to identify, they contain a note to that effect.&lt;br /&gt;
&lt;br /&gt;
However, repeated entries are provided as a courtesy only. Therefore, if you are skipping one or more service packs, check the release notes of the skipped service packs as well. If you are only reading the release notes of the current release, you could miss important changes.&lt;br /&gt;
&lt;br /&gt;
== Documentation and other information ==&lt;br /&gt;
&lt;br /&gt;
For the most up-to-date version of the documentation for openSUSE Leap, see:&lt;br /&gt;
&lt;br /&gt;
* https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
This section describes community-driven enhancements, features, and updates that extend the SUSE Linux Enterprise core. These changes reflect the openSUSE project’s unique contributions, including desktop improvements, additional packages, and new workflows.&lt;br /&gt;
&lt;br /&gt;
= openSUSE Leap Community Additions =&lt;br /&gt;
&lt;br /&gt;
== Lifecycle ==&lt;br /&gt;
&lt;br /&gt;
Each openSUSE Leap minor release is published once every 12 months. openSUSE Leap 16 provides maintenance updates over two minor releases, giving each release a full 24 months of community support.&lt;br /&gt;
&lt;br /&gt;
Unless there is a change in release strategy, the final openSUSE Leap version (16.6) will be released in fall 2031 and will continue receiving updates until the release of openSUSE Leap 17.1 two years later.&lt;br /&gt;
&lt;br /&gt;
For more information, see: [https://en.opensuse.org/Roadmap Roadmap].&lt;br /&gt;
&lt;br /&gt;
For more than 24 months of support for a point release, the openSUSE migration tool makes it simple to move to SUSE Linux Enterprise, which provides decades of support. See [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Migration from Leap 15.6 ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] (&amp;lt;code&amp;gt;zypper in opensuse-migration-tool&amp;lt;/code&amp;gt;) is included as part of openSUSE Leap 15.6. Users migrating from older releases can run the tool from [https://github.com/openSUSE/opensuse-migration-tool Git repository].&lt;br /&gt;
&lt;br /&gt;
For more information, refer to: [https://en.opensuse.org/SDB:System_upgrade SDB:System_upgrade].&lt;br /&gt;
&lt;br /&gt;
== Installer and Desktop Environments ==&lt;br /&gt;
&lt;br /&gt;
* openSUSE Leap 16 installer provides only Wayland variants of desktop environments. Xorg-based environments can be installed manually post-installation.&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA and Graphics Issues with the Installation Image ===&lt;br /&gt;
&lt;br /&gt;
Some users with NVIDIA GPUs may experience graphics-related issues during installation, such as boo#1247670 where X server fails to start. This is due to the fact that openSUSE Leap install image contains &amp;lt;code&amp;gt;kernel-default-optional&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;kernel-default-extra&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you encounter problems specific to the &amp;lt;code&amp;gt;nouveau&amp;lt;/code&amp;gt; driver, try booting with the option: &amp;lt;code&amp;gt;rd.driver.blacklist=nouveau&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For general graphics boot problems, use the option: &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Experimental Xfce Wayland session ===&lt;br /&gt;
&lt;br /&gt;
Experimental Xfce Wayland session is available as an installation option. openSUSE Leap is one of the first distributions to provide Wayland support for [https://en.opensuse.org/Portal:Xfce Xfce]. We use &amp;lt;code&amp;gt;gtkgreet&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;greetd&amp;lt;/code&amp;gt; as a Wayland-ready replacement for LightDM (used in the X11 variant).&lt;br /&gt;
&lt;br /&gt;
=== LXQt Wayland session available post install ===&lt;br /&gt;
&lt;br /&gt;
LXQt Wayland session is included, but will become a full installer option in later releases once LXQt Miriway efforts are further developed: https://code.opensuse.org/leap/features/issue/192.&lt;br /&gt;
&lt;br /&gt;
== Changes to the openSUSE Welcome ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16 now uses the &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt; to start the appropriate greeter application. This launcher, in combination with &amp;lt;code&amp;gt;gnome-tour&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;plasma-welcome&amp;lt;/code&amp;gt;, replaces the legacy Qt5-based &amp;lt;code&amp;gt;opensuse-welcome&amp;lt;/code&amp;gt;, which was previously the default greeter.&lt;br /&gt;
&lt;br /&gt;
The launcher also allows the openSUSE release team to update or refresh the displayed greeter via a package update, for example after a major GNOME update. To create a custom appliance without a welcome application, or to deploy a system where the greeter should never appear, remove &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Automated NVIDIA Driver and Repository Setup ==&lt;br /&gt;
&lt;br /&gt;
On supported GPUs, NVIDIA’s open driver is installed by default along with the NVIDIA graphics driver repository. In openSUSE Leap 16, user-space drivers are also automatically installed, enabling graphical acceleration out of the box.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
=== AppArmor ===&lt;br /&gt;
&lt;br /&gt;
AppArmor has been updated from version 3.1 to 4.1.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1 4.0] introduced fine-grained network rules (limitable by IP/port), but kernel support is not upstream yet.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.1.0 4.1] introduced the &amp;lt;code&amp;gt;priority=&amp;lt;number&amp;gt;&amp;lt;/code&amp;gt; rule prefix, which allows overriding rules.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor not available by default on new installations ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer available in SUSE Linux Enterprise 16.0. Leap users cannot select AppArmor as the Linux Security Module (LSM) during a new installation. AppArmor can still be enabled post-installation. For instructions, refer to AppArmor wiki page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Users migrating manually from 15.6 will retain AppArmor by default. Users migrating with [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] will be prompted to either switch to SELinux or preserve AppArmor during post-migration.&lt;br /&gt;
&lt;br /&gt;
== Steam ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Steam&amp;lt;/code&amp;gt; package has been removed from the [https://en.opensuse.org/Package_repositories#Non-OSS Non-OSS repository] due to limited 32-bit library support. Users are advised to install it via [https://en.opensuse.org/Steam#Flatpak Flatpak].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 32-bit execution requires installing &amp;lt;code&amp;gt;grub2-compat-ia32&amp;lt;/code&amp;gt; and rebooting.&lt;br /&gt;
* SELinux users may also need &amp;lt;code&amp;gt;selinux-policy-targeted-gaming&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/Portal:SELinux/Common_issues#Steam_Proton,_Bottles,_WINE,_Lutris,_not_working SELinux wiki page].&lt;br /&gt;
&lt;br /&gt;
== Wine ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap includes wine 10.10, available only in the [https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine#shared-wow64 wow64] flavor. Users requiring 32-bit binary execution should consider using the Flatpak version or a similar solution.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
=== Broken libvirt networking when using Docker ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If networking inside libvirt-managed virtual machines fails while Docker is running, it is likely due to Docker not supporting &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To fix the issue:&lt;br /&gt;
* Edit &amp;lt;code&amp;gt;/etc/libvirt/network.conf&amp;lt;/code&amp;gt; and set:&lt;br /&gt;
 firewall_backend = &amp;quot;iptables&amp;quot;&lt;br /&gt;
* Add the virtual network interface to the libvirt firewall zone:&lt;br /&gt;
 firewall-cmd --add-interface=virbr0 --zone=libvirt --permanent&lt;br /&gt;
 firewall-cmd --reload&lt;br /&gt;
* Restart libvirt and related services:&lt;br /&gt;
 systemctl restart libvirtd&lt;br /&gt;
This restores networking for libvirt VMs while Docker is active.&lt;br /&gt;
&lt;br /&gt;
== GNU Health ==&lt;br /&gt;
&lt;br /&gt;
[https://www.gnuhealth.org/ GNU Health] has been updated to major release 5.0.2. The underlying ERP framework, Tryton, has been updated to LTS version 7.0. Functional improvements include enhanced medical image workflows and better integration with Orthanc 1.12.9 (PACS server).&lt;br /&gt;
&lt;br /&gt;
== PipeWire replaces PulseAudio ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses PipeWire by default. Users upgrading from previous releases should be automatically migrated from PulseAudio. &amp;lt;code&amp;gt;opensuse-migration-tool&amp;lt;/code&amp;gt; provides a post-migration script if migration does not occur automatically.&lt;br /&gt;
&lt;br /&gt;
If experiencing audio issues, ensure you are not using the &amp;lt;code&amp;gt;wireplumber-video-only-profile&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/openSUSE:Pipewire#Installation PipeWire#Installation] for details.&lt;br /&gt;
&lt;br /&gt;
== Hexchat drop ==&lt;br /&gt;
&lt;br /&gt;
Hexchat IRC client has been dropped as the [https://github.com/hexchat/hexchat upstream project] is archived. Alternatives include [https://software.opensuse.org/package/polari Polari] or the Flatpak version: [https://flathub.org/en/apps/io.github.Hexchat Flatpak].&lt;br /&gt;
&lt;br /&gt;
== Configuring boot entry with serial console ==&lt;br /&gt;
&lt;br /&gt;
See https://en.opensuse.org/SDB:SerialConsole for guidance.&lt;br /&gt;
&lt;br /&gt;
This section describes the enterprise-grade foundation of openSUSE Leap, based on SUSE Linux Enterprise. Content here is adapted from the SUSE Linux Enterprise release notes to reflect core functionality, security updates, and enterprise features that openSUSE Leap inherits.&lt;br /&gt;
&lt;br /&gt;
= SUSE Linux Enterprise Core =&lt;br /&gt;
&lt;br /&gt;
== What&#039;s new? ==&lt;br /&gt;
&lt;br /&gt;
=== Package and module changes in 16.0 ===&lt;br /&gt;
&lt;br /&gt;
The full list of changed packages compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/package-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
The full list of changed modules compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/module-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
== Support and lifecycle ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap is backed by award-winning support from SUSE, an established technology leader with a proven history of delivering enterprise-quality support services.&lt;br /&gt;
&lt;br /&gt;
The current version (16.0) will be fully maintained and supported until 31 Jul 2034.&lt;br /&gt;
&lt;br /&gt;
If you need additional time to design, validate and test your upgrade plans, Long Term Service Pack Support can extend the support duration. You can buy an additional 12 to 36 months in twelve month increments. This means that you can receive support up to Dec 2037.&lt;br /&gt;
&lt;br /&gt;
For more information, see the pages [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Support statement for openSUSE Leap ==&lt;br /&gt;
&lt;br /&gt;
To receive support, you need an appropriate subscription with SUSE. For more information, see https://forums.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
The following definitions apply:&lt;br /&gt;
&lt;br /&gt;
;L1&lt;br /&gt;
:Problem determination, which means technical support designed to provide compatibility information, usage support, ongoing maintenance, information gathering, and basic troubleshooting using the documentation.&lt;br /&gt;
;L2&lt;br /&gt;
:Problem isolation, which means technical support designed to analyze data, reproduce customer problems, isolate the problem area, and provide a resolution for problems not resolved by Level 1 or prepare for Level 3.&lt;br /&gt;
;L3&lt;br /&gt;
:Problem resolution, which means technical support designed to resolve problems by engaging engineering to resolve product defects which have been identified by Level 2 Support.&lt;br /&gt;
&lt;br /&gt;
For contracted customers and partners, openSUSE Leap is delivered with L3 support for all packages, except for the following:&lt;br /&gt;
* Technology Previews, see Section  &amp;quot;[[#Technology previews|Technology previews]]&amp;quot;&lt;br /&gt;
* Sound, graphics, fonts and artwork&lt;br /&gt;
* Packages that require an additional customer contract, see Section &amp;quot;[[#Software requiring specific contracts|Software requiring specific contracts]]&amp;quot;&lt;br /&gt;
* Some packages shipped as part of the module &#039;&#039;Workstation Extension&#039;&#039; are L2-supported only&lt;br /&gt;
* Packages with names ending in &amp;lt;code&amp;gt;-devel&amp;lt;/code&amp;gt; (containing header files and similar developer resources) will only be supported together with their main packages.&lt;br /&gt;
&lt;br /&gt;
SUSE will only support the usage of original packages. That is, packages that are unchanged and not recompiled.&lt;br /&gt;
&lt;br /&gt;
=== General support ===&lt;br /&gt;
&lt;br /&gt;
To learn about supported features and limitations, refer to the following sections in this document:&lt;br /&gt;
* Section &amp;quot;[[#Virtualization|Virtualization]]&amp;quot;&lt;br /&gt;
* Section &amp;quot;[[#Removed and deprecated features and packages|Removed and deprecated features and packages]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Software requiring specific contracts ===&lt;br /&gt;
&lt;br /&gt;
Certain software delivered as part of openSUSE Leap may require an external contract. Check the support status of individual packages using the RPM metadata that can be viewed with &amp;lt;code&amp;gt;rpm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;YaST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Major packages and groups of packages affected by this are:&lt;br /&gt;
* PostgreSQL (all versions, including all subpackages)&lt;br /&gt;
&lt;br /&gt;
=== Software under GNU AGPL ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped &#039;&#039;only&#039;&#039; under a GNU AGPL software license:&lt;br /&gt;
* Ghostscript (including subpackages)&lt;br /&gt;
* &amp;lt;code&amp;gt;velociraptor&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;velociraptor-client&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zypp-boot-plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped under multiple licenses that include a GNU AGPL software license:&lt;br /&gt;
* MySpell dictionaries and LightProof&lt;br /&gt;
* ArgyllCMS&lt;br /&gt;
&lt;br /&gt;
== Technology previews ==&lt;br /&gt;
&lt;br /&gt;
Technology previews are packages, stacks, or features delivered by SUSE to provide glimpses into upcoming innovations. Technology previews are included for your convenience to give you a chance to test new technologies within your environment. We would appreciate your feedback! If you test a technology preview, contact your SUSE representative and let them know about your experience and use cases. Your input is helpful for future development.&lt;br /&gt;
&lt;br /&gt;
Technology previews come with the following limitations:&lt;br /&gt;
* Technology previews are still in development. Therefore, they may be functionally incomplete, unstable, or in other ways not suitable for production use.&lt;br /&gt;
* Technology previews are not supported.&lt;br /&gt;
* Technology previews may only be available for specific hardware architectures. Details and functionality of technology previews are subject to change. As a result, upgrading to subsequent releases of a technology preview may be impossible and require a fresh installation.&lt;br /&gt;
* Technology previews can be removed from a product at any time. This may be the case, for example, if SUSE discovers that a preview does not meet the customer or market needs, or does not comply with enterprise standards.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
As technology preview, &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is available in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is intentionally built without Btrfs support. Btrfs filesystems can be multi-device (for example, RAID1) but &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; currently only supports a single device per mount.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rasdaemon&amp;lt;/code&amp;gt; has been updated to version 8.3.0. This version supports machine checks related to CXL memory.&lt;br /&gt;
* We now provide Grafana Alloy which can integrate with SUSE Observability as well.&lt;br /&gt;
* &amp;lt;code&amp;gt;NetworkManager&amp;lt;/code&amp;gt; is now the only network configuration stack in openSUSE Leap 16.0.&lt;br /&gt;
* We now provide a unified image that can be used to install either SLES or SLES for SAP&lt;br /&gt;
&lt;br /&gt;
=== Userspace live patching ===&lt;br /&gt;
&lt;br /&gt;
Currently, &amp;lt;code&amp;gt;libpulp&amp;lt;/code&amp;gt; supports ULP (user space live patching) of &amp;lt;code&amp;gt;glibc&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt; binaries on the following architectures:&lt;br /&gt;
* x86-64&lt;br /&gt;
* ppc64le&lt;br /&gt;
&lt;br /&gt;
For more information see https://documentation.suse.com/sles/15-SP7/html/SLES-all/cha-ulp.html&lt;br /&gt;
&lt;br /&gt;
=== Switch to &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API in &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; mount command has switched from the old string-based method to the new kernel &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API. This change introduces new features but also comes with some minor incompatibilities.&lt;br /&gt;
&lt;br /&gt;
There is a special case that cannot be handled by &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; and needs to be handled by applications:&lt;br /&gt;
* &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; discriminates between the physical mount layer and the virtual mount layer&lt;br /&gt;
* once the physical mount layer is read-only, read-write mount on the virtual layer is not possible&lt;br /&gt;
&lt;br /&gt;
If the first mount is read-only, then the physical filesystem is mounted read-only, and later mounting of the same file system as read-write is not possible. To solve this problem, the first mount needs to be read-only on the virtual layer only, keeping the physical layer read-write. The userspace fix is simple. Instead of:&lt;br /&gt;
 mount -oro&lt;br /&gt;
use&lt;br /&gt;
 mount -oro=vfs&lt;br /&gt;
&lt;br /&gt;
This will keep the physical layer read-write, but the virtual file system layer (and the userspace access) read-only.&lt;br /&gt;
&lt;br /&gt;
=== Switch to predictable network names ===&lt;br /&gt;
&lt;br /&gt;
The persistent network naming scheme used in Leap 15 became legacy with the switch to the systemd predictable network names. For complicated setups, we recommend using &amp;lt;code&amp;gt;systemd.link&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see:&lt;br /&gt;
* https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the future, when upgrading from SL Micro to Leap 16.1 (so-called &amp;quot;SLE merge&amp;quot;), some systems will have &amp;lt;code&amp;gt;net.ifnames=0&amp;lt;/code&amp;gt; set on their kernel command line (this is the case for new installations of SL Micro 6.0 and 6.1). This boot option will prevent the system from switching to the predictable naming scheme and it will need to be removed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== systemd default configurations moved to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Main configuration files have been moved from &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;. This ensures that main configuration files have lower precedence, allowing them to be overriden by package-supplied drop-in snippets.&lt;br /&gt;
&lt;br /&gt;
Local configuration should be created by either modifying the default file in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; (or a copy of it placed in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; if the original file is shipped in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;), or by creating drop-in snippets in the appropriate directory in (for example, &amp;lt;code&amp;gt;/etc/systemd/coredump.conf.d/&amp;lt;/code&amp;gt;) - this is recommended.&lt;br /&gt;
&lt;br /&gt;
Remove configurations in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to restore defaults.&lt;br /&gt;
&lt;br /&gt;
=== Password access as root via SSH disabled ===&lt;br /&gt;
&lt;br /&gt;
Previously, it was possible to SSH as root using password-based authentication. In Leap 16.0 only key-based authentication is allowed by default. Systems upgraded to 16.0 from a previous version will carry over the old behavior. New installations will enforce the new behavior.&lt;br /&gt;
&lt;br /&gt;
Installing the package &amp;lt;code&amp;gt;openssh-server-config-rootlogin&amp;lt;/code&amp;gt; restores the old behavior and allows password-based login for the root user.&lt;br /&gt;
&lt;br /&gt;
=== Minimum hardware requirements ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires hardware to meet requirements on these architectures:&lt;br /&gt;
* For AMD64 and Intel* 64 systems: Microarchitecture level x86-64-v2 or higher.&lt;br /&gt;
* For IBM* Power LE systems: POWER10 or higher (see note below).&lt;br /&gt;
* For Arm64* systems: Armv8.0-A or higher.&lt;br /&gt;
* For IBM* Z systems: z14 or higher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
POWER9 systems may work with Leap 16.0 but are not supported by IBM, the hardware vendor.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SHA1 to be disabled or mark unapproved ===&lt;br /&gt;
&lt;br /&gt;
Due to FIPS 140-3 certification requirements, the SHA1 cryptographic algorithm will be disabled or marked unapproved when running in FIPS mode.&lt;br /&gt;
&lt;br /&gt;
=== Added &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; package contains a daemon that tunes system settings dynamically.&lt;br /&gt;
&lt;br /&gt;
=== Lightweight guard region support ===&lt;br /&gt;
&lt;br /&gt;
This is a new feature in &amp;lt;code&amp;gt;madvise()&amp;lt;/code&amp;gt; that installs a lightweight guard region into a specified address range.&lt;br /&gt;
&lt;br /&gt;
See [https://manpages.opensuse.org/Leap-16.0/man-pages/madvise.2.en.html#MADV_GUARD_INSTALL madvise() man page] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Harmless error messages sometimes displayed when launching some applications ===&lt;br /&gt;
&lt;br /&gt;
The following messages are sometimes displayed when launching specific applications:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;gnome-desktop&amp;lt;/code&amp;gt; some times failes to create transient scope:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; gnome-session-binary: GnomeDesktop-WARNING: Could not create transient scope for PID 7883: GDBus.Error:org.freedesktop.DBus.Error.UnixProcessIdUnknown: Process with ID 7883 does not exist.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; sometimes fails to assign cgroup:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Couldn&#039;t move process 6708 to requested cgroup &#039;/user.slice/user-0.slice/user@0.service/app.slice/app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope&#039;: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed to add PIDs to scope&#039;s control group: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed with result &#039;resources&#039;.&lt;br /&gt;
&amp;gt; systemd: Failed to start Application launched by gnome-session-binary.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These messages are harmless and can be ignored.&lt;br /&gt;
&lt;br /&gt;
=== NFS over TLS support ===&lt;br /&gt;
&lt;br /&gt;
NFS over TLS is now supported for storage traffic.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; is replaced with &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; will also be enabled with a base tuning, similar to &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;. Base tuning only will be enabled if &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; was not configured before (no SAP Notes or Solutions selected).&lt;br /&gt;
&lt;br /&gt;
=== Azure Entra ID authentication via &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; package has been added. It provides interoperability with Microsoft Azure Entra ID and Intune. It supports Linux authentication to Microsoft Azure Entra ID via PAM and NSS modules.&lt;br /&gt;
&lt;br /&gt;
For more information see https://github.com/himmelblau-idm/himmelblau.&lt;br /&gt;
&lt;br /&gt;
=== Legacy BIOS support ===&lt;br /&gt;
&lt;br /&gt;
Legacy BIOS is still supported in openSUSE Leap 16.0. However, some features are not available when using it (for example, full-disk encryption with TPM). Finally, support for legacy BIOS will be discontinued in the future. For that reason we recommend switching to UEFI at the nearest opportunity.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; not persistent ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0, &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; is no longer persistent between reboots but uses &amp;lt;code&amp;gt;tmpfs&amp;lt;/code&amp;gt; instead. See https://susedoc.github.io/doc-modular/main/html/SLE-comparison/index.html#sle16-tmp for more information.&lt;br /&gt;
&lt;br /&gt;
=== Python update strategy ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; is currently set to use Python 3.13. In a future minor version update this is likely going to be changed to a newer Python version.&lt;br /&gt;
* openSUSE Leap 16.0 contains around 700 popular Python packages, which form a basic set of functionality for packages that depends on Python and for developing apps without needing to install Python modules from an external provider.&lt;br /&gt;
* We have been working on removing the dependencies of packages and tools on the &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; binary, which means that openSUSE Leap could use a newer version of the Python interpreter in the future. This new Python interpreter will coexist with the previous version that will then be maintained as legacy interpreter for a limited time.&lt;br /&gt;
&lt;br /&gt;
=== Removal of 32-bit support ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 only supports 64-bit binaries. Support for 32-bit binaries (or 31-bit binaries on IBM Z) has been removed.&lt;br /&gt;
&lt;br /&gt;
This means that statically-linked 32-bit binaries (or 31-bit binaries on IBM Z) and container images cannot be run anymore. 32-bit syscalls are still enabled by default on arm64, and can be enabled on x86_64 via the kernel parameter &amp;lt;code&amp;gt;ia32_emulation&amp;lt;/code&amp;gt;. On other architectures it’s disabled without any option to enable it.&lt;br /&gt;
&lt;br /&gt;
=== Compiling kernel uses non-default compiler ===&lt;br /&gt;
&lt;br /&gt;
Customers who need to build kernel modules or rebuild the kernel must use the same compiler version the kernel was built with. The kernel is built with &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13, which is not the default compiler. Install the &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13 compiler using the gcc13 package and invoke it with the command &amp;lt;code&amp;gt;gcc-13&amp;lt;/code&amp;gt;. This specific compiler version is only supported for building kernel modules and the kernel.&lt;br /&gt;
&lt;br /&gt;
=== Optimized libraries for newer hardware architectures ===&lt;br /&gt;
&lt;br /&gt;
We have added support for the glibc-HWCAPS feature which loads optimized versions of libraries for specific newer CPUs automatically.&lt;br /&gt;
&lt;br /&gt;
The build infrastructure for this feature is enabled for the following libraries:&lt;br /&gt;
* &amp;lt;code&amp;gt;blosc2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;boost&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;brotli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bzip2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;flac&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;jsoncpp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lame&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;leveldb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libdb-4_8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libgcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libiscsi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjpeg-turbo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjxl&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libmng&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libnettle&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libpng16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libvorbis&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libxmlb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lz4&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lzo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openjpeg2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openssl-3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python311&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python313&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sqlite3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;talloc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tree-sitter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xxhash&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zopfli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No remote root login with password ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you install the system using only a &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; password and do not provide an SSH key for the root user, &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; will not be enabled automatically after installation. You will not be able to log in remotely as root using the password.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, remote password-based &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login is disabled. The installer enables the &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; service only when an SSH key for root is configured during setup. To allow remote &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login, configure an SSH key for root during installation.&lt;br /&gt;
&lt;br /&gt;
=== Default user group assignment changed ===&lt;br /&gt;
&lt;br /&gt;
Previously, all user accounts belonged to a single &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group.&lt;br /&gt;
&lt;br /&gt;
Now instead of being added to the common &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group, each new user now gets their own primary group matching their username. This is due to &amp;lt;code&amp;gt;USERGROUPS_ENAB&amp;lt;/code&amp;gt; being enabled in &amp;lt;code&amp;gt;/usr/etc/login.defs&amp;lt;/code&amp;gt;. This change affects all new installations and upgraded systems that did not change the default &amp;lt;code&amp;gt;/etc/login.defs&amp;lt;/code&amp;gt;. This has several consequences:&lt;br /&gt;
* files created by new users are not group-readable by default&lt;br /&gt;
* configurations that used the primary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition do not work anymore&lt;br /&gt;
* configurations that used the primary or secondary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition need to have the &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group manually added to these user accounts in order to continue to work, for example, to for &amp;lt;code&amp;gt;@users&amp;lt;/code&amp;gt; in the sudoers file&lt;br /&gt;
* home directories inherited from a previous system need to standardize the GID of the files by running: &lt;br /&gt;
:&amp;lt;code&amp;gt;find &amp;quot;$HOME&amp;quot; -group users -exec chgrp myuser {} \;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;chgrp -R myuser &amp;quot;$HOME&amp;quot;&amp;lt;/code&amp;gt; if you did not use any GID other than &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SysV init.d scripts support ===&lt;br /&gt;
&lt;br /&gt;
SysV init.d scripts have been [https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15-SP2/index.html#jsc-SLE-7690 deprecated since Leap 15 SP2].&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, support of SysV init.d scripts has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (RC1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to RC1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; removal ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; file is just a dummy file that will be removed in the future. Software that appends to it without creating it should have its behavior changed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta4) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta4. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Configuring network interfaces during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, the installer does not allow for setting up network interfaces using the UI. However, in the meantime you can use dracut-like command-line options, for example:&lt;br /&gt;
&lt;br /&gt;
 ifname=&amp;lt;interface&amp;gt;:&amp;lt;MAC&amp;gt;&lt;br /&gt;
 ip=&amp;lt;interface&amp;gt;:dhcp&lt;br /&gt;
&lt;br /&gt;
Additionally, the &amp;lt;code&amp;gt;inst.copy_network&amp;lt;/code&amp;gt; is not available in Beta4.&lt;br /&gt;
&lt;br /&gt;
=== SAP workloads on Leap 16.0 ===&lt;br /&gt;
&lt;br /&gt;
For running SAP workloads on openSUSE Leap 16.0, do the following:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Unpack the SAP installer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to change policies:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;semanage boolean -m --on selinuxuser_execmod&lt;br /&gt;
semanage boolean -m --on unconfined_service_transition_to_unconfined_user&lt;br /&gt;
semanage permissive -a snapper_grub_plugin_t&lt;br /&gt;
restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to lable all files:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d ./snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d ./snapshots || restorecon R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install SAP workload or SAP HANA&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Label all files again:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d /.snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d /.snapshots || restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== FIPS 140-3 not working properly ===&lt;br /&gt;
&lt;br /&gt;
FIPS 140-3 installation has not been fully validated and may cause unexpected software failure or crashes. Therefore, we discourage you from using it on Beta4.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta3) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta3. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Kernel crash in QEMU ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires a CPU that supports a so-called &amp;quot;x86-64-v2&amp;quot; microarchitecture. Due to this, running a Leap image using QEMU currently results in a kernel crash.&lt;br /&gt;
&lt;br /&gt;
As a workaround you can run QEMU with the &amp;lt;code&amp;gt;-cpu host&amp;lt;/code&amp;gt; argument.&lt;br /&gt;
&lt;br /&gt;
=== Missing &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library has been deprecated in SLES 15 and finally removed in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
As a workaround for applications that cannot be installed without it (but presumaly do not use it for anything), we provide the &amp;lt;code&amp;gt;libnsl-stub1&amp;lt;/code&amp;gt; package that includes ABI-compatible but otherwise function-less stub of the library file.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; not usable with many interfaces ===&lt;br /&gt;
&lt;br /&gt;
Due to an upstream bug, &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; might take a long time or time out when adding many interfaces. The error occurs when &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; is restarted after applying such a configuration. The following message appears in the system logs:&lt;br /&gt;
 ERROR:dbus.proxies:Introspect error on :1.18:/org/fedoraproject/FirewallD1: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply.&lt;br /&gt;
 Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.&lt;br /&gt;
&lt;br /&gt;
See https://github.com/firewalld/firewalld/issues/1399 for more information.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta2) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta2. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Switch from YaST to Cockpit ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 has switched from YaST to Cockpit for manual system administration. We have enhanced Cockpit with new modules with the intention to upstream them later. Despite being functional, bugs might appear and features might be missing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;: register, de-register and view SUSE Linux Enterprise registrations. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-repositories&amp;lt;/code&amp;gt;: add, remove, view repositories, change settings and refresh them. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;: show installed packages, search available repositories, install and uninstall packages. Requires administrative access. Be aware that there are no safety measures implemented as far as system usability goes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enhanced modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;: update packages from available repositories. The module now allows to individually select packages to update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upstream modules&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-kdump&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-machines&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-podman&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;: these modules are updated to the recent stable base version 332 (or their respective).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default selection&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installation of the pattern &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt; will pull in the following modules: &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-repos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;dovecot 2.4&amp;lt;/code&amp;gt; configuration upgrade ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 &amp;lt;code&amp;gt;dovecot&amp;lt;/code&amp;gt; has been upgraded to version 2.4. The configuration of this version is incompatible with the previous versions.&lt;br /&gt;
&lt;br /&gt;
Configuration has to be updated manually. For more information see https://doc.dovecot.org/2.4.0/installation/upgrade/2.3-to-2.4.html.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Disk configuration UI during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, choosing disk configurations other than &amp;quot;An existing disk&amp;quot; (installation to a single disk) suffer from poor usability. This is expected to change in a future update.&lt;br /&gt;
&lt;br /&gt;
=== Non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; after installation ===&lt;br /&gt;
&lt;br /&gt;
There is currently a known issue that adds a non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; repository which prevents &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; from working correctly.&lt;br /&gt;
&lt;br /&gt;
To fix this issue, remove the repository in question and add the installation medium repository manually:&lt;br /&gt;
# Remove repository with &amp;lt;code&amp;gt;zypper rr&amp;lt;/code&amp;gt;. To remove the first repository, for example, run: &amp;lt;code&amp;gt;zypper rr 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Add the installation medium as repository by running &lt;br /&gt;
#:&amp;lt;pre&amp;gt;zypper ar hd:/install?device=/dev/disk/by-label/agama-installer medium&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:(the &amp;lt;code&amp;gt;medium&amp;lt;/code&amp;gt; at the end is a name you want to give the repository).&lt;br /&gt;
# Run &amp;lt;code&amp;gt;zypper refresh&amp;lt;/code&amp;gt; to refresh the added repository.&lt;br /&gt;
&lt;br /&gt;
=== systemd uses cgroup v2 by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses cgroup v2 by default and v1 is unsupported. If you need to use cgroup v1, SLES 15 SP6 can be switched to hybrid mode using a boot parameter.&lt;br /&gt;
&lt;br /&gt;
== x86-64-specific changes ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to the x86-64 architecture.&lt;br /&gt;
&lt;br /&gt;
=== AMD EPYC Turin automonous frequency scaling ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, the default Linux CPU frequency scaling driver for AMD EPYC Turin (and later processors) has shifted to the AMD P-State driver to enable autonomous frequency scaling.&lt;br /&gt;
&lt;br /&gt;
With the AMD P-State driver, it enables the use of the Energy Performance Preference (EPP) for more granular control over performance versus power efficiency to adjust the CPU frequencies based on workload and hardware feedback dynamically.&lt;br /&gt;
&lt;br /&gt;
== IBM Z-specific changes (s390x) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for IBM Z 16.0. For more information, see https://www.ibm.com/docs/en/linux-on-systems?topic=distributions-suse-linux-enterprise-server&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; providing machine name, kconfig options, new instructions, etc.&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;gdb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;valgrind&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;binutils&amp;lt;/code&amp;gt;&lt;br /&gt;
* Support has been added for IBM z16 - reset DAT-Protection facility support&lt;br /&gt;
* Identify ConnectX devices through port rather than PCHID&lt;br /&gt;
* Processor Activity Instrumentation / Neural Network Processing Assist counters for new IBM Z hardware was added into kernel&lt;br /&gt;
* kprobes are now supported without &amp;lt;code&amp;gt;stop machine&amp;lt;/code&amp;gt;&lt;br /&gt;
* Promiscuous Mode Exploitation for NETH Virtual Functions for IBM z17 and LinuxONE 5&lt;br /&gt;
* Vertical CPU Polarization support for IBM z17 and LinuxONE 5&lt;br /&gt;
* qclib has been updated to support IBM z17&lt;br /&gt;
* The Integrated Accelerator for AI has new operations, which are now supported by libzdnn low-level driver library&lt;br /&gt;
* Enhanced RAS and Call Home for zPCI&lt;br /&gt;
* The kernel image can move into vmalloc space, where random physical pages are used to map virtual pages (V!=R)&lt;br /&gt;
* Add new CPU-MF Counters for new IBM Z Hardware (libpfm)&lt;br /&gt;
* Deactivate CONFIG_QETH_OSX kernel config option&lt;br /&gt;
* Upgrade Mellanox (mlx5) driver to latest version&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
* LPAR level power consumption reporting is now available in kernel and s390-tools.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== In-kernel crypto support ====&lt;br /&gt;
&lt;br /&gt;
With this service pack are additionally supported:&lt;br /&gt;
* MSA 10 XTS instructions for in-kernel crypto&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 12 (SHA3) has been added and introduces new options to call CPACF SHA 3 functions&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 10 XTS crypto PAES support for in-kernel crypto&lt;br /&gt;
&lt;br /&gt;
==== OpenSSL features ====&lt;br /&gt;
&lt;br /&gt;
This release brings these features and improvements:&lt;br /&gt;
* XTS instructions support in libcrypto/openSSL&lt;br /&gt;
* New MSA 11 HMAC instruction support in libcrypto/openSSL&lt;br /&gt;
* Added support for MSA 12 (SHA3), which also introduces new options to call CPACF SHA3 and SHKE functions&lt;br /&gt;
* Extended support of the openssl-pkcs11 provider such that it can be used by programs that issue forks&lt;br /&gt;
* Replace openssl-ibmpkcs11 with openssl-pkcs11&lt;br /&gt;
* Upgrade openssl-ibmca to the latest version&lt;br /&gt;
&lt;br /&gt;
==== openCryptoki ====&lt;br /&gt;
&lt;br /&gt;
* The new version of &amp;lt;code&amp;gt;libica&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libzpc&amp;lt;/code&amp;gt; is included.&lt;br /&gt;
* The openCryptoki CCA Token is now available on x86_64 and ppc64le architectures.&lt;br /&gt;
&lt;br /&gt;
==== p11-kit =====&lt;br /&gt;
&lt;br /&gt;
* Add support for IBM specific attributes and mechanisms to the PKCS11 client-server implementation of p11-kit.&lt;br /&gt;
&lt;br /&gt;
==== pkey ====&lt;br /&gt;
&lt;br /&gt;
* The kernel pkey module can now generate keys AES-XTS keys (MSA 10) and HMAC key (MSA 11) from clear keys.&lt;br /&gt;
* The module can also generate keys represented by identifiers of secure execution retrievable keys.&lt;br /&gt;
* The pkey also supports EP11 API ordinal 6 for secure guests.&lt;br /&gt;
&lt;br /&gt;
==== zcrypt =====&lt;br /&gt;
&lt;br /&gt;
* The zcrypt extends error recovery to deal with device scans of unavailable devices.&lt;br /&gt;
&lt;br /&gt;
=== Virtualization ===&lt;br /&gt;
&lt;br /&gt;
* KVM guests can exploit z17 &amp;amp; LinuxONE 5 CPU features&lt;br /&gt;
* KVM can display available host key hashes for Secure Execution (Query Host-key hash UVC)&lt;br /&gt;
* KVM can benefit from genprotimg rewritten in Rust to re-use existing rust libraries (s390-tools feature)&lt;br /&gt;
* KVM benefits from genprotimg validation of SE image running on particular host(s) (s390-tools feature)&lt;br /&gt;
* KVM benefits from using pvimg info command to display encrypted &amp;amp; unencrypted SE image information (s390-tools)&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM passthrough is available for guests i.e. retrievable secrets in Secure Execution guests&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM implements counters for nested guest shadow events&lt;br /&gt;
* KVM implements virsh hypervisor-cpu-models (libvirt)&lt;br /&gt;
* KVM provides enhanced and dynamic CPU topology for KVM guests (qemu)&lt;br /&gt;
* KVM and libvirt full boot order enables users to attempt booting from multiple targets&lt;br /&gt;
* KVM provides Atomic Memop for Key-Checked Compare-and-swap&lt;br /&gt;
* KVM enhances CCW address translation architectural compliance&lt;br /&gt;
* KVM improves memory reclaiming for z15 Secure Execution guests and above (libvirt)&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; was replaced by &amp;lt;code&amp;gt;blog&amp;lt;/code&amp;gt; on s390x, as &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; couldn&#039;t work without graphical display.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Eigen&amp;lt;/code&amp;gt; library is the backend used by &amp;lt;code&amp;gt;Tensorflow&amp;lt;/code&amp;gt; for computations executed on the CPU. Several GCC adjustments have been implemented to speed up Eigen with IBM z14 support and above.&lt;br /&gt;
* Allow &amp;lt;code&amp;gt;httpd&amp;lt;/code&amp;gt; customers to protect their web server identity using HSMs (via CryptoExpress adapters).&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The latest s390-tool update brings these noticeable changes:&lt;br /&gt;
* Additional channel measurements - kernel &amp;amp; &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* A new tool cpacinfo shall provide information on CPACF including the supported MSA levels, instructions, subfunctions per instruction. https://www.ibm.com/docs/en/linux-on-systems?topic=hw-cpacf&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO ====&lt;br /&gt;
&lt;br /&gt;
Previously, &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; would point to a directory of unpacked files.&lt;br /&gt;
&lt;br /&gt;
Now it needs to point to a loop-mounted ISO via FTP. For example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/agama-online.iso&lt;br /&gt;
 agama.install_url=ftp://$SERVER_URL/install/agama&lt;br /&gt;
&lt;br /&gt;
For more information see https://agama-project.github.io/docs/user/boot_options.&lt;br /&gt;
&lt;br /&gt;
==== Disk selection UI problems during installation ====&lt;br /&gt;
&lt;br /&gt;
If you want to enable a disk, click on &#039;&#039;Storage&#039;&#039; in the left panel, then &#039;&#039;Install new system on&#039;&#039; and choose &amp;quot;storage techs&amp;quot;. Then you can choose a type of disk. This can be avoided if you have defined your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; as described in Section 3.13.5.2, &amp;quot;&amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you choose DASD, you should see disks based on your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cio_ignore&amp;lt;/code&amp;gt; configuration. Then choose a disk and activate it by clicking &#039;&#039;Perform an action&#039;&#039; and then &#039;&#039;Activate&#039;&#039;. This can take a moment. If it is not visible, then you need to click on Storage or refresh the page.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;zFCP&#039;&#039; section, after activating a disk a gray line will appear. This is just a visual bug, the disk will activate correctly.&lt;br /&gt;
&lt;br /&gt;
==== Installation failure on zVM ====&lt;br /&gt;
&lt;br /&gt;
Due to a change from &amp;lt;code&amp;gt;linuxrc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;dracut&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to define not only installation source but also a network and disks.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to be filled with a &amp;lt;code&amp;gt;dracut-like&amp;lt;/code&amp;gt; options, for example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/online.iso&lt;br /&gt;
 ip=$IP_address::$IP_gateway:24:SLE16-Beta4:$NETWORK_DEVICE:none&lt;br /&gt;
 rd.zdev=qeth,0.0.0800:0.0.0801:0.0.0802,layer2=1,portno=0&lt;br /&gt;
 cio_ignore=all,!condev,!0.0.0160 nameserver=$NAMEserverIP&lt;br /&gt;
 live.password=linux rd.zdev=dasd,0.0.0160&lt;br /&gt;
&lt;br /&gt;
== POWER-specific changes (ppc64le) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for POWER 16.0.&lt;br /&gt;
&lt;br /&gt;
=== KVM guests in LPAR ===&lt;br /&gt;
&lt;br /&gt;
The ability to run KVM Guests in an LPAR is a new feature in PowerVM Firmware 1060.10 release and supported in openSUSE Leap 16.0. This enables users to run KVM guests in a PowerVM LPAR bringing industry standard Linux KVM virtualization stack to IBM PowerVM, which easily integrates with existing Linux virtualization ecosystem. This enables a lot of interesting usecases which were earlier difficult to realize in a PowerVM LPAR.&lt;br /&gt;
&lt;br /&gt;
KVM in a PowerVM LPAR is a new type of LPAR (logical partition) that allows the openSUSE Leap 16.0 kernel to host KVM guests inside an LPAR on PowerVM. A KVM enabled LPAR allows standard Linux KVM tools (for example, &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt;) to create and manage lightweight Linux Virtual Machines (VM). A KVM Linux LPAR uses dedicated cores which enables Linux to have full control of when Linux VMs are scheduled to run, just like KVM on other platforms.&lt;br /&gt;
&lt;br /&gt;
=== Login times out on HMC virtual terminal ===&lt;br /&gt;
&lt;br /&gt;
If you install openSUSE Leap for POWER with the GNOME desktop on LPAR and try to login via the HMC virtual terminal, the login may time out while entering your credentials.&lt;br /&gt;
&lt;br /&gt;
To work around this issue, disable the Plymouth graphical boot screen by appending the boot parameter &amp;lt;code&amp;gt;plymouth.enable=0&amp;lt;/code&amp;gt; to the kernel command line.&lt;br /&gt;
&lt;br /&gt;
== Arm-specific changes (AArch64) ==&lt;br /&gt;
&lt;br /&gt;
=== System-on-Chip driver enablement ===&lt;br /&gt;
&lt;br /&gt;
Leap 16.0 includes driver enablement for the following System-on-Chip (SoC) chipsets:&lt;br /&gt;
* Ampere* X-Gene*, eMAG*, Altra*, Altra Max, AmpereOne*&lt;br /&gt;
* AWS* Graviton, Graviton2, Graviton3&lt;br /&gt;
* Broadcom* BCM2837/BCM2710, BCM2711&lt;br /&gt;
* Fujitsu* A64FX&lt;br /&gt;
* Huawei* Kunpeng* 916, Kunpeng 920&lt;br /&gt;
* Marvell* ThunderX*, ThunderX2*; OCTEON TX*; Armada* 7040, Armada 8040&lt;br /&gt;
* NVIDIA* Grace; Tegra* X1, Tegra X2, Xavier*, Orin; Blue﻿Field*, Blue﻿Field-2, Blue﻿Field-3&lt;br /&gt;
* NXP* i.MX 8M, 8M Mini; Layerscape* LS1012A, LS1027A/LS1017A, LS1028A/LS1018A, LS1043A, LS1046A, LS1088A, LS2080A/LS2040A, LS2088A, LX2160A&lt;br /&gt;
* Rockchip RK3399&lt;br /&gt;
* Socionext* SynQuacer* SC2A11&lt;br /&gt;
* Xilinx* Zynq* UltraScale*﻿+ MPSoC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Driver enablement is done as far as available and requested. Refer to the following sections for any known limitations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some systems might need additional drivers for external chips, such as a Power Management Integrated Chip (PMIC), which may differ between systems with the same SoC chipset.&lt;br /&gt;
&lt;br /&gt;
For booting, systems need to fulfill either the Server Base Boot Requirements (SBBR) or the Embedded Base Boot Requirements (EBBR), that is, the Unified Extensible Firmware Interface (UEFI) either implementing the Advanced Configuration and Power Interface (ACPI) or providing a Flat Device Tree (FDT) table. If both are implemented, the kernel will default to the Device Tree; the kernel command line argument &amp;lt;code&amp;gt;acpi=force&amp;lt;/code&amp;gt; can override this default behavior.&lt;br /&gt;
&lt;br /&gt;
Check for SUSE &#039;&#039;YES!&#039;&#039; certified systems, which have undergone compatibility testing.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
* iSCSI boot support is disabled in OVMF images.&lt;br /&gt;
&lt;br /&gt;
=== QEMU ===&lt;br /&gt;
&lt;br /&gt;
QEMU has been updated to version 10.0.2, full list of changes are available at https://wiki.qemu.org/ChangeLog/10.0&lt;br /&gt;
&lt;br /&gt;
Highlights include:&lt;br /&gt;
* Removed features: https://qemu-project.gitlab.io/qemu/about/removed-features.html&lt;br /&gt;
* Deprecated features: https://qemu-project.gitlab.io/qemu/about/deprecated.html&lt;br /&gt;
&lt;br /&gt;
=== libvirt ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; has been updated to version 11.4.0, this includes many incremental improvements and bug fixes, see https://libvirt.org/news.html#v11-4-0-2025-06-02.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; provides now a modular daemons.&lt;br /&gt;
&lt;br /&gt;
=== VMware ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; has been updated to version 13.0.0 that addresses a few critical problems and bug fixes. See https://github.com/vmware/open-vm-tools/blob/stable-13.0.0/ReleaseNotes.md.&lt;br /&gt;
&lt;br /&gt;
=== Confidential Computing ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; package has been updated to version 0.6.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; package has been updated to version 0.9.1. Full list of changes is available at: https://github.com/virtee/snpguest/compare/v0.7.1…​v0.9.1&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; package version 0.6.0 has been added.&lt;br /&gt;
&lt;br /&gt;
==== Intel TDX Confidential Computing ====&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 the kernel now incorporates the latest upstream Intel Trust Domain Extensions (TDX) patches. This significant update prepares the virtualization toolstack for Intel TDX confidential computing capabilities.&lt;br /&gt;
&lt;br /&gt;
These patches are important for enabling the kernel to support creating and managing trust domains, which is a step towards enabling confidential computing environments on Intel TDX-enabled hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The full Intel TDX confidential computing experience also requires integrating QEMU and libvirt components, which will be part of a future update.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Enhanced VM Security with AMD SEV-SNP ====&lt;br /&gt;
&lt;br /&gt;
AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) is a hardware security feature in AMD EPYC processors that provides a highly secure and confidential environment for virtual machines (VMs). It offers strong memory confidentiality through per-VM encryption keys and AES encryption, and crucially, robust memory integrity protection to prevent tampering from the hypervisor or other threats. It also provides enhanced isolation and remote attestation capabilities, making it ideal for protecting sensitive data and workloads in untrusted environments like cloud computing. This release fully integrates AMD SEV-SNP for KVM-based virtual machines. This means integrated support in our kernel, along with updated QEMU, Libvirt, and OVMF Firmware. To use AMD SEV-SNP, you’ll need, AMD EPYC™ 3rd Gen Processors (Milan) or newer and SEV-SNP enabled in your system’s BIOS/UEFI.&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; is available in version 2.5, adding support for Intel GNR and SRF platforms.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; is shipped in version 2.0.19. Full changes at: https://github.com/numactl/numactl/releases/tag/v2.0.19&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; has been updated to version 1.55.13.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-v2v&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Update to version 2.7.16. While there are no dedicated release notes, you can review the code changes in Github: https://github.com/libguestfs/virt-v2v/tree/v2.7.16&lt;br /&gt;
* Implement --parallel=N for parallel disk copies&lt;br /&gt;
* Update Translations&lt;br /&gt;
* Various fixes&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; has been updated to 1.12.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; is now shipped in version 5.0.0. Its preferable to setup VNC for remote viewing and do all the XML editing using the &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt; command. Full list of changes is available at https://github.com/virt-manager/virt-manager/releases/tag/v5.0.0&lt;br /&gt;
&lt;br /&gt;
==== virt-bridge-setup ====&lt;br /&gt;
&lt;br /&gt;
virt-bridge-setup is a script designed to simplify network bridge creation on a specified interface using nmcli. It was developed as a replacement for the automatic &amp;quot;yast2 virtualization&amp;quot; bridge creation and is particularly useful for setting up virtualization environments.&lt;br /&gt;
&lt;br /&gt;
Important considerations:&lt;br /&gt;
* It supports IPv4 only.&lt;br /&gt;
* This is a simple script not intended for complex network scenarios (vlan, bonding, etc…​); manual bridge setup is recommended for intricate configurations.&lt;br /&gt;
* The script should be run locally (not remotely) immediately after installation and before any custom network configurations.&lt;br /&gt;
&lt;br /&gt;
== Removed and deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
This section lists features and packages that were removed from openSUSE Leap or will be removed in upcoming versions.&lt;br /&gt;
&lt;br /&gt;
=== Removed features and packages ===&lt;br /&gt;
&lt;br /&gt;
The following features and packages have been removed in this release.&lt;br /&gt;
&lt;br /&gt;
* Xorg server has been removed. Only Wayland is supported for graphical display. X11 applications compatibility is provided via XWayland.&lt;br /&gt;
* &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; has been removed. See Section 3.6.7, &amp;quot;&amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;&amp;quot; for more info.&lt;br /&gt;
* YaST has been removed. See Section 3.10.1, &amp;quot;Switch from YaST to Cockpit&amp;quot; for more info.&lt;br /&gt;
* WSL1 is not supported anymore&lt;br /&gt;
* The Xen hypervisor was removed in favor of KVM. You no longer run SLE 16 as Xen host or as paravirtualized guest (PV). Running SLE 16 as fully virtualized Xen guest (HVM) or using using hardware virtualization features (PVH) is still possible.&lt;br /&gt;
* &amp;lt;code&amp;gt;nscd&amp;lt;/code&amp;gt; has been removed&lt;br /&gt;
* The snIPL package is deprecated as HMC is providing most capabilities. There is also available a command line client to interact with the HMC Web Services API: the zhmccli https://github.com/zhmcclient.&lt;br /&gt;
* Removed &amp;lt;code&amp;gt;rc&amp;lt;service&amp;gt;&amp;lt;/code&amp;gt; controls of systemd services&lt;br /&gt;
* Removed the &amp;lt;code&amp;gt;KBD_DISABLE_CAPS_LOCK&amp;lt;/code&amp;gt; feature from &amp;lt;code&amp;gt;/etc/sysconfig/keyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;netiucv&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;lcs&amp;lt;/code&amp;gt; drivers&lt;br /&gt;
* &amp;lt;code&amp;gt;ansible-9&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ansible-core-2.16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;criu&amp;lt;/code&amp;gt;&lt;br /&gt;
* Section 3.6.17, &amp;quot;SysV init.d scripts support&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;compat-libpthread-nonshared&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;crun&amp;lt;/code&amp;gt; has been removed. Use &amp;lt;code&amp;gt;runc&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
== Deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
The following features and packages are deprecated and will be removed in a future version of openSUSE Leap.&lt;br /&gt;
* The 2MB OVMF image will be deprecated and removed in openSUSE Leap 16.1.&lt;br /&gt;
&lt;br /&gt;
=== nmap deprecation notice ===&lt;br /&gt;
&lt;br /&gt;
The nmap project has moved to a new source license that makes future releases of nmap incompatible with our product.&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, we are shipping the latest version of nmap released under the old license. In an upcoming release we will switch to an alternative tool.&lt;br /&gt;
&lt;br /&gt;
= Obtaining source code =&lt;br /&gt;
&lt;br /&gt;
This SUSE product includes materials licensed to SUSE under the GNU General Public License (GPL). The GPL requires SUSE to provide the source code that corresponds to the GPL-licensed material. The source code is available for download at https://get.opensuse.org on Medium 2. For up to three years after distribution of the SUSE product, upon request, SUSE will mail a copy of the source code. Send requests by e-mail to sle_source_request@suse.com. SUSE may charge a reasonable fee to recover distribution costs.&lt;br /&gt;
&lt;br /&gt;
= Legal notices =&lt;br /&gt;
&lt;br /&gt;
Copyright © 2025-2025 openSUSE contributors and SUSE LLC. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) Version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”.&lt;br /&gt;
&lt;br /&gt;
This document includes content adapted from the SUSE Linux Enterprise release notes, contributed by the SUSE Documentation Team. Portions of the content are maintained by the openSUSE community.&lt;br /&gt;
&lt;br /&gt;
For SUSE trademarks, see https://www.suse.com/company/legal/. For openSUSE trademarks, see https://en.opensuse.org/openSUSE:Trademark_guidelines. All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™, etc.) denote trademarks of SUSE, openSUSE, and their affiliates. Asterisks (*) denote third-party trademarks.&lt;br /&gt;
&lt;br /&gt;
While every effort has been made to ensure accuracy, the openSUSE contributors, SUSE Documentation Team, and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1019</id>
		<title>OpenSUSE Leap 16.0 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1019"/>
		<updated>2025-10-15T01:28:14Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* SAP workloads on Leap 16.0 */ Fixed numbered list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;openSUSE Leap is a modern, modular operating system suitable for both traditional IT and multimodal workloads. This document highlights major features, updates, and known limitations.&lt;br /&gt;
&lt;br /&gt;
= About the release notes =&lt;br /&gt;
&lt;br /&gt;
These Release Notes are identical across all architectures, and the most recent version is always available online at https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
Entries are only listed once but they can be referenced in several places if they are important and belong to more than one section.&lt;br /&gt;
&lt;br /&gt;
Release notes usually only list changes that happened between two subsequent releases. Certain important entries from the release notes of previous product versions are repeated. To make these entries easier to identify, they contain a note to that effect.&lt;br /&gt;
&lt;br /&gt;
However, repeated entries are provided as a courtesy only. Therefore, if you are skipping one or more service packs, check the release notes of the skipped service packs as well. If you are only reading the release notes of the current release, you could miss important changes.&lt;br /&gt;
&lt;br /&gt;
== Documentation and other information ==&lt;br /&gt;
&lt;br /&gt;
For the most up-to-date version of the documentation for openSUSE Leap, see:&lt;br /&gt;
&lt;br /&gt;
* https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
This section describes community-driven enhancements, features, and updates that extend the SUSE Linux Enterprise core. These changes reflect the openSUSE project’s unique contributions, including desktop improvements, additional packages, and new workflows.&lt;br /&gt;
&lt;br /&gt;
= openSUSE Leap Community Additions =&lt;br /&gt;
&lt;br /&gt;
== Lifecycle ==&lt;br /&gt;
&lt;br /&gt;
Each openSUSE Leap minor release is published once every 12 months. openSUSE Leap 16 provides maintenance updates over two minor releases, giving each release a full 24 months of community support.&lt;br /&gt;
&lt;br /&gt;
Unless there is a change in release strategy, the final openSUSE Leap version (16.6) will be released in fall 2031 and will continue receiving updates until the release of openSUSE Leap 17.1 two years later.&lt;br /&gt;
&lt;br /&gt;
For more information, see: [https://en.opensuse.org/Roadmap Roadmap].&lt;br /&gt;
&lt;br /&gt;
For more than 24 months of support for a point release, the openSUSE migration tool makes it simple to move to SUSE Linux Enterprise, which provides decades of support. See [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Migration from Leap 15.6 ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] (&amp;lt;code&amp;gt;zypper in opensuse-migration-tool&amp;lt;/code&amp;gt;) is included as part of openSUSE Leap 15.6. Users migrating from older releases can run the tool from [https://github.com/openSUSE/opensuse-migration-tool Git repository].&lt;br /&gt;
&lt;br /&gt;
For more information, refer to: [https://en.opensuse.org/SDB:System_upgrade SDB:System_upgrade].&lt;br /&gt;
&lt;br /&gt;
== Installer and Desktop Environments ==&lt;br /&gt;
&lt;br /&gt;
* openSUSE Leap 16 installer provides only Wayland variants of desktop environments. Xorg-based environments can be installed manually post-installation.&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA and Graphics Issues with the Installation Image ===&lt;br /&gt;
&lt;br /&gt;
Some users with NVIDIA GPUs may experience graphics-related issues during installation, such as boo#1247670 where X server fails to start. This is due to the fact that openSUSE Leap install image contains &amp;lt;code&amp;gt;kernel-default-optional&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;kernel-default-extra&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you encounter problems specific to the &amp;lt;code&amp;gt;nouveau&amp;lt;/code&amp;gt; driver, try booting with the option: &amp;lt;code&amp;gt;rd.driver.blacklist=nouveau&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For general graphics boot problems, use the option: &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Experimental Xfce Wayland session ===&lt;br /&gt;
&lt;br /&gt;
Experimental Xfce Wayland session is available as an installation option. openSUSE Leap is one of the first distributions to provide Wayland support for [https://en.opensuse.org/Portal:Xfce Xfce]. We use &amp;lt;code&amp;gt;gtkgreet&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;greetd&amp;lt;/code&amp;gt; as a Wayland-ready replacement for LightDM (used in the X11 variant).&lt;br /&gt;
&lt;br /&gt;
=== LXQt Wayland session available post install ===&lt;br /&gt;
&lt;br /&gt;
LXQt Wayland session is included, but will become a full installer option in later releases once LXQt Miriway efforts are further developed: https://code.opensuse.org/leap/features/issue/192.&lt;br /&gt;
&lt;br /&gt;
== Changes to the openSUSE Welcome ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16 now uses the &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt; to start the appropriate greeter application. This launcher, in combination with &amp;lt;code&amp;gt;gnome-tour&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;plasma-welcome&amp;lt;/code&amp;gt;, replaces the legacy Qt5-based &amp;lt;code&amp;gt;opensuse-welcome&amp;lt;/code&amp;gt;, which was previously the default greeter.&lt;br /&gt;
&lt;br /&gt;
The launcher also allows the openSUSE release team to update or refresh the displayed greeter via a package update, for example after a major GNOME update. To create a custom appliance without a welcome application, or to deploy a system where the greeter should never appear, remove &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Automated NVIDIA Driver and Repository Setup ==&lt;br /&gt;
&lt;br /&gt;
On supported GPUs, NVIDIA’s open driver is installed by default along with the NVIDIA graphics driver repository. In openSUSE Leap 16, user-space drivers are also automatically installed, enabling graphical acceleration out of the box.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
=== AppArmor ===&lt;br /&gt;
&lt;br /&gt;
AppArmor has been updated from version 3.1 to 4.1.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1 4.0] introduced fine-grained network rules (limitable by IP/port), but kernel support is not upstream yet.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.1.0 4.1] introduced the &amp;lt;code&amp;gt;priority=&amp;lt;number&amp;gt;&amp;lt;/code&amp;gt; rule prefix, which allows overriding rules.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor not available by default on new installations ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer available in SUSE Linux Enterprise 16.0. Leap users cannot select AppArmor as the Linux Security Module (LSM) during a new installation. AppArmor can still be enabled post-installation. For instructions, refer to AppArmor wiki page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Users migrating manually from 15.6 will retain AppArmor by default. Users migrating with [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] will be prompted to either switch to SELinux or preserve AppArmor during post-migration.&lt;br /&gt;
&lt;br /&gt;
== Steam ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Steam&amp;lt;/code&amp;gt; package has been removed from the [https://en.opensuse.org/Package_repositories#Non-OSS Non-OSS repository] due to limited 32-bit library support. Users are advised to install it via [https://en.opensuse.org/Steam#Flatpak Flatpak].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 32-bit execution requires installing &amp;lt;code&amp;gt;grub2-compat-ia32&amp;lt;/code&amp;gt; and rebooting.&lt;br /&gt;
* SELinux users may also need &amp;lt;code&amp;gt;selinux-policy-targeted-gaming&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/Portal:SELinux/Common_issues#Steam_Proton,_Bottles,_WINE,_Lutris,_not_working SELinux wiki page].&lt;br /&gt;
&lt;br /&gt;
== Wine ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap includes wine 10.10, available only in the [https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine#shared-wow64 wow64] flavor. Users requiring 32-bit binary execution should consider using the Flatpak version or a similar solution.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
=== Broken libvirt networking when using Docker ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If networking inside libvirt-managed virtual machines fails while Docker is running, it is likely due to Docker not supporting &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To fix the issue:&lt;br /&gt;
* Edit &amp;lt;code&amp;gt;/etc/libvirt/network.conf&amp;lt;/code&amp;gt; and set:&lt;br /&gt;
 firewall_backend = &amp;quot;iptables&amp;quot;&lt;br /&gt;
* Add the virtual network interface to the libvirt firewall zone:&lt;br /&gt;
 firewall-cmd --add-interface=virbr0 --zone=libvirt --permanent&lt;br /&gt;
 firewall-cmd --reload&lt;br /&gt;
* Restart libvirt and related services:&lt;br /&gt;
 systemctl restart libvirtd&lt;br /&gt;
This restores networking for libvirt VMs while Docker is active.&lt;br /&gt;
&lt;br /&gt;
== GNU Health ==&lt;br /&gt;
&lt;br /&gt;
[https://www.gnuhealth.org/ GNU Health] has been updated to major release 5.0.2. The underlying ERP framework, Tryton, has been updated to LTS version 7.0. Functional improvements include enhanced medical image workflows and better integration with Orthanc 1.12.9 (PACS server).&lt;br /&gt;
&lt;br /&gt;
== PipeWire replaces PulseAudio ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses PipeWire by default. Users upgrading from previous releases should be automatically migrated from PulseAudio. &amp;lt;code&amp;gt;opensuse-migration-tool&amp;lt;/code&amp;gt; provides a post-migration script if migration does not occur automatically.&lt;br /&gt;
&lt;br /&gt;
If experiencing audio issues, ensure you are not using the &amp;lt;code&amp;gt;wireplumber-video-only-profile&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/openSUSE:Pipewire#Installation PipeWire#Installation] for details.&lt;br /&gt;
&lt;br /&gt;
== Hexchat drop ==&lt;br /&gt;
&lt;br /&gt;
Hexchat IRC client has been dropped as the [https://github.com/hexchat/hexchat upstream project] is archived. Alternatives include [https://software.opensuse.org/package/polari Polari] or the Flatpak version: [https://flathub.org/en/apps/io.github.Hexchat Flatpak].&lt;br /&gt;
&lt;br /&gt;
== Configuring boot entry with serial console ==&lt;br /&gt;
&lt;br /&gt;
See https://en.opensuse.org/SDB:SerialConsole for guidance.&lt;br /&gt;
&lt;br /&gt;
This section describes the enterprise-grade foundation of openSUSE Leap, based on SUSE Linux Enterprise. Content here is adapted from the SUSE Linux Enterprise release notes to reflect core functionality, security updates, and enterprise features that openSUSE Leap inherits.&lt;br /&gt;
&lt;br /&gt;
= SUSE Linux Enterprise Core =&lt;br /&gt;
&lt;br /&gt;
== What&#039;s new? ==&lt;br /&gt;
&lt;br /&gt;
=== Package and module changes in 16.0 ===&lt;br /&gt;
&lt;br /&gt;
The full list of changed packages compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/package-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
The full list of changed modules compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/module-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
== Support and lifecycle ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap is backed by award-winning support from SUSE, an established technology leader with a proven history of delivering enterprise-quality support services.&lt;br /&gt;
&lt;br /&gt;
The current version (16.0) will be fully maintained and supported until 31 Jul 2034.&lt;br /&gt;
&lt;br /&gt;
If you need additional time to design, validate and test your upgrade plans, Long Term Service Pack Support can extend the support duration. You can buy an additional 12 to 36 months in twelve month increments. This means that you can receive support up to Dec 2037.&lt;br /&gt;
&lt;br /&gt;
For more information, see the pages [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Support statement for openSUSE Leap ==&lt;br /&gt;
&lt;br /&gt;
To receive support, you need an appropriate subscription with SUSE. For more information, see https://forums.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
The following definitions apply:&lt;br /&gt;
&lt;br /&gt;
;L1&lt;br /&gt;
:Problem determination, which means technical support designed to provide compatibility information, usage support, ongoing maintenance, information gathering, and basic troubleshooting using the documentation.&lt;br /&gt;
;L2&lt;br /&gt;
:Problem isolation, which means technical support designed to analyze data, reproduce customer problems, isolate the problem area, and provide a resolution for problems not resolved by Level 1 or prepare for Level 3.&lt;br /&gt;
;L3&lt;br /&gt;
:Problem resolution, which means technical support designed to resolve problems by engaging engineering to resolve product defects which have been identified by Level 2 Support.&lt;br /&gt;
&lt;br /&gt;
For contracted customers and partners, openSUSE Leap is delivered with L3 support for all packages, except for the following:&lt;br /&gt;
* Technology Previews, see Section 3.4, &amp;quot;Technology previews&amp;quot;&lt;br /&gt;
* Sound, graphics, fonts and artwork&lt;br /&gt;
* Packages that require an additional customer contract, see Section 3.3.2, &amp;quot;Software requiring specific contracts&amp;quot;&lt;br /&gt;
* Some packages shipped as part of the module &#039;&#039;Workstation Extension&#039;&#039; are L2-supported only&lt;br /&gt;
* Packages with names ending in &amp;lt;code&amp;gt;-devel&amp;lt;/code&amp;gt; (containing header files and similar developer resources) will only be supported together with their main packages.&lt;br /&gt;
&lt;br /&gt;
SUSE will only support the usage of original packages. That is, packages that are unchanged and not recompiled.&lt;br /&gt;
&lt;br /&gt;
=== General support ===&lt;br /&gt;
&lt;br /&gt;
To learn about supported features and limitations, refer to the following sections in this document:&lt;br /&gt;
* Section 3.16, &amp;quot;Virtualization&amp;quot;&lt;br /&gt;
* Section 3.17, &amp;quot;Removed and deprecated features and packages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Software requiring specific contracts ===&lt;br /&gt;
&lt;br /&gt;
Certain software delivered as part of openSUSE Leap may require an external contract. Check the support status of individual packages using the RPM metadata that can be viewed with &amp;lt;code&amp;gt;rpm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;YaST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Major packages and groups of packages affected by this are:&lt;br /&gt;
* PostgreSQL (all versions, including all subpackages)&lt;br /&gt;
&lt;br /&gt;
=== Software under GNU AGPL ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped &#039;&#039;only&#039;&#039; under a GNU AGPL software license:&lt;br /&gt;
* Ghostscript (including subpackages)&lt;br /&gt;
* &amp;lt;code&amp;gt;velociraptor&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;velociraptor-client&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zypp-boot-plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped under multiple licenses that include a GNU AGPL software license:&lt;br /&gt;
* MySpell dictionaries and LightProof&lt;br /&gt;
* ArgyllCMS&lt;br /&gt;
&lt;br /&gt;
== Technology previews ==&lt;br /&gt;
&lt;br /&gt;
Technology previews are packages, stacks, or features delivered by SUSE to provide glimpses into upcoming innovations. Technology previews are included for your convenience to give you a chance to test new technologies within your environment. We would appreciate your feedback! If you test a technology preview, contact your SUSE representative and let them know about your experience and use cases. Your input is helpful for future development.&lt;br /&gt;
&lt;br /&gt;
Technology previews come with the following limitations:&lt;br /&gt;
* Technology previews are still in development. Therefore, they may be functionally incomplete, unstable, or in other ways not suitable for production use.&lt;br /&gt;
* Technology previews are not supported.&lt;br /&gt;
* Technology previews may only be available for specific hardware architectures. Details and functionality of technology previews are subject to change. As a result, upgrading to subsequent releases of a technology preview may be impossible and require a fresh installation.&lt;br /&gt;
* Technology previews can be removed from a product at any time. This may be the case, for example, if SUSE discovers that a preview does not meet the customer or market needs, or does not comply with enterprise standards.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
As technology preview, &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is available in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is intentionally built without Btrfs support. Btrfs filesystems can be multi-device (for example, RAID1) but &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; currently only supports a single device per mount.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rasdaemon&amp;lt;/code&amp;gt; has been updated to version 8.3.0. This version supports machine checks related to CXL memory.&lt;br /&gt;
* We now provide Grafana Alloy which can integrate with SUSE Observability as well.&lt;br /&gt;
* &amp;lt;code&amp;gt;NetworkManager&amp;lt;/code&amp;gt; is now the only network configuration stack in openSUSE Leap 16.0.&lt;br /&gt;
* We now provide a unified image that can be used to install either SLES or SLES for SAP&lt;br /&gt;
&lt;br /&gt;
=== Userspace live patching ===&lt;br /&gt;
&lt;br /&gt;
Currently, &amp;lt;code&amp;gt;libpulp&amp;lt;/code&amp;gt; supports ULP (user space live patching) of &amp;lt;code&amp;gt;glibc&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt; binaries on the following architectures:&lt;br /&gt;
* x86-64&lt;br /&gt;
* ppc64le&lt;br /&gt;
&lt;br /&gt;
For more information see https://documentation.suse.com/sles/15-SP7/html/SLES-all/cha-ulp.html&lt;br /&gt;
&lt;br /&gt;
=== Switch to &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API in &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; mount command has switched from the old string-based method to the new kernel &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API. This change introduces new features but also comes with some minor incompatibilities.&lt;br /&gt;
&lt;br /&gt;
There is a special case that cannot be handled by &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; and needs to be handled by applications:&lt;br /&gt;
* &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; discriminates between the physical mount layer and the virtual mount layer&lt;br /&gt;
* once the physical mount layer is read-only, read-write mount on the virtual layer is not possible&lt;br /&gt;
&lt;br /&gt;
If the first mount is read-only, then the physical filesystem is mounted read-only, and later mounting of the same file system as read-write is not possible. To solve this problem, the first mount needs to be read-only on the virtual layer only, keeping the physical layer read-write. The userspace fix is simple. Instead of:&lt;br /&gt;
 mount -oro&lt;br /&gt;
use&lt;br /&gt;
 mount -oro=vfs&lt;br /&gt;
&lt;br /&gt;
This will keep the physical layer read-write, but the virtual file system layer (and the userspace access) read-only.&lt;br /&gt;
&lt;br /&gt;
=== Switch to predictable network names ===&lt;br /&gt;
&lt;br /&gt;
The persistent network naming scheme used in Leap 15 became legacy with the switch to the systemd predictable network names. For complicated setups, we recommend using &amp;lt;code&amp;gt;systemd.link&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see:&lt;br /&gt;
* https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the future, when upgrading from SL Micro to Leap 16.1 (so-called &amp;quot;SLE merge&amp;quot;), some systems will have &amp;lt;code&amp;gt;net.ifnames=0&amp;lt;/code&amp;gt; set on their kernel command line (this is the case for new installations of SL Micro 6.0 and 6.1). This boot option will prevent the system from switching to the predictable naming scheme and it will need to be removed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== systemd default configurations moved to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Main configuration files have been moved from &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;. This ensures that main configuration files have lower precedence, allowing them to be overriden by package-supplied drop-in snippets.&lt;br /&gt;
&lt;br /&gt;
Local configuration should be created by either modifying the default file in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; (or a copy of it placed in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; if the original file is shipped in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;), or by creating drop-in snippets in the appropriate directory in (for example, &amp;lt;code&amp;gt;/etc/systemd/coredump.conf.d/&amp;lt;/code&amp;gt;) - this is recommended.&lt;br /&gt;
&lt;br /&gt;
Remove configurations in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to restore defaults.&lt;br /&gt;
&lt;br /&gt;
=== Password access as root via SSH disabled ===&lt;br /&gt;
&lt;br /&gt;
Previously, it was possible to SSH as root using password-based authentication. In Leap 16.0 only key-based authentication is allowed by default. Systems upgraded to 16.0 from a previous version will carry over the old behavior. New installations will enforce the new behavior.&lt;br /&gt;
&lt;br /&gt;
Installing the package &amp;lt;code&amp;gt;openssh-server-config-rootlogin&amp;lt;/code&amp;gt; restores the old behavior and allows password-based login for the root user.&lt;br /&gt;
&lt;br /&gt;
=== Minimum hardware requirements ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires hardware to meet requirements on these architectures:&lt;br /&gt;
* For AMD64 and Intel* 64 systems: Microarchitecture level x86-64-v2 or higher.&lt;br /&gt;
* For IBM* Power LE systems: POWER10 or higher (see note below).&lt;br /&gt;
* For Arm64* systems: Armv8.0-A or higher.&lt;br /&gt;
* For IBM* Z systems: z14 or higher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
POWER9 systems may work with Leap 16.0 but are not supported by IBM, the hardware vendor.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SHA1 to be disabled or mark unapproved ===&lt;br /&gt;
&lt;br /&gt;
Due to FIPS 140-3 certification requirements, the SHA1 cryptographic algorithm will be disabled or marked unapproved when running in FIPS mode.&lt;br /&gt;
&lt;br /&gt;
=== Added &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; package contains a daemon that tunes system settings dynamically.&lt;br /&gt;
&lt;br /&gt;
=== Lightweight guard region support ===&lt;br /&gt;
&lt;br /&gt;
This is a new feature in &amp;lt;code&amp;gt;madvise()&amp;lt;/code&amp;gt; that installs a lightweight guard region into a specified address range.&lt;br /&gt;
&lt;br /&gt;
See [https://manpages.opensuse.org/Leap-16.0/man-pages/madvise.2.en.html#MADV_GUARD_INSTALL madvise() man page] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Harmless error messages sometimes displayed when launching some applications ===&lt;br /&gt;
&lt;br /&gt;
The following messages are sometimes displayed when launching specific applications:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;gnome-desktop&amp;lt;/code&amp;gt; some times failes to create transient scope:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; gnome-session-binary: GnomeDesktop-WARNING: Could not create transient scope for PID 7883: GDBus.Error:org.freedesktop.DBus.Error.UnixProcessIdUnknown: Process with ID 7883 does not exist.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; sometimes fails to assign cgroup:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Couldn&#039;t move process 6708 to requested cgroup &#039;/user.slice/user-0.slice/user@0.service/app.slice/app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope&#039;: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed to add PIDs to scope&#039;s control group: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed with result &#039;resources&#039;.&lt;br /&gt;
&amp;gt; systemd: Failed to start Application launched by gnome-session-binary.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These messages are harmless and can be ignored.&lt;br /&gt;
&lt;br /&gt;
=== NFS over TLS support ===&lt;br /&gt;
&lt;br /&gt;
NFS over TLS is now supported for storage traffic.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; is replaced with &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; will also be enabled with a base tuning, similar to &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;. Base tuning only will be enabled if &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; was not configured before (no SAP Notes or Solutions selected).&lt;br /&gt;
&lt;br /&gt;
=== Azure Entra ID authentication via &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; package has been added. It provides interoperability with Microsoft Azure Entra ID and Intune. It supports Linux authentication to Microsoft Azure Entra ID via PAM and NSS modules.&lt;br /&gt;
&lt;br /&gt;
For more information see https://github.com/himmelblau-idm/himmelblau.&lt;br /&gt;
&lt;br /&gt;
=== Legacy BIOS support ===&lt;br /&gt;
&lt;br /&gt;
Legacy BIOS is still supported in openSUSE Leap 16.0. However, some features are not available when using it (for example, full-disk encryption with TPM). Finally, support for legacy BIOS will be discontinued in the future. For that reason we recommend switching to UEFI at the nearest opportunity.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; not persistent ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0, &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; is no longer persistent between reboots but uses &amp;lt;code&amp;gt;tmpfs&amp;lt;/code&amp;gt; instead. See https://susedoc.github.io/doc-modular/main/html/SLE-comparison/index.html#sle16-tmp for more information.&lt;br /&gt;
&lt;br /&gt;
=== Python update strategy ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; is currently set to use Python 3.13. In a future minor version update this is likely going to be changed to a newer Python version.&lt;br /&gt;
* openSUSE Leap 16.0 contains around 700 popular Python packages, which form a basic set of functionality for packages that depends on Python and for developing apps without needing to install Python modules from an external provider.&lt;br /&gt;
* We have been working on removing the dependencies of packages and tools on the &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; binary, which means that openSUSE Leap could use a newer version of the Python interpreter in the future. This new Python interpreter will coexist with the previous version that will then be maintained as legacy interpreter for a limited time.&lt;br /&gt;
&lt;br /&gt;
=== Removal of 32-bit support ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 only supports 64-bit binaries. Support for 32-bit binaries (or 31-bit binaries on IBM Z) has been removed.&lt;br /&gt;
&lt;br /&gt;
This means that statically-linked 32-bit binaries (or 31-bit binaries on IBM Z) and container images cannot be run anymore. 32-bit syscalls are still enabled by default on arm64, and can be enabled on x86_64 via the kernel parameter &amp;lt;code&amp;gt;ia32_emulation&amp;lt;/code&amp;gt;. On other architectures it’s disabled without any option to enable it.&lt;br /&gt;
&lt;br /&gt;
=== Compiling kernel uses non-default compiler ===&lt;br /&gt;
&lt;br /&gt;
Customers who need to build kernel modules or rebuild the kernel must use the same compiler version the kernel was built with. The kernel is built with &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13, which is not the default compiler. Install the &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13 compiler using the gcc13 package and invoke it with the command &amp;lt;code&amp;gt;gcc-13&amp;lt;/code&amp;gt;. This specific compiler version is only supported for building kernel modules and the kernel.&lt;br /&gt;
&lt;br /&gt;
=== Optimized libraries for newer hardware architectures ===&lt;br /&gt;
&lt;br /&gt;
We have added support for the glibc-HWCAPS feature which loads optimized versions of libraries for specific newer CPUs automatically.&lt;br /&gt;
&lt;br /&gt;
The build infrastructure for this feature is enabled for the following libraries:&lt;br /&gt;
* &amp;lt;code&amp;gt;blosc2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;boost&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;brotli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bzip2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;flac&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;jsoncpp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lame&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;leveldb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libdb-4_8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libgcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libiscsi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjpeg-turbo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjxl&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libmng&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libnettle&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libpng16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libvorbis&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libxmlb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lz4&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lzo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openjpeg2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openssl-3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python311&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python313&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sqlite3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;talloc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tree-sitter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xxhash&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zopfli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No remote root login with password ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you install the system using only a &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; password and do not provide an SSH key for the root user, &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; will not be enabled automatically after installation. You will not be able to log in remotely as root using the password.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, remote password-based &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login is disabled. The installer enables the &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; service only when an SSH key for root is configured during setup. To allow remote &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login, configure an SSH key for root during installation.&lt;br /&gt;
&lt;br /&gt;
=== Default user group assignment changed ===&lt;br /&gt;
&lt;br /&gt;
Previously, all user accounts belonged to a single &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group.&lt;br /&gt;
&lt;br /&gt;
Now instead of being added to the common &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group, each new user now gets their own primary group matching their username. This is due to &amp;lt;code&amp;gt;USERGROUPS_ENAB&amp;lt;/code&amp;gt; being enabled in &amp;lt;code&amp;gt;/usr/etc/login.defs&amp;lt;/code&amp;gt;. This change affects all new installations and upgraded systems that did not change the default &amp;lt;code&amp;gt;/etc/login.defs&amp;lt;/code&amp;gt;. This has several consequences:&lt;br /&gt;
* files created by new users are not group-readable by default&lt;br /&gt;
* configurations that used the primary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition do not work anymore&lt;br /&gt;
* configurations that used the primary or secondary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition need to have the &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group manually added to these user accounts in order to continue to work, for example, to for &amp;lt;code&amp;gt;@users&amp;lt;/code&amp;gt; in the sudoers file&lt;br /&gt;
* home directories inherited from a previous system need to standardize the GID of the files by running: &lt;br /&gt;
:&amp;lt;code&amp;gt;find &amp;quot;$HOME&amp;quot; -group users -exec chgrp myuser {} \;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;chgrp -R myuser &amp;quot;$HOME&amp;quot;&amp;lt;/code&amp;gt; if you did not use any GID other than &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SysV init.d scripts support ===&lt;br /&gt;
&lt;br /&gt;
SysV init.d scripts have been [https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15-SP2/index.html#jsc-SLE-7690 deprecated since Leap 15 SP2].&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, support of SysV init.d scripts has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (RC1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to RC1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; removal ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; file is just a dummy file that will be removed in the future. Software that appends to it without creating it should have its behavior changed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta4) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta4. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Configuring network interfaces during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, the installer does not allow for setting up network interfaces using the UI. However, in the meantime you can use dracut-like command-line options, for example:&lt;br /&gt;
&lt;br /&gt;
 ifname=&amp;lt;interface&amp;gt;:&amp;lt;MAC&amp;gt;&lt;br /&gt;
 ip=&amp;lt;interface&amp;gt;:dhcp&lt;br /&gt;
&lt;br /&gt;
Additionally, the &amp;lt;code&amp;gt;inst.copy_network&amp;lt;/code&amp;gt; is not available in Beta4.&lt;br /&gt;
&lt;br /&gt;
=== SAP workloads on Leap 16.0 ===&lt;br /&gt;
&lt;br /&gt;
For running SAP workloads on openSUSE Leap 16.0, do the following:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Unpack the SAP installer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to change policies:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;semanage boolean -m --on selinuxuser_execmod&lt;br /&gt;
semanage boolean -m --on unconfined_service_transition_to_unconfined_user&lt;br /&gt;
semanage permissive -a snapper_grub_plugin_t&lt;br /&gt;
restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Run the following commands to lable all files:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d ./snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d ./snapshots || restorecon R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Install SAP workload or SAP HANA&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Label all files again:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;test -d /.snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d /.snapshots || restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== FIPS 140-3 not working properly ===&lt;br /&gt;
&lt;br /&gt;
FIPS 140-3 installation has not been fully validated and may cause unexpected software failure or crashes. Therefore, we discourage you from using it on Beta4.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta3) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta3. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Kernel crash in QEMU ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires a CPU that supports a so-called &amp;quot;x86-64-v2&amp;quot; microarchitecture. Due to this, running a Leap image using QEMU currently results in a kernel crash.&lt;br /&gt;
&lt;br /&gt;
As a workaround you can run QEMU with the &amp;lt;code&amp;gt;-cpu host&amp;lt;/code&amp;gt; argument.&lt;br /&gt;
&lt;br /&gt;
=== Missing &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library has been deprecated in SLES 15 and finally removed in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
As a workaround for applications that cannot be installed without it (but presumaly do not use it for anything), we provide the &amp;lt;code&amp;gt;libnsl-stub1&amp;lt;/code&amp;gt; package that includes ABI-compatible but otherwise function-less stub of the library file.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; not usable with many interfaces ===&lt;br /&gt;
&lt;br /&gt;
Due to an upstream bug, &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; might take a long time or time out when adding many interfaces. The error occurs when &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; is restarted after applying such a configuration. The following message appears in the system logs:&lt;br /&gt;
 ERROR:dbus.proxies:Introspect error on :1.18:/org/fedoraproject/FirewallD1: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply.&lt;br /&gt;
 Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.&lt;br /&gt;
&lt;br /&gt;
See https://github.com/firewalld/firewalld/issues/1399 for more information.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta2) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta2. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Switch from YaST to Cockpit ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 has switched from YaST to Cockpit for manual system administration. We have enhanced Cockpit with new modules with the intention to upstream them later. Despite being functional, bugs might appear and features might be missing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;: register, de-register and view SUSE Linux Enterprise registrations. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-repositories&amp;lt;/code&amp;gt;: add, remove, view repositories, change settings and refresh them. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;: show installed packages, search available repositories, install and uninstall packages. Requires administrative access. Be aware that there are no safety measures implemented as far as system usability goes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enhanced modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;: update packages from available repositories. The module now allows to individually select packages to update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upstream modules&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-kdump&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-machines&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-podman&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;: these modules are updated to the recent stable base version 332 (or their respective).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default selection&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installation of the pattern &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt; will pull in the following modules: &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-repos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;dovecot 2.4&amp;lt;/code&amp;gt; configuration upgrade ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 &amp;lt;code&amp;gt;dovecot&amp;lt;/code&amp;gt; has been upgraded to version 2.4. The configuration of this version is incompatible with the previous versions.&lt;br /&gt;
&lt;br /&gt;
Configuration has to be updated manually. For more information see https://doc.dovecot.org/2.4.0/installation/upgrade/2.3-to-2.4.html.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Disk configuration UI during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, choosing disk configurations other than &amp;quot;An existing disk&amp;quot; (installation to a single disk) suffer from poor usability. This is expected to change in a future update.&lt;br /&gt;
&lt;br /&gt;
=== Non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; after installation ===&lt;br /&gt;
&lt;br /&gt;
There is currently a known issue that adds a non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; repository which prevents &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; from working correctly.&lt;br /&gt;
&lt;br /&gt;
To fix this issue, remove the repository in question and add the installation medium repository manually:&lt;br /&gt;
# Remove repository with &amp;lt;code&amp;gt;zypper rr&amp;lt;/code&amp;gt;. To remove the first repository, for example, run: &amp;lt;code&amp;gt;zypper rr 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Add the installation medium as repository by running &lt;br /&gt;
#:&amp;lt;pre&amp;gt;zypper ar hd:/install?device=/dev/disk/by-label/agama-installer medium&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:(the &amp;lt;code&amp;gt;medium&amp;lt;/code&amp;gt; at the end is a name you want to give the repository).&lt;br /&gt;
# Run &amp;lt;code&amp;gt;zypper refresh&amp;lt;/code&amp;gt; to refresh the added repository.&lt;br /&gt;
&lt;br /&gt;
=== systemd uses cgroup v2 by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses cgroup v2 by default and v1 is unsupported. If you need to use cgroup v1, SLES 15 SP6 can be switched to hybrid mode using a boot parameter.&lt;br /&gt;
&lt;br /&gt;
== x86-64-specific changes ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to the x86-64 architecture.&lt;br /&gt;
&lt;br /&gt;
=== AMD EPYC Turin automonous frequency scaling ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, the default Linux CPU frequency scaling driver for AMD EPYC Turin (and later processors) has shifted to the AMD P-State driver to enable autonomous frequency scaling.&lt;br /&gt;
&lt;br /&gt;
With the AMD P-State driver, it enables the use of the Energy Performance Preference (EPP) for more granular control over performance versus power efficiency to adjust the CPU frequencies based on workload and hardware feedback dynamically.&lt;br /&gt;
&lt;br /&gt;
== IBM Z-specific changes (s390x) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for IBM Z 16.0. For more information, see https://www.ibm.com/docs/en/linux-on-systems?topic=distributions-suse-linux-enterprise-server&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; providing machine name, kconfig options, new instructions, etc.&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;gdb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;valgrind&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;binutils&amp;lt;/code&amp;gt;&lt;br /&gt;
* Support has been added for IBM z16 - reset DAT-Protection facility support&lt;br /&gt;
* Identify ConnectX devices through port rather than PCHID&lt;br /&gt;
* Processor Activity Instrumentation / Neural Network Processing Assist counters for new IBM Z hardware was added into kernel&lt;br /&gt;
* kprobes are now supported without &amp;lt;code&amp;gt;stop machine&amp;lt;/code&amp;gt;&lt;br /&gt;
* Promiscuous Mode Exploitation for NETH Virtual Functions for IBM z17 and LinuxONE 5&lt;br /&gt;
* Vertical CPU Polarization support for IBM z17 and LinuxONE 5&lt;br /&gt;
* qclib has been updated to support IBM z17&lt;br /&gt;
* The Integrated Accelerator for AI has new operations, which are now supported by libzdnn low-level driver library&lt;br /&gt;
* Enhanced RAS and Call Home for zPCI&lt;br /&gt;
* The kernel image can move into vmalloc space, where random physical pages are used to map virtual pages (V!=R)&lt;br /&gt;
* Add new CPU-MF Counters for new IBM Z Hardware (libpfm)&lt;br /&gt;
* Deactivate CONFIG_QETH_OSX kernel config option&lt;br /&gt;
* Upgrade Mellanox (mlx5) driver to latest version&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
* LPAR level power consumption reporting is now available in kernel and s390-tools.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== In-kernel crypto support ====&lt;br /&gt;
&lt;br /&gt;
With this service pack are additionally supported:&lt;br /&gt;
* MSA 10 XTS instructions for in-kernel crypto&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 12 (SHA3) has been added and introduces new options to call CPACF SHA 3 functions&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 10 XTS crypto PAES support for in-kernel crypto&lt;br /&gt;
&lt;br /&gt;
==== OpenSSL features ====&lt;br /&gt;
&lt;br /&gt;
This release brings these features and improvements:&lt;br /&gt;
* XTS instructions support in libcrypto/openSSL&lt;br /&gt;
* New MSA 11 HMAC instruction support in libcrypto/openSSL&lt;br /&gt;
* Added support for MSA 12 (SHA3), which also introduces new options to call CPACF SHA3 and SHKE functions&lt;br /&gt;
* Extended support of the openssl-pkcs11 provider such that it can be used by programs that issue forks&lt;br /&gt;
* Replace openssl-ibmpkcs11 with openssl-pkcs11&lt;br /&gt;
* Upgrade openssl-ibmca to the latest version&lt;br /&gt;
&lt;br /&gt;
==== openCryptoki ====&lt;br /&gt;
&lt;br /&gt;
* The new version of &amp;lt;code&amp;gt;libica&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libzpc&amp;lt;/code&amp;gt; is included.&lt;br /&gt;
* The openCryptoki CCA Token is now available on x86_64 and ppc64le architectures.&lt;br /&gt;
&lt;br /&gt;
==== p11-kit =====&lt;br /&gt;
&lt;br /&gt;
* Add support for IBM specific attributes and mechanisms to the PKCS11 client-server implementation of p11-kit.&lt;br /&gt;
&lt;br /&gt;
==== pkey ====&lt;br /&gt;
&lt;br /&gt;
* The kernel pkey module can now generate keys AES-XTS keys (MSA 10) and HMAC key (MSA 11) from clear keys.&lt;br /&gt;
* The module can also generate keys represented by identifiers of secure execution retrievable keys.&lt;br /&gt;
* The pkey also supports EP11 API ordinal 6 for secure guests.&lt;br /&gt;
&lt;br /&gt;
==== zcrypt =====&lt;br /&gt;
&lt;br /&gt;
* The zcrypt extends error recovery to deal with device scans of unavailable devices.&lt;br /&gt;
&lt;br /&gt;
=== Virtualization ===&lt;br /&gt;
&lt;br /&gt;
* KVM guests can exploit z17 &amp;amp; LinuxONE 5 CPU features&lt;br /&gt;
* KVM can display available host key hashes for Secure Execution (Query Host-key hash UVC)&lt;br /&gt;
* KVM can benefit from genprotimg rewritten in Rust to re-use existing rust libraries (s390-tools feature)&lt;br /&gt;
* KVM benefits from genprotimg validation of SE image running on particular host(s) (s390-tools feature)&lt;br /&gt;
* KVM benefits from using pvimg info command to display encrypted &amp;amp; unencrypted SE image information (s390-tools)&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM passthrough is available for guests i.e. retrievable secrets in Secure Execution guests&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM implements counters for nested guest shadow events&lt;br /&gt;
* KVM implements virsh hypervisor-cpu-models (libvirt)&lt;br /&gt;
* KVM provides enhanced and dynamic CPU topology for KVM guests (qemu)&lt;br /&gt;
* KVM and libvirt full boot order enables users to attempt booting from multiple targets&lt;br /&gt;
* KVM provides Atomic Memop for Key-Checked Compare-and-swap&lt;br /&gt;
* KVM enhances CCW address translation architectural compliance&lt;br /&gt;
* KVM improves memory reclaiming for z15 Secure Execution guests and above (libvirt)&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; was replaced by &amp;lt;code&amp;gt;blog&amp;lt;/code&amp;gt; on s390x, as &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; couldn&#039;t work without graphical display.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Eigen&amp;lt;/code&amp;gt; library is the backend used by &amp;lt;code&amp;gt;Tensorflow&amp;lt;/code&amp;gt; for computations executed on the CPU. Several GCC adjustments have been implemented to speed up Eigen with IBM z14 support and above.&lt;br /&gt;
* Allow &amp;lt;code&amp;gt;httpd&amp;lt;/code&amp;gt; customers to protect their web server identity using HSMs (via CryptoExpress adapters).&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The latest s390-tool update brings these noticeable changes:&lt;br /&gt;
* Additional channel measurements - kernel &amp;amp; &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* A new tool cpacinfo shall provide information on CPACF including the supported MSA levels, instructions, subfunctions per instruction. https://www.ibm.com/docs/en/linux-on-systems?topic=hw-cpacf&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO ====&lt;br /&gt;
&lt;br /&gt;
Previously, &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; would point to a directory of unpacked files.&lt;br /&gt;
&lt;br /&gt;
Now it needs to point to a loop-mounted ISO via FTP. For example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/agama-online.iso&lt;br /&gt;
 agama.install_url=ftp://$SERVER_URL/install/agama&lt;br /&gt;
&lt;br /&gt;
For more information see https://agama-project.github.io/docs/user/boot_options.&lt;br /&gt;
&lt;br /&gt;
==== Disk selection UI problems during installation ====&lt;br /&gt;
&lt;br /&gt;
If you want to enable a disk, click on &#039;&#039;Storage&#039;&#039; in the left panel, then &#039;&#039;Install new system on&#039;&#039; and choose &amp;quot;storage techs&amp;quot;. Then you can choose a type of disk. This can be avoided if you have defined your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; as described in Section 3.13.5.2, &amp;quot;&amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you choose DASD, you should see disks based on your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cio_ignore&amp;lt;/code&amp;gt; configuration. Then choose a disk and activate it by clicking &#039;&#039;Perform an action&#039;&#039; and then &#039;&#039;Activate&#039;&#039;. This can take a moment. If it is not visible, then you need to click on Storage or refresh the page.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;zFCP&#039;&#039; section, after activating a disk a gray line will appear. This is just a visual bug, the disk will activate correctly.&lt;br /&gt;
&lt;br /&gt;
==== Installation failure on zVM ====&lt;br /&gt;
&lt;br /&gt;
Due to a change from &amp;lt;code&amp;gt;linuxrc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;dracut&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to define not only installation source but also a network and disks.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to be filled with a &amp;lt;code&amp;gt;dracut-like&amp;lt;/code&amp;gt; options, for example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/online.iso&lt;br /&gt;
 ip=$IP_address::$IP_gateway:24:SLE16-Beta4:$NETWORK_DEVICE:none&lt;br /&gt;
 rd.zdev=qeth,0.0.0800:0.0.0801:0.0.0802,layer2=1,portno=0&lt;br /&gt;
 cio_ignore=all,!condev,!0.0.0160 nameserver=$NAMEserverIP&lt;br /&gt;
 live.password=linux rd.zdev=dasd,0.0.0160&lt;br /&gt;
&lt;br /&gt;
== POWER-specific changes (ppc64le) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for POWER 16.0.&lt;br /&gt;
&lt;br /&gt;
=== KVM guests in LPAR ===&lt;br /&gt;
&lt;br /&gt;
The ability to run KVM Guests in an LPAR is a new feature in PowerVM Firmware 1060.10 release and supported in openSUSE Leap 16.0. This enables users to run KVM guests in a PowerVM LPAR bringing industry standard Linux KVM virtualization stack to IBM PowerVM, which easily integrates with existing Linux virtualization ecosystem. This enables a lot of interesting usecases which were earlier difficult to realize in a PowerVM LPAR.&lt;br /&gt;
&lt;br /&gt;
KVM in a PowerVM LPAR is a new type of LPAR (logical partition) that allows the openSUSE Leap 16.0 kernel to host KVM guests inside an LPAR on PowerVM. A KVM enabled LPAR allows standard Linux KVM tools (for example, &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt;) to create and manage lightweight Linux Virtual Machines (VM). A KVM Linux LPAR uses dedicated cores which enables Linux to have full control of when Linux VMs are scheduled to run, just like KVM on other platforms.&lt;br /&gt;
&lt;br /&gt;
=== Login times out on HMC virtual terminal ===&lt;br /&gt;
&lt;br /&gt;
If you install openSUSE Leap for POWER with the GNOME desktop on LPAR and try to login via the HMC virtual terminal, the login may time out while entering your credentials.&lt;br /&gt;
&lt;br /&gt;
To work around this issue, disable the Plymouth graphical boot screen by appending the boot parameter &amp;lt;code&amp;gt;plymouth.enable=0&amp;lt;/code&amp;gt; to the kernel command line.&lt;br /&gt;
&lt;br /&gt;
== Arm-specific changes (AArch64) ==&lt;br /&gt;
&lt;br /&gt;
=== System-on-Chip driver enablement ===&lt;br /&gt;
&lt;br /&gt;
Leap 16.0 includes driver enablement for the following System-on-Chip (SoC) chipsets:&lt;br /&gt;
* Ampere* X-Gene*, eMAG*, Altra*, Altra Max, AmpereOne*&lt;br /&gt;
* AWS* Graviton, Graviton2, Graviton3&lt;br /&gt;
* Broadcom* BCM2837/BCM2710, BCM2711&lt;br /&gt;
* Fujitsu* A64FX&lt;br /&gt;
* Huawei* Kunpeng* 916, Kunpeng 920&lt;br /&gt;
* Marvell* ThunderX*, ThunderX2*; OCTEON TX*; Armada* 7040, Armada 8040&lt;br /&gt;
* NVIDIA* Grace; Tegra* X1, Tegra X2, Xavier*, Orin; Blue﻿Field*, Blue﻿Field-2, Blue﻿Field-3&lt;br /&gt;
* NXP* i.MX 8M, 8M Mini; Layerscape* LS1012A, LS1027A/LS1017A, LS1028A/LS1018A, LS1043A, LS1046A, LS1088A, LS2080A/LS2040A, LS2088A, LX2160A&lt;br /&gt;
* Rockchip RK3399&lt;br /&gt;
* Socionext* SynQuacer* SC2A11&lt;br /&gt;
* Xilinx* Zynq* UltraScale*﻿+ MPSoC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Driver enablement is done as far as available and requested. Refer to the following sections for any known limitations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some systems might need additional drivers for external chips, such as a Power Management Integrated Chip (PMIC), which may differ between systems with the same SoC chipset.&lt;br /&gt;
&lt;br /&gt;
For booting, systems need to fulfill either the Server Base Boot Requirements (SBBR) or the Embedded Base Boot Requirements (EBBR), that is, the Unified Extensible Firmware Interface (UEFI) either implementing the Advanced Configuration and Power Interface (ACPI) or providing a Flat Device Tree (FDT) table. If both are implemented, the kernel will default to the Device Tree; the kernel command line argument &amp;lt;code&amp;gt;acpi=force&amp;lt;/code&amp;gt; can override this default behavior.&lt;br /&gt;
&lt;br /&gt;
Check for SUSE &#039;&#039;YES!&#039;&#039; certified systems, which have undergone compatibility testing.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
* iSCSI boot support is disabled in OVMF images.&lt;br /&gt;
&lt;br /&gt;
=== QEMU ===&lt;br /&gt;
&lt;br /&gt;
QEMU has been updated to version 10.0.2, full list of changes are available at https://wiki.qemu.org/ChangeLog/10.0&lt;br /&gt;
&lt;br /&gt;
Highlights include:&lt;br /&gt;
* Removed features: https://qemu-project.gitlab.io/qemu/about/removed-features.html&lt;br /&gt;
* Deprecated features: https://qemu-project.gitlab.io/qemu/about/deprecated.html&lt;br /&gt;
&lt;br /&gt;
=== libvirt ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; has been updated to version 11.4.0, this includes many incremental improvements and bug fixes, see https://libvirt.org/news.html#v11-4-0-2025-06-02.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; provides now a modular daemons.&lt;br /&gt;
&lt;br /&gt;
=== VMware ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; has been updated to version 13.0.0 that addresses a few critical problems and bug fixes. See https://github.com/vmware/open-vm-tools/blob/stable-13.0.0/ReleaseNotes.md.&lt;br /&gt;
&lt;br /&gt;
=== Confidential Computing ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; package has been updated to version 0.6.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; package has been updated to version 0.9.1. Full list of changes is available at: https://github.com/virtee/snpguest/compare/v0.7.1…​v0.9.1&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; package version 0.6.0 has been added.&lt;br /&gt;
&lt;br /&gt;
==== Intel TDX Confidential Computing ====&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 the kernel now incorporates the latest upstream Intel Trust Domain Extensions (TDX) patches. This significant update prepares the virtualization toolstack for Intel TDX confidential computing capabilities.&lt;br /&gt;
&lt;br /&gt;
These patches are important for enabling the kernel to support creating and managing trust domains, which is a step towards enabling confidential computing environments on Intel TDX-enabled hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The full Intel TDX confidential computing experience also requires integrating QEMU and libvirt components, which will be part of a future update.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Enhanced VM Security with AMD SEV-SNP ====&lt;br /&gt;
&lt;br /&gt;
AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) is a hardware security feature in AMD EPYC processors that provides a highly secure and confidential environment for virtual machines (VMs). It offers strong memory confidentiality through per-VM encryption keys and AES encryption, and crucially, robust memory integrity protection to prevent tampering from the hypervisor or other threats. It also provides enhanced isolation and remote attestation capabilities, making it ideal for protecting sensitive data and workloads in untrusted environments like cloud computing. This release fully integrates AMD SEV-SNP for KVM-based virtual machines. This means integrated support in our kernel, along with updated QEMU, Libvirt, and OVMF Firmware. To use AMD SEV-SNP, you’ll need, AMD EPYC™ 3rd Gen Processors (Milan) or newer and SEV-SNP enabled in your system’s BIOS/UEFI.&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; is available in version 2.5, adding support for Intel GNR and SRF platforms.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; is shipped in version 2.0.19. Full changes at: https://github.com/numactl/numactl/releases/tag/v2.0.19&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; has been updated to version 1.55.13.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-v2v&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Update to version 2.7.16. While there are no dedicated release notes, you can review the code changes in Github: https://github.com/libguestfs/virt-v2v/tree/v2.7.16&lt;br /&gt;
* Implement --parallel=N for parallel disk copies&lt;br /&gt;
* Update Translations&lt;br /&gt;
* Various fixes&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; has been updated to 1.12.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; is now shipped in version 5.0.0. Its preferable to setup VNC for remote viewing and do all the XML editing using the &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt; command. Full list of changes is available at https://github.com/virt-manager/virt-manager/releases/tag/v5.0.0&lt;br /&gt;
&lt;br /&gt;
==== virt-bridge-setup ====&lt;br /&gt;
&lt;br /&gt;
virt-bridge-setup is a script designed to simplify network bridge creation on a specified interface using nmcli. It was developed as a replacement for the automatic &amp;quot;yast2 virtualization&amp;quot; bridge creation and is particularly useful for setting up virtualization environments.&lt;br /&gt;
&lt;br /&gt;
Important considerations:&lt;br /&gt;
* It supports IPv4 only.&lt;br /&gt;
* This is a simple script not intended for complex network scenarios (vlan, bonding, etc…​); manual bridge setup is recommended for intricate configurations.&lt;br /&gt;
* The script should be run locally (not remotely) immediately after installation and before any custom network configurations.&lt;br /&gt;
&lt;br /&gt;
== Removed and deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
This section lists features and packages that were removed from openSUSE Leap or will be removed in upcoming versions.&lt;br /&gt;
&lt;br /&gt;
=== Removed features and packages ===&lt;br /&gt;
&lt;br /&gt;
The following features and packages have been removed in this release.&lt;br /&gt;
&lt;br /&gt;
* Xorg server has been removed. Only Wayland is supported for graphical display. X11 applications compatibility is provided via XWayland.&lt;br /&gt;
* &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; has been removed. See Section 3.6.7, &amp;quot;&amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;&amp;quot; for more info.&lt;br /&gt;
* YaST has been removed. See Section 3.10.1, &amp;quot;Switch from YaST to Cockpit&amp;quot; for more info.&lt;br /&gt;
* WSL1 is not supported anymore&lt;br /&gt;
* The Xen hypervisor was removed in favor of KVM. You no longer run SLE 16 as Xen host or as paravirtualized guest (PV). Running SLE 16 as fully virtualized Xen guest (HVM) or using using hardware virtualization features (PVH) is still possible.&lt;br /&gt;
* &amp;lt;code&amp;gt;nscd&amp;lt;/code&amp;gt; has been removed&lt;br /&gt;
* The snIPL package is deprecated as HMC is providing most capabilities. There is also available a command line client to interact with the HMC Web Services API: the zhmccli https://github.com/zhmcclient.&lt;br /&gt;
* Removed &amp;lt;code&amp;gt;rc&amp;lt;service&amp;gt;&amp;lt;/code&amp;gt; controls of systemd services&lt;br /&gt;
* Removed the &amp;lt;code&amp;gt;KBD_DISABLE_CAPS_LOCK&amp;lt;/code&amp;gt; feature from &amp;lt;code&amp;gt;/etc/sysconfig/keyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;netiucv&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;lcs&amp;lt;/code&amp;gt; drivers&lt;br /&gt;
* &amp;lt;code&amp;gt;ansible-9&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ansible-core-2.16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;criu&amp;lt;/code&amp;gt;&lt;br /&gt;
* Section 3.6.17, &amp;quot;SysV init.d scripts support&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;compat-libpthread-nonshared&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;crun&amp;lt;/code&amp;gt; has been removed. Use &amp;lt;code&amp;gt;runc&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
== Deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
The following features and packages are deprecated and will be removed in a future version of openSUSE Leap.&lt;br /&gt;
* The 2MB OVMF image will be deprecated and removed in openSUSE Leap 16.1.&lt;br /&gt;
&lt;br /&gt;
=== nmap deprecation notice ===&lt;br /&gt;
&lt;br /&gt;
The nmap project has moved to a new source license that makes future releases of nmap incompatible with our product.&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, we are shipping the latest version of nmap released under the old license. In an upcoming release we will switch to an alternative tool.&lt;br /&gt;
&lt;br /&gt;
= Obtaining source code =&lt;br /&gt;
&lt;br /&gt;
This SUSE product includes materials licensed to SUSE under the GNU General Public License (GPL). The GPL requires SUSE to provide the source code that corresponds to the GPL-licensed material. The source code is available for download at https://get.opensuse.org on Medium 2. For up to three years after distribution of the SUSE product, upon request, SUSE will mail a copy of the source code. Send requests by e-mail to sle_source_request@suse.com. SUSE may charge a reasonable fee to recover distribution costs.&lt;br /&gt;
&lt;br /&gt;
= Legal notices =&lt;br /&gt;
&lt;br /&gt;
Copyright © 2025-2025 openSUSE contributors and SUSE LLC. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) Version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”.&lt;br /&gt;
&lt;br /&gt;
This document includes content adapted from the SUSE Linux Enterprise release notes, contributed by the SUSE Documentation Team. Portions of the content are maintained by the openSUSE community.&lt;br /&gt;
&lt;br /&gt;
For SUSE trademarks, see https://www.suse.com/company/legal/. For openSUSE trademarks, see https://en.opensuse.org/openSUSE:Trademark_guidelines. All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™, etc.) denote trademarks of SUSE, openSUSE, and their affiliates. Asterisks (*) denote third-party trademarks.&lt;br /&gt;
&lt;br /&gt;
While every effort has been made to ensure accuracy, the openSUSE contributors, SUSE Documentation Team, and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1018</id>
		<title>OpenSUSE Leap 16.0 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1018"/>
		<updated>2025-10-15T01:25:45Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Harmless error messages sometimes displayed when launching some applications */ Fixed numbered list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;openSUSE Leap is a modern, modular operating system suitable for both traditional IT and multimodal workloads. This document highlights major features, updates, and known limitations.&lt;br /&gt;
&lt;br /&gt;
= About the release notes =&lt;br /&gt;
&lt;br /&gt;
These Release Notes are identical across all architectures, and the most recent version is always available online at https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
Entries are only listed once but they can be referenced in several places if they are important and belong to more than one section.&lt;br /&gt;
&lt;br /&gt;
Release notes usually only list changes that happened between two subsequent releases. Certain important entries from the release notes of previous product versions are repeated. To make these entries easier to identify, they contain a note to that effect.&lt;br /&gt;
&lt;br /&gt;
However, repeated entries are provided as a courtesy only. Therefore, if you are skipping one or more service packs, check the release notes of the skipped service packs as well. If you are only reading the release notes of the current release, you could miss important changes.&lt;br /&gt;
&lt;br /&gt;
== Documentation and other information ==&lt;br /&gt;
&lt;br /&gt;
For the most up-to-date version of the documentation for openSUSE Leap, see:&lt;br /&gt;
&lt;br /&gt;
* https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
This section describes community-driven enhancements, features, and updates that extend the SUSE Linux Enterprise core. These changes reflect the openSUSE project’s unique contributions, including desktop improvements, additional packages, and new workflows.&lt;br /&gt;
&lt;br /&gt;
= openSUSE Leap Community Additions =&lt;br /&gt;
&lt;br /&gt;
== Lifecycle ==&lt;br /&gt;
&lt;br /&gt;
Each openSUSE Leap minor release is published once every 12 months. openSUSE Leap 16 provides maintenance updates over two minor releases, giving each release a full 24 months of community support.&lt;br /&gt;
&lt;br /&gt;
Unless there is a change in release strategy, the final openSUSE Leap version (16.6) will be released in fall 2031 and will continue receiving updates until the release of openSUSE Leap 17.1 two years later.&lt;br /&gt;
&lt;br /&gt;
For more information, see: [https://en.opensuse.org/Roadmap Roadmap].&lt;br /&gt;
&lt;br /&gt;
For more than 24 months of support for a point release, the openSUSE migration tool makes it simple to move to SUSE Linux Enterprise, which provides decades of support. See [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Migration from Leap 15.6 ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] (&amp;lt;code&amp;gt;zypper in opensuse-migration-tool&amp;lt;/code&amp;gt;) is included as part of openSUSE Leap 15.6. Users migrating from older releases can run the tool from [https://github.com/openSUSE/opensuse-migration-tool Git repository].&lt;br /&gt;
&lt;br /&gt;
For more information, refer to: [https://en.opensuse.org/SDB:System_upgrade SDB:System_upgrade].&lt;br /&gt;
&lt;br /&gt;
== Installer and Desktop Environments ==&lt;br /&gt;
&lt;br /&gt;
* openSUSE Leap 16 installer provides only Wayland variants of desktop environments. Xorg-based environments can be installed manually post-installation.&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA and Graphics Issues with the Installation Image ===&lt;br /&gt;
&lt;br /&gt;
Some users with NVIDIA GPUs may experience graphics-related issues during installation, such as boo#1247670 where X server fails to start. This is due to the fact that openSUSE Leap install image contains &amp;lt;code&amp;gt;kernel-default-optional&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;kernel-default-extra&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you encounter problems specific to the &amp;lt;code&amp;gt;nouveau&amp;lt;/code&amp;gt; driver, try booting with the option: &amp;lt;code&amp;gt;rd.driver.blacklist=nouveau&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For general graphics boot problems, use the option: &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Experimental Xfce Wayland session ===&lt;br /&gt;
&lt;br /&gt;
Experimental Xfce Wayland session is available as an installation option. openSUSE Leap is one of the first distributions to provide Wayland support for [https://en.opensuse.org/Portal:Xfce Xfce]. We use &amp;lt;code&amp;gt;gtkgreet&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;greetd&amp;lt;/code&amp;gt; as a Wayland-ready replacement for LightDM (used in the X11 variant).&lt;br /&gt;
&lt;br /&gt;
=== LXQt Wayland session available post install ===&lt;br /&gt;
&lt;br /&gt;
LXQt Wayland session is included, but will become a full installer option in later releases once LXQt Miriway efforts are further developed: https://code.opensuse.org/leap/features/issue/192.&lt;br /&gt;
&lt;br /&gt;
== Changes to the openSUSE Welcome ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16 now uses the &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt; to start the appropriate greeter application. This launcher, in combination with &amp;lt;code&amp;gt;gnome-tour&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;plasma-welcome&amp;lt;/code&amp;gt;, replaces the legacy Qt5-based &amp;lt;code&amp;gt;opensuse-welcome&amp;lt;/code&amp;gt;, which was previously the default greeter.&lt;br /&gt;
&lt;br /&gt;
The launcher also allows the openSUSE release team to update or refresh the displayed greeter via a package update, for example after a major GNOME update. To create a custom appliance without a welcome application, or to deploy a system where the greeter should never appear, remove &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Automated NVIDIA Driver and Repository Setup ==&lt;br /&gt;
&lt;br /&gt;
On supported GPUs, NVIDIA’s open driver is installed by default along with the NVIDIA graphics driver repository. In openSUSE Leap 16, user-space drivers are also automatically installed, enabling graphical acceleration out of the box.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
=== AppArmor ===&lt;br /&gt;
&lt;br /&gt;
AppArmor has been updated from version 3.1 to 4.1.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1 4.0] introduced fine-grained network rules (limitable by IP/port), but kernel support is not upstream yet.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.1.0 4.1] introduced the &amp;lt;code&amp;gt;priority=&amp;lt;number&amp;gt;&amp;lt;/code&amp;gt; rule prefix, which allows overriding rules.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor not available by default on new installations ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer available in SUSE Linux Enterprise 16.0. Leap users cannot select AppArmor as the Linux Security Module (LSM) during a new installation. AppArmor can still be enabled post-installation. For instructions, refer to AppArmor wiki page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Users migrating manually from 15.6 will retain AppArmor by default. Users migrating with [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] will be prompted to either switch to SELinux or preserve AppArmor during post-migration.&lt;br /&gt;
&lt;br /&gt;
== Steam ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Steam&amp;lt;/code&amp;gt; package has been removed from the [https://en.opensuse.org/Package_repositories#Non-OSS Non-OSS repository] due to limited 32-bit library support. Users are advised to install it via [https://en.opensuse.org/Steam#Flatpak Flatpak].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 32-bit execution requires installing &amp;lt;code&amp;gt;grub2-compat-ia32&amp;lt;/code&amp;gt; and rebooting.&lt;br /&gt;
* SELinux users may also need &amp;lt;code&amp;gt;selinux-policy-targeted-gaming&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/Portal:SELinux/Common_issues#Steam_Proton,_Bottles,_WINE,_Lutris,_not_working SELinux wiki page].&lt;br /&gt;
&lt;br /&gt;
== Wine ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap includes wine 10.10, available only in the [https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine#shared-wow64 wow64] flavor. Users requiring 32-bit binary execution should consider using the Flatpak version or a similar solution.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
=== Broken libvirt networking when using Docker ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If networking inside libvirt-managed virtual machines fails while Docker is running, it is likely due to Docker not supporting &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To fix the issue:&lt;br /&gt;
* Edit &amp;lt;code&amp;gt;/etc/libvirt/network.conf&amp;lt;/code&amp;gt; and set:&lt;br /&gt;
 firewall_backend = &amp;quot;iptables&amp;quot;&lt;br /&gt;
* Add the virtual network interface to the libvirt firewall zone:&lt;br /&gt;
 firewall-cmd --add-interface=virbr0 --zone=libvirt --permanent&lt;br /&gt;
 firewall-cmd --reload&lt;br /&gt;
* Restart libvirt and related services:&lt;br /&gt;
 systemctl restart libvirtd&lt;br /&gt;
This restores networking for libvirt VMs while Docker is active.&lt;br /&gt;
&lt;br /&gt;
== GNU Health ==&lt;br /&gt;
&lt;br /&gt;
[https://www.gnuhealth.org/ GNU Health] has been updated to major release 5.0.2. The underlying ERP framework, Tryton, has been updated to LTS version 7.0. Functional improvements include enhanced medical image workflows and better integration with Orthanc 1.12.9 (PACS server).&lt;br /&gt;
&lt;br /&gt;
== PipeWire replaces PulseAudio ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses PipeWire by default. Users upgrading from previous releases should be automatically migrated from PulseAudio. &amp;lt;code&amp;gt;opensuse-migration-tool&amp;lt;/code&amp;gt; provides a post-migration script if migration does not occur automatically.&lt;br /&gt;
&lt;br /&gt;
If experiencing audio issues, ensure you are not using the &amp;lt;code&amp;gt;wireplumber-video-only-profile&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/openSUSE:Pipewire#Installation PipeWire#Installation] for details.&lt;br /&gt;
&lt;br /&gt;
== Hexchat drop ==&lt;br /&gt;
&lt;br /&gt;
Hexchat IRC client has been dropped as the [https://github.com/hexchat/hexchat upstream project] is archived. Alternatives include [https://software.opensuse.org/package/polari Polari] or the Flatpak version: [https://flathub.org/en/apps/io.github.Hexchat Flatpak].&lt;br /&gt;
&lt;br /&gt;
== Configuring boot entry with serial console ==&lt;br /&gt;
&lt;br /&gt;
See https://en.opensuse.org/SDB:SerialConsole for guidance.&lt;br /&gt;
&lt;br /&gt;
This section describes the enterprise-grade foundation of openSUSE Leap, based on SUSE Linux Enterprise. Content here is adapted from the SUSE Linux Enterprise release notes to reflect core functionality, security updates, and enterprise features that openSUSE Leap inherits.&lt;br /&gt;
&lt;br /&gt;
= SUSE Linux Enterprise Core =&lt;br /&gt;
&lt;br /&gt;
== What&#039;s new? ==&lt;br /&gt;
&lt;br /&gt;
=== Package and module changes in 16.0 ===&lt;br /&gt;
&lt;br /&gt;
The full list of changed packages compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/package-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
The full list of changed modules compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/module-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
== Support and lifecycle ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap is backed by award-winning support from SUSE, an established technology leader with a proven history of delivering enterprise-quality support services.&lt;br /&gt;
&lt;br /&gt;
The current version (16.0) will be fully maintained and supported until 31 Jul 2034.&lt;br /&gt;
&lt;br /&gt;
If you need additional time to design, validate and test your upgrade plans, Long Term Service Pack Support can extend the support duration. You can buy an additional 12 to 36 months in twelve month increments. This means that you can receive support up to Dec 2037.&lt;br /&gt;
&lt;br /&gt;
For more information, see the pages [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Support statement for openSUSE Leap ==&lt;br /&gt;
&lt;br /&gt;
To receive support, you need an appropriate subscription with SUSE. For more information, see https://forums.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
The following definitions apply:&lt;br /&gt;
&lt;br /&gt;
;L1&lt;br /&gt;
:Problem determination, which means technical support designed to provide compatibility information, usage support, ongoing maintenance, information gathering, and basic troubleshooting using the documentation.&lt;br /&gt;
;L2&lt;br /&gt;
:Problem isolation, which means technical support designed to analyze data, reproduce customer problems, isolate the problem area, and provide a resolution for problems not resolved by Level 1 or prepare for Level 3.&lt;br /&gt;
;L3&lt;br /&gt;
:Problem resolution, which means technical support designed to resolve problems by engaging engineering to resolve product defects which have been identified by Level 2 Support.&lt;br /&gt;
&lt;br /&gt;
For contracted customers and partners, openSUSE Leap is delivered with L3 support for all packages, except for the following:&lt;br /&gt;
* Technology Previews, see Section 3.4, &amp;quot;Technology previews&amp;quot;&lt;br /&gt;
* Sound, graphics, fonts and artwork&lt;br /&gt;
* Packages that require an additional customer contract, see Section 3.3.2, &amp;quot;Software requiring specific contracts&amp;quot;&lt;br /&gt;
* Some packages shipped as part of the module &#039;&#039;Workstation Extension&#039;&#039; are L2-supported only&lt;br /&gt;
* Packages with names ending in &amp;lt;code&amp;gt;-devel&amp;lt;/code&amp;gt; (containing header files and similar developer resources) will only be supported together with their main packages.&lt;br /&gt;
&lt;br /&gt;
SUSE will only support the usage of original packages. That is, packages that are unchanged and not recompiled.&lt;br /&gt;
&lt;br /&gt;
=== General support ===&lt;br /&gt;
&lt;br /&gt;
To learn about supported features and limitations, refer to the following sections in this document:&lt;br /&gt;
* Section 3.16, &amp;quot;Virtualization&amp;quot;&lt;br /&gt;
* Section 3.17, &amp;quot;Removed and deprecated features and packages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Software requiring specific contracts ===&lt;br /&gt;
&lt;br /&gt;
Certain software delivered as part of openSUSE Leap may require an external contract. Check the support status of individual packages using the RPM metadata that can be viewed with &amp;lt;code&amp;gt;rpm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;YaST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Major packages and groups of packages affected by this are:&lt;br /&gt;
* PostgreSQL (all versions, including all subpackages)&lt;br /&gt;
&lt;br /&gt;
=== Software under GNU AGPL ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped &#039;&#039;only&#039;&#039; under a GNU AGPL software license:&lt;br /&gt;
* Ghostscript (including subpackages)&lt;br /&gt;
* &amp;lt;code&amp;gt;velociraptor&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;velociraptor-client&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zypp-boot-plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped under multiple licenses that include a GNU AGPL software license:&lt;br /&gt;
* MySpell dictionaries and LightProof&lt;br /&gt;
* ArgyllCMS&lt;br /&gt;
&lt;br /&gt;
== Technology previews ==&lt;br /&gt;
&lt;br /&gt;
Technology previews are packages, stacks, or features delivered by SUSE to provide glimpses into upcoming innovations. Technology previews are included for your convenience to give you a chance to test new technologies within your environment. We would appreciate your feedback! If you test a technology preview, contact your SUSE representative and let them know about your experience and use cases. Your input is helpful for future development.&lt;br /&gt;
&lt;br /&gt;
Technology previews come with the following limitations:&lt;br /&gt;
* Technology previews are still in development. Therefore, they may be functionally incomplete, unstable, or in other ways not suitable for production use.&lt;br /&gt;
* Technology previews are not supported.&lt;br /&gt;
* Technology previews may only be available for specific hardware architectures. Details and functionality of technology previews are subject to change. As a result, upgrading to subsequent releases of a technology preview may be impossible and require a fresh installation.&lt;br /&gt;
* Technology previews can be removed from a product at any time. This may be the case, for example, if SUSE discovers that a preview does not meet the customer or market needs, or does not comply with enterprise standards.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
As technology preview, &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is available in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is intentionally built without Btrfs support. Btrfs filesystems can be multi-device (for example, RAID1) but &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; currently only supports a single device per mount.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rasdaemon&amp;lt;/code&amp;gt; has been updated to version 8.3.0. This version supports machine checks related to CXL memory.&lt;br /&gt;
* We now provide Grafana Alloy which can integrate with SUSE Observability as well.&lt;br /&gt;
* &amp;lt;code&amp;gt;NetworkManager&amp;lt;/code&amp;gt; is now the only network configuration stack in openSUSE Leap 16.0.&lt;br /&gt;
* We now provide a unified image that can be used to install either SLES or SLES for SAP&lt;br /&gt;
&lt;br /&gt;
=== Userspace live patching ===&lt;br /&gt;
&lt;br /&gt;
Currently, &amp;lt;code&amp;gt;libpulp&amp;lt;/code&amp;gt; supports ULP (user space live patching) of &amp;lt;code&amp;gt;glibc&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt; binaries on the following architectures:&lt;br /&gt;
* x86-64&lt;br /&gt;
* ppc64le&lt;br /&gt;
&lt;br /&gt;
For more information see https://documentation.suse.com/sles/15-SP7/html/SLES-all/cha-ulp.html&lt;br /&gt;
&lt;br /&gt;
=== Switch to &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API in &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; mount command has switched from the old string-based method to the new kernel &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API. This change introduces new features but also comes with some minor incompatibilities.&lt;br /&gt;
&lt;br /&gt;
There is a special case that cannot be handled by &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; and needs to be handled by applications:&lt;br /&gt;
* &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; discriminates between the physical mount layer and the virtual mount layer&lt;br /&gt;
* once the physical mount layer is read-only, read-write mount on the virtual layer is not possible&lt;br /&gt;
&lt;br /&gt;
If the first mount is read-only, then the physical filesystem is mounted read-only, and later mounting of the same file system as read-write is not possible. To solve this problem, the first mount needs to be read-only on the virtual layer only, keeping the physical layer read-write. The userspace fix is simple. Instead of:&lt;br /&gt;
 mount -oro&lt;br /&gt;
use&lt;br /&gt;
 mount -oro=vfs&lt;br /&gt;
&lt;br /&gt;
This will keep the physical layer read-write, but the virtual file system layer (and the userspace access) read-only.&lt;br /&gt;
&lt;br /&gt;
=== Switch to predictable network names ===&lt;br /&gt;
&lt;br /&gt;
The persistent network naming scheme used in Leap 15 became legacy with the switch to the systemd predictable network names. For complicated setups, we recommend using &amp;lt;code&amp;gt;systemd.link&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see:&lt;br /&gt;
* https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the future, when upgrading from SL Micro to Leap 16.1 (so-called &amp;quot;SLE merge&amp;quot;), some systems will have &amp;lt;code&amp;gt;net.ifnames=0&amp;lt;/code&amp;gt; set on their kernel command line (this is the case for new installations of SL Micro 6.0 and 6.1). This boot option will prevent the system from switching to the predictable naming scheme and it will need to be removed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== systemd default configurations moved to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Main configuration files have been moved from &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;. This ensures that main configuration files have lower precedence, allowing them to be overriden by package-supplied drop-in snippets.&lt;br /&gt;
&lt;br /&gt;
Local configuration should be created by either modifying the default file in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; (or a copy of it placed in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; if the original file is shipped in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;), or by creating drop-in snippets in the appropriate directory in (for example, &amp;lt;code&amp;gt;/etc/systemd/coredump.conf.d/&amp;lt;/code&amp;gt;) - this is recommended.&lt;br /&gt;
&lt;br /&gt;
Remove configurations in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to restore defaults.&lt;br /&gt;
&lt;br /&gt;
=== Password access as root via SSH disabled ===&lt;br /&gt;
&lt;br /&gt;
Previously, it was possible to SSH as root using password-based authentication. In Leap 16.0 only key-based authentication is allowed by default. Systems upgraded to 16.0 from a previous version will carry over the old behavior. New installations will enforce the new behavior.&lt;br /&gt;
&lt;br /&gt;
Installing the package &amp;lt;code&amp;gt;openssh-server-config-rootlogin&amp;lt;/code&amp;gt; restores the old behavior and allows password-based login for the root user.&lt;br /&gt;
&lt;br /&gt;
=== Minimum hardware requirements ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires hardware to meet requirements on these architectures:&lt;br /&gt;
* For AMD64 and Intel* 64 systems: Microarchitecture level x86-64-v2 or higher.&lt;br /&gt;
* For IBM* Power LE systems: POWER10 or higher (see note below).&lt;br /&gt;
* For Arm64* systems: Armv8.0-A or higher.&lt;br /&gt;
* For IBM* Z systems: z14 or higher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
POWER9 systems may work with Leap 16.0 but are not supported by IBM, the hardware vendor.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SHA1 to be disabled or mark unapproved ===&lt;br /&gt;
&lt;br /&gt;
Due to FIPS 140-3 certification requirements, the SHA1 cryptographic algorithm will be disabled or marked unapproved when running in FIPS mode.&lt;br /&gt;
&lt;br /&gt;
=== Added &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; package contains a daemon that tunes system settings dynamically.&lt;br /&gt;
&lt;br /&gt;
=== Lightweight guard region support ===&lt;br /&gt;
&lt;br /&gt;
This is a new feature in &amp;lt;code&amp;gt;madvise()&amp;lt;/code&amp;gt; that installs a lightweight guard region into a specified address range.&lt;br /&gt;
&lt;br /&gt;
See [https://manpages.opensuse.org/Leap-16.0/man-pages/madvise.2.en.html#MADV_GUARD_INSTALL madvise() man page] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Harmless error messages sometimes displayed when launching some applications ===&lt;br /&gt;
&lt;br /&gt;
The following messages are sometimes displayed when launching specific applications:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;gnome-desktop&amp;lt;/code&amp;gt; some times failes to create transient scope:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; gnome-session-binary: GnomeDesktop-WARNING: Could not create transient scope for PID 7883: GDBus.Error:org.freedesktop.DBus.Error.UnixProcessIdUnknown: Process with ID 7883 does not exist.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; sometimes fails to assign cgroup:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Couldn&#039;t move process 6708 to requested cgroup &#039;/user.slice/user-0.slice/user@0.service/app.slice/app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope&#039;: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed to add PIDs to scope&#039;s control group: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed with result &#039;resources&#039;.&lt;br /&gt;
&amp;gt; systemd: Failed to start Application launched by gnome-session-binary.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These messages are harmless and can be ignored.&lt;br /&gt;
&lt;br /&gt;
=== NFS over TLS support ===&lt;br /&gt;
&lt;br /&gt;
NFS over TLS is now supported for storage traffic.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; is replaced with &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; will also be enabled with a base tuning, similar to &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;. Base tuning only will be enabled if &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; was not configured before (no SAP Notes or Solutions selected).&lt;br /&gt;
&lt;br /&gt;
=== Azure Entra ID authentication via &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; package has been added. It provides interoperability with Microsoft Azure Entra ID and Intune. It supports Linux authentication to Microsoft Azure Entra ID via PAM and NSS modules.&lt;br /&gt;
&lt;br /&gt;
For more information see https://github.com/himmelblau-idm/himmelblau.&lt;br /&gt;
&lt;br /&gt;
=== Legacy BIOS support ===&lt;br /&gt;
&lt;br /&gt;
Legacy BIOS is still supported in openSUSE Leap 16.0. However, some features are not available when using it (for example, full-disk encryption with TPM). Finally, support for legacy BIOS will be discontinued in the future. For that reason we recommend switching to UEFI at the nearest opportunity.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; not persistent ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0, &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; is no longer persistent between reboots but uses &amp;lt;code&amp;gt;tmpfs&amp;lt;/code&amp;gt; instead. See https://susedoc.github.io/doc-modular/main/html/SLE-comparison/index.html#sle16-tmp for more information.&lt;br /&gt;
&lt;br /&gt;
=== Python update strategy ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; is currently set to use Python 3.13. In a future minor version update this is likely going to be changed to a newer Python version.&lt;br /&gt;
* openSUSE Leap 16.0 contains around 700 popular Python packages, which form a basic set of functionality for packages that depends on Python and for developing apps without needing to install Python modules from an external provider.&lt;br /&gt;
* We have been working on removing the dependencies of packages and tools on the &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; binary, which means that openSUSE Leap could use a newer version of the Python interpreter in the future. This new Python interpreter will coexist with the previous version that will then be maintained as legacy interpreter for a limited time.&lt;br /&gt;
&lt;br /&gt;
=== Removal of 32-bit support ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 only supports 64-bit binaries. Support for 32-bit binaries (or 31-bit binaries on IBM Z) has been removed.&lt;br /&gt;
&lt;br /&gt;
This means that statically-linked 32-bit binaries (or 31-bit binaries on IBM Z) and container images cannot be run anymore. 32-bit syscalls are still enabled by default on arm64, and can be enabled on x86_64 via the kernel parameter &amp;lt;code&amp;gt;ia32_emulation&amp;lt;/code&amp;gt;. On other architectures it’s disabled without any option to enable it.&lt;br /&gt;
&lt;br /&gt;
=== Compiling kernel uses non-default compiler ===&lt;br /&gt;
&lt;br /&gt;
Customers who need to build kernel modules or rebuild the kernel must use the same compiler version the kernel was built with. The kernel is built with &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13, which is not the default compiler. Install the &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13 compiler using the gcc13 package and invoke it with the command &amp;lt;code&amp;gt;gcc-13&amp;lt;/code&amp;gt;. This specific compiler version is only supported for building kernel modules and the kernel.&lt;br /&gt;
&lt;br /&gt;
=== Optimized libraries for newer hardware architectures ===&lt;br /&gt;
&lt;br /&gt;
We have added support for the glibc-HWCAPS feature which loads optimized versions of libraries for specific newer CPUs automatically.&lt;br /&gt;
&lt;br /&gt;
The build infrastructure for this feature is enabled for the following libraries:&lt;br /&gt;
* &amp;lt;code&amp;gt;blosc2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;boost&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;brotli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bzip2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;flac&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;jsoncpp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lame&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;leveldb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libdb-4_8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libgcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libiscsi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjpeg-turbo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjxl&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libmng&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libnettle&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libpng16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libvorbis&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libxmlb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lz4&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lzo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openjpeg2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openssl-3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python311&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python313&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sqlite3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;talloc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tree-sitter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xxhash&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zopfli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No remote root login with password ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you install the system using only a &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; password and do not provide an SSH key for the root user, &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; will not be enabled automatically after installation. You will not be able to log in remotely as root using the password.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, remote password-based &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login is disabled. The installer enables the &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; service only when an SSH key for root is configured during setup. To allow remote &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login, configure an SSH key for root during installation.&lt;br /&gt;
&lt;br /&gt;
=== Default user group assignment changed ===&lt;br /&gt;
&lt;br /&gt;
Previously, all user accounts belonged to a single &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group.&lt;br /&gt;
&lt;br /&gt;
Now instead of being added to the common &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group, each new user now gets their own primary group matching their username. This is due to &amp;lt;code&amp;gt;USERGROUPS_ENAB&amp;lt;/code&amp;gt; being enabled in &amp;lt;code&amp;gt;/usr/etc/login.defs&amp;lt;/code&amp;gt;. This change affects all new installations and upgraded systems that did not change the default &amp;lt;code&amp;gt;/etc/login.defs&amp;lt;/code&amp;gt;. This has several consequences:&lt;br /&gt;
* files created by new users are not group-readable by default&lt;br /&gt;
* configurations that used the primary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition do not work anymore&lt;br /&gt;
* configurations that used the primary or secondary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition need to have the &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group manually added to these user accounts in order to continue to work, for example, to for &amp;lt;code&amp;gt;@users&amp;lt;/code&amp;gt; in the sudoers file&lt;br /&gt;
* home directories inherited from a previous system need to standardize the GID of the files by running: &lt;br /&gt;
:&amp;lt;code&amp;gt;find &amp;quot;$HOME&amp;quot; -group users -exec chgrp myuser {} \;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;chgrp -R myuser &amp;quot;$HOME&amp;quot;&amp;lt;/code&amp;gt; if you did not use any GID other than &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SysV init.d scripts support ===&lt;br /&gt;
&lt;br /&gt;
SysV init.d scripts have been [https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15-SP2/index.html#jsc-SLE-7690 deprecated since Leap 15 SP2].&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, support of SysV init.d scripts has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (RC1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to RC1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; removal ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; file is just a dummy file that will be removed in the future. Software that appends to it without creating it should have its behavior changed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta4) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta4. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Configuring network interfaces during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, the installer does not allow for setting up network interfaces using the UI. However, in the meantime you can use dracut-like command-line options, for example:&lt;br /&gt;
&lt;br /&gt;
 ifname=&amp;lt;interface&amp;gt;:&amp;lt;MAC&amp;gt;&lt;br /&gt;
 ip=&amp;lt;interface&amp;gt;:dhcp&lt;br /&gt;
&lt;br /&gt;
Additionally, the &amp;lt;code&amp;gt;inst.copy_network&amp;lt;/code&amp;gt; is not available in Beta4.&lt;br /&gt;
&lt;br /&gt;
=== SAP workloads on Leap 16.0 ===&lt;br /&gt;
&lt;br /&gt;
For running SAP workloads on openSUSE Leap 16.0, do the following:&lt;br /&gt;
# Unpack the SAP installer.&lt;br /&gt;
# Run the following commands to change policies:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;semanage boolean -m --on selinuxuser_execmod&lt;br /&gt;
semanage boolean -m --on unconfined_service_transition_to_unconfined_user&lt;br /&gt;
semanage permissive -a snapper_grub_plugin_t&lt;br /&gt;
restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Run the following commands to lable all files:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;test -d ./snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d ./snapshots || restorecon R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Install SAP workload or SAP HANA&lt;br /&gt;
# Label all files again:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;test -d /.snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d /.snapshots || restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== FIPS 140-3 not working properly ===&lt;br /&gt;
&lt;br /&gt;
FIPS 140-3 installation has not been fully validated and may cause unexpected software failure or crashes. Therefore, we discourage you from using it on Beta4.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta3) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta3. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Kernel crash in QEMU ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires a CPU that supports a so-called &amp;quot;x86-64-v2&amp;quot; microarchitecture. Due to this, running a Leap image using QEMU currently results in a kernel crash.&lt;br /&gt;
&lt;br /&gt;
As a workaround you can run QEMU with the &amp;lt;code&amp;gt;-cpu host&amp;lt;/code&amp;gt; argument.&lt;br /&gt;
&lt;br /&gt;
=== Missing &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library has been deprecated in SLES 15 and finally removed in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
As a workaround for applications that cannot be installed without it (but presumaly do not use it for anything), we provide the &amp;lt;code&amp;gt;libnsl-stub1&amp;lt;/code&amp;gt; package that includes ABI-compatible but otherwise function-less stub of the library file.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; not usable with many interfaces ===&lt;br /&gt;
&lt;br /&gt;
Due to an upstream bug, &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; might take a long time or time out when adding many interfaces. The error occurs when &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; is restarted after applying such a configuration. The following message appears in the system logs:&lt;br /&gt;
 ERROR:dbus.proxies:Introspect error on :1.18:/org/fedoraproject/FirewallD1: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply.&lt;br /&gt;
 Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.&lt;br /&gt;
&lt;br /&gt;
See https://github.com/firewalld/firewalld/issues/1399 for more information.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta2) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta2. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Switch from YaST to Cockpit ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 has switched from YaST to Cockpit for manual system administration. We have enhanced Cockpit with new modules with the intention to upstream them later. Despite being functional, bugs might appear and features might be missing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;: register, de-register and view SUSE Linux Enterprise registrations. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-repositories&amp;lt;/code&amp;gt;: add, remove, view repositories, change settings and refresh them. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;: show installed packages, search available repositories, install and uninstall packages. Requires administrative access. Be aware that there are no safety measures implemented as far as system usability goes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enhanced modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;: update packages from available repositories. The module now allows to individually select packages to update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upstream modules&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-kdump&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-machines&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-podman&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;: these modules are updated to the recent stable base version 332 (or their respective).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default selection&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installation of the pattern &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt; will pull in the following modules: &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-repos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;dovecot 2.4&amp;lt;/code&amp;gt; configuration upgrade ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 &amp;lt;code&amp;gt;dovecot&amp;lt;/code&amp;gt; has been upgraded to version 2.4. The configuration of this version is incompatible with the previous versions.&lt;br /&gt;
&lt;br /&gt;
Configuration has to be updated manually. For more information see https://doc.dovecot.org/2.4.0/installation/upgrade/2.3-to-2.4.html.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Disk configuration UI during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, choosing disk configurations other than &amp;quot;An existing disk&amp;quot; (installation to a single disk) suffer from poor usability. This is expected to change in a future update.&lt;br /&gt;
&lt;br /&gt;
=== Non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; after installation ===&lt;br /&gt;
&lt;br /&gt;
There is currently a known issue that adds a non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; repository which prevents &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; from working correctly.&lt;br /&gt;
&lt;br /&gt;
To fix this issue, remove the repository in question and add the installation medium repository manually:&lt;br /&gt;
# Remove repository with &amp;lt;code&amp;gt;zypper rr&amp;lt;/code&amp;gt;. To remove the first repository, for example, run: &amp;lt;code&amp;gt;zypper rr 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Add the installation medium as repository by running &lt;br /&gt;
#:&amp;lt;pre&amp;gt;zypper ar hd:/install?device=/dev/disk/by-label/agama-installer medium&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:(the &amp;lt;code&amp;gt;medium&amp;lt;/code&amp;gt; at the end is a name you want to give the repository).&lt;br /&gt;
# Run &amp;lt;code&amp;gt;zypper refresh&amp;lt;/code&amp;gt; to refresh the added repository.&lt;br /&gt;
&lt;br /&gt;
=== systemd uses cgroup v2 by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses cgroup v2 by default and v1 is unsupported. If you need to use cgroup v1, SLES 15 SP6 can be switched to hybrid mode using a boot parameter.&lt;br /&gt;
&lt;br /&gt;
== x86-64-specific changes ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to the x86-64 architecture.&lt;br /&gt;
&lt;br /&gt;
=== AMD EPYC Turin automonous frequency scaling ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, the default Linux CPU frequency scaling driver for AMD EPYC Turin (and later processors) has shifted to the AMD P-State driver to enable autonomous frequency scaling.&lt;br /&gt;
&lt;br /&gt;
With the AMD P-State driver, it enables the use of the Energy Performance Preference (EPP) for more granular control over performance versus power efficiency to adjust the CPU frequencies based on workload and hardware feedback dynamically.&lt;br /&gt;
&lt;br /&gt;
== IBM Z-specific changes (s390x) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for IBM Z 16.0. For more information, see https://www.ibm.com/docs/en/linux-on-systems?topic=distributions-suse-linux-enterprise-server&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; providing machine name, kconfig options, new instructions, etc.&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;gdb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;valgrind&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;binutils&amp;lt;/code&amp;gt;&lt;br /&gt;
* Support has been added for IBM z16 - reset DAT-Protection facility support&lt;br /&gt;
* Identify ConnectX devices through port rather than PCHID&lt;br /&gt;
* Processor Activity Instrumentation / Neural Network Processing Assist counters for new IBM Z hardware was added into kernel&lt;br /&gt;
* kprobes are now supported without &amp;lt;code&amp;gt;stop machine&amp;lt;/code&amp;gt;&lt;br /&gt;
* Promiscuous Mode Exploitation for NETH Virtual Functions for IBM z17 and LinuxONE 5&lt;br /&gt;
* Vertical CPU Polarization support for IBM z17 and LinuxONE 5&lt;br /&gt;
* qclib has been updated to support IBM z17&lt;br /&gt;
* The Integrated Accelerator for AI has new operations, which are now supported by libzdnn low-level driver library&lt;br /&gt;
* Enhanced RAS and Call Home for zPCI&lt;br /&gt;
* The kernel image can move into vmalloc space, where random physical pages are used to map virtual pages (V!=R)&lt;br /&gt;
* Add new CPU-MF Counters for new IBM Z Hardware (libpfm)&lt;br /&gt;
* Deactivate CONFIG_QETH_OSX kernel config option&lt;br /&gt;
* Upgrade Mellanox (mlx5) driver to latest version&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
* LPAR level power consumption reporting is now available in kernel and s390-tools.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== In-kernel crypto support ====&lt;br /&gt;
&lt;br /&gt;
With this service pack are additionally supported:&lt;br /&gt;
* MSA 10 XTS instructions for in-kernel crypto&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 12 (SHA3) has been added and introduces new options to call CPACF SHA 3 functions&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 10 XTS crypto PAES support for in-kernel crypto&lt;br /&gt;
&lt;br /&gt;
==== OpenSSL features ====&lt;br /&gt;
&lt;br /&gt;
This release brings these features and improvements:&lt;br /&gt;
* XTS instructions support in libcrypto/openSSL&lt;br /&gt;
* New MSA 11 HMAC instruction support in libcrypto/openSSL&lt;br /&gt;
* Added support for MSA 12 (SHA3), which also introduces new options to call CPACF SHA3 and SHKE functions&lt;br /&gt;
* Extended support of the openssl-pkcs11 provider such that it can be used by programs that issue forks&lt;br /&gt;
* Replace openssl-ibmpkcs11 with openssl-pkcs11&lt;br /&gt;
* Upgrade openssl-ibmca to the latest version&lt;br /&gt;
&lt;br /&gt;
==== openCryptoki ====&lt;br /&gt;
&lt;br /&gt;
* The new version of &amp;lt;code&amp;gt;libica&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libzpc&amp;lt;/code&amp;gt; is included.&lt;br /&gt;
* The openCryptoki CCA Token is now available on x86_64 and ppc64le architectures.&lt;br /&gt;
&lt;br /&gt;
==== p11-kit =====&lt;br /&gt;
&lt;br /&gt;
* Add support for IBM specific attributes and mechanisms to the PKCS11 client-server implementation of p11-kit.&lt;br /&gt;
&lt;br /&gt;
==== pkey ====&lt;br /&gt;
&lt;br /&gt;
* The kernel pkey module can now generate keys AES-XTS keys (MSA 10) and HMAC key (MSA 11) from clear keys.&lt;br /&gt;
* The module can also generate keys represented by identifiers of secure execution retrievable keys.&lt;br /&gt;
* The pkey also supports EP11 API ordinal 6 for secure guests.&lt;br /&gt;
&lt;br /&gt;
==== zcrypt =====&lt;br /&gt;
&lt;br /&gt;
* The zcrypt extends error recovery to deal with device scans of unavailable devices.&lt;br /&gt;
&lt;br /&gt;
=== Virtualization ===&lt;br /&gt;
&lt;br /&gt;
* KVM guests can exploit z17 &amp;amp; LinuxONE 5 CPU features&lt;br /&gt;
* KVM can display available host key hashes for Secure Execution (Query Host-key hash UVC)&lt;br /&gt;
* KVM can benefit from genprotimg rewritten in Rust to re-use existing rust libraries (s390-tools feature)&lt;br /&gt;
* KVM benefits from genprotimg validation of SE image running on particular host(s) (s390-tools feature)&lt;br /&gt;
* KVM benefits from using pvimg info command to display encrypted &amp;amp; unencrypted SE image information (s390-tools)&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM passthrough is available for guests i.e. retrievable secrets in Secure Execution guests&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM implements counters for nested guest shadow events&lt;br /&gt;
* KVM implements virsh hypervisor-cpu-models (libvirt)&lt;br /&gt;
* KVM provides enhanced and dynamic CPU topology for KVM guests (qemu)&lt;br /&gt;
* KVM and libvirt full boot order enables users to attempt booting from multiple targets&lt;br /&gt;
* KVM provides Atomic Memop for Key-Checked Compare-and-swap&lt;br /&gt;
* KVM enhances CCW address translation architectural compliance&lt;br /&gt;
* KVM improves memory reclaiming for z15 Secure Execution guests and above (libvirt)&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; was replaced by &amp;lt;code&amp;gt;blog&amp;lt;/code&amp;gt; on s390x, as &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; couldn&#039;t work without graphical display.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Eigen&amp;lt;/code&amp;gt; library is the backend used by &amp;lt;code&amp;gt;Tensorflow&amp;lt;/code&amp;gt; for computations executed on the CPU. Several GCC adjustments have been implemented to speed up Eigen with IBM z14 support and above.&lt;br /&gt;
* Allow &amp;lt;code&amp;gt;httpd&amp;lt;/code&amp;gt; customers to protect their web server identity using HSMs (via CryptoExpress adapters).&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The latest s390-tool update brings these noticeable changes:&lt;br /&gt;
* Additional channel measurements - kernel &amp;amp; &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* A new tool cpacinfo shall provide information on CPACF including the supported MSA levels, instructions, subfunctions per instruction. https://www.ibm.com/docs/en/linux-on-systems?topic=hw-cpacf&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO ====&lt;br /&gt;
&lt;br /&gt;
Previously, &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; would point to a directory of unpacked files.&lt;br /&gt;
&lt;br /&gt;
Now it needs to point to a loop-mounted ISO via FTP. For example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/agama-online.iso&lt;br /&gt;
 agama.install_url=ftp://$SERVER_URL/install/agama&lt;br /&gt;
&lt;br /&gt;
For more information see https://agama-project.github.io/docs/user/boot_options.&lt;br /&gt;
&lt;br /&gt;
==== Disk selection UI problems during installation ====&lt;br /&gt;
&lt;br /&gt;
If you want to enable a disk, click on &#039;&#039;Storage&#039;&#039; in the left panel, then &#039;&#039;Install new system on&#039;&#039; and choose &amp;quot;storage techs&amp;quot;. Then you can choose a type of disk. This can be avoided if you have defined your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; as described in Section 3.13.5.2, &amp;quot;&amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you choose DASD, you should see disks based on your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cio_ignore&amp;lt;/code&amp;gt; configuration. Then choose a disk and activate it by clicking &#039;&#039;Perform an action&#039;&#039; and then &#039;&#039;Activate&#039;&#039;. This can take a moment. If it is not visible, then you need to click on Storage or refresh the page.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;zFCP&#039;&#039; section, after activating a disk a gray line will appear. This is just a visual bug, the disk will activate correctly.&lt;br /&gt;
&lt;br /&gt;
==== Installation failure on zVM ====&lt;br /&gt;
&lt;br /&gt;
Due to a change from &amp;lt;code&amp;gt;linuxrc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;dracut&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to define not only installation source but also a network and disks.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to be filled with a &amp;lt;code&amp;gt;dracut-like&amp;lt;/code&amp;gt; options, for example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/online.iso&lt;br /&gt;
 ip=$IP_address::$IP_gateway:24:SLE16-Beta4:$NETWORK_DEVICE:none&lt;br /&gt;
 rd.zdev=qeth,0.0.0800:0.0.0801:0.0.0802,layer2=1,portno=0&lt;br /&gt;
 cio_ignore=all,!condev,!0.0.0160 nameserver=$NAMEserverIP&lt;br /&gt;
 live.password=linux rd.zdev=dasd,0.0.0160&lt;br /&gt;
&lt;br /&gt;
== POWER-specific changes (ppc64le) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for POWER 16.0.&lt;br /&gt;
&lt;br /&gt;
=== KVM guests in LPAR ===&lt;br /&gt;
&lt;br /&gt;
The ability to run KVM Guests in an LPAR is a new feature in PowerVM Firmware 1060.10 release and supported in openSUSE Leap 16.0. This enables users to run KVM guests in a PowerVM LPAR bringing industry standard Linux KVM virtualization stack to IBM PowerVM, which easily integrates with existing Linux virtualization ecosystem. This enables a lot of interesting usecases which were earlier difficult to realize in a PowerVM LPAR.&lt;br /&gt;
&lt;br /&gt;
KVM in a PowerVM LPAR is a new type of LPAR (logical partition) that allows the openSUSE Leap 16.0 kernel to host KVM guests inside an LPAR on PowerVM. A KVM enabled LPAR allows standard Linux KVM tools (for example, &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt;) to create and manage lightweight Linux Virtual Machines (VM). A KVM Linux LPAR uses dedicated cores which enables Linux to have full control of when Linux VMs are scheduled to run, just like KVM on other platforms.&lt;br /&gt;
&lt;br /&gt;
=== Login times out on HMC virtual terminal ===&lt;br /&gt;
&lt;br /&gt;
If you install openSUSE Leap for POWER with the GNOME desktop on LPAR and try to login via the HMC virtual terminal, the login may time out while entering your credentials.&lt;br /&gt;
&lt;br /&gt;
To work around this issue, disable the Plymouth graphical boot screen by appending the boot parameter &amp;lt;code&amp;gt;plymouth.enable=0&amp;lt;/code&amp;gt; to the kernel command line.&lt;br /&gt;
&lt;br /&gt;
== Arm-specific changes (AArch64) ==&lt;br /&gt;
&lt;br /&gt;
=== System-on-Chip driver enablement ===&lt;br /&gt;
&lt;br /&gt;
Leap 16.0 includes driver enablement for the following System-on-Chip (SoC) chipsets:&lt;br /&gt;
* Ampere* X-Gene*, eMAG*, Altra*, Altra Max, AmpereOne*&lt;br /&gt;
* AWS* Graviton, Graviton2, Graviton3&lt;br /&gt;
* Broadcom* BCM2837/BCM2710, BCM2711&lt;br /&gt;
* Fujitsu* A64FX&lt;br /&gt;
* Huawei* Kunpeng* 916, Kunpeng 920&lt;br /&gt;
* Marvell* ThunderX*, ThunderX2*; OCTEON TX*; Armada* 7040, Armada 8040&lt;br /&gt;
* NVIDIA* Grace; Tegra* X1, Tegra X2, Xavier*, Orin; Blue﻿Field*, Blue﻿Field-2, Blue﻿Field-3&lt;br /&gt;
* NXP* i.MX 8M, 8M Mini; Layerscape* LS1012A, LS1027A/LS1017A, LS1028A/LS1018A, LS1043A, LS1046A, LS1088A, LS2080A/LS2040A, LS2088A, LX2160A&lt;br /&gt;
* Rockchip RK3399&lt;br /&gt;
* Socionext* SynQuacer* SC2A11&lt;br /&gt;
* Xilinx* Zynq* UltraScale*﻿+ MPSoC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Driver enablement is done as far as available and requested. Refer to the following sections for any known limitations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some systems might need additional drivers for external chips, such as a Power Management Integrated Chip (PMIC), which may differ between systems with the same SoC chipset.&lt;br /&gt;
&lt;br /&gt;
For booting, systems need to fulfill either the Server Base Boot Requirements (SBBR) or the Embedded Base Boot Requirements (EBBR), that is, the Unified Extensible Firmware Interface (UEFI) either implementing the Advanced Configuration and Power Interface (ACPI) or providing a Flat Device Tree (FDT) table. If both are implemented, the kernel will default to the Device Tree; the kernel command line argument &amp;lt;code&amp;gt;acpi=force&amp;lt;/code&amp;gt; can override this default behavior.&lt;br /&gt;
&lt;br /&gt;
Check for SUSE &#039;&#039;YES!&#039;&#039; certified systems, which have undergone compatibility testing.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
* iSCSI boot support is disabled in OVMF images.&lt;br /&gt;
&lt;br /&gt;
=== QEMU ===&lt;br /&gt;
&lt;br /&gt;
QEMU has been updated to version 10.0.2, full list of changes are available at https://wiki.qemu.org/ChangeLog/10.0&lt;br /&gt;
&lt;br /&gt;
Highlights include:&lt;br /&gt;
* Removed features: https://qemu-project.gitlab.io/qemu/about/removed-features.html&lt;br /&gt;
* Deprecated features: https://qemu-project.gitlab.io/qemu/about/deprecated.html&lt;br /&gt;
&lt;br /&gt;
=== libvirt ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; has been updated to version 11.4.0, this includes many incremental improvements and bug fixes, see https://libvirt.org/news.html#v11-4-0-2025-06-02.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; provides now a modular daemons.&lt;br /&gt;
&lt;br /&gt;
=== VMware ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; has been updated to version 13.0.0 that addresses a few critical problems and bug fixes. See https://github.com/vmware/open-vm-tools/blob/stable-13.0.0/ReleaseNotes.md.&lt;br /&gt;
&lt;br /&gt;
=== Confidential Computing ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; package has been updated to version 0.6.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; package has been updated to version 0.9.1. Full list of changes is available at: https://github.com/virtee/snpguest/compare/v0.7.1…​v0.9.1&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; package version 0.6.0 has been added.&lt;br /&gt;
&lt;br /&gt;
==== Intel TDX Confidential Computing ====&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 the kernel now incorporates the latest upstream Intel Trust Domain Extensions (TDX) patches. This significant update prepares the virtualization toolstack for Intel TDX confidential computing capabilities.&lt;br /&gt;
&lt;br /&gt;
These patches are important for enabling the kernel to support creating and managing trust domains, which is a step towards enabling confidential computing environments on Intel TDX-enabled hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The full Intel TDX confidential computing experience also requires integrating QEMU and libvirt components, which will be part of a future update.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Enhanced VM Security with AMD SEV-SNP ====&lt;br /&gt;
&lt;br /&gt;
AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) is a hardware security feature in AMD EPYC processors that provides a highly secure and confidential environment for virtual machines (VMs). It offers strong memory confidentiality through per-VM encryption keys and AES encryption, and crucially, robust memory integrity protection to prevent tampering from the hypervisor or other threats. It also provides enhanced isolation and remote attestation capabilities, making it ideal for protecting sensitive data and workloads in untrusted environments like cloud computing. This release fully integrates AMD SEV-SNP for KVM-based virtual machines. This means integrated support in our kernel, along with updated QEMU, Libvirt, and OVMF Firmware. To use AMD SEV-SNP, you’ll need, AMD EPYC™ 3rd Gen Processors (Milan) or newer and SEV-SNP enabled in your system’s BIOS/UEFI.&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; is available in version 2.5, adding support for Intel GNR and SRF platforms.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; is shipped in version 2.0.19. Full changes at: https://github.com/numactl/numactl/releases/tag/v2.0.19&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; has been updated to version 1.55.13.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-v2v&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Update to version 2.7.16. While there are no dedicated release notes, you can review the code changes in Github: https://github.com/libguestfs/virt-v2v/tree/v2.7.16&lt;br /&gt;
* Implement --parallel=N for parallel disk copies&lt;br /&gt;
* Update Translations&lt;br /&gt;
* Various fixes&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; has been updated to 1.12.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; is now shipped in version 5.0.0. Its preferable to setup VNC for remote viewing and do all the XML editing using the &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt; command. Full list of changes is available at https://github.com/virt-manager/virt-manager/releases/tag/v5.0.0&lt;br /&gt;
&lt;br /&gt;
==== virt-bridge-setup ====&lt;br /&gt;
&lt;br /&gt;
virt-bridge-setup is a script designed to simplify network bridge creation on a specified interface using nmcli. It was developed as a replacement for the automatic &amp;quot;yast2 virtualization&amp;quot; bridge creation and is particularly useful for setting up virtualization environments.&lt;br /&gt;
&lt;br /&gt;
Important considerations:&lt;br /&gt;
* It supports IPv4 only.&lt;br /&gt;
* This is a simple script not intended for complex network scenarios (vlan, bonding, etc…​); manual bridge setup is recommended for intricate configurations.&lt;br /&gt;
* The script should be run locally (not remotely) immediately after installation and before any custom network configurations.&lt;br /&gt;
&lt;br /&gt;
== Removed and deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
This section lists features and packages that were removed from openSUSE Leap or will be removed in upcoming versions.&lt;br /&gt;
&lt;br /&gt;
=== Removed features and packages ===&lt;br /&gt;
&lt;br /&gt;
The following features and packages have been removed in this release.&lt;br /&gt;
&lt;br /&gt;
* Xorg server has been removed. Only Wayland is supported for graphical display. X11 applications compatibility is provided via XWayland.&lt;br /&gt;
* &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; has been removed. See Section 3.6.7, &amp;quot;&amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;&amp;quot; for more info.&lt;br /&gt;
* YaST has been removed. See Section 3.10.1, &amp;quot;Switch from YaST to Cockpit&amp;quot; for more info.&lt;br /&gt;
* WSL1 is not supported anymore&lt;br /&gt;
* The Xen hypervisor was removed in favor of KVM. You no longer run SLE 16 as Xen host or as paravirtualized guest (PV). Running SLE 16 as fully virtualized Xen guest (HVM) or using using hardware virtualization features (PVH) is still possible.&lt;br /&gt;
* &amp;lt;code&amp;gt;nscd&amp;lt;/code&amp;gt; has been removed&lt;br /&gt;
* The snIPL package is deprecated as HMC is providing most capabilities. There is also available a command line client to interact with the HMC Web Services API: the zhmccli https://github.com/zhmcclient.&lt;br /&gt;
* Removed &amp;lt;code&amp;gt;rc&amp;lt;service&amp;gt;&amp;lt;/code&amp;gt; controls of systemd services&lt;br /&gt;
* Removed the &amp;lt;code&amp;gt;KBD_DISABLE_CAPS_LOCK&amp;lt;/code&amp;gt; feature from &amp;lt;code&amp;gt;/etc/sysconfig/keyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;netiucv&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;lcs&amp;lt;/code&amp;gt; drivers&lt;br /&gt;
* &amp;lt;code&amp;gt;ansible-9&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ansible-core-2.16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;criu&amp;lt;/code&amp;gt;&lt;br /&gt;
* Section 3.6.17, &amp;quot;SysV init.d scripts support&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;compat-libpthread-nonshared&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;crun&amp;lt;/code&amp;gt; has been removed. Use &amp;lt;code&amp;gt;runc&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
== Deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
The following features and packages are deprecated and will be removed in a future version of openSUSE Leap.&lt;br /&gt;
* The 2MB OVMF image will be deprecated and removed in openSUSE Leap 16.1.&lt;br /&gt;
&lt;br /&gt;
=== nmap deprecation notice ===&lt;br /&gt;
&lt;br /&gt;
The nmap project has moved to a new source license that makes future releases of nmap incompatible with our product.&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, we are shipping the latest version of nmap released under the old license. In an upcoming release we will switch to an alternative tool.&lt;br /&gt;
&lt;br /&gt;
= Obtaining source code =&lt;br /&gt;
&lt;br /&gt;
This SUSE product includes materials licensed to SUSE under the GNU General Public License (GPL). The GPL requires SUSE to provide the source code that corresponds to the GPL-licensed material. The source code is available for download at https://get.opensuse.org on Medium 2. For up to three years after distribution of the SUSE product, upon request, SUSE will mail a copy of the source code. Send requests by e-mail to sle_source_request@suse.com. SUSE may charge a reasonable fee to recover distribution costs.&lt;br /&gt;
&lt;br /&gt;
= Legal notices =&lt;br /&gt;
&lt;br /&gt;
Copyright © 2025-2025 openSUSE contributors and SUSE LLC. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) Version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”.&lt;br /&gt;
&lt;br /&gt;
This document includes content adapted from the SUSE Linux Enterprise release notes, contributed by the SUSE Documentation Team. Portions of the content are maintained by the openSUSE community.&lt;br /&gt;
&lt;br /&gt;
For SUSE trademarks, see https://www.suse.com/company/legal/. For openSUSE trademarks, see https://en.opensuse.org/openSUSE:Trademark_guidelines. All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™, etc.) denote trademarks of SUSE, openSUSE, and their affiliates. Asterisks (*) denote third-party trademarks.&lt;br /&gt;
&lt;br /&gt;
While every effort has been made to ensure accuracy, the openSUSE contributors, SUSE Documentation Team, and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1017</id>
		<title>OpenSUSE Leap 16.0 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1017"/>
		<updated>2025-10-15T01:05:47Z</updated>

		<summary type="html">&lt;p&gt;Sam: Added remaining sections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;openSUSE Leap is a modern, modular operating system suitable for both traditional IT and multimodal workloads. This document highlights major features, updates, and known limitations.&lt;br /&gt;
&lt;br /&gt;
= About the release notes =&lt;br /&gt;
&lt;br /&gt;
These Release Notes are identical across all architectures, and the most recent version is always available online at https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
Entries are only listed once but they can be referenced in several places if they are important and belong to more than one section.&lt;br /&gt;
&lt;br /&gt;
Release notes usually only list changes that happened between two subsequent releases. Certain important entries from the release notes of previous product versions are repeated. To make these entries easier to identify, they contain a note to that effect.&lt;br /&gt;
&lt;br /&gt;
However, repeated entries are provided as a courtesy only. Therefore, if you are skipping one or more service packs, check the release notes of the skipped service packs as well. If you are only reading the release notes of the current release, you could miss important changes.&lt;br /&gt;
&lt;br /&gt;
== Documentation and other information ==&lt;br /&gt;
&lt;br /&gt;
For the most up-to-date version of the documentation for openSUSE Leap, see:&lt;br /&gt;
&lt;br /&gt;
* https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
This section describes community-driven enhancements, features, and updates that extend the SUSE Linux Enterprise core. These changes reflect the openSUSE project’s unique contributions, including desktop improvements, additional packages, and new workflows.&lt;br /&gt;
&lt;br /&gt;
= openSUSE Leap Community Additions =&lt;br /&gt;
&lt;br /&gt;
== Lifecycle ==&lt;br /&gt;
&lt;br /&gt;
Each openSUSE Leap minor release is published once every 12 months. openSUSE Leap 16 provides maintenance updates over two minor releases, giving each release a full 24 months of community support.&lt;br /&gt;
&lt;br /&gt;
Unless there is a change in release strategy, the final openSUSE Leap version (16.6) will be released in fall 2031 and will continue receiving updates until the release of openSUSE Leap 17.1 two years later.&lt;br /&gt;
&lt;br /&gt;
For more information, see: [https://en.opensuse.org/Roadmap Roadmap].&lt;br /&gt;
&lt;br /&gt;
For more than 24 months of support for a point release, the openSUSE migration tool makes it simple to move to SUSE Linux Enterprise, which provides decades of support. See [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Migration from Leap 15.6 ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] (&amp;lt;code&amp;gt;zypper in opensuse-migration-tool&amp;lt;/code&amp;gt;) is included as part of openSUSE Leap 15.6. Users migrating from older releases can run the tool from [https://github.com/openSUSE/opensuse-migration-tool Git repository].&lt;br /&gt;
&lt;br /&gt;
For more information, refer to: [https://en.opensuse.org/SDB:System_upgrade SDB:System_upgrade].&lt;br /&gt;
&lt;br /&gt;
== Installer and Desktop Environments ==&lt;br /&gt;
&lt;br /&gt;
* openSUSE Leap 16 installer provides only Wayland variants of desktop environments. Xorg-based environments can be installed manually post-installation.&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA and Graphics Issues with the Installation Image ===&lt;br /&gt;
&lt;br /&gt;
Some users with NVIDIA GPUs may experience graphics-related issues during installation, such as boo#1247670 where X server fails to start. This is due to the fact that openSUSE Leap install image contains &amp;lt;code&amp;gt;kernel-default-optional&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;kernel-default-extra&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you encounter problems specific to the &amp;lt;code&amp;gt;nouveau&amp;lt;/code&amp;gt; driver, try booting with the option: &amp;lt;code&amp;gt;rd.driver.blacklist=nouveau&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For general graphics boot problems, use the option: &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Experimental Xfce Wayland session ===&lt;br /&gt;
&lt;br /&gt;
Experimental Xfce Wayland session is available as an installation option. openSUSE Leap is one of the first distributions to provide Wayland support for [https://en.opensuse.org/Portal:Xfce Xfce]. We use &amp;lt;code&amp;gt;gtkgreet&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;greetd&amp;lt;/code&amp;gt; as a Wayland-ready replacement for LightDM (used in the X11 variant).&lt;br /&gt;
&lt;br /&gt;
=== LXQt Wayland session available post install ===&lt;br /&gt;
&lt;br /&gt;
LXQt Wayland session is included, but will become a full installer option in later releases once LXQt Miriway efforts are further developed: https://code.opensuse.org/leap/features/issue/192.&lt;br /&gt;
&lt;br /&gt;
== Changes to the openSUSE Welcome ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16 now uses the &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt; to start the appropriate greeter application. This launcher, in combination with &amp;lt;code&amp;gt;gnome-tour&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;plasma-welcome&amp;lt;/code&amp;gt;, replaces the legacy Qt5-based &amp;lt;code&amp;gt;opensuse-welcome&amp;lt;/code&amp;gt;, which was previously the default greeter.&lt;br /&gt;
&lt;br /&gt;
The launcher also allows the openSUSE release team to update or refresh the displayed greeter via a package update, for example after a major GNOME update. To create a custom appliance without a welcome application, or to deploy a system where the greeter should never appear, remove &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Automated NVIDIA Driver and Repository Setup ==&lt;br /&gt;
&lt;br /&gt;
On supported GPUs, NVIDIA’s open driver is installed by default along with the NVIDIA graphics driver repository. In openSUSE Leap 16, user-space drivers are also automatically installed, enabling graphical acceleration out of the box.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
=== AppArmor ===&lt;br /&gt;
&lt;br /&gt;
AppArmor has been updated from version 3.1 to 4.1.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1 4.0] introduced fine-grained network rules (limitable by IP/port), but kernel support is not upstream yet.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.1.0 4.1] introduced the &amp;lt;code&amp;gt;priority=&amp;lt;number&amp;gt;&amp;lt;/code&amp;gt; rule prefix, which allows overriding rules.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor not available by default on new installations ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer available in SUSE Linux Enterprise 16.0. Leap users cannot select AppArmor as the Linux Security Module (LSM) during a new installation. AppArmor can still be enabled post-installation. For instructions, refer to AppArmor wiki page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Users migrating manually from 15.6 will retain AppArmor by default. Users migrating with [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] will be prompted to either switch to SELinux or preserve AppArmor during post-migration.&lt;br /&gt;
&lt;br /&gt;
== Steam ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Steam&amp;lt;/code&amp;gt; package has been removed from the [https://en.opensuse.org/Package_repositories#Non-OSS Non-OSS repository] due to limited 32-bit library support. Users are advised to install it via [https://en.opensuse.org/Steam#Flatpak Flatpak].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 32-bit execution requires installing &amp;lt;code&amp;gt;grub2-compat-ia32&amp;lt;/code&amp;gt; and rebooting.&lt;br /&gt;
* SELinux users may also need &amp;lt;code&amp;gt;selinux-policy-targeted-gaming&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/Portal:SELinux/Common_issues#Steam_Proton,_Bottles,_WINE,_Lutris,_not_working SELinux wiki page].&lt;br /&gt;
&lt;br /&gt;
== Wine ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap includes wine 10.10, available only in the [https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine#shared-wow64 wow64] flavor. Users requiring 32-bit binary execution should consider using the Flatpak version or a similar solution.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
=== Broken libvirt networking when using Docker ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If networking inside libvirt-managed virtual machines fails while Docker is running, it is likely due to Docker not supporting &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To fix the issue:&lt;br /&gt;
* Edit &amp;lt;code&amp;gt;/etc/libvirt/network.conf&amp;lt;/code&amp;gt; and set:&lt;br /&gt;
 firewall_backend = &amp;quot;iptables&amp;quot;&lt;br /&gt;
* Add the virtual network interface to the libvirt firewall zone:&lt;br /&gt;
 firewall-cmd --add-interface=virbr0 --zone=libvirt --permanent&lt;br /&gt;
 firewall-cmd --reload&lt;br /&gt;
* Restart libvirt and related services:&lt;br /&gt;
 systemctl restart libvirtd&lt;br /&gt;
This restores networking for libvirt VMs while Docker is active.&lt;br /&gt;
&lt;br /&gt;
== GNU Health ==&lt;br /&gt;
&lt;br /&gt;
[https://www.gnuhealth.org/ GNU Health] has been updated to major release 5.0.2. The underlying ERP framework, Tryton, has been updated to LTS version 7.0. Functional improvements include enhanced medical image workflows and better integration with Orthanc 1.12.9 (PACS server).&lt;br /&gt;
&lt;br /&gt;
== PipeWire replaces PulseAudio ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses PipeWire by default. Users upgrading from previous releases should be automatically migrated from PulseAudio. &amp;lt;code&amp;gt;opensuse-migration-tool&amp;lt;/code&amp;gt; provides a post-migration script if migration does not occur automatically.&lt;br /&gt;
&lt;br /&gt;
If experiencing audio issues, ensure you are not using the &amp;lt;code&amp;gt;wireplumber-video-only-profile&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/openSUSE:Pipewire#Installation PipeWire#Installation] for details.&lt;br /&gt;
&lt;br /&gt;
== Hexchat drop ==&lt;br /&gt;
&lt;br /&gt;
Hexchat IRC client has been dropped as the [https://github.com/hexchat/hexchat upstream project] is archived. Alternatives include [https://software.opensuse.org/package/polari Polari] or the Flatpak version: [https://flathub.org/en/apps/io.github.Hexchat Flatpak].&lt;br /&gt;
&lt;br /&gt;
== Configuring boot entry with serial console ==&lt;br /&gt;
&lt;br /&gt;
See https://en.opensuse.org/SDB:SerialConsole for guidance.&lt;br /&gt;
&lt;br /&gt;
This section describes the enterprise-grade foundation of openSUSE Leap, based on SUSE Linux Enterprise. Content here is adapted from the SUSE Linux Enterprise release notes to reflect core functionality, security updates, and enterprise features that openSUSE Leap inherits.&lt;br /&gt;
&lt;br /&gt;
= SUSE Linux Enterprise Core =&lt;br /&gt;
&lt;br /&gt;
== What&#039;s new? ==&lt;br /&gt;
&lt;br /&gt;
=== Package and module changes in 16.0 ===&lt;br /&gt;
&lt;br /&gt;
The full list of changed packages compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/package-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
The full list of changed modules compared to 15 SP7 can be seen at this URL:&lt;br /&gt;
&lt;br /&gt;
https://documentation.suse.com/package-lists/sle/16.0/module-changes_SLE-15-SP7-GA_SLE-16.0-GA.txt&lt;br /&gt;
&lt;br /&gt;
== Support and lifecycle ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap is backed by award-winning support from SUSE, an established technology leader with a proven history of delivering enterprise-quality support services.&lt;br /&gt;
&lt;br /&gt;
The current version (16.0) will be fully maintained and supported until 31 Jul 2034.&lt;br /&gt;
&lt;br /&gt;
If you need additional time to design, validate and test your upgrade plans, Long Term Service Pack Support can extend the support duration. You can buy an additional 12 to 36 months in twelve month increments. This means that you can receive support up to Dec 2037.&lt;br /&gt;
&lt;br /&gt;
For more information, see the pages [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Support statement for openSUSE Leap ==&lt;br /&gt;
&lt;br /&gt;
To receive support, you need an appropriate subscription with SUSE. For more information, see https://forums.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
The following definitions apply:&lt;br /&gt;
&lt;br /&gt;
;L1&lt;br /&gt;
:Problem determination, which means technical support designed to provide compatibility information, usage support, ongoing maintenance, information gathering, and basic troubleshooting using the documentation.&lt;br /&gt;
;L2&lt;br /&gt;
:Problem isolation, which means technical support designed to analyze data, reproduce customer problems, isolate the problem area, and provide a resolution for problems not resolved by Level 1 or prepare for Level 3.&lt;br /&gt;
;L3&lt;br /&gt;
:Problem resolution, which means technical support designed to resolve problems by engaging engineering to resolve product defects which have been identified by Level 2 Support.&lt;br /&gt;
&lt;br /&gt;
For contracted customers and partners, openSUSE Leap is delivered with L3 support for all packages, except for the following:&lt;br /&gt;
* Technology Previews, see Section 3.4, &amp;quot;Technology previews&amp;quot;&lt;br /&gt;
* Sound, graphics, fonts and artwork&lt;br /&gt;
* Packages that require an additional customer contract, see Section 3.3.2, &amp;quot;Software requiring specific contracts&amp;quot;&lt;br /&gt;
* Some packages shipped as part of the module &#039;&#039;Workstation Extension&#039;&#039; are L2-supported only&lt;br /&gt;
* Packages with names ending in &amp;lt;code&amp;gt;-devel&amp;lt;/code&amp;gt; (containing header files and similar developer resources) will only be supported together with their main packages.&lt;br /&gt;
&lt;br /&gt;
SUSE will only support the usage of original packages. That is, packages that are unchanged and not recompiled.&lt;br /&gt;
&lt;br /&gt;
=== General support ===&lt;br /&gt;
&lt;br /&gt;
To learn about supported features and limitations, refer to the following sections in this document:&lt;br /&gt;
* Section 3.16, &amp;quot;Virtualization&amp;quot;&lt;br /&gt;
* Section 3.17, &amp;quot;Removed and deprecated features and packages&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Software requiring specific contracts ===&lt;br /&gt;
&lt;br /&gt;
Certain software delivered as part of openSUSE Leap may require an external contract. Check the support status of individual packages using the RPM metadata that can be viewed with &amp;lt;code&amp;gt;rpm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;YaST&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Major packages and groups of packages affected by this are:&lt;br /&gt;
* PostgreSQL (all versions, including all subpackages)&lt;br /&gt;
&lt;br /&gt;
=== Software under GNU AGPL ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped &#039;&#039;only&#039;&#039; under a GNU AGPL software license:&lt;br /&gt;
* Ghostscript (including subpackages)&lt;br /&gt;
* &amp;lt;code&amp;gt;velociraptor&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;velociraptor-client&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zypp-boot-plugin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 (and the SUSE Linux Enterprise modules) includes the following software that is shipped under multiple licenses that include a GNU AGPL software license:&lt;br /&gt;
* MySpell dictionaries and LightProof&lt;br /&gt;
* ArgyllCMS&lt;br /&gt;
&lt;br /&gt;
== Technology previews ==&lt;br /&gt;
&lt;br /&gt;
Technology previews are packages, stacks, or features delivered by SUSE to provide glimpses into upcoming innovations. Technology previews are included for your convenience to give you a chance to test new technologies within your environment. We would appreciate your feedback! If you test a technology preview, contact your SUSE representative and let them know about your experience and use cases. Your input is helpful for future development.&lt;br /&gt;
&lt;br /&gt;
Technology previews come with the following limitations:&lt;br /&gt;
* Technology previews are still in development. Therefore, they may be functionally incomplete, unstable, or in other ways not suitable for production use.&lt;br /&gt;
* Technology previews are not supported.&lt;br /&gt;
* Technology previews may only be available for specific hardware architectures. Details and functionality of technology previews are subject to change. As a result, upgrading to subsequent releases of a technology preview may be impossible and require a fresh installation.&lt;br /&gt;
* Technology previews can be removed from a product at any time. This may be the case, for example, if SUSE discovers that a preview does not meet the customer or market needs, or does not comply with enterprise standards.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
As technology preview, &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is available in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; is intentionally built without Btrfs support. Btrfs filesystems can be multi-device (for example, RAID1) but &amp;lt;code&amp;gt;lklfuse&amp;lt;/code&amp;gt; currently only supports a single device per mount.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rasdaemon&amp;lt;/code&amp;gt; has been updated to version 8.3.0. This version supports machine checks related to CXL memory.&lt;br /&gt;
* We now provide Grafana Alloy which can integrate with SUSE Observability as well.&lt;br /&gt;
* &amp;lt;code&amp;gt;NetworkManager&amp;lt;/code&amp;gt; is now the only network configuration stack in openSUSE Leap 16.0.&lt;br /&gt;
* We now provide a unified image that can be used to install either SLES or SLES for SAP&lt;br /&gt;
&lt;br /&gt;
=== Userspace live patching ===&lt;br /&gt;
&lt;br /&gt;
Currently, &amp;lt;code&amp;gt;libpulp&amp;lt;/code&amp;gt; supports ULP (user space live patching) of &amp;lt;code&amp;gt;glibc&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt; binaries on the following architectures:&lt;br /&gt;
* x86-64&lt;br /&gt;
* ppc64le&lt;br /&gt;
&lt;br /&gt;
For more information see https://documentation.suse.com/sles/15-SP7/html/SLES-all/cha-ulp.html&lt;br /&gt;
&lt;br /&gt;
=== Switch to &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API in &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;util-linux&amp;lt;/code&amp;gt; mount command has switched from the old string-based method to the new kernel &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; API. This change introduces new features but also comes with some minor incompatibilities.&lt;br /&gt;
&lt;br /&gt;
There is a special case that cannot be handled by &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; and needs to be handled by applications:&lt;br /&gt;
* &amp;lt;code&amp;gt;mountfd&amp;lt;/code&amp;gt; discriminates between the physical mount layer and the virtual mount layer&lt;br /&gt;
* once the physical mount layer is read-only, read-write mount on the virtual layer is not possible&lt;br /&gt;
&lt;br /&gt;
If the first mount is read-only, then the physical filesystem is mounted read-only, and later mounting of the same file system as read-write is not possible. To solve this problem, the first mount needs to be read-only on the virtual layer only, keeping the physical layer read-write. The userspace fix is simple. Instead of:&lt;br /&gt;
 mount -oro&lt;br /&gt;
use&lt;br /&gt;
 mount -oro=vfs&lt;br /&gt;
&lt;br /&gt;
This will keep the physical layer read-write, but the virtual file system layer (and the userspace access) read-only.&lt;br /&gt;
&lt;br /&gt;
=== Switch to predictable network names ===&lt;br /&gt;
&lt;br /&gt;
The persistent network naming scheme used in Leap 15 became legacy with the switch to the systemd predictable network names. For complicated setups, we recommend using &amp;lt;code&amp;gt;systemd.link&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For more information, see:&lt;br /&gt;
* https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/&lt;br /&gt;
* https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the future, when upgrading from SL Micro to Leap 16.1 (so-called &amp;quot;SLE merge&amp;quot;), some systems will have &amp;lt;code&amp;gt;net.ifnames=0&amp;lt;/code&amp;gt; set on their kernel command line (this is the case for new installations of SL Micro 6.0 and 6.1). This boot option will prevent the system from switching to the predictable naming scheme and it will need to be removed.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== systemd default configurations moved to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Main configuration files have been moved from &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;. This ensures that main configuration files have lower precedence, allowing them to be overriden by package-supplied drop-in snippets.&lt;br /&gt;
&lt;br /&gt;
Local configuration should be created by either modifying the default file in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt; (or a copy of it placed in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; if the original file is shipped in &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;), or by creating drop-in snippets in the appropriate directory in (for example, &amp;lt;code&amp;gt;/etc/systemd/coredump.conf.d/&amp;lt;/code&amp;gt;) - this is recommended.&lt;br /&gt;
&lt;br /&gt;
Remove configurations in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt; to restore defaults.&lt;br /&gt;
&lt;br /&gt;
=== Password access as root via SSH disabled ===&lt;br /&gt;
&lt;br /&gt;
Previously, it was possible to SSH as root using password-based authentication. In Leap 16.0 only key-based authentication is allowed by default. Systems upgraded to 16.0 from a previous version will carry over the old behavior. New installations will enforce the new behavior.&lt;br /&gt;
&lt;br /&gt;
Installing the package &amp;lt;code&amp;gt;openssh-server-config-rootlogin&amp;lt;/code&amp;gt; restores the old behavior and allows password-based login for the root user.&lt;br /&gt;
&lt;br /&gt;
=== Minimum hardware requirements ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires hardware to meet requirements on these architectures:&lt;br /&gt;
* For AMD64 and Intel* 64 systems: Microarchitecture level x86-64-v2 or higher.&lt;br /&gt;
* For IBM* Power LE systems: POWER10 or higher (see note below).&lt;br /&gt;
* For Arm64* systems: Armv8.0-A or higher.&lt;br /&gt;
* For IBM* Z systems: z14 or higher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
POWER9 systems may work with Leap 16.0 but are not supported by IBM, the hardware vendor.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SHA1 to be disabled or mark unapproved ===&lt;br /&gt;
&lt;br /&gt;
Due to FIPS 140-3 certification requirements, the SHA1 cryptographic algorithm will be disabled or marked unapproved when running in FIPS mode.&lt;br /&gt;
&lt;br /&gt;
=== Added &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;tuned&amp;lt;/code&amp;gt; package contains a daemon that tunes system settings dynamically.&lt;br /&gt;
&lt;br /&gt;
=== Lightweight guard region support ===&lt;br /&gt;
&lt;br /&gt;
This is a new feature in &amp;lt;code&amp;gt;madvise()&amp;lt;/code&amp;gt; that installs a lightweight guard region into a specified address range.&lt;br /&gt;
&lt;br /&gt;
See [https://manpages.opensuse.org/Leap-16.0/man-pages/madvise.2.en.html#MADV_GUARD_INSTALL madvise() man page] for more information.&lt;br /&gt;
&lt;br /&gt;
=== Harmless error messages sometimes displayed when launching some applications ===&lt;br /&gt;
&lt;br /&gt;
The following messages are sometimes displayed when launching specific applications:&lt;br /&gt;
# &amp;lt;code&amp;gt;gnome-desktop&amp;lt;/code&amp;gt; some times failes to create transient scope:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&amp;gt; gnome-session-binary: GnomeDesktop-WARNING: Could not create transient scope for PID 7883: GDBus.Error:org.freedesktop.DBus.Error.UnixProcessIdUnknown: Process with ID 7883 does not exist.&amp;lt;/pre&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;systemd&amp;lt;/code&amp;gt; sometimes fails to assign cgroup:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Couldn&#039;t move process 6708 to requested cgroup &#039;/user.slice/user-0.slice/user@0.service/app.slice/app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope&#039;: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed to add PIDs to scope&#039;s control group: No such process&lt;br /&gt;
&amp;gt; systemd: app-gnome-gnome\x2dkeyring\x2dpkcs11-6708.scope: Failed with result &#039;resources&#039;.&lt;br /&gt;
&amp;gt; systemd: Failed to start Application launched by gnome-session-binary.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These messages are harmless and can be ignored.&lt;br /&gt;
&lt;br /&gt;
=== NFS over TLS support ===&lt;br /&gt;
&lt;br /&gt;
NFS over TLS is now supported for storage traffic.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; is replaced with &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; will also be enabled with a base tuning, similar to &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;. Base tuning only will be enabled if &amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; was not configured before (no SAP Notes or Solutions selected).&lt;br /&gt;
&lt;br /&gt;
=== Azure Entra ID authentication via &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;himmelblau&amp;lt;/code&amp;gt; package has been added. It provides interoperability with Microsoft Azure Entra ID and Intune. It supports Linux authentication to Microsoft Azure Entra ID via PAM and NSS modules.&lt;br /&gt;
&lt;br /&gt;
For more information see https://github.com/himmelblau-idm/himmelblau.&lt;br /&gt;
&lt;br /&gt;
=== Legacy BIOS support ===&lt;br /&gt;
&lt;br /&gt;
Legacy BIOS is still supported in openSUSE Leap 16.0. However, some features are not available when using it (for example, full-disk encryption with TPM). Finally, support for legacy BIOS will be discontinued in the future. For that reason we recommend switching to UEFI at the nearest opportunity.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; not persistent ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0, &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; is no longer persistent between reboots but uses &amp;lt;code&amp;gt;tmpfs&amp;lt;/code&amp;gt; instead. See https://susedoc.github.io/doc-modular/main/html/SLE-comparison/index.html#sle16-tmp for more information.&lt;br /&gt;
&lt;br /&gt;
=== Python update strategy ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; is currently set to use Python 3.13. In a future minor version update this is likely going to be changed to a newer Python version.&lt;br /&gt;
* openSUSE Leap 16.0 contains around 700 popular Python packages, which form a basic set of functionality for packages that depends on Python and for developing apps without needing to install Python modules from an external provider.&lt;br /&gt;
* We have been working on removing the dependencies of packages and tools on the &amp;lt;code&amp;gt;/usr/bin/python3&amp;lt;/code&amp;gt; binary, which means that openSUSE Leap could use a newer version of the Python interpreter in the future. This new Python interpreter will coexist with the previous version that will then be maintained as legacy interpreter for a limited time.&lt;br /&gt;
&lt;br /&gt;
=== Removal of 32-bit support ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 only supports 64-bit binaries. Support for 32-bit binaries (or 31-bit binaries on IBM Z) has been removed.&lt;br /&gt;
&lt;br /&gt;
This means that statically-linked 32-bit binaries (or 31-bit binaries on IBM Z) and container images cannot be run anymore. 32-bit syscalls are still enabled by default on arm64, and can be enabled on x86_64 via the kernel parameter &amp;lt;code&amp;gt;ia32_emulation&amp;lt;/code&amp;gt;. On other architectures it’s disabled without any option to enable it.&lt;br /&gt;
&lt;br /&gt;
=== Compiling kernel uses non-default compiler ===&lt;br /&gt;
&lt;br /&gt;
Customers who need to build kernel modules or rebuild the kernel must use the same compiler version the kernel was built with. The kernel is built with &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13, which is not the default compiler. Install the &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt; version 13 compiler using the gcc13 package and invoke it with the command &amp;lt;code&amp;gt;gcc-13&amp;lt;/code&amp;gt;. This specific compiler version is only supported for building kernel modules and the kernel.&lt;br /&gt;
&lt;br /&gt;
=== Optimized libraries for newer hardware architectures ===&lt;br /&gt;
&lt;br /&gt;
We have added support for the glibc-HWCAPS feature which loads optimized versions of libraries for specific newer CPUs automatically.&lt;br /&gt;
&lt;br /&gt;
The build infrastructure for this feature is enabled for the following libraries:&lt;br /&gt;
* &amp;lt;code&amp;gt;blosc2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;boost&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;brotli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;bzip2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;flac&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;jsoncpp&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lame&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;leveldb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libdb-4_8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libgcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libiscsi&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjpeg-turbo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libjxl&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libmng&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libnettle&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libpng16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libvorbis&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;libxmlb&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lz4&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;lzo&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openjpeg2&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;openssl-3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python311&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;python313&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sqlite3&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;talloc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;tree-sitter&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xxhash&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zopfli&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;zstd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== No remote root login with password ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you install the system using only a &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; password and do not provide an SSH key for the root user, &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; will not be enabled automatically after installation. You will not be able to log in remotely as root using the password.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, remote password-based &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login is disabled. The installer enables the &amp;lt;code&amp;gt;sshd&amp;lt;/code&amp;gt; service only when an SSH key for root is configured during setup. To allow remote &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; login, configure an SSH key for root during installation.&lt;br /&gt;
&lt;br /&gt;
=== Default user group assignment changed ===&lt;br /&gt;
&lt;br /&gt;
Previously, all user accounts belonged to a single &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group.&lt;br /&gt;
&lt;br /&gt;
Now instead of being added to the common &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group, each new user now gets their own primary group matching their username. This is due to &amp;lt;code&amp;gt;USERGROUPS_ENAB&amp;lt;/code&amp;gt; being enabled in &amp;lt;code&amp;gt;/usr/etc/login.defs&amp;lt;/code&amp;gt;. This change affects all new installations and upgraded systems that did not change the default &amp;lt;code&amp;gt;/etc/login.defs&amp;lt;/code&amp;gt;. This has several consequences:&lt;br /&gt;
* files created by new users are not group-readable by default&lt;br /&gt;
* configurations that used the primary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition do not work anymore&lt;br /&gt;
* configurations that used the primary or secondary &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group as a condition need to have the &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt; group manually added to these user accounts in order to continue to work, for example, to for &amp;lt;code&amp;gt;@users&amp;lt;/code&amp;gt; in the sudoers file&lt;br /&gt;
* home directories inherited from a previous system need to standardize the GID of the files by running: &lt;br /&gt;
:&amp;lt;code&amp;gt;find &amp;quot;$HOME&amp;quot; -group users -exec chgrp myuser {} \;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;chgrp -R myuser &amp;quot;$HOME&amp;quot;&amp;lt;/code&amp;gt; if you did not use any GID other than &amp;lt;code&amp;gt;users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SysV init.d scripts support ===&lt;br /&gt;
&lt;br /&gt;
SysV init.d scripts have been [https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15-SP2/index.html#jsc-SLE-7690 deprecated since Leap 15 SP2].&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, support of SysV init.d scripts has been removed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (RC1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to RC1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; removal ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/etc/services&amp;lt;/code&amp;gt; file is just a dummy file that will be removed in the future. Software that appends to it without creating it should have its behavior changed.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta4) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta4. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Configuring network interfaces during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, the installer does not allow for setting up network interfaces using the UI. However, in the meantime you can use dracut-like command-line options, for example:&lt;br /&gt;
&lt;br /&gt;
 ifname=&amp;lt;interface&amp;gt;:&amp;lt;MAC&amp;gt;&lt;br /&gt;
 ip=&amp;lt;interface&amp;gt;:dhcp&lt;br /&gt;
&lt;br /&gt;
Additionally, the &amp;lt;code&amp;gt;inst.copy_network&amp;lt;/code&amp;gt; is not available in Beta4.&lt;br /&gt;
&lt;br /&gt;
=== SAP workloads on Leap 16.0 ===&lt;br /&gt;
&lt;br /&gt;
For running SAP workloads on openSUSE Leap 16.0, do the following:&lt;br /&gt;
# Unpack the SAP installer.&lt;br /&gt;
# Run the following commands to change policies:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;semanage boolean -m --on selinuxuser_execmod&lt;br /&gt;
semanage boolean -m --on unconfined_service_transition_to_unconfined_user&lt;br /&gt;
semanage permissive -a snapper_grub_plugin_t&lt;br /&gt;
restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Run the following commands to lable all files:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;test -d ./snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d ./snapshots || restorecon R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Install SAP workload or SAP HANA&lt;br /&gt;
# Label all files again:&lt;br /&gt;
#:&amp;lt;pre&amp;gt;test -d /.snapshots &amp;amp;&amp;amp; restorecon -R / -e /.snapshots&lt;br /&gt;
test -d /.snapshots || restorecon -R /&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== FIPS 140-3 not working properly ===&lt;br /&gt;
&lt;br /&gt;
FIPS 140-3 installation has not been fully validated and may cause unexpected software failure or crashes. Therefore, we discourage you from using it on Beta4.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta3) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta3. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Kernel crash in QEMU ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 requires a CPU that supports a so-called &amp;quot;x86-64-v2&amp;quot; microarchitecture. Due to this, running a Leap image using QEMU currently results in a kernel crash.&lt;br /&gt;
&lt;br /&gt;
As a workaround you can run QEMU with the &amp;lt;code&amp;gt;-cpu host&amp;lt;/code&amp;gt; argument.&lt;br /&gt;
&lt;br /&gt;
=== Missing &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;libnsl.so.1&amp;lt;/code&amp;gt; library has been deprecated in SLES 15 and finally removed in openSUSE Leap 16.0.&lt;br /&gt;
&lt;br /&gt;
As a workaround for applications that cannot be installed without it (but presumaly do not use it for anything), we provide the &amp;lt;code&amp;gt;libnsl-stub1&amp;lt;/code&amp;gt; package that includes ABI-compatible but otherwise function-less stub of the library file.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; not usable with many interfaces ===&lt;br /&gt;
&lt;br /&gt;
Due to an upstream bug, &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; might take a long time or time out when adding many interfaces. The error occurs when &amp;lt;code&amp;gt;firewalld&amp;lt;/code&amp;gt; is restarted after applying such a configuration. The following message appears in the system logs:&lt;br /&gt;
 ERROR:dbus.proxies:Introspect error on :1.18:/org/fedoraproject/FirewallD1: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply.&lt;br /&gt;
 Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.&lt;br /&gt;
&lt;br /&gt;
See https://github.com/firewalld/firewalld/issues/1399 for more information.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta2) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta2. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Switch from YaST to Cockpit ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 has switched from YaST to Cockpit for manual system administration. We have enhanced Cockpit with new modules with the intention to upstream them later. Despite being functional, bugs might appear and features might be missing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;: register, de-register and view SUSE Linux Enterprise registrations. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-repositories&amp;lt;/code&amp;gt;: add, remove, view repositories, change settings and refresh them. Does not work for unprivileged users yet.&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;: show installed packages, search available repositories, install and uninstall packages. Requires administrative access. Be aware that there are no safety measures implemented as far as system usability goes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enhanced modules&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;: update packages from available repositories. The module now allows to individually select packages to update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Upstream modules&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-kdump&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-machines&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-podman&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;: these modules are updated to the recent stable base version 332 (or their respective).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default selection&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installation of the pattern &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt; will pull in the following modules: &amp;lt;code&amp;gt;cockpit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-bridge&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-networkmanager&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packagekit&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-packages&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-repos&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-selinux&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-storaged&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-subscriptions&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-system&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cockpit-ws&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;dovecot 2.4&amp;lt;/code&amp;gt; configuration upgrade ===&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 &amp;lt;code&amp;gt;dovecot&amp;lt;/code&amp;gt; has been upgraded to version 2.4. The configuration of this version is incompatible with the previous versions.&lt;br /&gt;
&lt;br /&gt;
Configuration has to be updated manually. For more information see https://doc.dovecot.org/2.4.0/installation/upgrade/2.3-to-2.4.html.&lt;br /&gt;
&lt;br /&gt;
== Changes affecting all architectures (Beta1) ==&lt;br /&gt;
&lt;br /&gt;
This section contains information specific to Beta1. We are working on fixing the problems mentioned here. The content of this section will be removed for the final released product.&lt;br /&gt;
&lt;br /&gt;
=== Disk configuration UI during installation ===&lt;br /&gt;
&lt;br /&gt;
Currently, choosing disk configurations other than &amp;quot;An existing disk&amp;quot; (installation to a single disk) suffer from poor usability. This is expected to change in a future update.&lt;br /&gt;
&lt;br /&gt;
=== Non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; after installation ===&lt;br /&gt;
&lt;br /&gt;
There is currently a known issue that adds a non-functioning &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; repository which prevents &amp;lt;code&amp;gt;zypper&amp;lt;/code&amp;gt; from working correctly.&lt;br /&gt;
&lt;br /&gt;
To fix this issue, remove the repository in question and add the installation medium repository manually:&lt;br /&gt;
# Remove repository with &amp;lt;code&amp;gt;zypper rr&amp;lt;/code&amp;gt;. To remove the first repository, for example, run: &amp;lt;code&amp;gt;zypper rr 1&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Add the installation medium as repository by running &lt;br /&gt;
#:&amp;lt;pre&amp;gt;zypper ar hd:/install?device=/dev/disk/by-label/agama-installer medium&amp;lt;/pre&amp;gt;&lt;br /&gt;
#:(the &amp;lt;code&amp;gt;medium&amp;lt;/code&amp;gt; at the end is a name you want to give the repository).&lt;br /&gt;
# Run &amp;lt;code&amp;gt;zypper refresh&amp;lt;/code&amp;gt; to refresh the added repository.&lt;br /&gt;
&lt;br /&gt;
=== systemd uses cgroup v2 by default ===&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses cgroup v2 by default and v1 is unsupported. If you need to use cgroup v1, SLES 15 SP6 can be switched to hybrid mode using a boot parameter.&lt;br /&gt;
&lt;br /&gt;
== x86-64-specific changes ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to the x86-64 architecture.&lt;br /&gt;
&lt;br /&gt;
=== AMD EPYC Turin automonous frequency scaling ===&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, the default Linux CPU frequency scaling driver for AMD EPYC Turin (and later processors) has shifted to the AMD P-State driver to enable autonomous frequency scaling.&lt;br /&gt;
&lt;br /&gt;
With the AMD P-State driver, it enables the use of the Energy Performance Preference (EPP) for more granular control over performance versus power efficiency to adjust the CPU frequencies based on workload and hardware feedback dynamically.&lt;br /&gt;
&lt;br /&gt;
== IBM Z-specific changes (s390x) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for IBM Z 16.0. For more information, see https://www.ibm.com/docs/en/linux-on-systems?topic=distributions-suse-linux-enterprise-server&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;kernel&amp;lt;/code&amp;gt; providing machine name, kconfig options, new instructions, etc.&lt;br /&gt;
* Support has been added for IBM z17 in &amp;lt;code&amp;gt;gdb&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;valgrind&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;binutils&amp;lt;/code&amp;gt;&lt;br /&gt;
* Support has been added for IBM z16 - reset DAT-Protection facility support&lt;br /&gt;
* Identify ConnectX devices through port rather than PCHID&lt;br /&gt;
* Processor Activity Instrumentation / Neural Network Processing Assist counters for new IBM Z hardware was added into kernel&lt;br /&gt;
* kprobes are now supported without &amp;lt;code&amp;gt;stop machine&amp;lt;/code&amp;gt;&lt;br /&gt;
* Promiscuous Mode Exploitation for NETH Virtual Functions for IBM z17 and LinuxONE 5&lt;br /&gt;
* Vertical CPU Polarization support for IBM z17 and LinuxONE 5&lt;br /&gt;
* qclib has been updated to support IBM z17&lt;br /&gt;
* The Integrated Accelerator for AI has new operations, which are now supported by libzdnn low-level driver library&lt;br /&gt;
* Enhanced RAS and Call Home for zPCI&lt;br /&gt;
* The kernel image can move into vmalloc space, where random physical pages are used to map virtual pages (V!=R)&lt;br /&gt;
* Add new CPU-MF Counters for new IBM Z Hardware (libpfm)&lt;br /&gt;
* Deactivate CONFIG_QETH_OSX kernel config option&lt;br /&gt;
* Upgrade Mellanox (mlx5) driver to latest version&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
* LPAR level power consumption reporting is now available in kernel and s390-tools.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
==== In-kernel crypto support ====&lt;br /&gt;
&lt;br /&gt;
With this service pack are additionally supported:&lt;br /&gt;
* MSA 10 XTS instructions for in-kernel crypto&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 12 (SHA3) has been added and introduces new options to call CPACF SHA 3 functions&lt;br /&gt;
* MSA 11 HMAC instructions for in-kernel crypto&lt;br /&gt;
* MSA 10 XTS crypto PAES support for in-kernel crypto&lt;br /&gt;
&lt;br /&gt;
==== OpenSSL features ====&lt;br /&gt;
&lt;br /&gt;
This release brings these features and improvements:&lt;br /&gt;
* XTS instructions support in libcrypto/openSSL&lt;br /&gt;
* New MSA 11 HMAC instruction support in libcrypto/openSSL&lt;br /&gt;
* Added support for MSA 12 (SHA3), which also introduces new options to call CPACF SHA3 and SHKE functions&lt;br /&gt;
* Extended support of the openssl-pkcs11 provider such that it can be used by programs that issue forks&lt;br /&gt;
* Replace openssl-ibmpkcs11 with openssl-pkcs11&lt;br /&gt;
* Upgrade openssl-ibmca to the latest version&lt;br /&gt;
&lt;br /&gt;
==== openCryptoki ====&lt;br /&gt;
&lt;br /&gt;
* The new version of &amp;lt;code&amp;gt;libica&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;libzpc&amp;lt;/code&amp;gt; is included.&lt;br /&gt;
* The openCryptoki CCA Token is now available on x86_64 and ppc64le architectures.&lt;br /&gt;
&lt;br /&gt;
==== p11-kit =====&lt;br /&gt;
&lt;br /&gt;
* Add support for IBM specific attributes and mechanisms to the PKCS11 client-server implementation of p11-kit.&lt;br /&gt;
&lt;br /&gt;
==== pkey ====&lt;br /&gt;
&lt;br /&gt;
* The kernel pkey module can now generate keys AES-XTS keys (MSA 10) and HMAC key (MSA 11) from clear keys.&lt;br /&gt;
* The module can also generate keys represented by identifiers of secure execution retrievable keys.&lt;br /&gt;
* The pkey also supports EP11 API ordinal 6 for secure guests.&lt;br /&gt;
&lt;br /&gt;
==== zcrypt =====&lt;br /&gt;
&lt;br /&gt;
* The zcrypt extends error recovery to deal with device scans of unavailable devices.&lt;br /&gt;
&lt;br /&gt;
=== Virtualization ===&lt;br /&gt;
&lt;br /&gt;
* KVM guests can exploit z17 &amp;amp; LinuxONE 5 CPU features&lt;br /&gt;
* KVM can display available host key hashes for Secure Execution (Query Host-key hash UVC)&lt;br /&gt;
* KVM can benefit from genprotimg rewritten in Rust to re-use existing rust libraries (s390-tools feature)&lt;br /&gt;
* KVM benefits from genprotimg validation of SE image running on particular host(s) (s390-tools feature)&lt;br /&gt;
* KVM benefits from using pvimg info command to display encrypted &amp;amp; unencrypted SE image information (s390-tools)&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM passthrough is available for guests i.e. retrievable secrets in Secure Execution guests&lt;br /&gt;
* KVM can use unencrypted SE images for creating generic images (s390-tools feature)&lt;br /&gt;
* KVM implements counters for nested guest shadow events&lt;br /&gt;
* KVM implements virsh hypervisor-cpu-models (libvirt)&lt;br /&gt;
* KVM provides enhanced and dynamic CPU topology for KVM guests (qemu)&lt;br /&gt;
* KVM and libvirt full boot order enables users to attempt booting from multiple targets&lt;br /&gt;
* KVM provides Atomic Memop for Key-Checked Compare-and-swap&lt;br /&gt;
* KVM enhances CCW address translation architectural compliance&lt;br /&gt;
* KVM improves memory reclaiming for z15 Secure Execution guests and above (libvirt)&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; was replaced by &amp;lt;code&amp;gt;blog&amp;lt;/code&amp;gt; on s390x, as &amp;lt;code&amp;gt;plymouth&amp;lt;/code&amp;gt; couldn&#039;t work without graphical display.&lt;br /&gt;
* The &amp;lt;code&amp;gt;Eigen&amp;lt;/code&amp;gt; library is the backend used by &amp;lt;code&amp;gt;Tensorflow&amp;lt;/code&amp;gt; for computations executed on the CPU. Several GCC adjustments have been implemented to speed up Eigen with IBM z14 support and above.&lt;br /&gt;
* Allow &amp;lt;code&amp;gt;httpd&amp;lt;/code&amp;gt; customers to protect their web server identity using HSMs (via CryptoExpress adapters).&lt;br /&gt;
&lt;br /&gt;
==== Enhancements in &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The latest s390-tool update brings these noticeable changes:&lt;br /&gt;
* Additional channel measurements - kernel &amp;amp; &amp;lt;code&amp;gt;s390-tools&amp;lt;/code&amp;gt;&lt;br /&gt;
* A new tool cpacinfo shall provide information on CPACF including the supported MSA levels, instructions, subfunctions per instruction. https://www.ibm.com/docs/en/linux-on-systems?topic=hw-cpacf&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO ====&lt;br /&gt;
&lt;br /&gt;
Previously, &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; would point to a directory of unpacked files.&lt;br /&gt;
&lt;br /&gt;
Now it needs to point to a loop-mounted ISO via FTP. For example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/agama-online.iso&lt;br /&gt;
 agama.install_url=ftp://$SERVER_URL/install/agama&lt;br /&gt;
&lt;br /&gt;
For more information see https://agama-project.github.io/docs/user/boot_options.&lt;br /&gt;
&lt;br /&gt;
==== Disk selection UI problems during installation ====&lt;br /&gt;
&lt;br /&gt;
If you want to enable a disk, click on &#039;&#039;Storage&#039;&#039; in the left panel, then &#039;&#039;Install new system on&#039;&#039; and choose &amp;quot;storage techs&amp;quot;. Then you can choose a type of disk. This can be avoided if you have defined your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; as described in Section 3.13.5.2, &amp;quot;&amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; now points to ISO&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you choose DASD, you should see disks based on your &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;cio_ignore&amp;lt;/code&amp;gt; configuration. Then choose a disk and activate it by clicking &#039;&#039;Perform an action&#039;&#039; and then &#039;&#039;Activate&#039;&#039;. This can take a moment. If it is not visible, then you need to click on Storage or refresh the page.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;zFCP&#039;&#039; section, after activating a disk a gray line will appear. This is just a visual bug, the disk will activate correctly.&lt;br /&gt;
&lt;br /&gt;
==== Installation failure on zVM ====&lt;br /&gt;
&lt;br /&gt;
Due to a change from &amp;lt;code&amp;gt;linuxrc&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;dracut&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to define not only installation source but also a network and disks.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;parmfile&amp;lt;/code&amp;gt; needs to be filled with a &amp;lt;code&amp;gt;dracut-like&amp;lt;/code&amp;gt; options, for example:&lt;br /&gt;
&lt;br /&gt;
 root=live:ftp://$SERVER_URL/install/online.iso&lt;br /&gt;
 ip=$IP_address::$IP_gateway:24:SLE16-Beta4:$NETWORK_DEVICE:none&lt;br /&gt;
 rd.zdev=qeth,0.0.0800:0.0.0801:0.0.0802,layer2=1,portno=0&lt;br /&gt;
 cio_ignore=all,!condev,!0.0.0160 nameserver=$NAMEserverIP&lt;br /&gt;
 live.password=linux rd.zdev=dasd,0.0.0160&lt;br /&gt;
&lt;br /&gt;
== POWER-specific changes (ppc64le) ==&lt;br /&gt;
&lt;br /&gt;
Information in this section applies to openSUSE Leap for POWER 16.0.&lt;br /&gt;
&lt;br /&gt;
=== KVM guests in LPAR ===&lt;br /&gt;
&lt;br /&gt;
The ability to run KVM Guests in an LPAR is a new feature in PowerVM Firmware 1060.10 release and supported in openSUSE Leap 16.0. This enables users to run KVM guests in a PowerVM LPAR bringing industry standard Linux KVM virtualization stack to IBM PowerVM, which easily integrates with existing Linux virtualization ecosystem. This enables a lot of interesting usecases which were earlier difficult to realize in a PowerVM LPAR.&lt;br /&gt;
&lt;br /&gt;
KVM in a PowerVM LPAR is a new type of LPAR (logical partition) that allows the openSUSE Leap 16.0 kernel to host KVM guests inside an LPAR on PowerVM. A KVM enabled LPAR allows standard Linux KVM tools (for example, &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt;) to create and manage lightweight Linux Virtual Machines (VM). A KVM Linux LPAR uses dedicated cores which enables Linux to have full control of when Linux VMs are scheduled to run, just like KVM on other platforms.&lt;br /&gt;
&lt;br /&gt;
=== Login times out on HMC virtual terminal ===&lt;br /&gt;
&lt;br /&gt;
If you install openSUSE Leap for POWER with the GNOME desktop on LPAR and try to login via the HMC virtual terminal, the login may time out while entering your credentials.&lt;br /&gt;
&lt;br /&gt;
To work around this issue, disable the Plymouth graphical boot screen by appending the boot parameter &amp;lt;code&amp;gt;plymouth.enable=0&amp;lt;/code&amp;gt; to the kernel command line.&lt;br /&gt;
&lt;br /&gt;
== Arm-specific changes (AArch64) ==&lt;br /&gt;
&lt;br /&gt;
=== System-on-Chip driver enablement ===&lt;br /&gt;
&lt;br /&gt;
Leap 16.0 includes driver enablement for the following System-on-Chip (SoC) chipsets:&lt;br /&gt;
* Ampere* X-Gene*, eMAG*, Altra*, Altra Max, AmpereOne*&lt;br /&gt;
* AWS* Graviton, Graviton2, Graviton3&lt;br /&gt;
* Broadcom* BCM2837/BCM2710, BCM2711&lt;br /&gt;
* Fujitsu* A64FX&lt;br /&gt;
* Huawei* Kunpeng* 916, Kunpeng 920&lt;br /&gt;
* Marvell* ThunderX*, ThunderX2*; OCTEON TX*; Armada* 7040, Armada 8040&lt;br /&gt;
* NVIDIA* Grace; Tegra* X1, Tegra X2, Xavier*, Orin; Blue﻿Field*, Blue﻿Field-2, Blue﻿Field-3&lt;br /&gt;
* NXP* i.MX 8M, 8M Mini; Layerscape* LS1012A, LS1027A/LS1017A, LS1028A/LS1018A, LS1043A, LS1046A, LS1088A, LS2080A/LS2040A, LS2088A, LX2160A&lt;br /&gt;
* Rockchip RK3399&lt;br /&gt;
* Socionext* SynQuacer* SC2A11&lt;br /&gt;
* Xilinx* Zynq* UltraScale*﻿+ MPSoC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Driver enablement is done as far as available and requested. Refer to the following sections for any known limitations.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some systems might need additional drivers for external chips, such as a Power Management Integrated Chip (PMIC), which may differ between systems with the same SoC chipset.&lt;br /&gt;
&lt;br /&gt;
For booting, systems need to fulfill either the Server Base Boot Requirements (SBBR) or the Embedded Base Boot Requirements (EBBR), that is, the Unified Extensible Firmware Interface (UEFI) either implementing the Advanced Configuration and Power Interface (ACPI) or providing a Flat Device Tree (FDT) table. If both are implemented, the kernel will default to the Device Tree; the kernel command line argument &amp;lt;code&amp;gt;acpi=force&amp;lt;/code&amp;gt; can override this default behavior.&lt;br /&gt;
&lt;br /&gt;
Check for SUSE &#039;&#039;YES!&#039;&#039; certified systems, which have undergone compatibility testing.&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
* iSCSI boot support is disabled in OVMF images.&lt;br /&gt;
&lt;br /&gt;
=== QEMU ===&lt;br /&gt;
&lt;br /&gt;
QEMU has been updated to version 10.0.2, full list of changes are available at https://wiki.qemu.org/ChangeLog/10.0&lt;br /&gt;
&lt;br /&gt;
Highlights include:&lt;br /&gt;
* Removed features: https://qemu-project.gitlab.io/qemu/about/removed-features.html&lt;br /&gt;
* Deprecated features: https://qemu-project.gitlab.io/qemu/about/deprecated.html&lt;br /&gt;
&lt;br /&gt;
=== libvirt ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; has been updated to version 11.4.0, this includes many incremental improvements and bug fixes, see https://libvirt.org/news.html#v11-4-0-2025-06-02.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libvirt&amp;lt;/code&amp;gt; provides now a modular daemons.&lt;br /&gt;
&lt;br /&gt;
=== VMware ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;open-vm-tools&amp;lt;/code&amp;gt; has been updated to version 13.0.0 that addresses a few critical problems and bug fixes. See https://github.com/vmware/open-vm-tools/blob/stable-13.0.0/ReleaseNotes.md.&lt;br /&gt;
&lt;br /&gt;
=== Confidential Computing ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;sevctl&amp;lt;/code&amp;gt; package has been updated to version 0.6.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snpguest&amp;lt;/code&amp;gt; package has been updated to version 0.9.1. Full list of changes is available at: https://github.com/virtee/snpguest/compare/v0.7.1…​v0.9.1&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;snphost&amp;lt;/code&amp;gt; package version 0.6.0 has been added.&lt;br /&gt;
&lt;br /&gt;
==== Intel TDX Confidential Computing ====&lt;br /&gt;
&lt;br /&gt;
In openSUSE Leap 16.0 the kernel now incorporates the latest upstream Intel Trust Domain Extensions (TDX) patches. This significant update prepares the virtualization toolstack for Intel TDX confidential computing capabilities.&lt;br /&gt;
&lt;br /&gt;
These patches are important for enabling the kernel to support creating and managing trust domains, which is a step towards enabling confidential computing environments on Intel TDX-enabled hardware.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#C0C0C0;border:1px solid #666666;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The full Intel TDX confidential computing experience also requires integrating QEMU and libvirt components, which will be part of a future update.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Enhanced VM Security with AMD SEV-SNP ====&lt;br /&gt;
&lt;br /&gt;
AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging) is a hardware security feature in AMD EPYC processors that provides a highly secure and confidential environment for virtual machines (VMs). It offers strong memory confidentiality through per-VM encryption keys and AES encryption, and crucially, robust memory integrity protection to prevent tampering from the hypervisor or other threats. It also provides enhanced isolation and remote attestation capabilities, making it ideal for protecting sensitive data and workloads in untrusted environments like cloud computing. This release fully integrates AMD SEV-SNP for KVM-based virtual machines. This means integrated support in our kernel, along with updated QEMU, Libvirt, and OVMF Firmware. To use AMD SEV-SNP, you’ll need, AMD EPYC™ 3rd Gen Processors (Milan) or newer and SEV-SNP enabled in your system’s BIOS/UEFI.&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numatop&amp;lt;/code&amp;gt; is available in version 2.5, adding support for Intel GNR and SRF platforms.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;numactl&amp;lt;/code&amp;gt; is shipped in version 2.0.19. Full changes at: https://github.com/numactl/numactl/releases/tag/v2.0.19&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;libguestfs&amp;lt;/code&amp;gt; has been updated to version 1.55.13.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-v2v&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Update to version 2.7.16. While there are no dedicated release notes, you can review the code changes in Github: https://github.com/libguestfs/virt-v2v/tree/v2.7.16&lt;br /&gt;
* Implement --parallel=N for parallel disk copies&lt;br /&gt;
* Update Translations&lt;br /&gt;
* Various fixes&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;virtiofsd&amp;lt;/code&amp;gt; has been updated to 1.12.0.&lt;br /&gt;
&lt;br /&gt;
==== &amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;virt-manager&amp;lt;/code&amp;gt; is now shipped in version 5.0.0. Its preferable to setup VNC for remote viewing and do all the XML editing using the &amp;lt;code&amp;gt;virsh&amp;lt;/code&amp;gt; command. Full list of changes is available at https://github.com/virt-manager/virt-manager/releases/tag/v5.0.0&lt;br /&gt;
&lt;br /&gt;
==== virt-bridge-setup ====&lt;br /&gt;
&lt;br /&gt;
virt-bridge-setup is a script designed to simplify network bridge creation on a specified interface using nmcli. It was developed as a replacement for the automatic &amp;quot;yast2 virtualization&amp;quot; bridge creation and is particularly useful for setting up virtualization environments.&lt;br /&gt;
&lt;br /&gt;
Important considerations:&lt;br /&gt;
* It supports IPv4 only.&lt;br /&gt;
* This is a simple script not intended for complex network scenarios (vlan, bonding, etc…​); manual bridge setup is recommended for intricate configurations.&lt;br /&gt;
* The script should be run locally (not remotely) immediately after installation and before any custom network configurations.&lt;br /&gt;
&lt;br /&gt;
== Removed and deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
This section lists features and packages that were removed from openSUSE Leap or will be removed in upcoming versions.&lt;br /&gt;
&lt;br /&gt;
=== Removed features and packages ===&lt;br /&gt;
&lt;br /&gt;
The following features and packages have been removed in this release.&lt;br /&gt;
&lt;br /&gt;
* Xorg server has been removed. Only Wayland is supported for graphical display. X11 applications compatibility is provided via XWayland.&lt;br /&gt;
* &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt; has been removed. See Section 3.6.7, &amp;quot;&amp;lt;code&amp;gt;saptune&amp;lt;/code&amp;gt; replaces &amp;lt;code&amp;gt;sapconf&amp;lt;/code&amp;gt;&amp;quot; for more info.&lt;br /&gt;
* YaST has been removed. See Section 3.10.1, &amp;quot;Switch from YaST to Cockpit&amp;quot; for more info.&lt;br /&gt;
* WSL1 is not supported anymore&lt;br /&gt;
* The Xen hypervisor was removed in favor of KVM. You no longer run SLE 16 as Xen host or as paravirtualized guest (PV). Running SLE 16 as fully virtualized Xen guest (HVM) or using using hardware virtualization features (PVH) is still possible.&lt;br /&gt;
* &amp;lt;code&amp;gt;nscd&amp;lt;/code&amp;gt; has been removed&lt;br /&gt;
* The snIPL package is deprecated as HMC is providing most capabilities. There is also available a command line client to interact with the HMC Web Services API: the zhmccli https://github.com/zhmcclient.&lt;br /&gt;
* Removed &amp;lt;code&amp;gt;rc&amp;lt;service&amp;gt;&amp;lt;/code&amp;gt; controls of systemd services&lt;br /&gt;
* Removed the &amp;lt;code&amp;gt;KBD_DISABLE_CAPS_LOCK&amp;lt;/code&amp;gt; feature from &amp;lt;code&amp;gt;/etc/sysconfig/keyboard&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;netiucv&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;lcs&amp;lt;/code&amp;gt; drivers&lt;br /&gt;
* &amp;lt;code&amp;gt;ansible-9&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ansible-core-2.16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;criu&amp;lt;/code&amp;gt;&lt;br /&gt;
* Section 3.6.17, &amp;quot;SysV init.d scripts support&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;compat-libpthread-nonshared&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;crun&amp;lt;/code&amp;gt; has been removed. Use &amp;lt;code&amp;gt;runc&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
== Deprecated features and packages ==&lt;br /&gt;
&lt;br /&gt;
The following features and packages are deprecated and will be removed in a future version of openSUSE Leap.&lt;br /&gt;
* The 2MB OVMF image will be deprecated and removed in openSUSE Leap 16.1.&lt;br /&gt;
&lt;br /&gt;
=== nmap deprecation notice ===&lt;br /&gt;
&lt;br /&gt;
The nmap project has moved to a new source license that makes future releases of nmap incompatible with our product.&lt;br /&gt;
&lt;br /&gt;
In Leap 16.0, we are shipping the latest version of nmap released under the old license. In an upcoming release we will switch to an alternative tool.&lt;br /&gt;
&lt;br /&gt;
= Obtaining source code =&lt;br /&gt;
&lt;br /&gt;
This SUSE product includes materials licensed to SUSE under the GNU General Public License (GPL). The GPL requires SUSE to provide the source code that corresponds to the GPL-licensed material. The source code is available for download at https://get.opensuse.org on Medium 2. For up to three years after distribution of the SUSE product, upon request, SUSE will mail a copy of the source code. Send requests by e-mail to sle_source_request@suse.com. SUSE may charge a reasonable fee to recover distribution costs.&lt;br /&gt;
&lt;br /&gt;
= Legal notices =&lt;br /&gt;
&lt;br /&gt;
Copyright © 2025-2025 openSUSE contributors and SUSE LLC. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) Version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”.&lt;br /&gt;
&lt;br /&gt;
This document includes content adapted from the SUSE Linux Enterprise release notes, contributed by the SUSE Documentation Team. Portions of the content are maintained by the openSUSE community.&lt;br /&gt;
&lt;br /&gt;
For SUSE trademarks, see https://www.suse.com/company/legal/. For openSUSE trademarks, see https://en.opensuse.org/openSUSE:Trademark_guidelines. All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™, etc.) denote trademarks of SUSE, openSUSE, and their affiliates. Asterisks (*) denote third-party trademarks.&lt;br /&gt;
&lt;br /&gt;
While every effort has been made to ensure accuracy, the openSUSE contributors, SUSE Documentation Team, and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1016</id>
		<title>OpenSUSE Leap 16.0 Release Notes</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=OpenSUSE_Leap_16.0_Release_Notes&amp;diff=1016"/>
		<updated>2025-10-14T23:10:32Z</updated>

		<summary type="html">&lt;p&gt;Sam: Started article - added section 1 and 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;openSUSE Leap is a modern, modular operating system suitable for both traditional IT and multimodal workloads. This document highlights major features, updates, and known limitations.&lt;br /&gt;
&lt;br /&gt;
= About the release notes =&lt;br /&gt;
&lt;br /&gt;
These Release Notes are identical across all architectures, and the most recent version is always available online at https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
Entries are only listed once but they can be referenced in several places if they are important and belong to more than one section.&lt;br /&gt;
&lt;br /&gt;
Release notes usually only list changes that happened between two subsequent releases. Certain important entries from the release notes of previous product versions are repeated. To make these entries easier to identify, they contain a note to that effect.&lt;br /&gt;
&lt;br /&gt;
However, repeated entries are provided as a courtesy only. Therefore, if you are skipping one or more service packs, check the release notes of the skipped service packs as well. If you are only reading the release notes of the current release, you could miss important changes.&lt;br /&gt;
&lt;br /&gt;
== Documentation and other information ==&lt;br /&gt;
&lt;br /&gt;
For the most up-to-date version of the documentation for openSUSE Leap, see:&lt;br /&gt;
&lt;br /&gt;
* https://doc.opensuse.org.&lt;br /&gt;
&lt;br /&gt;
This section describes community-driven enhancements, features, and updates that extend the SUSE Linux Enterprise core. These changes reflect the openSUSE project’s unique contributions, including desktop improvements, additional packages, and new workflows.&lt;br /&gt;
&lt;br /&gt;
= openSUSE Leap Community Additions =&lt;br /&gt;
&lt;br /&gt;
== Lifecycle ==&lt;br /&gt;
&lt;br /&gt;
Each openSUSE Leap minor release is published once every 12 months. openSUSE Leap 16 provides maintenance updates over two minor releases, giving each release a full 24 months of community support.&lt;br /&gt;
&lt;br /&gt;
Unless there is a change in release strategy, the final openSUSE Leap version (16.6) will be released in fall 2031 and will continue receiving updates until the release of openSUSE Leap 17.1 two years later.&lt;br /&gt;
&lt;br /&gt;
For more information, see: [https://en.opensuse.org/Roadmap Roadmap].&lt;br /&gt;
&lt;br /&gt;
For more than 24 months of support for a point release, the openSUSE migration tool makes it simple to move to SUSE Linux Enterprise, which provides decades of support. See [https://www.suse.com/support/policy.html Support Policy] and [https://www.suse.com/support/programs/long-term-service-pack-support.html Long Term Service Pack Support].&lt;br /&gt;
&lt;br /&gt;
== Migration from Leap 15.6 ==&lt;br /&gt;
&lt;br /&gt;
The [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] (&amp;lt;code&amp;gt;zypper in opensuse-migration-tool&amp;lt;/code&amp;gt;) is included as part of openSUSE Leap 15.6. Users migrating from older releases can run the tool from [https://github.com/openSUSE/opensuse-migration-tool Git repository].&lt;br /&gt;
&lt;br /&gt;
For more information, refer to: [https://en.opensuse.org/SDB:System_upgrade SDB:System_upgrade].&lt;br /&gt;
&lt;br /&gt;
== Installer and Desktop Environments ==&lt;br /&gt;
&lt;br /&gt;
* openSUSE Leap 16 installer provides only Wayland variants of desktop environments. Xorg-based environments can be installed manually post-installation.&lt;br /&gt;
&lt;br /&gt;
=== NVIDIA and Graphics Issues with the Installation Image ===&lt;br /&gt;
&lt;br /&gt;
Some users with NVIDIA GPUs may experience graphics-related issues during installation, such as boo#1247670 where X server fails to start. This is due to the fact that openSUSE Leap install image contains &amp;lt;code&amp;gt;kernel-default-optional&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;kernel-default-extra&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you encounter problems specific to the &amp;lt;code&amp;gt;nouveau&amp;lt;/code&amp;gt; driver, try booting with the option: &amp;lt;code&amp;gt;rd.driver.blacklist=nouveau&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For general graphics boot problems, use the option: &amp;lt;code&amp;gt;nomodeset&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Experimental Xfce Wayland session ===&lt;br /&gt;
&lt;br /&gt;
Experimental Xfce Wayland session is available as an installation option. openSUSE Leap is one of the first distributions to provide Wayland support for [https://en.opensuse.org/Portal:Xfce Xfce]. We use &amp;lt;code&amp;gt;gtkgreet&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;greetd&amp;lt;/code&amp;gt; as a Wayland-ready replacement for LightDM (used in the X11 variant).&lt;br /&gt;
&lt;br /&gt;
=== LXQt Wayland session available post install ===&lt;br /&gt;
&lt;br /&gt;
LXQt Wayland session is included, but will become a full installer option in later releases once LXQt Miriway efforts are further developed: https://code.opensuse.org/leap/features/issue/192.&lt;br /&gt;
&lt;br /&gt;
== Changes to the openSUSE Welcome ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16 now uses the &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt; to start the appropriate greeter application. This launcher, in combination with &amp;lt;code&amp;gt;gnome-tour&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;plasma-welcome&amp;lt;/code&amp;gt;, replaces the legacy Qt5-based &amp;lt;code&amp;gt;opensuse-welcome&amp;lt;/code&amp;gt;, which was previously the default greeter.&lt;br /&gt;
&lt;br /&gt;
The launcher also allows the openSUSE release team to update or refresh the displayed greeter via a package update, for example after a major GNOME update. To create a custom appliance without a welcome application, or to deploy a system where the greeter should never appear, remove &amp;lt;code&amp;gt;opensuse-welcome-launcher&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Automated NVIDIA Driver and Repository Setup ==&lt;br /&gt;
&lt;br /&gt;
On supported GPUs, NVIDIA’s open driver is installed by default along with the NVIDIA graphics driver repository. In openSUSE Leap 16, user-space drivers are also automatically installed, enabling graphical acceleration out of the box.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
=== AppArmor ===&lt;br /&gt;
&lt;br /&gt;
AppArmor has been updated from version 3.1 to 4.1.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.0.1 4.0] introduced fine-grained network rules (limitable by IP/port), but kernel support is not upstream yet.&lt;br /&gt;
* Version [https://gitlab.com/apparmor/apparmor/-/wikis/Release_Notes_4.1.0 4.1] introduced the &amp;lt;code&amp;gt;priority=&amp;lt;number&amp;gt;&amp;lt;/code&amp;gt; rule prefix, which allows overriding rules.&lt;br /&gt;
&lt;br /&gt;
=== AppArmor not available by default on new installations ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AppArmor is no longer available in SUSE Linux Enterprise 16.0. Leap users cannot select AppArmor as the Linux Security Module (LSM) during a new installation. AppArmor can still be enabled post-installation. For instructions, refer to AppArmor wiki page.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Users migrating manually from 15.6 will retain AppArmor by default. Users migrating with [https://github.com/openSUSE/opensuse-migration-tool openSUSE migration tool] will be prompted to either switch to SELinux or preserve AppArmor during post-migration.&lt;br /&gt;
&lt;br /&gt;
== Steam ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Steam&amp;lt;/code&amp;gt; package has been removed from the [https://en.opensuse.org/Package_repositories#Non-OSS Non-OSS repository] due to limited 32-bit library support. Users are advised to install it via [https://en.opensuse.org/Steam#Flatpak Flatpak].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 32-bit execution requires installing &amp;lt;code&amp;gt;grub2-compat-ia32&amp;lt;/code&amp;gt; and rebooting.&lt;br /&gt;
* SELinux users may also need &amp;lt;code&amp;gt;selinux-policy-targeted-gaming&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/Portal:SELinux/Common_issues#Steam_Proton,_Bottles,_WINE,_Lutris,_not_working SELinux wiki page].&lt;br /&gt;
&lt;br /&gt;
== Wine ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap includes wine 10.10, available only in the [https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine#shared-wow64 wow64] flavor. Users requiring 32-bit binary execution should consider using the Flatpak version or a similar solution.&lt;br /&gt;
&lt;br /&gt;
== Networking ==&lt;br /&gt;
&lt;br /&gt;
=== Broken libvirt networking when using Docker ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#FFEEEE;border:1px solid #FF0000;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:5px;&amp;quot;&amp;gt; &#039;&#039;&#039;Warning&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If networking inside libvirt-managed virtual machines fails while Docker is running, it is likely due to Docker not supporting &amp;lt;code&amp;gt;nftables&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To fix the issue:&lt;br /&gt;
* Edit &amp;lt;code&amp;gt;/etc/libvirt/network.conf&amp;lt;/code&amp;gt; and set:&lt;br /&gt;
 firewall_backend = &amp;quot;iptables&amp;quot;&lt;br /&gt;
* Add the virtual network interface to the libvirt firewall zone:&lt;br /&gt;
 firewall-cmd --add-interface=virbr0 --zone=libvirt --permanent&lt;br /&gt;
 firewall-cmd --reload&lt;br /&gt;
* Restart libvirt and related services:&lt;br /&gt;
 systemctl restart libvirtd&lt;br /&gt;
This restores networking for libvirt VMs while Docker is active.&lt;br /&gt;
&lt;br /&gt;
== GNU Health ==&lt;br /&gt;
&lt;br /&gt;
[https://www.gnuhealth.org/ GNU Health] has been updated to major release 5.0.2. The underlying ERP framework, Tryton, has been updated to LTS version 7.0. Functional improvements include enhanced medical image workflows and better integration with Orthanc 1.12.9 (PACS server).&lt;br /&gt;
&lt;br /&gt;
== PipeWire replaces PulseAudio ==&lt;br /&gt;
&lt;br /&gt;
openSUSE Leap 16.0 uses PipeWire by default. Users upgrading from previous releases should be automatically migrated from PulseAudio. &amp;lt;code&amp;gt;opensuse-migration-tool&amp;lt;/code&amp;gt; provides a post-migration script if migration does not occur automatically.&lt;br /&gt;
&lt;br /&gt;
If experiencing audio issues, ensure you are not using the &amp;lt;code&amp;gt;wireplumber-video-only-profile&amp;lt;/code&amp;gt;. For details, refer to [https://en.opensuse.org/openSUSE:Pipewire#Installation PipeWire#Installation] for details.&lt;br /&gt;
&lt;br /&gt;
== Hexchat drop ==&lt;br /&gt;
&lt;br /&gt;
Hexchat IRC client has been dropped as the [https://github.com/hexchat/hexchat upstream project] is archived. Alternatives include [https://software.opensuse.org/package/polari Polari] or the Flatpak version: [https://flathub.org/en/apps/io.github.Hexchat Flatpak].&lt;br /&gt;
&lt;br /&gt;
== Configuring boot entry with serial console ==&lt;br /&gt;
&lt;br /&gt;
See https://en.opensuse.org/SDB:SerialConsole for guidance.&lt;br /&gt;
&lt;br /&gt;
This section describes the enterprise-grade foundation of openSUSE Leap, based on SUSE Linux Enterprise. Content here is adapted from the SUSE Linux Enterprise release notes to reflect core functionality, security updates, and enterprise features that openSUSE Leap inherits.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Welcome_to_ThinkServer&amp;diff=1015</id>
		<title>Welcome to ThinkServer</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Welcome_to_ThinkServer&amp;diff=1015"/>
		<updated>2025-10-04T21:34:33Z</updated>

		<summary type="html">&lt;p&gt;Sam: Corrected &amp;#039;to be implemented&amp;#039; and &amp;#039;this guide is based on...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The aim of this MediaWiki project is to show how my server is set up. Hopefully, if there are any problems in the future (i.e. server needs rebuilding) then the guides will be available here. Hopefully I can keep this up-to-date and it should be a very comprehensive guide. I also hope to upload files to aid in the connected devices to this server.&lt;br /&gt;
&lt;br /&gt;
This guide is based on:&lt;br /&gt;
&lt;br /&gt;
* {{Current openSUSE}}&lt;br /&gt;
* [[Apache HTTP Server]] (with PHP 8) serving:&lt;br /&gt;
** MediaWiki (Me!)&lt;br /&gt;
** [https://cooking.freddythechick.net/ Wordpress cooking site]&lt;br /&gt;
** [https://nextcloud.freddythechick.net/ Nextcloud file server]&lt;br /&gt;
** [https://photos.freddythechick.net/ Immich photo server (docker container)]&lt;br /&gt;
* [[MariaDB]] Database Sever (MySQL drop-in replacement)&lt;br /&gt;
* NTP time server via chrony&lt;br /&gt;
* Samba file server&lt;br /&gt;
* Asterisk VoIP server/TFTP Server (Implemented on a virtual machine, running [[FreePBX]])&lt;br /&gt;
* [[strongSwan]] VPN Server with IKEv2, employing X.509 Certificates using new charon method of configuration.&lt;br /&gt;
* [https://www.distributed.net distributed.net] RC5-72 project, using spare CPU time&lt;br /&gt;
&lt;br /&gt;
To be implemented:&lt;br /&gt;
&lt;br /&gt;
* Samba Active Directory server (with Roaming Profiles/Folder Redirection)&lt;br /&gt;
&lt;br /&gt;
These pages display well on an iPod or iPhone or an Android device! These pages are are now true mobile friendly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode = packed heights=400px&amp;gt;&lt;br /&gt;
File:IPod Page.webp&lt;br /&gt;
File:Android Page.webp&lt;br /&gt;
File:Android Chrome Page.webp&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1014</id>
		<title>Jellyfin</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1014"/>
		<updated>2025-10-04T21:31:50Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Initial run and starting the service */ Simplified key press template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices.&lt;br /&gt;
&lt;br /&gt;
An RPM package is not provided for openSUSE so Jellyfin must be installed from the Linux manual install tarball. This guide will explain how to do this. This guide is written with the current version (at the time of writing) of Jellyfin 10.10.7.&lt;br /&gt;
&lt;br /&gt;
== What you need to know ==&lt;br /&gt;
&lt;br /&gt;
You will need to download the following:&lt;br /&gt;
* Jellyfin Generic Linux Server package&lt;br /&gt;
* &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;tarball&lt;br /&gt;
&lt;br /&gt;
The following packages need installing:&lt;br /&gt;
* &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following packages need installing from Packman:&lt;br /&gt;
* &amp;lt;code&amp;gt;libx264-devel&amp;lt;/code&amp;gt; - required&lt;br /&gt;
* &amp;lt;code&amp;gt;libx265-devel&amp;lt;/code&amp;gt; - optional for H.265/HEVC transcoding&lt;br /&gt;
* &amp;lt;code&amp;gt;SVT-AV1-devel&amp;lt;/code&amp;gt; - optional for AV1 transcoding&lt;br /&gt;
&lt;br /&gt;
== Installing Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
* Create the directory &amp;lt;code&amp;gt;sudo mkdir /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the directory &amp;lt;code&amp;gt;cd /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the latest tarball from the [https://repo.jellyfin.org/?path=/server/linux/latest-stable/amd64 Jellyfin website] - for example, &amp;lt;code&amp;gt;sudo wget https://repo.jellyfin.org/files/server/linux/latest-stable/amd64/jellyfin_10.10.7-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Unzip the tar archive, &amp;lt;code&amp;gt;sudo tar Jxvf jellyfin_10.10.7-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin and run it as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.sh&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 JELLYFINDIR=&amp;quot;/opt/jellyfin&amp;quot;&lt;br /&gt;
 FFMPEGDIR=&amp;quot;/usr/share/jellyfin-ffmpeg/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $JELLYFINDIR/jellyfin/jellyfin \&lt;br /&gt;
  -d $JELLYFINDIR/data \&lt;br /&gt;
  -C $JELLYFINDIR/cache \&lt;br /&gt;
  -c $JELLYFINDIR/config \&lt;br /&gt;
  -l $JELLYFINDIR/log \&lt;br /&gt;
  --ffmpeg $FFMPEGDIR/ffmpeg&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo chmod +x jellyfin.sh&amp;lt;/code&amp;gt; to make the script executable&lt;br /&gt;
&lt;br /&gt;
=== Install service script ===&lt;br /&gt;
&lt;br /&gt;
This will guide you on how to create a script to start Jellyfin as a service on startup.&lt;br /&gt;
&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;cd /etc/systemd/system&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.service&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Jellyfin&lt;br /&gt;
 After=network.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=simple&lt;br /&gt;
 User=root&lt;br /&gt;
 Restart=always&lt;br /&gt;
 ExecStart=/opt/jellyfin/jellyfin.sh&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Correct the permissions of the service file &amp;lt;code&amp;gt;sudo chmod 644 jellyfin.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
openSUSE does not come with an FFmpeg version that includes propriety formats such as H.264 and H.265/HEVC. We need to install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; which includes these formats and is tailored for hardware encoding for Jellyfin. A few dependencies need installing first.&lt;br /&gt;
&lt;br /&gt;
* We need to add the Packman repository that includes the dependencies we need &amp;lt;code&amp;gt;sudo zypper addrepo -cfp 90 &#039;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/&#039; packman&amp;lt;/code&amp;gt;&lt;br /&gt;
* Refresh zypper to load the new repositories &amp;lt;code&amp;gt;sudo zypper ref&amp;lt;/code&amp;gt;. Accept the keys needed for the repositories.&lt;br /&gt;
* Install the base proprietary codecs &amp;lt;code&amp;gt;sudo zypper install --allow-vendor-change --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install the dependency packages depending on what you need: &amp;lt;code&amp;gt;sudo zypper in libx264-devel libx265-devel SVT-AV1-devel&amp;lt;/code&amp;gt;. Allow any extra dependencies these may require.&lt;br /&gt;
* Install the base packages need to compile &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;sudo zypper in gcc make yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move to your home downloads folder &amp;lt;code&amp;gt;cd ~/Downloads&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; from [https://github.com/jellyfin/jellyfin-ffmpeg/releases GitHub]. Ensure that the version is compatible with the version of Jellyfin you have installed (sometimes you may have to use an older ffmpeg package, depending on the version of Jellyfin you are installing) - for example Jellyfin 10.10.7 is compatible with the latest &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; package 7.1.2-2. Download the source tar.gz package with &amp;lt;code&amp;gt;wget https://github.com/jellyfin/jellyfin-ffmpeg/archive/refs/tags/v7.1.2-2.tar.gz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; You may need to expand the Assets tab to show the downloadable packages.&lt;br /&gt;
* Extract the package with &amp;lt;code&amp;gt;tar zxvf v7.1.2-2.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the folder created &amp;lt;code&amp;gt;cd jellyfin-ffmpeg-7.1.2-2&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run &amp;lt;code&amp;gt;./configure --prefix=/usr/share/jellyfin-ffmpeg --enable-libx264 --enable-libx265 --enable-libsvtav1 --enable-gpl&amp;lt;/code&amp;gt;.&lt;br /&gt;
This will configure the package to be installed to &amp;lt;code&amp;gt;/usr/share/jellyfin-ffmeg&amp;lt;/code&amp;gt; with H.264, H.265/HEVC and AV1. Due to H.264 and H.265/HEVC being licensed under a GPL license, the whole package will be licensed under GPL which is enabled by the switch. This can be configured as needed by adding/removing switches.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;. This will compile the code and may take a while&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt; to install&lt;br /&gt;
&lt;br /&gt;
== Initial run and starting the service ==&lt;br /&gt;
&lt;br /&gt;
We need to run Jellyfin so that the initial directories needed for running are created.&lt;br /&gt;
&lt;br /&gt;
* Move back into the Jellyfin directory and initially run the Jellyfin script created earlier &amp;lt;code&amp;gt;sudo ./jellyfin.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Check that it runs correctly with no errors (indicated by &amp;lt;code&amp;gt;[ERR]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[FTL]&amp;lt;/code&amp;gt;in red&lt;br /&gt;
* Once it has started, close the script by pressing {{key press|Ctrl|C}}&lt;br /&gt;
* Reload the system daemons to allow the service to load &amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run the Jellyfin service and check it starts &amp;lt;code&amp;gt;sudo systemctl start jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you&#039;d like Jellyfin to run on startup, run &amp;lt;code&amp;gt;sudo systemctl enable jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
Jellyfin is configured through the web browser. Open a web browser and go to the following address: &amp;lt;code&amp;gt;http://localhost:8096&amp;lt;/code&amp;gt;. You should get the first run installer after installation is complete.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; If you are reinstalling and starting from scratch, run a private window of your browser to set the server up or it will keep trying to connect to the old server from before. You may need to delete the site settings to get it working again.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1013</id>
		<title>Jellyfin</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1013"/>
		<updated>2025-10-04T21:31:24Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Installing Jellyfin */ Simplified key press templates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices.&lt;br /&gt;
&lt;br /&gt;
An RPM package is not provided for openSUSE so Jellyfin must be installed from the Linux manual install tarball. This guide will explain how to do this. This guide is written with the current version (at the time of writing) of Jellyfin 10.10.7.&lt;br /&gt;
&lt;br /&gt;
== What you need to know ==&lt;br /&gt;
&lt;br /&gt;
You will need to download the following:&lt;br /&gt;
* Jellyfin Generic Linux Server package&lt;br /&gt;
* &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;tarball&lt;br /&gt;
&lt;br /&gt;
The following packages need installing:&lt;br /&gt;
* &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following packages need installing from Packman:&lt;br /&gt;
* &amp;lt;code&amp;gt;libx264-devel&amp;lt;/code&amp;gt; - required&lt;br /&gt;
* &amp;lt;code&amp;gt;libx265-devel&amp;lt;/code&amp;gt; - optional for H.265/HEVC transcoding&lt;br /&gt;
* &amp;lt;code&amp;gt;SVT-AV1-devel&amp;lt;/code&amp;gt; - optional for AV1 transcoding&lt;br /&gt;
&lt;br /&gt;
== Installing Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
* Create the directory &amp;lt;code&amp;gt;sudo mkdir /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the directory &amp;lt;code&amp;gt;cd /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the latest tarball from the [https://repo.jellyfin.org/?path=/server/linux/latest-stable/amd64 Jellyfin website] - for example, &amp;lt;code&amp;gt;sudo wget https://repo.jellyfin.org/files/server/linux/latest-stable/amd64/jellyfin_10.10.7-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Unzip the tar archive, &amp;lt;code&amp;gt;sudo tar Jxvf jellyfin_10.10.7-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin and run it as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.sh&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 JELLYFINDIR=&amp;quot;/opt/jellyfin&amp;quot;&lt;br /&gt;
 FFMPEGDIR=&amp;quot;/usr/share/jellyfin-ffmpeg/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $JELLYFINDIR/jellyfin/jellyfin \&lt;br /&gt;
  -d $JELLYFINDIR/data \&lt;br /&gt;
  -C $JELLYFINDIR/cache \&lt;br /&gt;
  -c $JELLYFINDIR/config \&lt;br /&gt;
  -l $JELLYFINDIR/log \&lt;br /&gt;
  --ffmpeg $FFMPEGDIR/ffmpeg&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo chmod +x jellyfin.sh&amp;lt;/code&amp;gt; to make the script executable&lt;br /&gt;
&lt;br /&gt;
=== Install service script ===&lt;br /&gt;
&lt;br /&gt;
This will guide you on how to create a script to start Jellyfin as a service on startup.&lt;br /&gt;
&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;cd /etc/systemd/system&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.service&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Jellyfin&lt;br /&gt;
 After=network.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=simple&lt;br /&gt;
 User=root&lt;br /&gt;
 Restart=always&lt;br /&gt;
 ExecStart=/opt/jellyfin/jellyfin.sh&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
* Press {{key press|Ctrl|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Correct the permissions of the service file &amp;lt;code&amp;gt;sudo chmod 644 jellyfin.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
openSUSE does not come with an FFmpeg version that includes propriety formats such as H.264 and H.265/HEVC. We need to install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; which includes these formats and is tailored for hardware encoding for Jellyfin. A few dependencies need installing first.&lt;br /&gt;
&lt;br /&gt;
* We need to add the Packman repository that includes the dependencies we need &amp;lt;code&amp;gt;sudo zypper addrepo -cfp 90 &#039;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/&#039; packman&amp;lt;/code&amp;gt;&lt;br /&gt;
* Refresh zypper to load the new repositories &amp;lt;code&amp;gt;sudo zypper ref&amp;lt;/code&amp;gt;. Accept the keys needed for the repositories.&lt;br /&gt;
* Install the base proprietary codecs &amp;lt;code&amp;gt;sudo zypper install --allow-vendor-change --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install the dependency packages depending on what you need: &amp;lt;code&amp;gt;sudo zypper in libx264-devel libx265-devel SVT-AV1-devel&amp;lt;/code&amp;gt;. Allow any extra dependencies these may require.&lt;br /&gt;
* Install the base packages need to compile &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;sudo zypper in gcc make yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move to your home downloads folder &amp;lt;code&amp;gt;cd ~/Downloads&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; from [https://github.com/jellyfin/jellyfin-ffmpeg/releases GitHub]. Ensure that the version is compatible with the version of Jellyfin you have installed (sometimes you may have to use an older ffmpeg package, depending on the version of Jellyfin you are installing) - for example Jellyfin 10.10.7 is compatible with the latest &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; package 7.1.2-2. Download the source tar.gz package with &amp;lt;code&amp;gt;wget https://github.com/jellyfin/jellyfin-ffmpeg/archive/refs/tags/v7.1.2-2.tar.gz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; You may need to expand the Assets tab to show the downloadable packages.&lt;br /&gt;
* Extract the package with &amp;lt;code&amp;gt;tar zxvf v7.1.2-2.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the folder created &amp;lt;code&amp;gt;cd jellyfin-ffmpeg-7.1.2-2&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run &amp;lt;code&amp;gt;./configure --prefix=/usr/share/jellyfin-ffmpeg --enable-libx264 --enable-libx265 --enable-libsvtav1 --enable-gpl&amp;lt;/code&amp;gt;.&lt;br /&gt;
This will configure the package to be installed to &amp;lt;code&amp;gt;/usr/share/jellyfin-ffmeg&amp;lt;/code&amp;gt; with H.264, H.265/HEVC and AV1. Due to H.264 and H.265/HEVC being licensed under a GPL license, the whole package will be licensed under GPL which is enabled by the switch. This can be configured as needed by adding/removing switches.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;. This will compile the code and may take a while&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt; to install&lt;br /&gt;
&lt;br /&gt;
== Initial run and starting the service ==&lt;br /&gt;
&lt;br /&gt;
We need to run Jellyfin so that the initial directories needed for running are created.&lt;br /&gt;
&lt;br /&gt;
* Move back into the Jellyfin directory and initially run the Jellyfin script created earlier &amp;lt;code&amp;gt;sudo ./jellyfin.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Check that it runs correctly with no errors (indicated by &amp;lt;code&amp;gt;[ERR]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[FTL]&amp;lt;/code&amp;gt;in red&lt;br /&gt;
* Once it has started, close the script by pressing {{key press|Ctrl}}+{{key press|C}}&lt;br /&gt;
* Reload the system daemons to allow the service to load &amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run the Jellyfin service and check it starts &amp;lt;code&amp;gt;sudo systemctl start jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you&#039;d like Jellyfin to run on startup, run &amp;lt;code&amp;gt;sudo systemctl enable jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
Jellyfin is configured through the web browser. Open a web browser and go to the following address: &amp;lt;code&amp;gt;http://localhost:8096&amp;lt;/code&amp;gt;. You should get the first run installer after installation is complete.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; If you are reinstalling and starting from scratch, run a private window of your browser to set the server up or it will keep trying to connect to the old server from before. You may need to delete the site settings to get it working again.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Apache_HTTP_Server&amp;diff=1012</id>
		<title>Apache HTTP Server</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Apache_HTTP_Server&amp;diff=1012"/>
		<updated>2025-10-04T21:29:13Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* openSUSE 15.4 specific */ Added =&amp;gt; to title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We use Apache HTTP Server on the server to serve these websites.&lt;br /&gt;
&lt;br /&gt;
== HTTPS/TLS ==&lt;br /&gt;
This article will show you how to secure your Apache server with either a certificate issued by a trusted CA, or a self-signed certificate created by yourself. With either type of certificate, the steps are the same, although this guide is tailored to a self-signed certificate, specifically for this [[Making a self-signed TLS certificate|article]]. This will allow you to use HTTPS with a TLS certificate to connect to the server securely over the internet.&lt;br /&gt;
&lt;br /&gt;
Due to insecurities in the SSL protocol, SSL is disabled by default on most modern browsers and has been replaced by TLS. In this article, we will now refer to SSL as TLS. Apache still refers to it as SSL in some cases but the underlying protocol is TLS.&lt;br /&gt;
&lt;br /&gt;
=== What you need to know ===&lt;br /&gt;
&lt;br /&gt;
* In the latest Apache versions, TLS is enabled by default and this guide is now a lot simpler due to this.&lt;br /&gt;
* This guide assumes if using a self-signed certificate, you have followed all the steps to creating your own certificate.&lt;br /&gt;
&lt;br /&gt;
=== Configuring Apache to use your server certificate ===&lt;br /&gt;
&lt;br /&gt;
* Open a terminal. If not already in the directory of the certificates, move into the directory now.&lt;br /&gt;
* We need to copy the certificates and keys into the correct places. Type the following commands:&lt;br /&gt;
&lt;br /&gt;
  cp key.pem /etc/apache2/ssl.key/key.pem&lt;br /&gt;
  cp cert.pem /etc/apache2/ssl.crt/cert.pem&lt;br /&gt;
&lt;br /&gt;
* Close the terminal&lt;br /&gt;
* By default, on the latest Apache the next points are enabled by default and &lt;br /&gt;
* Open dolphin and browse to: &amp;lt;code&amp;gt;/etc/apache2/vhosts.d&amp;lt;/code&amp;gt;. Inside, you should find a file called &amp;lt;code&amp;gt;vhost-ssl.template&amp;lt;/code&amp;gt;. Copy and paste this in the same place, changing .template to .conf&lt;br /&gt;
* Open the new file with Kwrite&lt;br /&gt;
* Change the following options:&lt;br /&gt;
** &amp;lt;code&amp;gt;ServerName thinkserver:443&amp;lt;/code&amp;gt; (replace thinkserver with hostname, FQSN or IP address, remove the # to enable)&lt;br /&gt;
** &amp;lt;code&amp;gt;ServerAdmin webmaster@example.com&amp;lt;/code&amp;gt; (replace with your e-mail address, remove the # to enable)&lt;br /&gt;
** &amp;lt;code&amp;gt;SSLCertificateFile /etc/apache2/ssl.crt/cert.pem&amp;lt;/code&amp;gt; (change to what you called the certificate if different)&lt;br /&gt;
** &amp;lt;code&amp;gt;SSLCertificateKeyFile /etc/apache2/ssl.key/key.pem&amp;lt;/code&amp;gt; (change to what you called the key if different)&lt;br /&gt;
* If using a firewall, make sure port 443 is open&lt;br /&gt;
* Restart Apache by typing in the terminal:&lt;br /&gt;
&lt;br /&gt;
  service apache2 restart&lt;br /&gt;
&lt;br /&gt;
* Test your site using https://&lt;br /&gt;
* Remember that your browser will throw an error, it is safe to ignore it and add an exception. This will stop future re-occurrence.&lt;br /&gt;
&lt;br /&gt;
=== openSUSE =&amp;gt;15.4 specific ===&lt;br /&gt;
&lt;br /&gt;
The following line needs editing as follows to allow TLS to function in &amp;lt;code&amp;gt;/etc/sysconfig/apache2&amp;lt;/code&amp;gt;:&lt;br /&gt;
 APACHE_SERVER_FLAGS=&amp;quot;SSL HTTP2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== HTTP/2 Support ==&lt;br /&gt;
&lt;br /&gt;
Normal websites use HTTP 1.1 which was released in 1999, which is over 2 decades old now; the web has changed a lot since then. Based on Google&#039;s SPDY protocol, HTTP/2 allows, amongst other things, native compression, security, concurrent connections and prioritization. This makes the connection much more robust than before.&lt;br /&gt;
&lt;br /&gt;
HTTP/2 is supported with Apache 2.4.12 with the manual addition of the mod_http2 module. It is natively supported with Apache =&amp;gt;2.4.17 with the mod_http2 module available natively. In this article, we will focus on the latter.&lt;br /&gt;
&lt;br /&gt;
There are a few prerequisites that are required for HTTP/2 to work:&lt;br /&gt;
&lt;br /&gt;
* You must have a valid TLS certificate setup and working correctly.&lt;br /&gt;
* You cannot use the prefork method of loading modules into Apache. Consider tabooing the &amp;lt;code&amp;gt;apache-prefork&amp;lt;/code&amp;gt; package. The alternatives are worker and event. We are using event. Consequently:&lt;br /&gt;
* You cannot use the prefork &amp;lt;code&amp;gt;mod-php7&amp;lt;/code&amp;gt; package to load PHP into Apache. PHP-FPM must be configured and used instead. Trying to use it will disable HTTP/2.&lt;br /&gt;
&lt;br /&gt;
To enable HTTP/2:&lt;br /&gt;
&lt;br /&gt;
* In the software manager in YaST, you will need to make sure that &amp;lt;code&amp;gt;libnghttp2-14&amp;lt;/code&amp;gt; shared library is installed (Later versions of openSUSE have this installed already so just check).&lt;br /&gt;
* Open a terminal window&lt;br /&gt;
* Type &amp;lt;code&amp;gt;sudo a2enmod http2&amp;lt;/code&amp;gt;. This will enable the built in module in Apache.&lt;br /&gt;
&#039;&#039;&#039;As of at least openSUSE 15.4, the following is already done by default&#039;&#039;&#039;&lt;br /&gt;
* Open kwrite and open the file &amp;lt;code&amp;gt;/etc/apache2/httpd.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* At the end of the file add the following line:&lt;br /&gt;
 Protocols h2 http/1.1&lt;br /&gt;
* Save the configuration file once you have added your appropriate lines&lt;br /&gt;
* Restart Apache by typing &amp;lt;code&amp;gt;sudo service apache2 restart&amp;lt;/code&amp;gt;. If you are returned to the command prompt, you have successfully enabled it. You will get an error message and Apache will refuse to start if there is a configuration problem.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Making a self-signed TLS certificate]]&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1011</id>
		<title>Jellyfin</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1011"/>
		<updated>2025-10-04T21:28:16Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Inital run and starting the service */ Fixed typo, added key press template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices.&lt;br /&gt;
&lt;br /&gt;
An RPM package is not provided for openSUSE so Jellyfin must be installed from the Linux manual install tarball. This guide will explain how to do this. This guide is written with the current version (at the time of writing) of Jellyfin 10.10.7.&lt;br /&gt;
&lt;br /&gt;
== What you need to know ==&lt;br /&gt;
&lt;br /&gt;
You will need to download the following:&lt;br /&gt;
* Jellyfin Generic Linux Server package&lt;br /&gt;
* &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;tarball&lt;br /&gt;
&lt;br /&gt;
The following packages need installing:&lt;br /&gt;
* &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following packages need installing from Packman:&lt;br /&gt;
* &amp;lt;code&amp;gt;libx264-devel&amp;lt;/code&amp;gt; - required&lt;br /&gt;
* &amp;lt;code&amp;gt;libx265-devel&amp;lt;/code&amp;gt; - optional for H.265/HEVC transcoding&lt;br /&gt;
* &amp;lt;code&amp;gt;SVT-AV1-devel&amp;lt;/code&amp;gt; - optional for AV1 transcoding&lt;br /&gt;
&lt;br /&gt;
== Installing Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
* Create the directory &amp;lt;code&amp;gt;sudo mkdir /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the directory &amp;lt;code&amp;gt;cd /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the latest tarball from the [https://repo.jellyfin.org/?path=/server/linux/latest-stable/amd64 Jellyfin website] - for example, &amp;lt;code&amp;gt;sudo wget https://repo.jellyfin.org/files/server/linux/latest-stable/amd64/jellyfin_10.10.7-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Unzip the tar archive, &amp;lt;code&amp;gt;sudo tar Jxvf jellyfin_10.10.7-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin and run it as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.sh&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 JELLYFINDIR=&amp;quot;/opt/jellyfin&amp;quot;&lt;br /&gt;
 FFMPEGDIR=&amp;quot;/usr/share/jellyfin-ffmpeg/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $JELLYFINDIR/jellyfin/jellyfin \&lt;br /&gt;
  -d $JELLYFINDIR/data \&lt;br /&gt;
  -C $JELLYFINDIR/cache \&lt;br /&gt;
  -c $JELLYFINDIR/config \&lt;br /&gt;
  -l $JELLYFINDIR/log \&lt;br /&gt;
  --ffmpeg $FFMPEGDIR/ffmpeg&lt;br /&gt;
* Press {{key press|Ctrl}}+{{key press|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo chmod +x jellyfin.sh&amp;lt;/code&amp;gt; to make the script executable&lt;br /&gt;
&lt;br /&gt;
=== Install service script ===&lt;br /&gt;
&lt;br /&gt;
This will guide you on how to create a script to start Jellyfin as a service on startup.&lt;br /&gt;
&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;cd /etc/systemd/system&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.service&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Jellyfin&lt;br /&gt;
 After=network.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=simple&lt;br /&gt;
 User=root&lt;br /&gt;
 Restart=always&lt;br /&gt;
 ExecStart=/opt/jellyfin/jellyfin.sh&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
* Press {{key press|Ctrl}}+{{key press|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Correct the permissions of the service file &amp;lt;code&amp;gt;sudo chmod 644 jellyfin.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
openSUSE does not come with an FFmpeg version that includes propriety formats such as H.264 and H.265/HEVC. We need to install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; which includes these formats and is tailored for hardware encoding for Jellyfin. A few dependencies need installing first.&lt;br /&gt;
&lt;br /&gt;
* We need to add the Packman repository that includes the dependencies we need &amp;lt;code&amp;gt;sudo zypper addrepo -cfp 90 &#039;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/&#039; packman&amp;lt;/code&amp;gt;&lt;br /&gt;
* Refresh zypper to load the new repositories &amp;lt;code&amp;gt;sudo zypper ref&amp;lt;/code&amp;gt;. Accept the keys needed for the repositories.&lt;br /&gt;
* Install the base proprietary codecs &amp;lt;code&amp;gt;sudo zypper install --allow-vendor-change --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install the dependency packages depending on what you need: &amp;lt;code&amp;gt;sudo zypper in libx264-devel libx265-devel SVT-AV1-devel&amp;lt;/code&amp;gt;. Allow any extra dependencies these may require.&lt;br /&gt;
* Install the base packages need to compile &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;sudo zypper in gcc make yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move to your home downloads folder &amp;lt;code&amp;gt;cd ~/Downloads&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; from [https://github.com/jellyfin/jellyfin-ffmpeg/releases GitHub]. Ensure that the version is compatible with the version of Jellyfin you have installed (sometimes you may have to use an older ffmpeg package, depending on the version of Jellyfin you are installing) - for example Jellyfin 10.10.7 is compatible with the latest &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; package 7.1.2-2. Download the source tar.gz package with &amp;lt;code&amp;gt;wget https://github.com/jellyfin/jellyfin-ffmpeg/archive/refs/tags/v7.1.2-2.tar.gz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; You may need to expand the Assets tab to show the downloadable packages.&lt;br /&gt;
* Extract the package with &amp;lt;code&amp;gt;tar zxvf v7.1.2-2.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the folder created &amp;lt;code&amp;gt;cd jellyfin-ffmpeg-7.1.2-2&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run &amp;lt;code&amp;gt;./configure --prefix=/usr/share/jellyfin-ffmpeg --enable-libx264 --enable-libx265 --enable-libsvtav1 --enable-gpl&amp;lt;/code&amp;gt;.&lt;br /&gt;
This will configure the package to be installed to &amp;lt;code&amp;gt;/usr/share/jellyfin-ffmeg&amp;lt;/code&amp;gt; with H.264, H.265/HEVC and AV1. Due to H.264 and H.265/HEVC being licensed under a GPL license, the whole package will be licensed under GPL which is enabled by the switch. This can be configured as needed by adding/removing switches.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;. This will compile the code and may take a while&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt; to install&lt;br /&gt;
&lt;br /&gt;
== Initial run and starting the service ==&lt;br /&gt;
&lt;br /&gt;
We need to run Jellyfin so that the initial directories needed for running are created.&lt;br /&gt;
&lt;br /&gt;
* Move back into the Jellyfin directory and initially run the Jellyfin script created earlier &amp;lt;code&amp;gt;sudo ./jellyfin.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Check that it runs correctly with no errors (indicated by &amp;lt;code&amp;gt;[ERR]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[FTL]&amp;lt;/code&amp;gt;in red&lt;br /&gt;
* Once it has started, close the script by pressing {{key press|Ctrl}}+{{key press|C}}&lt;br /&gt;
* Reload the system daemons to allow the service to load &amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run the Jellyfin service and check it starts &amp;lt;code&amp;gt;sudo systemctl start jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you&#039;d like Jellyfin to run on startup, run &amp;lt;code&amp;gt;sudo systemctl enable jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
Jellyfin is configured through the web browser. Open a web browser and go to the following address: &amp;lt;code&amp;gt;http://localhost:8096&amp;lt;/code&amp;gt;. You should get the first run installer after installation is complete.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; If you are reinstalling and starting from scratch, run a private window of your browser to set the server up or it will keep trying to connect to the old server from before. You may need to delete the site settings to get it working again.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
	<entry>
		<id>https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1010</id>
		<title>Jellyfin</title>
		<link rel="alternate" type="text/html" href="https://thinkserver.freddythechick.net/index.php?title=Jellyfin&amp;diff=1010"/>
		<updated>2025-10-04T21:27:15Z</updated>

		<summary type="html">&lt;p&gt;Sam: /* Installing Jellyfin */ Added key press templates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices.&lt;br /&gt;
&lt;br /&gt;
An RPM package is not provided for openSUSE so Jellyfin must be installed from the Linux manual install tarball. This guide will explain how to do this. This guide is written with the current version (at the time of writing) of Jellyfin 10.10.7.&lt;br /&gt;
&lt;br /&gt;
== What you need to know ==&lt;br /&gt;
&lt;br /&gt;
You will need to download the following:&lt;br /&gt;
* Jellyfin Generic Linux Server package&lt;br /&gt;
* &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;tarball&lt;br /&gt;
&lt;br /&gt;
The following packages need installing:&lt;br /&gt;
* &amp;lt;code&amp;gt;gcc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following packages need installing from Packman:&lt;br /&gt;
* &amp;lt;code&amp;gt;libx264-devel&amp;lt;/code&amp;gt; - required&lt;br /&gt;
* &amp;lt;code&amp;gt;libx265-devel&amp;lt;/code&amp;gt; - optional for H.265/HEVC transcoding&lt;br /&gt;
* &amp;lt;code&amp;gt;SVT-AV1-devel&amp;lt;/code&amp;gt; - optional for AV1 transcoding&lt;br /&gt;
&lt;br /&gt;
== Installing Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
* Create the directory &amp;lt;code&amp;gt;sudo mkdir /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the directory &amp;lt;code&amp;gt;cd /opt/jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the latest tarball from the [https://repo.jellyfin.org/?path=/server/linux/latest-stable/amd64 Jellyfin website] - for example, &amp;lt;code&amp;gt;sudo wget https://repo.jellyfin.org/files/server/linux/latest-stable/amd64/jellyfin_10.10.7-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Unzip the tar archive, &amp;lt;code&amp;gt;sudo tar Jxvf jellyfin_10.10.7-amd64.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin and run it as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.sh&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 JELLYFINDIR=&amp;quot;/opt/jellyfin&amp;quot;&lt;br /&gt;
 FFMPEGDIR=&amp;quot;/usr/share/jellyfin-ffmpeg/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 $JELLYFINDIR/jellyfin/jellyfin \&lt;br /&gt;
  -d $JELLYFINDIR/data \&lt;br /&gt;
  -C $JELLYFINDIR/cache \&lt;br /&gt;
  -c $JELLYFINDIR/config \&lt;br /&gt;
  -l $JELLYFINDIR/log \&lt;br /&gt;
  --ffmpeg $FFMPEGDIR/ffmpeg&lt;br /&gt;
* Press {{key press|Ctrl}}+{{key press|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo chmod +x jellyfin.sh&amp;lt;/code&amp;gt; to make the script executable&lt;br /&gt;
&lt;br /&gt;
=== Install service script ===&lt;br /&gt;
&lt;br /&gt;
This will guide you on how to create a script to start Jellyfin as a service on startup.&lt;br /&gt;
&lt;br /&gt;
* Move to &amp;lt;code&amp;gt;cd /etc/systemd/system&amp;lt;/code&amp;gt;&lt;br /&gt;
* We need to create the script to run Jellyfin as a service. Open &amp;lt;code&amp;gt;sudo nano jellyfin.service&amp;lt;/code&amp;gt; and add the following to the script file:&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Jellyfin&lt;br /&gt;
 After=network.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 Type=simple&lt;br /&gt;
 User=root&lt;br /&gt;
 Restart=always&lt;br /&gt;
 ExecStart=/opt/jellyfin/jellyfin.sh&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
&lt;br /&gt;
* Press {{key press|Ctrl}}+{{key press|W}} then {{key press|Y}} and {{key press|Enter}} to save the file&lt;br /&gt;
* Correct the permissions of the service file &amp;lt;code&amp;gt;sudo chmod 644 jellyfin.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
openSUSE does not come with an FFmpeg version that includes propriety formats such as H.264 and H.265/HEVC. We need to install &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; which includes these formats and is tailored for hardware encoding for Jellyfin. A few dependencies need installing first.&lt;br /&gt;
&lt;br /&gt;
* We need to add the Packman repository that includes the dependencies we need &amp;lt;code&amp;gt;sudo zypper addrepo -cfp 90 &#039;https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/&#039; packman&amp;lt;/code&amp;gt;&lt;br /&gt;
* Refresh zypper to load the new repositories &amp;lt;code&amp;gt;sudo zypper ref&amp;lt;/code&amp;gt;. Accept the keys needed for the repositories.&lt;br /&gt;
* Install the base proprietary codecs &amp;lt;code&amp;gt;sudo zypper install --allow-vendor-change --from packman ffmpeg gstreamer-plugins-{good,bad,ugly,libav} libavcodec vlc-codecs&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install the dependency packages depending on what you need: &amp;lt;code&amp;gt;sudo zypper in libx264-devel libx265-devel SVT-AV1-devel&amp;lt;/code&amp;gt;. Allow any extra dependencies these may require.&lt;br /&gt;
* Install the base packages need to compile &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;sudo zypper in gcc make yasm&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move to your home downloads folder &amp;lt;code&amp;gt;cd ~/Downloads&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download the &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; from [https://github.com/jellyfin/jellyfin-ffmpeg/releases GitHub]. Ensure that the version is compatible with the version of Jellyfin you have installed (sometimes you may have to use an older ffmpeg package, depending on the version of Jellyfin you are installing) - for example Jellyfin 10.10.7 is compatible with the latest &amp;lt;code&amp;gt;jellyfin-ffmpeg&amp;lt;/code&amp;gt; package 7.1.2-2. Download the source tar.gz package with &amp;lt;code&amp;gt;wget https://github.com/jellyfin/jellyfin-ffmpeg/archive/refs/tags/v7.1.2-2.tar.gz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; You may need to expand the Assets tab to show the downloadable packages.&lt;br /&gt;
* Extract the package with &amp;lt;code&amp;gt;tar zxvf v7.1.2-2.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Move into the folder created &amp;lt;code&amp;gt;cd jellyfin-ffmpeg-7.1.2-2&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run &amp;lt;code&amp;gt;./configure --prefix=/usr/share/jellyfin-ffmpeg --enable-libx264 --enable-libx265 --enable-libsvtav1 --enable-gpl&amp;lt;/code&amp;gt;.&lt;br /&gt;
This will configure the package to be installed to &amp;lt;code&amp;gt;/usr/share/jellyfin-ffmeg&amp;lt;/code&amp;gt; with H.264, H.265/HEVC and AV1. Due to H.264 and H.265/HEVC being licensed under a GPL license, the whole package will be licensed under GPL which is enabled by the switch. This can be configured as needed by adding/removing switches.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;. This will compile the code and may take a while&lt;br /&gt;
* Run &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt; to install&lt;br /&gt;
&lt;br /&gt;
== Inital run and starting the service ==&lt;br /&gt;
&lt;br /&gt;
We need to run Jellyfin so that the initial directories needed for running are created.&lt;br /&gt;
&lt;br /&gt;
* Move back into the Jellyfin directory and initially run the Jellyfin script created earlier &amp;lt;code&amp;gt;sudo ./jellyfin.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
* Check that it runs correctly with no errors (indicated by &amp;lt;code&amp;gt;[ERR]&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;[FTL]&amp;lt;/code&amp;gt;in red&lt;br /&gt;
* Once it has started, close the script by pressing Ctrl+C&lt;br /&gt;
* Reload the system daemons to allow the service to load &amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
* Run the Jellyfin service and check it starts &amp;lt;code&amp;gt;sudo systemctl start jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you&#039;d like Jellyfin to run on startup, run &amp;lt;code&amp;gt;sudo systemctl enable jellyfin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuring Jellyfin ==&lt;br /&gt;
&lt;br /&gt;
Jellyfin is configured through the web browser. Open a web browser and go to the following address: &amp;lt;code&amp;gt;http://localhost:8096&amp;lt;/code&amp;gt;. You should get the first run installer after installation is complete.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; If you are reinstalling and starting from scratch, run a private window of your browser to set the server up or it will keep trying to connect to the old server from before. You may need to delete the site settings to get it working again.&lt;/div&gt;</summary>
		<author><name>Sam</name></author>
	</entry>
</feed>