Fractional scaling issue

I have an issue with the fractional scaling on my notebook with an Nvidia 4060. I searched for solutions here and on other Ubuntu related forums but none of the solutions seemed to help. I have the Stellaris 16 gen 5 notebook from Tuxedo, because I thought that it might run Linux better but that is not really the case. They have a few supported distros which run ok, but Zorin OS is not one of them. Whenever i install Zorin OS on it, everything appears tiny because of its 4K screen. And when I want to enable 125% or 150% fractional scaling the it just switches randomly to 100% or 200%. I tried contacting Tuxedo but they just replied that they don't support Zorin OS. I am not the most experience Linux user so any help is really appreciated.

This is a nice machine. However, it is also a very new machine with a very new Nvidia card.

Zorin OS is stable and Long Term Supported. The current version is based on Ubuntu 20.04.
Zorin OS 17 is due for release before too long; but has not been released yet. In which case (sad to say) if you are having difficulties with Zorin OS 16, it may be due to the hardware you are using being a bit too new.
Which is not something that I say very often.

It's just a matter of timing, where a new bit of hardware arrives shortly before the next version of Zorin OS arrives.

My own way around this is by setting a custom DPI which works far better than "scaling" which I cover the issues with here "The reason fractional scaling is tricky"

This article says that Zorin OS 16.3 should support it.

Zorin OS 16.3 is powered by the same version of the Linux kernel as in Ubuntu 22.04 LTS (GA). It comes with updated drivers, bringing even better compatibility with more hardware. That includes support for newer components like NVIDIA’s GeForce RTX 4070, 4060 Ti, and 4060 graphics cards out of the box.

1 Like

For most users, the experience they have likely is trouble free out of the box.
Recently, I have seen several threads on the forum with issues in regards to 4070 Nvidia.
Most distros include the available support for AMD and for Intel out of the box. When the hardware (or driver) are quite new; having the latest available support is not necessarily the same thing as having the latest bug-free drivers.

I definitely agree with your point...

Which Nvidia driver are you using?

1 Like

I tried out all the drivers available through the Additional drivers tab in the Software updater including the Nouveau driver but the issue persisted. Then I downloaded the driver from the NVIDIA website but after installing it and rebooting it didn't even output video to the built-in screen and I had to attach an external monitor to switch back. So except for that I didn't notice any difference between all the available preinstalled drivers. They all failed at fractional scaling, didn't allow me to change the resolution or the refresh rate.

I also installed a modified Ubuntu ISO from Tuxedo (one of the few supported distributions) which ran smoothly using 125% fractional scaling using the NVIDIA driver metapackage from nvidia-drive-535 which is weird because that exact same driver didn't work on Zorin OS.

Let's upgrade your kernel (We are going a bit beyond Ubuntu 22.04 at this point):

sudo add-apt-repository ppa:tuxinvader/lts-mainline

Update sources, then install the 6.3 kernel:

sudo apt update && sudo apt install linux-generic-6.03

At this point it is best if you reboot - But if you do not have an integrated Intel Graphics chip with the Nvidia card dedicated, then you may wish to skip rebooting and move on to the next step.

Once that is done, purge all Nvidia:

sudo apt remove --purge '^nvidia-.*'

Then reinstall all Nvidia drivers:

sudo ubuntu-drivers install

Add the X-Swat teams graphics drivers repo:

sudo add-apt-repository ppa:ubuntu-x-swat/updates

Update sources and upgrade all drivers:

sudo apt update && sudo apt full-upgrade

Now, you can use Software & Updates to switch / select your Nvidia Driver. Remember you must reboot everytime you change the Nvidia driver, which is annoying... But you want to select the driver that if you tap alt+F2 and enter in nvidia-settings will launch the Nvidia Prime Settings window with all the trimmings.
If the driver launches only a truncated version or a settings window that lacks any options... then this is not the driver you are looking for.

Tried running all the commands, even on a fresh install to make sure that nothing was interfering with the drivers but any of the drivers it still didn't give me the option to change the resolution, the fractional scaling (other than 100% and 200%) or the refresh rate, which stayed at 60 Hz. I did reboot in the middle as you suggested since the CPU has an integrated an GPU.

This is the screenshot of the display settings after the installation. It is the same as before.

Just for thoroughness, can you please install gnome tweak tool

sudo apt install gnome-tweaks

and test changing fractional scaling using the Gnome Tweak tool to see if it is enabled there?

Not sure if this is the option you meant but i installed Gnome tweaks and changed the font scaling factor, which worked but it only increased the text size. A lot of the UI elements like icons and buttons stayed small. (I tried different combinations of fractional scaling and the text scaling, but I couldn't make it work.)

This is the screenshot of the best result i achieved: Fractional scaling disabled + font scaling at 175%.

That still didn't fix the fact that the screen was only running at 60 Hz.

I also contacted Tuxedo again and this time they actually sent me something useful.

As my colleague told you, we do not support Zorin OS. But we can see if we can get the problem fixed.

We recommend the following things:

Add our Ubuntu Repo. To install our kernel:

Add TUXEDO Computers software package sources - Add TUXEDO software package sources - TUXEDO Computers

When added, you can install our driver. Please open a terminal and type in the following:

sudo apt install --install-recommends linux-tuxedo-22.04

After that, you can reboot your system.

Install the Nvidia driver Version 530

When the Kernel itself isn't enough, you need to install a newer Nvidia Driver. Please open a terminal again, and type in:

sudo apt purge nvidia*

sudo apt update

sudo apt install nvidia-driver-530 nvidia-prime

After that step, you can reboot your PC again.

Use Xorg instead of Wayland

I'm not really sure, which Display Manager Zorin OS use. If It's GDM, you should see a Tool Icon at the bottom on the right side. When you click on it, you are able, then, to switch the session.
When you see a possibility, which have the word Wayland in it, please ignore it. If an entry says, it's on Xorg, you should use this one.
After that you, can log in, and hopefully, everything is running fine.

They suggest installing their custom kernel and drivers. So i tried it on a different fresh install but one of the packages installed during:

sudo apt install --install-recommends linux-tuxedo-22.04

Throw a dependency error:

The following packages have unmet dependencies:
linux-headers-tuxedo-22.04 : Depends: linux-headers-6.2.0-10018-tuxedo but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

And the dependency has a dependency on libssl3 which has a dependency and a newer version of libc6 than is running on Zorin OS 16.3. I tried forcing an update of libc6 but that made the system laggy and unstable.

I sent this information to Tuxedo and they didn't know how to deal with it, so I hope this can help You somehow.

Ubuntu rather arbitrarily made the Linux kernel depend on libc6 version 2.35 around the release of the 5.12 kernel. I suspect the reason why was to "encourage" (Cough... force) users to upgrade to Ubuntu 22.04. They will not say why they did it and they should not have - but they also staunchly refused to fix it.

Sadly, forcing libc6 to upgrade to 2.35 will break the system. That is not the answer... Roll that back and instead, fix the depends file for the package.

sudo apt install -f libc6=2.31-0ubuntu9.9

TuxInvader addressed this with the patch:

sudo add-apt-repository ppa:tuxinvader/lts-mainline

sudo apt update && sudo apt install linux-generic-6.02

This works perfectly on Zorin OS. But it is unknown whether Tuxedo OS only relies on the 6.2 kernel or if the Tuxedo 6.2 kernel is patched specifically for Tuxedo OS Hardware.

I would suspect it is the first one. I notice on your linked page that they do have a Focal Repository.
So, I would try the TuxInvader 6.2 kernel first. If that does not work, we can try patching the Tuxedo version manually by extracting it, changing the depends file, then using debuild to re-wrap it as a .deb package and installing it.

Being set to 60Hz is normal and I do not think it is an issue in itself. But it is also showing your Graphics device as "Unknown Display".
Does your notebook include integrated Intel Graphics and Dedicated Nvidia graphics?

I couldn't boot into the brokem system, not even using the Grub CLI, so instead of reverting the libc6 package, I just installed Zorin OS again.

When I ran:

sudo apt update && sudo apt install linux-generic-6.02

on the new install, I still got the same error when running:

sudo apt install --install-recommends linux-tuxedo-22.04

so then rebooted I couldn't log in. Every time I entered my password and hit enter to log in the screen would turn black for a few seconds and it throw me back and the to the select user page.

I don't know if the Unknown screen and 60 Hz unchangeable refresh rate are related to the fractional scaling issue, but in their custom Ubuntu ISO both are functional under these setting.

The notebook does have integrated graphics, but I don't think that they might be causing this issue, since the Nvidia GPU is set as the default in the BIOS (UEFI).

That is impossible unless you forgot to add the repo:

sudo add-apt-repository ppa:tuxinvader/lts-mainline

This is what I ran in the terminal:

vitek@ZorinStellaris16:~$ history
1 echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/tuxedo-archive-keyring.gpg] https(colon)//deb(dot)tuxedocomputers(dot)com/ubuntu jammy main' | sudo tee /etc/apt/sources.list.d/tuxedo-computers.list
2 sudo apt update --allow-insecure-repositories
3 sudo apt install --allow-unauthenticated tuxedo-archive-keyring
4 sudo add-apt-repository ppa:tuxinvader/lts-mainline
5 sudo apt update && sudo apt install linux-generic-6.02
6 history
vitek@ZorinStellaris16:~$ sudo apt install --install-recommends linux-tuxedo-22.04
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
linux-tuxedo-22.04 : Depends: linux-headers-tuxedo-22.04 (= but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

That error deals with the Tuxedo Kernel and repository.
You must remove the Tuxedo Repo:

sudo rm /etc/apt/sources.list.d/tuxedo-computers.list

sudo apt --fix-broken install

Install the 6.2 kernel:

sudo apt update && sudo apt install linux-generic-6.02

Ran those, what should I do now?

Reboot and check you are on 6.2

uname -r

Test scaling...

It worked.


Is display recognized and fractional scaling working?

Well the display is recognized, it allowed me to increase the refresh rate to 240 Hz and the scaling technically works. But now when I select 125% or 150% scaling it doesn't immediately revert back and allows me to confirm the changes, but it is the screen drops to (guessing, but no exaggerating) 2 Hz, so the notebook is completely unusable.

As I already said, I am not very experience with Linux, but are You sure that the Tuxedo kernel and utilities might not be the solution? I read quite a lot about their Linux optimizations on their website and on numerous forums. One of them is Tomte, but they have many more.