8

from my previous question empty screen after booting from live persistent usb, I am able after boot to access all files and folders, but the X-server is unable to load (so I get only to tty1). From the previous question I was able to get to /var/log/Xorg.0.log and took a photo of it :

/var/log/Xorg.0.log

Now I have to somehow specify "busIDs for all framebuffer devices" (as from the file error). So how can I do that? What config file should I edit? I get the very same error from startx (the fatal error of unable to run framebuffer mode). How to connect to X-server?

milanHrabos
  • 371
  • 1
  • 4
  • 12

3 Answers3

3

I also faced this problem and solved it by installing a more recent kernel from backports. You can create a new file containing the line deb http://deb.debian.org/debian/ buster-backports main contrib non-free in /etc/apt/sources.list.d/ for enabling backports in apt if you are using Debian Buster. The contrib and non-free components will be useful if you also need to install the WiFi drivers. After that you need to install the most recent linux-image* package for the correct CPU architecture and reboot your system. In my case it was the linux-image-5.9.0-0.bpo.5-amd64 package.

For checking whether your graphics drivers are installed you can run lshw -c display. If the device is not correctly recognized by the kernel, it will be marked as "UNCLAIMED".

Also see this answer.

Antonio
  • 121
  • 6
2

TL;DR: make sure the version for your kernel and the version for the headers match.


I was happily using my linux (debian with xfce) when suddenly it just restarted, but it couldn't boot, it couldn't even find the grub configuration. I didn't know what happened. So I got a clonezilla liveCD and restored grub. Disk was fine, memory was fine. After that, I was able to boot ok, but I wouldn't get a GUI. I tried manually starting X and got the same error, Cannot run in framebuffer mode. Please specify busIDs. I checked lshw -c display as mentioned by Antonio and it was saying "UNCLAIMED". I found that very odd. Everything was working fine, why suddenly I don't have the drivers for the display? I had them before... so I checked more logs. In the boot log, I had this message:

[FAILED] Failed to start NVIDIA Persistence Daemon.
See 'systemctl status nvidia-persistenced.service' for details.

When I searched for that, I found that maybe the kernel was not loading the video drivers. I checked the boot log further back and found:

[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.

I tried running this command, and found that the system was indeed not loading the nvidia modules. I searched for that and found that my /dev didn't have any nvidia files. I tried following Antonio's suggestion above, I added buster-backports to my sources.list, ran a apt-get update and apt-get upgrade first... nothing happened, but it did give me a message that linux-headers-4.19.0-14-XXX was not being used and it wasn't needed. At first, I didn't pay attention to that, I thought it was just left-over unnecessary header packages. But I noticed that Antonio mentioned the linux image 5.9, and my linux image was 4.19. Since the difference was so big, I decided to first run a apt-get dist-upgrade to see what would happen.... and that's when the magic happened. That command installed the new linux-headers-4.19.0-17-XXX, which matched the linux kernel that I was using, the version of which I hadn't even payed attention to. After a reboot, my X was working again. So what was preventing my nvidia drivers from working and my X from starting was a mismatch between the kernel and the headers. The problem being that I didn't update the kernel, the system did that automatically, and did a poor job at it :(

So the lesson for today is: disable all automatic updates, manually update your stuff and make sure the update is successful before you can reboot. (just kidding... or am I?)

msb
  • 2,554
  • 2
  • 13
  • 11
  • I think you had a similar problem as in [this](https://askubuntu.com/questions/299415/update-linux-headers-when-kernel-is-updated) question. On Debian 10 instead of only installing a specific version of the kernel headers you can also install the `linux-headers-amd64` or a similiar package depending on your architecture for having the headers updated automatically. – Antonio Jun 28 '21 at 22:23
  • I am not entirely sure, but I don't think that's the problem. When I run `apt list --installed | grep -i header` I can see `linux-headers-amd64/stable,now 4.19+105+deb10u12 amd64 [installed]` which seems to be what you mentioned. Besides, when I ran the `apt-get dist-upgrade`, the header automatically updated (meaning, I didn't manually update it). I'm pretty sure the autoupdate is the one that messed things up, by installing other stuff first; then something caused a reboot before the update was complete, and put my system in an inconsistent state. :( – msb Jul 07 '21 at 16:17
1

Just recovered from the same error so wanted to share the solution

I reinstalled Linux firmware, kernel and headers. What did help was the last one as it also enabled Nvidia module