Black screen after booting

I'm new to linux, and I decided to go with zorin after doing some research.
While installing, I would get a black screen when trying the first option, so I tried the second option (safe graphics) and it worked.
I used the "try" option and the system was working perfectly fine for me so I installed it. I don't know if this is relevant, but I'm dual-booting windows 10 and zorin. Anyway, the installation was successful, I removed the USB and rebooted. But when I choose zorin on the grub menu, I get a black screen, and after waiting a few minutes, random pixels on the screen turn to random colors, and I can't access the terminal (the only way to get out of this is plugging off the pc cable)
(I don't have pictures, but its very close to this post:

I tried multiple solutions but none of them worked for me, the only workaround was pressing e on the grub menu and replacing "ro" to "nomodeset", by doing that zorin boots normally, and I see the zorin logo
but after that (when I'm supposed to see the login screen) its just a black screen with a blinking underscore, but I can access tty2-7

My GPU is nvidia quadro 600

Sorry if this issue was fixed in another posts, but I searched for almost 2 hours and couldn't find a solution that worked for me, not even a temporary one. Any help would be much appreciated.

This definitely sounds like a Nvidia Graphics driver issue.
To the best of my knowledge, the last Nvidia supplied driver that actually worked on the Quadro 600 was the 470 driver.
Using the TTY, or using the Advanced Options for Zorin > Zorin on -kernel version- (Recovery) > Enable Networking in recovery menu > Drop to Root Prompt:

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

sudo apt clean && sudo apt autoremove && sudo apt update

sudo apt install nvidia-driver-470

I checked online, and seems like the latest driver for quadro 600 (an ancient gpu) is 390
so I did the same steps, but installed nvidia-driver-390 instead of 470
(I also noticed that when I installed zorin, it installed the 390 driver, so I'm pretty sure that's the last driver that works for my gpu)

However, when installing nvidia-driver-390 I get errors like this (going off memory here since I'm not sure how to export the logs unfortunately):

dpkg: error processing package nvidia-dkms-390 (--configure)
dpkg: dependency problems prevent configuration of nvidia-driver-390
nvidia-driver-390 depends on nvidia-dkms-390 (<= 390.157-1); However package nvidia-dkms-390 is not configured yet.
nvidia-driver-390 depends on nvidia-dkms-390 (<= 390.157); However package nvidia-dkms-390 is not configured yet.
Errors where encountered while processing:

I did some research, and it seems that the 390 driver is incompatible with the kernel

I'm gonna try again with the 470 driver and post an update later today
But for now, is there a way for me to downgrade to a kernel version that is compatible with the 390 driver?

Are you on Zorin OS 17 or 16?
You can use apt search linux-headers in terminal to check the earliest kernel available.
It will produce a long list - scrolling skills are required. :wink:

If it is an older machine, really I would think the 5.8 kernel would work perfectly fine. But you may go a bit higher like 5.11 or 5.13

sudo apt install linux-headers-5.13.0-28-generic linux-modules-5.13.0-28-generic linux-modules-extra-5.13.0-28-generic linux-image-5.13.0-28-generic

It depends on what is available in APT for your Zorin OS edition.

I have Zorin OS 17.1 Core, I downloaded the latest ISO yesterday
Running 'apt search linux-headers' on tty shows a long list as you mentioned, though I'm not sure how to scroll up :sweat_smile:
Here's a picture, don't mind the white line, its from the lcd itself :sweat_smile:

I'm not sure what I'm supposed to do next

Try the pgup and pgdn keys to scroll the output...

I tried and they didn't work, not sure why.
I'll try to figure it out, but what should I look for? The smallest number in general? Or the green text should be something specific? Like linux-kernel-5.x.x or similar?

Sorry I'm completely new to linux as I've been using windows for over a decade now, so this is all new to me...

You are looking for the earliest available kernel like linux-headers-5.13.0-28-generic, not headless, not server...

I think the earliest one was linux-headers-5.15.0-100-generic

If that is the earliest, you can try installing it to see if it still offers DKMS support for the 390 driver.

sudo apt install linux-image-5.15.0-100-generic linux-headers-5.15.0-100-generic linux-modules-5.15.0-100-generic linux-modules-extra-5.15.0-100-generic

1 Like

Okay this is weird... I installed the 5.15.0-100 kernel and I tried to install nvidia-driver-390 from there, and I kept getting the same errors
But somehow after rebooting it worked...
I'm very confused, but it works, so I'm not complaining

So can I make the 5.15.0-100 kernel the default one, or do I have to keep selecting it in grub menu every time I boot up?

Also my screen resolution is 1440x900, but the closest thing I found to it in the settings was 1400x900
Is there any way to change it to 1440x900 or do I have to work with it like this?

You can set the older kernel as default boot:

Or remove the newer kernel.

You can try using xrandr with -newmode and -addmode to create and add the preferred resolution:

1 Like

Alright thank you so much, but I have 1 more question

So apparently I'm getting these errors because it tries to compile nvidia-dkms-390 for both the current kernel I'm using (5.15.0-100) which compiles successfully, and the default one (6.5.0-25) which fails, even though I'm not booting on that kernel so I'm not sure why its still trying to compile on it

This is causing many errors whenever I try to use the apt command to install or uninstall something, because it keeps detecting the failed compilation and tries to compile or something like that (not really sure what's happening, but I'm sure deleting the 6.5.0-25 will solve it)

So basically... how can I remove that 6.5.0-25 kernel?

I tried to remove it from the terminal, and also in synaptic package manager, but every time it says that its gonna download the 6.5.0-26 kernel so I'm not sure what to do
(trying to mark for complete removal in synaptic, the same thing happens if I try to remove it manually in the terminal)

I don't get that dialog if I try to remove any other kernel (for example the 5.15.0-100 that I'm currently using)
Am I supposed to just confirm it and install the 6.5.0-26? Or what exactly do I have to do?

And does the kernel update automatically? If so, how to disable those updates?

At the point of removal, ensure you are booted into the 5.15 kernel.
You can check which kernel you are on with

uname -r

in terminal.

Yes I'm booting the 5.15 kernel, infact I can't boot into other kernels, because the nvidia 390 drivers don't compile on them

If I try to remove any other kernel I don't get that dialog, maybe because this is the main kernel that zorin boots into by default (unless I specificly choose the 5.15 kernel in advanced menu)

No... that shouldn't happen...

Let's try:

sudo apt clean && sudo apt autoclean && sudo apt autoremove

sudo apt update && sudo apt upgrade

Once completed, reboot, then check if the terminal output still wants to install the -26.

Running this also tries to install the -26, maybe its a kernel update? If so do I just download it and then remove it..?

Yes, you can do that.

You can leave the HWE kernel in place. Only the -generic would need removal.

Okay, I removed both the -25 and -26 kernels, and everything seems to be working and no issues with the 390 drivers so far, so I think my issue is solved.

Thanks a lot for the help!