The Hyper Kernel On Lubuntu

This is a short guide I made today for installing lubuntu with a customized/personalized kernel for gaming on high performance gaming PC’s. I had to remove all the useful
links I gathered because this is my first post on lubuntu and that’s not allowed ; D

  • The Hyper Kernel Made For Lubuntu 22.04.4 And Nvidia -

So I decided to start over with the Hyper kernel, after rebuilding it
several times using debian 12.5 and lxde and xfce, bios/uefi setups.
Debian’s lxde-live disk install produced a literally lightning fast
gaming experience, that clearly stood apart from xfce, but it had
issues with ui’s that became too annoying to waste time dealing with,
so I decided to move into working with the hyper kernel on lubuntu,
which is my favorite version of ubuntu by far, and has the best
implementation of lxqt in my experience.

I really wanted to use the 24.04 noble numbat version of lubuntu,
which has qt6, but ubuntu’s beta release got pushed back a full week
as I’m writing this, and it makes more sense for me to deal with
troubleshooting the Hyper Kernel instead of wasting time dealing
with all the bugs that aplha/beta releases bring with them. So I
decided to break out the stable lubuntu, and work with the Hyper
Kernel there, and so will get to see if a vanilla kernel, and a vanilla
nvidia driver, direct from their respective sources, will work
nicely with lubuntu. When the newer lubuntu has it’s bugs worked out,
I can bring the Hyper Kernel there and get it working quickly with
this experience.

The Hyper Kernel I made for debian had a lot of issues that were not apparent
initially, like no support for hotplugging USB drives, no support for EFI, so
I decided to try more standardized method to get it working properly.

  • Installing Lubuntu -

First I used gparted to prepare a usb drive for the lubuntu install iso,
I grabbed from here…

(link removed…)

I made a new gpt partition table on the usb and then a fat32 file system

then used DD like this to write the iso the usb

sudo dd if=lubuntu-22.04.4-desktop-amd64.iso of=/dev/sdc bs=1M oflag=direct status=progress; sync

Then rebooted and held f11 to get to the boot selection menu, and made sure to select
usb not uefi to boot lubuntu into bios mode, instead of uefi for the install.

I used safe graphics mode to boot lubuntu, and also edited the command
line to remove quiet and splash, so I could see error messages, leaving
only nomodeset on the kernel command line to boot up in bios mode. In
uefi mode it would probably work typically, but bios mode requires some
customization to make things work nicely. The live disk is slow to boot,
of course, but we have to be patient and wait for the slowmo kernel, and
the slowmo configuration to finish running all of it’s unecessary
processes to load the desktop environment.

Without any customization I find all the linux distributions very slow,
honestly, and it’s super annoying to me. When the live desktop finally
showed up the first thing I did was to open openbox settings and turn
down the 4 desktops to one, in order to speed things up a bit.

Then I connected to the internet, and did a sudo apt install f2fs-tools
to enable the calamares installer to make an f2fs file system for my
nvme drive. Any distribution that ships calaramares as the installer
right now is on top of my list of favorite linux distro’s because it
makes for a very painless and quick install experience, and doesn’t
complain about the customizations that I typically like to do.

Then from the calamares installer I selected to make a new gpt partition,
on my nvme drive, and made an initial 8mb parition unformatted and with
the bios/grub flag, which the installer instructs us to do in a gpt/bios
scenario if we didn’t already. Then I made the root partition f2fs mounted
on / and with the root flag. And the install moved forward without issues.

I like the bios setup a lot, and in scenarios where I use a lightweight
desktop environment I think the system broadly is more noticeably more
responsive compared, to uefi.

I also opted this time around to use a typical user account setup, with
autologin turned on, to hopefully confure/install things correctly, and
to make my guide/kernel config work nicely with other people’s setups
if anyone in internet land wants to try this stuff out.

After Rebooting, default settings were fine to get into the desktop environment.

  • Customizing Lubuntu -

I get very annoyed when my desktop is even slightly slow, so the first
thing I do after installing linux now, is zoom around configuring every
single thing I can possibly identify that slows down using the computer.

Performed the first system update with the upgrade window that popped up initially.

Did a sudo apt install f2fs-tools gparted timeshift -y to get the key dependency for
working with f2fs file systems and some tools to help backup the system at a later time.

Did a sudo nano -w /etc/fstab to fix my f2fs partition and set it up,
for HYPER SPEED, like this…

UUID=g4297535-34be-4530-b76c-a7d938j6be18 / f2fs fastboot,lazytime 0 0

Turned on fastboot, to enable the f2fs specific option to prepare it to work properly,
with the future HYPER Kernel, which is a lot faster than the default kernels that can
break the boot process. Also turned on lazytime which is the enhanced version of noatime,
to reduce overhead maximally for my nvme drive. And turned the last 1 switch to 0 to turn
off automatic fsck on boot, which right now doesn’t work on an f2fs file system and would
break the boot process otherwise.

and press cntrl+o to write the changes to the file, and cntrl+x to exit nano

We also get error sparse file not allowed… press enter to continue with an f2fs partition
and bios grub, on lubuntu, and so I have to press enter to get past this error every bootup,
for now…

Then turned off journaling like this…

sudo nano /etc/systemd/journald.conf

and added under [Journal]

Storage=none

Disabled a bunch of services like this…

sudo systemctl disable unattended-upgrades cups cups-browsed cron avahi-daemon apparmor anacron apport --now

I don’t like how ubuntu does certain things, so I opted to turn off unattended-upgrades, and to instead
manually, personally, manage the system and it’s upgrades myself.

Updated firefox like this…

sudo snap refresh

Used networkmanager’s ui to disable ipv6

Jumped around through settings ui’s to change more settings…

Turned desktops down to 1 in openbox settings…

Turned off power managers idleness watcher…

Disabled the screensaver…

Bumped up the fonts to 12, because after using computers literally every day for the past decade I am now half-blind.
If the font looks good enough without it, we can also disable anti-aliasing of fonts to speed things up here too.

From lxqt session settings turned off auto start of geoclue, print queue, spice vdagent, upg notifier, user folder update,
and qlipper, and xscreensaver.

Edited grub to have a blank command line, and rebooted…

sudo featherpad /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT=“”

sudo update-grub

For me, this stuff is all standard procedure, and takes about 5 minutes after a clean install. Writing
up this guide explaining all the details step by step adds hours to the whole process, whereas typically,
I’ll have a clean system, custom kernel, nvidia driver, gaming programs, other programs I like, everything
up and running in about an hour or two.

And first reboot

sudo reboot

If you’re gonna be a hobby systems programmer than you should definitely not turn off journaling,
and debugging, but for me I opt to use my intuition combined with a comprehensively customized system
in order to, thanks to it’s high level of speed/responsibility, identify and fix problems that arise.
When that fails, which it does, we need good logs to figure out in depth what is wrong.

After the initial customizations and the first reboot htop is reading only 589 MB’s of ram utilized,
which makes me make guttoral animal sounds, and start to lick my lips as I anticipate this is going
to be a very fast system when I’m done with it.

  • Building And Installing The Hyper Kernel -

First I opted to make a timeshift snapshot of my system at this point because upgrading the kernel,
and nvidia driver can cause issues that are difficult to undo otherwise. And used rsync, with automatic
snapshots disabled, and selected to include all files, and to use an external harddrive to save my backup.

I started off following a guide I found for building the kernel on ubuntu, installing basic dependencies…

(link removed…)

sudo apt install build-essential libncurses-dev bison libssl-dev libelf-dev fakeroot dwarves -y

Also need to sudo apt install flex or the make localmodconfig command later will complain at us.

Lubuntu 22.04.4, after the first upgrade comes with the 6.5.0-26-generic which is important to note.

I opted to build the kernel I want to use before dealing with nvidia drivers, and libraries, because
that typically makes for a much happier system, without conflicts.

Visited (link removed…) and grabbed the latest lts kernel(6.6) released here…
(link removed…)

Right clicking the linux tarball and selecting extract here… didn’t work, so I had to use
the command line…

tar -xf linux-6.6.25.tar.xz && cd linux-6.6.25/

In previous builds of the Hyper Kernel I would typically run make mrproper here, which cleans the source
folder of scripts and configurations, and this made for a very lean speedy kernel on bios, but it had a lot
of issues such as USB drives not working properly, and efi not working properly when I moved the .config
into a uefi setup to install the Hyper Kernel there, SO I diverted from my usual course of action here,
in order to make a more appropriate kernel to use.

Following the guide i used this command to copy the ubuntu kernels config into the source folder…

cp -v /boot/config-$(uname -r) .config

Still following the guide I used…make localmodconfig. Before using this command,
make sure to have all the hardware you plan on using loaded up by the operating system,
like external harddrives, usb drives, so the modules you need are identified.

make localmodconfig

To make a .config based on the modules of the currently running system, hitting enter
when prompted to select defaults, planning ahead to use make menuconfig to customize it after the fact…

Then still following the guide I used these commands…

“Next, you need to make four modifications to the configuration. Otherwise the build will fail. To do this, you can either directly modify the .config file or simply run the following commands:”

$ scripts/config --disable SYSTEM_TRUSTED_KEYS
$ scripts/config --disable SYSTEM_REVOCATION_KEYS
$ scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS “”
$ scripts/config --set-str CONFIG_SYSTEM_REVOCATION_KEYS “”

Then HERE is where I diverted from the guide, and started make menuconfig to customize the kernel, to tune it out for HYPER SPEED. Notes for my configuration are after the build/install,
commands…

make menuconfig

after making customizations to fit my idealism, I save the config to .config, and exit,
and start the build like this…

fakeroot make -j$(nproc)

“After the build finishes, you can check whether it is successful by running”

echo $?

“This outputs the return code of the previous command. If it returns 0, the build was sucessful.
For any other value than 0 the build was not sucessful.”

(I added fakeroot make modules -j$(nproc)

sudo make modules_install

sudo make install

sudo reboot

  • Hyper Kernel Config Notes -

My plan was to make the Hyper Kernel .config applicable for users
of intel and amd cpu’s and different setups overall. Ideally we should have a custom
.config that reflects our own individual setups, but I wanted to make a good baseline
for anyone to build off of.

Anything unrelated to intel/amd and standard hardware on consumer PC’s I attempted
to indentify and turn off. I also opted to turn off virtualization related settings,
which improves latency in a Hyper Speed Gaming Computer setup my build is designed for.

Left ubuntu’s default compression mode (ZSTD)

turned on periodic timer ticks,
turned off old idle dynticks, and high resolution timer support
disabled the BPF subsystem
turned on preemtible kernel(low-latency desktop)
and turned off preemption behavior defined on boot
Left core scheduling for SMT on (AMD)
cpu isolation off
cpu task time and stats accounting off
numa off
steam needs namespaces to work, left it on
left control groups on

left automatic process group scheduling on, supposedly improves performance, I’m skeptical,
anything automatic is typically a negative for performance honestly, this could be turned off,
and tested later.

Left defaults for initramfs
profiling support off
Left cpu scheduling default, turning off options for servers specifically
Intel/amd mce features off
performance monitoring off
software guard extensions off
left efi support on, so the .config will be applicable for uefi setups
timer frequency → 1000hz
kaslr off
kernel live patching off
mitigations for speculative execution vulnerabilities off
suspend, hibernate, off
power manage debug support off
workqueue power-efficient mode off
energy model for devices with DVFS off
power management timer support on
(i had this off before and think it may of slowed down rebooting/booting)

acpi defaults :cry: needs to be tweaked for individuals

Default CPUFreq Governor Performance

Cpu frequncy scaling, only performance and schedutil governors built-in,
eventually want to get a setup working with powersave mode included, to switch
on when I choose after extended-gaming sessions, to allow the system to cool,
when not in use. I can’t stand using a desktop anymore without performance mode
though honestly, so I just use that all the time for right now. And opt to shutdown
the system, when not in use…

Intel/amd pstates left on incase anyone wants to make use of them. Right now
I just use bios settings to run my cpu at max (non-overclocked) clock speed,
with c-states turned off, and the kernel’s cpu performance governor to
manage my cpu’s clocks. Eventually will work on getting turboboost working,
and alternate setups…

virtualization off

virtualization could be turned on, but for the ideal Hyper Speed Low Latency Gaming
Desktop, standard practice is to turn off virtualization in the operating system, as
well as uefi/bios settings.

Stack protector/buffer overflow detection off

use a virtually mapped stack off

support for randomizing kernel stack offset on syscall entry off

default MQ deadline I/O scheduler (this could be changed and tested)

Memory options…(memory options need a lot more work/testing later on)

page allocator randomization off
disable heap randomization on
transparent hugepage support off
randomize slab freelist, harden slab freelist metadata off
configure slub for minimal memory footprint on

I started playing around using SLOB instead of SLUB as the memory allocator,
and other options yesterday, but need to learn more about the subject matter,
and do more testing. Left mainly defaults on for memory, and turned off security features I could identify, noted above.

For networking turned off amateur radio support, and left mainly defaults,
this is another area that needs more focus, and optimization later.

Left device drivers mainly defaults, turned off Macintosh device drivers,
this is another area that needs to be tweaked/optimized for individuals

Left watchdog timer on, which is used by the kernel to provide it’s own super-interupt
in cases where the system is locked up, can be turned off at it’s command line with nowatchdog

Turned on support for file systems that are typically used in linux installs, incase
anyone wants to make use of them at all, and leaving their default settings on. This
is another area that can be tweaked by individuals to optimize the kernel for their own
personal setup.

Left ntfs support off, but if anyone wanted to dual boot with windows, and let their
linux OS interact with the windows parition, this would be the setting to change.

Security options…

Left defaults on for everything dealing with keys, and attempted to turn off
all hardening/randomization superfluous security programming

intel trusted execution technology off
harden memory copies between kernel and userspace off
hard common str/mem functions against buffer overflows off
selinux suport off
simplified mandatory access control default(on)
tomoyo support off

apparmor support off

ubuntu uses apparmor, and I believe this could also be acceptable to use in a more refined setup, but for me, and my insatiable demand for Hyper Speed everywhere all the time, I turned
it off here, and also the service in the operating system.

yama support off
landlock suport off
integrity subsystem default(on) (should probably be turned off)

For kernel hacking section… left mainly defaults, except turned off all tracing functions,
: ’ (, pretty boring, but again, want to leave the initial config very vanilla so everything
works properly initially, and then later customize/optimize it further for improved performance.

Basically every area should be examined, tweaked for individual systems,
and here I tried to make a Hyper Kernel .config that would be applicable
to everyones systems for the most part, if they have standard intel/amd computers,
and want to do gaming. Basically this is just a template, for myself/others to work
off of further.

  • More Notes About The Hyper Kernel -

This kernel is intended to be used as a template, to make high performance
gaming computers function well with linux. It’s made for standard amd/intel hardware,
and specifically the nvidia graphics driver, but should work with amd-graphics too given some
configuration. Security features of the kernel are turned off, but for gaming computers
that is a typical strategy to get improved performance for online competitive gaming.
So I wouldn’t recommend using a system with the Hyper Kernel for things that require
security, instead, I would recommend using a different system, and also for users of
systems lacking good security to be mindful of how they use their operating system, and
interact with other systems, such as using the internet, or using programs in general,
which can potentially cause significant problems.

I recommend using the kernel from it’s vanilla source, and personally customizing it to fit
your individual system. This guide is simply that… a guide to help other people build the kernel from it’s own proper sources, and to customize it to be used with standard hardware,
and for playing video games with the best possible performance linux can offer right now.

This is probably the 6th or 7th time I’ve attempted to customize the vanilla kernel, for
Hyper Speed gaming, and I am by no means an expert, only a hobbyist that enjoys working
with computers. There are definitely going to be unique issues, but that is typical in
systems that undergo frequent changes, with little to no testing. That means, we have to
test, and configure our own systems, to create a stable/ideal environment. Using the stable
distributions is the best place to start, as well as vanilla upstream sources ideally, for
things like the kernel, and the graphics driver, to achieve that goal, in my opinion.

Right now, my prefered method for using a custom kernel, is to allow apt to manage it’s own
default kernel, that can be used as a fallback if things stop working, and to manage my own kernel, outside of apt, and on a stable/non-rolling distro it is working great so far.

  • Installing the Nvidia driver, and packages for gaming -

The Hyper Kernel wouldn’t work with bios/nouveau for whatever reason, because of
Ubuntu’s unique considerations I am not fully aware of, so in order to get the Hyper
Kernel working initially I had to install the nvidia-driver manually. Now, we can achieve
this with apt, or with Nvidia’s own installer from their website. Right now I prefer using,
the vanilla kernel, from it’s source, and the vanilla nvidia driver from it’s own source
directly, which I will include a guide for installing here… If you want to use apt, or
ubuntu’s built-in methods there are guides online for doing so, just make sure to enable 32 bit library support first.

First, get the driver, enable 32bit library support, update apt, and reboot the system,
into runlevel 3 to install it.

I got the driver here…(and chose to use the 550.67 driver with the 6.6 lts kernel)

( link removed…)

Reboot the system into runlevel 3 by adding the number 3 to the kernel command line
from the grub menu.

Install the nvidia driver’s dependencies, and add 32 bit library support

sudo dpkg --add-architecture i386 && sudo apt update

sudo apt install pkg-config libglvnd-dev -y

then run the nvidia-installer and follow it’s instructions like this…

sudo sh ./NVIDIA-Linux-x86_64-550.67.run

It will ask you to reboot to disable nouveau, click ok, and to rebuild the initramfs after aborting the install, click yes, and make sure to add 3 to the kernel command line again after reboot to get into a terminal, instead of the graphical environment, and run the installer again, read it’s instructions, make sure to click yes for 32 bit library packages, yes update
the x config file, and the install should complete without issues, and we can reboot, with
our brand new shiny kernel, and graphics driver, and a proper base system for high performance,
Hyper Gaming.

  • Solutions To Common Problems -

First off, the stable distributions are not complete/fully working systems,
and ship out to people with tons of bugs/problems that aren’t ever fixed, which
are then upgraded with more programs, more complexity, that stacks on top of the old
marked-stable operating systems, creating even more problems. One day everything is fine,
then the next,catastrophe. The boot process, or any number of
things can go wrong, as the systems change over time, which they naturally do.

So to work around the problems that arise from using Linux, and computers in general,
it should be standard procedure to have a default fallback kernel, like the one managed
by apt, incase another kernel fails to work for whatever reason, which can happen for
lots of reasons, because it is related to your whole systems configuration. And we should
always have a live-cd ready to go, incase we can’t even boot-up into the desktop, or a terminal,
in order to fix the system.

Then, when we are customizing our system for Hyper Speed, we are embarking on mainly uncharted
territory, whereas our systems are typically tested under completely different conditions, with
default settings, a default kernel, our systems will produce unique problems that are unaccounted for, that we will have to resolve manually, often times without any good advice available on the internet.

If the nvidia driver was installed prior to the custom kernel’s installation, that can produce
a broken nvidia driver install, which doesn’t produce useful overt error messages, and will
freeze the boot process, leading us to think the problem is elsewhere. To resolve nvidia-driver
issues we can add nomodeset to the kernel command line through the grub menu at startup, and otherwise we can also try to delete the /etc/X11/xorg.conf file which may possess settings
that will not work, causing the startup process to freeze, with a broken nvidia-driver as well.

To edit the grub command line, first we have to be able to see the grub menu, which is turned
off in ubuntu by default, and is enabled by adding these settings to the grub file here…

sudo featherpad(or nano) /etc/default/grub

GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=5

GRUB_CMDLINE_LINUX=“”

I removed the “splash and quiet” settings from the grub_cmdline portion so we can see what
is happening behind the scenes when we start or shutoff our computers. Often times the messages
are actually unrelated to conflicts that may be happening behind the scenes, and so the output
should be regarded as loosely important compared to the overall system configuration.

For example, if we see systemd running through it’s processes’ and the boot process stalls,
it doesn’t mean systemd or one of it’s processes’ is broken, but it does mean, that around that
point in the boot process a conflict has occured which has prevented the system from starting up, typically related to a misconfiguration between the desktop envrionment and the graphics driver.

Then use sudo update-grub to update it’s configuration, and after rebooting,
we will have a grub menu, where we can select what kernel we want to use, each with
a recovery menu option underneath it on ubuntu, and also edit their command line/s
to help resolve problems that can arise.

To edit the kernel command line from grub hover over the kernel you want to use, press e, navigate to the portion where it says vmlinuz… ro and after ro type in the command you want
to pass to the kernel when it starts up, such as nomodeset to prevent automatic module loading incase your graphics-driver isn’t working. And press f10 to boot with your new command added.
That wont make permanent changes, but only temporarily to help work around problems.

After installing the custom kernel firefox is broken on lubuntu. Apparently this has to do,
with the graphics driver, so I opted to install the nvidia-driver after the Hyper Kernel,
in order to fix this problem. After installing the graphics driver firefox still didn’t work,
so, I then opted to remove the snap firefox, and install firefox from mozilla’s ubuntu repository for it like this…following the instructions here…where they link
to instructions for installing for debian based distributions…

(link removed…)

(instructions removed because they’re full of links? use the instructions on mozilla’s
website)

sudo apt-get update

sudo snap remove --purge firefox

sudo apt install firefox

If the libraries and drivers aren’t all in alignment apps like firefox will crash/fail to work,
so in our non-standard Hyper Gaming install we can expect issues like this to arise. Luckily,
the Hyper Kernel is so fast, that solving problems on linux is literally 1000% faster, and is
even fun, instead of like climbing up an endless mountain, it’s like zooming around through space, uninhibited, at hyper speed, and arbitrarily engaging in time travel if we so desire.
Put a techno-unicorn on a spaceship flying through the intergalactic medium, as your desktop’s
wallpaper. The Hyper Kernel and Nvidia driver are installed on lubuntu, You’re Good To Go!

If you’re using uefi than I imagine snap firefox and the Hyper Kernel and the nvidia driver
are working happily together, otherwise you can remove snap like this…

sudo systemctl disable snapd --now
sudo systemctl disable snapd.socket
sudo apt remove --purge snapd

I think there are some nice apps on snap, but right now I’m happy without it.

Ok SO, with MY setup nvidia wasn’t properly loaded after installing the nvidia driver
initially. I am using explicitly bios/not-uefi with all high performance options on,
and an nvme drive with an f2fs file system, which sometimes has issues with data integrity,
so after a reboot the nvidia driver was working properly. I thought snap firefox was broken
after installing the nvidia driver, but didn’t realize that it wasn’t loaded properly, until
after I had already removed snap firefox and removed snap. So it may, afterall, have been working without me realizing that my system behind-the-scenes was broken. A reboot fixed
my driver failing to load properly. I have to run sudo sync, in this specific scenario, before
reboots, with an nvme type drive, an f2fs-filesystem, a Hyper Kernel, and all system settings,
turned into high gear for HYPER SPEED. This is a unique consideration for my setup, whereas
for yours, with typical file systems, it shouldn’t be.

THE BOOT PROCESS, with the Hyper Kernel, and also a system tuned top to bottom for Hyper Speed,
does not behave like a typical slow-mo linux operating system, jam-packed with defaults. Instead, it behaves like a race car, that you have to sit down and drive, paying attention to
what is happening, or you will wreck. Generally problems boil down, to a misconfiguration, in
system settings, or between the graphics driver, and the desktop environment. Sometimes a reboot
is all it takes to recover, from the nvidia module failing to load properly - evident by nvidia settings not showing all of it’s menu items, or the boot process freezing.

To deal with our systems stability, we have to keep working, in order to optimize it for
efficiency, under high speed. That means disabling automatic programs, everywhere we can find
them, that means disabling services, as many as possible, that means turning off desktop effects
that means getting into the bios/uefi settings, and every setting, and every place, we can
possibly identify that presents us with a barrier to improved performance, and enhanced efficiency, that means reducing automatic processes’ as much as possible, and unecessary
programs, taking up processing time.

Different settings can dramatically alter the gaming experience, and vary for individual considerations. Without a high performance desktop, like lxqt, lxde, openbox, ect, it’s actually hard to tell the difference, whereas with them, we can immediately see the improved response time of programs, and with different operations such as gaming.

  • The Hyper Kernel Command Line -

This is a work in progress, it’s already built with highres=off and mitigations=off,
and audit=off, but we can add nowatchdog to turn off the kernel watchdog, and many
other settings to alter our systems performance. The place to start, is the documentation
specifically for the version of the kernel we are using. For Lubuntu, I chose the 6.6 LTS
kernel from kernel.org and the docs for it’s command line parameters are here.

(link removed…)

  • Tuning NVIDA for Hyper Speed -

Work In Progress

  • Adding Patches To The Hyper Kernel -

To Be Continued

  • Alternate resources -

There are many guides/wiki’s/docs for improving the performance of our systems, using Linux,
or Gnu/Linux. This guide was meant mainly to deal with the aspect of the base system itself,
which provides a nice template to build off of further for individuals, and customize, to
enhance performance after the fact.

  • More Notes -

Steam Fix for LXQT(and lxde)

apparently not limited to lxde, broken drop down menus in steam are present in lxqt on
lubuntu 22.04 too. The fix for this is to hold the control key while clicking on drop down
menu items in steam.

3 Likes

Holy tl;dr but this is great. I’d encourage you to add some formatting so it reads a little better.

I can’t ; D I have it formatted to sit in a text file on my desktop,
and this guide/install took me 12 hours straight.

I am finished. I quit.

2 Likes

well I can’t edit my post but I am still updating my guide for turning
lubuntu into the ultimate linux gaming distribution with a custom Hyper Kernel

Here’s some more tweaks for lubuntu and gaming I have discovered so far…

I also meant to upload my .config for building the kernel in the first post but can’t do it yet because I am a first time poster on these forums… You can use my .config I made to work with most consumer gaming pc’s or following my notes in the guide on the first post to build the Hyper Kernel completely from scratch all by yourself.

(14 hours in)

  • Lutris Fix for Lubuntu -

So the lutris package in ubuntu’s 22.04 repo is very old, and can’t update correctly, so to
fix it we have to install the .deb from the lutris github website here…

and install it plus it’s dependencies like this…

sudo apt install vulkan-tools python3-gi-cairo

sudo dpkg -i lutris_0.5.16_all.deb

  • Wine fix -

It’s a good practice to install the wine repositories too, for it’s related packages,
22.04 is pretty old now so we can get new packages for wine from it’s own repository
that it hosts for ubuntu following the instructions on it’s website.

https://wiki.winehq.org/Ubuntu

Installing updated wine packages(stable branch) should be considered top priority for
gaming on linux right next to installing a custom kernel and updated nvidia driver.
Linux gaming basically revolves around these three pillars, the kernel, the graphics driver,
and wine. Steam and lutris have their own custom wine packages with newer features, but the
general packages for wine on your system are useful, and can be updated straight from wines
own repository for ubuntu/debian directly.

1 Like

Wow. I wonder how easy/hard it is to make your own ISO ? That way, gamers can just tryout and install the usual way.

1 Like

That’s a really good idea!

I hear ISO customization is easy with Cubic:

The official documents on ISO customization are here:

https://help.ubuntu.com/community/LiveCDCustomization?action=show&redirect=LiveCDCustomization%2F6.06

1 Like

I actually made the guide to fill a gap I feel is missing in the linux community purposefully

we can learn to configure systems already managed by organizations to fit our needs, instead of taking on the enormous responsibility of managing the entire operating system,

1 Like

Eventually I will try to remake the guide, and attempt to make things easier to read. It’s sort of difficult because I expect people will have no idea how to do so many basic linux tasks, so I feel compelled to explain every single detail.

So I continue to develop the guide.

My biggest problem right now, that I am not sure exactly
how to proceed about, is working with the nvidia card / driver which currently have lame performance compared to
on windows, where it is literally, not merely figuratively, a geforce experience.

So right now with linux, we can get the “geforce” experience tuning the kernel, and the operating system, on top of nice hardware obviously, BUT the support we are getting for the nvidia driver + gaming is lacking right now honestly.

So I’m actively researching ways to improve it’s performance.

Anyways, while working on all these things simultaneously…at hyper speed, here’s more from the updated guide.

  • Good Music -

Of course you are going to need good music to listen to you while you beat everybody up
with your custom linux operating system. Drum and bass? Deep and dark techno? We can use
the command line tool yt-dlp (formerly youtube-dl) which can grab videos/music/audio,
do lots of things, to get music from many different websites. The basic way to use it
is like this…

yt-dlp https://www.youtube.com/watch?v=4nvewes8Inc

A better command to use, for when you want to save harddisk space while you build
your ass kickin music library, and still like to watch the videos is this, which
will download the video/audio in it’s smallest format, to take up the least amount
of space on your harddrive/external harddrive.

yt-dlp -f 18 https://www.youtube.com/watch?v=4nvewes8Inc

For bonus points, you could just download the audio files, to prevent your graphics
card from rendering the video, and your video games simultaneously.

Downloading the music to your harddrive locally will allow you to listen to music,
without having to share your network between streaming websites and your video game
at the same time, which will g you better performance. You can opt to use a lightweight
media player, or I just use vlc honestly, which has lots of potential customization,
and supports most media formats out of the box. I even turn off the video rendering
in it sometimes, so my graphics card isn’t rendering the video, and a video game
at the same time, while still playing the music I like.

oH forgot to mention you have to update yt-dlp like this

sudo apt install -t jammy-backports yt-dlp

because the newer version is required to work with some websites, we can get the newer one from the jammy-backports repository.

1 Like