Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
/dev/dri/ folder became empty
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Banifatsiy04
n00b
n00b


Joined: 30 Aug 2023
Posts: 27
Location: Moscow

PostPosted: Mon Apr 08, 2024 12:59 am    Post subject: /dev/dri/ folder became empty Reply with quote

Hi there, after configuring qutebrowser (I had to install mesa for it), mpv, and most importantly, my kernel, I've done a reboot only to find out that my wpa_supplicant is not starting and startx not working. lsblk couldn't see usb drives either, so I had to take photos to ask for support. Posting it here because I am unsure what exactly is wrong

It worked earlier during the day when I booted, so it shouldn't be the qutebrowser's fault, but I seemingly reverted everything back to when it was working
Some things I've done:

  • Removed mpv with all of its dependencies
  • Got a standard kernel generated by genkernel

Useful debugging information:
Last lines of /var/log/Xorg.0.log
Last lines of dmesg
More dmesg and uname -a
(Ask for more if you need)


Thank you in advance!
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54578
Location: 56N 3W

PostPosted: Mon Apr 08, 2024 10:08 am    Post subject: Reply with quote

Banifatsiy04,

The content of /dev/dri is provided by the kernel when your build it with DRM support and <M> Radeon support.
You also need linux-firmware installed.

That something is missing there is confirmed by your Xorg.0.log failing to open /dev/dri/card0, with no such file.

Radeon support also requires that the only framebuffer drivers to be on are VESA and EFI.
The others interfere with <M> Radeon

For more detailed support, we need to see the output of
Code:
lspci -nnk
and your kernel .config file.
It's OK to save them and reboot to put them onto a pastebin site.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Banifatsiy04
n00b
n00b


Joined: 30 Aug 2023
Posts: 27
Location: Moscow

PostPosted: Mon Apr 08, 2024 3:07 pm    Post subject: Reply with quote

Hey, thanks for the reply!
I couldn't find the exact kernel drivers that I need to enable/disable, so here are the files:

lspci -nnk output
kernel .config

I still don't understand how it worked just fine before
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54578
Location: 56N 3W

PostPosted: Mon Apr 08, 2024 5:23 pm    Post subject: Reply with quote

Banifatsiy04,

Code:
0c:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c9)
   Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1636]
0c:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller [1002:1637]
   Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller [1002:1637]
   Kernel driver in use: snd_hda_intel

Notice that there is no kernel driver loaded for your VGA card. That's the problem.
Your Vendor and Device IDs, here 1002:1638, tell that you need
Code:
CONFIG_DRM_AMDGPU
in the kernel.

Code:
CONFIG_DRM_AMDGPU=m
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU_USERPTR=y
That's OK. Its a loadable module.

Code:
CONFIG_DRM_RADEON=m
CONFIG_DRM_RADEON_USERPTR=y
should be harmless but its not required.

Code:
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
Good.

Code:
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
Good.

Code:
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
OK if your display is in portrait mode.

To go with DRM_AMDGPU, VIDEO_CARDS= in make.conf needs to be set to amdgpu radeonsi
VIDEO_CARDS="amdgpu radeonsi" that only matters to Xorg. If you change that, some things will need to be rebuilt.

Looking at your lspci a bit more.
Code:
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 51)
   Subsystem: ASRock Incorporation FCH SMBus Controller [1849:ffff]
needs
Code:
CONFIG_I2C_PIIX4=m


So it looks OK but it doesn't work.

That makes me think that you are not running the kernel that belongs to the .config you posted, or if you are, its modules are not installed correctly.

have a look in dmesg for module loading errors. Even pastebin the entire dmesg.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Banifatsiy04
n00b
n00b


Joined: 30 Aug 2023
Posts: 27
Location: Moscow

PostPosted: Mon Apr 08, 2024 7:57 pm    Post subject: Reply with quote

Thank you!

Here is my

I also have linux-firmware installed (and mesa, but I am not sure if it matters)

I generated my kernel using
Code:
genkernel --kernel-config=normal all

and later posted the file from /usr/src/linux/.config

And by the way, could you tell me how to determine which string do I need to turn on in the .config based on the DeviceID? Do I just need to look it up?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54578
Location: 56N 3W

PostPosted: Mon Apr 08, 2024 8:28 pm    Post subject: Reply with quote

Banifatsiy04,

Code:
[    1.017540] efifb: probing for efifb
[    1.017558] efifb: framebuffer at 0xd0000000, using 8100k, total 8100k
[    1.017562] efifb: mode is 1920x1080x32, linelength=7680, pages=1
[    1.017566] efifb: scrolling: redraw
[    1.017568] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    1.017637] Console: switching to colour frame buffer device 240x67
[    1.018824] fb0: EFI VGA frame buffer device


Good you start on efifb. There is no sign of any drm framebuffer loading.

What happens if you do
Code:
modprobe amdgpu

Error messages on the console?
Error messages at the end of dmesg?
dmesg shows amdgpudrmfb is use?

If you use your search engine to find
Code:
PCI vvvv:dddd site:cateee.net
it will tell the kernel symbol required.
Something similar works for USB too
Code:
USB vvvv:dddd site:cateee.net
but some USB drivers cover a whole class of device, so the method fails.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5104
Location: Bavaria

PostPosted: Mon Apr 08, 2024 9:10 pm    Post subject: Reply with quote

The main problem is:

The kernel .config you gave us has all necessary AMD GPU modules enabled ... and there is no attempt from the kernel to load them (see: dmesg) ...

So, I would like to ask how do you build your kernel ? And how do you install it ?

Maybe this could make a problem (from your make.conf):
Code:
USE=" ... -initramfs ...

_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
Banifatsiy04
n00b
n00b


Joined: 30 Aug 2023
Posts: 27
Location: Moscow

PostPosted: Mon Apr 08, 2024 10:29 pm    Post subject: Reply with quote

Woah, running
Code:
modprobe amdgpu
just gets rid of the issue for one session (after a couple of seconds of a black screen). I can launch the X server and use my graphical environment. Weird. I tried compiling the kernel manually now to make sure that I use the same .config (I still use the initramfs generated by genkernel), but to no avail. What am I doing wrong?

Thank you for telling me how to search drivers!

dmegs output after running modprobe (full)

Btw, I don't know if it matters, but my boot partition is not mounted to anything


Last edited by Banifatsiy04 on Tue Apr 09, 2024 12:01 am; edited 1 time in total
Back to top
View user's profile Send private message
Banifatsiy04
n00b
n00b


Joined: 30 Aug 2023
Posts: 27
Location: Moscow

PostPosted: Mon Apr 08, 2024 10:38 pm    Post subject: Reply with quote

pietenger,

I tried installing the kernel with
Code:
genkernel --kernel-config=normal all
but it didn't work, so I have just recompiled it manually (still doesn't work though). I did remove the "-initramfs" from my make.conf, but no rebuilds were caused by this (I ran "emerge -aqvuDN @world" and "emerge -aU @world" after this just to make sure)
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54578
Location: 56N 3W

PostPosted: Tue Apr 09, 2024 12:05 pm    Post subject: Reply with quote

Banifatsiy04,

Your kernel modules are supposed to auto load.
The couple of seconds of black screen is the amdgpu driver initialising.

Code:
equery h initramfs
 * Searching for USE flag initramfs ...
[IP-] [  ] sys-kernel/linux-firmware-20240312:0
so only linux-firmware is affected by USE=initramfs.
Its off by default so removing -initramfs does nothing.

Is udev started and running, that is, not crashed. I think its udev that manages module autoloading.

/boot only needs to be mounted to update its content. See PC Boot Process
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Banifatsiy04
n00b
n00b


Joined: 30 Aug 2023
Posts: 27
Location: Moscow

PostPosted: Tue Apr 09, 2024 2:04 pm    Post subject: Reply with quote

Yes, it says "Activating udev..." during boot and "/usr/lib/systemd/systemd-udevd" shows up in htop. Mounting /dev/sda2 onto /efi before generating the kernel didn't seem to help either

Also, running "genkernel all" prints this at the end:
Code:
Kernel compiled successfully!

--no-bootloader set; Skipping bootloader update ...

Required kernel parameter:

     root=/dev/$ROOT

Where $ROOT is the device node for your root partition as the one specified in /etc/fstab

If you require Genkernel's hardware detection features, you MUST
tell your bootloader to use the provided initramfs file '/boot/initramfs-6.6.21-gentoo-x86_64.img'

grub.cfg already uses it, but running "genkernel --bootlaoder=grub all" outputs
Code:
Kernel compiled successfully!

Adding kernel to '/boot/grub/grub.conf' ...
No /boot/grub/grub.conf found, generating!
awk: fatal: cannot open file '/var/tmp/genkernel/gk_s05jC3cC/grub.map' for reading: No such file or directory
/usr/share/genkernel/gen_bootloader.sh: line 83: 7d8e6c07: value too great for base (error token is "7d8e6c07")


Last edited by Banifatsiy04 on Tue Apr 09, 2024 4:50 pm; edited 1 time in total
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54578
Location: 56N 3W

PostPosted: Tue Apr 09, 2024 2:48 pm    Post subject: Reply with quote

Banifatsiy04,

Code:
/boot/grub/grub.conf
that file belongs to grub-legacy.
What version of grub do your have?

With grub2, the file is called
Code:
/boot/grub/grub.cfg

_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Banifatsiy04
n00b
n00b


Joined: 30 Aug 2023
Posts: 27
Location: Moscow

PostPosted: Tue Apr 09, 2024 3:56 pm    Post subject: Reply with quote

Sorry, I had to run the command "genkernel --bootloader=grub2 all" instead. This command outputs no errors, but my modules are still not loading correctly
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54578
Location: 56N 3W

PostPosted: Tue Apr 09, 2024 5:49 pm    Post subject: Reply with quote

Banifatsiy04,

Pastebin /boot/grub/grub.cfg.
You will need to mount /boot to see it, if boot is not already mounted or on your root.

-- edit --

Oh, the output of
Code:
ls -l /boot
will be good too.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Banifatsiy04
n00b
n00b


Joined: 30 Aug 2023
Posts: 27
Location: Moscow

PostPosted: Tue Apr 09, 2024 6:24 pm    Post subject: Reply with quote

Thank you for helping me

Here is /boot/grub/grub.cfg, ls -l /boot, and lsblk just in case. nvme01 is Windows and /dev/sda is Linux

I did not mount /dev/sda2 anywhere, but I have mounted it on /efi before (/efi is an empty folder currently). I did not mount /boot anywhere either, but I was able to see the contents of the folder. Is everything correct?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54578
Location: 56N 3W

PostPosted: Tue Apr 09, 2024 8:35 pm    Post subject: Reply with quote

Banifatsiy04,

That looks good. Well, it's self consistent.

from your grub.cfg
Code:
   echo   'Loading Linux 6.6.21-gentoo-x86_64 ...'
   linux   /boot/vmlinuz-6.6.21-gentoo-x86_64 root=UUID=7d8e6c07-c34a-4edc-802d-4c0cbb943b4f ro 
   echo   'Loading initial ramdisk ...'
   initrd   /boot/initramfs-6.6.21-gentoo-x86_64.img


Both the kernel and initrd are being loaded and both are present /boot.
The files are all dated today (Apr 9).

What is the date in uname -a. That's the date the running kernel was built.
It should be Tue Apr 9
From my
Code:
uname -a
Linux neddy_static 6.8.4-gentoo #2 SMP PREEMPT_DYNAMIC Tue Apr  9 20:41:27 BST 2024 x86_64 AMD Ryzen 9 5950X 16-Core Processor AuthenticAMD GNU/Linux


It's always good to check that you are running the kernel you think you are.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Banifatsiy04
n00b
n00b


Joined: 30 Aug 2023
Posts: 27
Location: Moscow

PostPosted: Tue Apr 09, 2024 8:47 pm    Post subject: Reply with quote

Yes, the kernel I am running was built today
Code:
uname -a
Linux Gentoo 6.6.21-gentoo-x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr  9 18:26:49 MSK 2024 x86_64 AMD Ryzen 5 5600G with Radeon Graphics AuthenticAMD GNU/Linux

I don't know what else could be wrong
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54578
Location: 56N 3W

PostPosted: Tue Apr 09, 2024 8:59 pm    Post subject: Reply with quote

Banifatsiy04,

That ties in exactly with your ls -l /boot
Code:
Apr  9 18:26 System.map-6.6.21-gentoo-x86_64


We know a lot of things that it isn't. That a good start. I'll sleep on it.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Banifatsiy04
n00b
n00b


Joined: 30 Aug 2023
Posts: 27
Location: Moscow

PostPosted: Tue Apr 09, 2024 9:58 pm    Post subject: Reply with quote

Aye, thanks for helping me, I really appreciate it. I'll edit this message in case I find something

==Edit 12.04==

I tried building into the kernel, rather than as a module the following options:
Code:
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  -->
<*> ATI Radeon
<*> AMD GPU

However, this only made "modbprobe amdgpu" output and do nothing, while the X server was still unable to launch

lspci -nnk
dmesg
kernel .config
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5104
Location: Bavaria

PostPosted: Fri Apr 12, 2024 12:54 pm    Post subject: Reply with quote

Banifatsiy04 wrote:
[...] I tried building into the kernel, rather than as a module the following options:
Code:
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  -->
<*> ATI Radeon
<*> AMD GPU

However, this only made "modbprobe amdgpu" output and do nothing, while the X server was still unable to launch

lspci -nnk
dmesg
kernel .config

IF you enable a module - which needs firmware - statically into your kernel THEN you have to do more work. Without you will get this:
Code:
[    1.022935] amdgpu 0000:0c:00.0: Direct firmware load for amdgpu/green_sardine_asd.bin failed with error -2

An explanation is here: https://wiki.gentoo.org/wiki/User:Pietinger/Tutorials/Manual_kernel_configuration#Driver_needs_Firmware
So, please change it back to <M>odule. We have to find out why the AMD GPU module is not loaded automatically. Maybe there is a problem with:
Code:
[    1.312493] udevd[704]: starting eudev-3.2.10

(Here I cannot help further)
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
Banifatsiy04
n00b
n00b


Joined: 30 Aug 2023
Posts: 27
Location: Moscow

PostPosted: Fri Apr 12, 2024 1:18 pm    Post subject: Reply with quote

I see, thank you, will recompile it back
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54578
Location: 56N 3W

PostPosted: Fri Apr 12, 2024 4:06 pm    Post subject: Reply with quote

Banifatsiy04,

Code:
    1.312493] udevd[704]: starting eudev-3.2.10

eudev has been removed from the ::gentoo repo as it is not longer feature compatible with udev

Do you have a reason not to use udev now?

I don't knomw that eudev/udev is related to your problem.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Banifatsiy04
n00b
n00b


Joined: 30 Aug 2023
Posts: 27
Location: Moscow

PostPosted: Sat Apr 13, 2024 10:41 am    Post subject: Reply with quote

No, I don't have any specific reason to use eudev. In fact I can't remember installing it either. It's wiki page https://wiki.gentoo.org/wiki/Eudev#Emerge says that I should've emerged it as oneshot, but it doesn't get removed with the depclean command. Should I deselect it?

==Edit==

Code:
emerge --pretend --deselect sys-fs/eudev
>>> No matching atoms were found in "world" favorites file...

--depclean and --unmerge don't work either. It's as if the package is not on my system even though it shows up in dmesg

Here are the packages that I have in sys-fs category:
Code:
ls /var/db/pkg/sys-fs
e2fsprogs-1.47.0-r3  udev-init-scripts-35


Last edited by Banifatsiy04 on Sat Apr 13, 2024 11:02 am; edited 1 time in total
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54578
Location: 56N 3W

PostPosted: Sat Apr 13, 2024 10:59 am    Post subject: Reply with quote

Banifatsiy04,

Will portage let you install udev?
Try with --pretend but don't do it for real until we track down what you actually have installed.

No ?dev service at all would account for modules not loading.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Banifatsiy04
n00b
n00b


Joined: 30 Aug 2023
Posts: 27
Location: Moscow

PostPosted: Sat Apr 13, 2024 11:06 am    Post subject: Reply with quote

Hello, trying to install virtual/udev or sys-apps/systemd-utils causes a rebuild, so I already have them installed
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum