# No Screens Found_FreeBSD 12.2



## freeze (Nov 13, 2020)

Hello,

Thanks in advance for helping me resolve this issue. As the title suggest, I'm currently having issues with Xorg not finding my screen/monitor. I just finished installing the base system on an old Toshiba Satellite laptop using an ISO image downloaded from www.freebsd.org. After completing the installation, I proceeded to:

a) Install Xorg
b) Create individual configuration files for the video, monitor and resolution
c)Added my user to the video, wheel group.
d) Installed KDE and SDDM

Immediately after installing Xorg and before downloading KDE, I ran "startx" and got Xterm, which I thought meant I was on the right path. After installing KDE and SDDM, startx would no longer work and I kept getting the "No Screen Found". Here are the specs of the laptop I'm working with:

Toshiba Satellite C655D-S5136
AMD Athlon II P340 - 2.2 Ghz
6GB of Ram
ATI Mobility Radeon HD 4225 (RS880M)

/usr/local/etc/X11/xorg.conf.d/screen-resolution.conf

```
Section "Screen"
             Identifier  "Screen 0"
             Device      "Card0"
             Subsection "Display"
             Modes       "640x480"
EndSection
```
/usr/local/etc/X11/xorg.conf.d/driver-radeon.conf

```
Section "Device"
    Identifier "Card0"
    Driver     "amdgpu"
EndSection
```
/etc/rc.conf

```
sddm_enable="YES"
dbus_enable="YES"
hald_enable="YES
kld_list="/boot/modules/amdgpu.ko"
```
I've also installed "drm-fbsd12.0-kmod via pkg install and tried to build it from ports but failed with the following error:

```
"drm-fbsd12.0-kmod-4.16.g20200221 requires kernel source files in SRC_BASE-/usr/src"
```
Any suggestions on how to get around this issue are welcomed. 

Thanks.


----------



## Lamia (Nov 14, 2020)

freeze said:


> drm-fbsd12.0-kmod-4.16.g20200221 requires kernel source files in SRC_BASE-/usr/src"


You need fetch the FreeBSD source code into /usr/src. 

I also noticed that you are using a radeon card. You need add the radeonkms.ko driver; see https://wiki.freebsd.org/Graphics#AMD_Graphics

Lastly, you may find Wayland work as an alternative to Xorg. An you can try a different login manager and desktop environment with it e.g sway, the 3d environment (wayfire),etc.


----------



## freeze (Nov 15, 2020)

Lamia,

Thanks for the suggestions.  I went back and reinstalled 12.2, but this time I made sure I selected to check "install src sources" option which addressed the "SRC Missing" error. Installation went smooth. I then proceeded to install Xorg again, and XCFE. Additionally, I was able to compiled the "drm-fbsd12.0-kmod-4.16.g20200221" port without any issues. After rebooting, I saw a flash on the console as it switched over to the new display driver, so I must be heading in the right direction. However, when I run "startx", X server is still complaining about the following:

- "Warning , couldnt open module radeon"
- "Failed to load module "radeon" (module does not exist, 0)
- "No drivers available"
-"No Screens found "

Below are my /etc/rc.conf and individual xorg.conf.d configuration files. 

/etc/rc.conf


```
dbus_enable="YES"
hald_enable="YES"
kld_list="/boot/modules/radeonkms.ko"
```
/usr/local/etc/X11/xorg.conf.d/driver-radeon.conf

```
Section "Device"
    Identifier "Card0"
    Driver     "radeon"
EndSection
```
/usr/local/etc/X11/xorg.conf.d/screen-resolution.conf


```
Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    SubSection "Display"
    Modes      "1024x768"
    EndSubSection
EndSection
```
Do I also need to add a "monitor" configuration file in addition to a resolution file? Any suggestions? Thanks in advance.


----------



## Emrion (Nov 15, 2020)

/usr/local/etc/X11/xorg.conf.d/driver-radeon.conf: try to disable it (remove the file or the ".conf" at the end of the file name). It's sometimes good to let Xorg choose its drivers.


----------



## Lamia (Nov 16, 2020)

I did not have much luck with the above suggestions. None worked for me, unlike other people, until I switched to a PCI card. Infact, I had to go buy it - a NVIDIA card. Hopefully, the onboard graphics cards (INTEL XEON) will work again sometime in the future. The alternative desktop environment - Sway - worked though with the onboard card.

You should continue using the amdgpu.ko if your board/card is AMD. Simply add it to the kld_list, which already contains the radeonkms.ko. 

You really don't have to touch the Xorg files as advised by others. You can delete all modifications and let Xorg decide for itself.

You might also need try out an additional/replacement card if that would work. Several people had this problem and won't go away until sometime in Feb.


----------



## freeze (Nov 16, 2020)

It's an old laptop, so for my purposes it does not make sense to go out and get a PCI card/find a newer laptop, but I appreciate the recommendation. Is this issue only related to the 12.2 release or the entire 12.xx series and do we know if it will be addressed when they release 13.0? As of right now, I feel like i"m getting closer to solving the problem, but not sure how to go forward. X server still complains that the module radeon couldnt be opened or it doesnt exist and/or no drivers are available. Do I need to install another driver in addition to "drm-fbsd12.0-kmod-4.16.g20200221"? From my understanding, this driver, when compiled from source has everything you need to get X working. The "no screen found".... is this simply due to not having a "monitor" file in the xorg.conf.d directoy? The handbook goes over how to create a single file for "resolution", however, it does not mention creating a configuration file for a monitor.


----------



## Lamia (Nov 17, 2020)

freeze said:


> Is this issue only related to the 12.2 release or the entire 12.xx series


>Yes, it's only 12.2.


freeze said:


> and do we know if it will be addressed when they release 13.0?


Yes


----------



## mickey (Nov 17, 2020)

freeze said:


> X server still complains that the module radeon couldnt be opened or it doesnt exist and/or no drivers are available. Do I need to install another driver in addition to "drm-fbsd12.0-kmod-4.16.g20200221"? From my understanding, this driver, when compiled from source has everything you need to get X working.


I am surely no expert when it comes to radeon graphics hardware, but I'd say you are right, that the KMS driver you load via _kld_list_ should be all that is needed. But you are telling Xorg to load an additional radeon driver that doesn't even seem to exist:


freeze said:


> /usr/local/etc/X11/xorg.conf.d/driver-radeon.conf
> 
> Section "Device"
> Identifier "Card0"
> ...


I concur with the advice to remove that configuration file and let Xorg try to autodetect the necessary driver. Or try changing the _Driver_ line in that file to:

```
Driver "modesetting"
```


----------



## freeze (Nov 17, 2020)

revising the "driver-radeon" config file and replacing "radeon" with "modesetting" seems to have done something....the "missing radeon module" went away, however, I'm not getting the following errors:

```
(EE) open /dev/dri/card0: No such file or directory
(WW) Falling back to old probe method for modesetting
(EE) open /dev/dri/card0: No such file or directory
(WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
(EE) Screen 0 deleted because of no matching config section
(II) UnloadModule" "modesetting"
(EE) Device(s) detected, but none match those in the config file
Fatal Server Error:
(EE) no screens found
```
In reading these errors, the VGA arbiter makes sense as this is an old laptop and the onboard gpu does not support multi-card(s).  While I do have a "screen-resolution" config file, it does not specify which monitor to use, so maybe that is the issue here?


----------



## Argentum (Nov 17, 2020)

freeze said:


> In reading these errors, the VGA arbiter makes sense as this is an old laptop and the onboard gpu does not support multi-card(s).  While I do have a "screen-resolution" config file, it does not specify which monitor to use, so maybe that is the issue here?


First - did you get your drm working? Before starting X, you should get the drm operational. Look into `kldstat`.
Also `grep "\[drm\]" /var/log/messages`.

You can try loading drm manually, but it is good to include `kld_list="radeonkms"` into the /etc/rc.conf.
.
Is it EFI boot or not? Radeons and EFI mismatch. So, in case of EFI, you should have `hw.syscons.disable=1` in /boot/loader.conf. Not nice, but it works.

With older Radeons, you can try graphics/drm-legacy-kmod/.

I have put `WITHOUT_MODULES=drm drm2` in the /etc/make.conf and rebuilt the kernel before installing the drm.


----------



## Alexander88207 (Nov 17, 2020)

As some of you have already said, what if they let xorg do everything automatically by skipping b) Create individual configuration files for the video, monitor and resolution? I for example only need to install drm-kmod for my AMD card and that's it, the rest is done by xorg. If you want to activate a function then a config file is handy but otherwise not necessary.


----------



## Argentum (Nov 17, 2020)

Alexander88207 said:


> If you want to activate a function then a config file is handy but otherwise not necessary.


Also, when the hardware configuration is stable, it may have some benefit to copy the configuration into /etc/X11/xorg.conf. Not needed, but makes the Xorg start faster. BTW, Xorg is always restarted when you leave GUI and drop back to login manager.


----------



## mickey (Nov 17, 2020)

Argentum said:


> You can try loading drm manually, but it is good to include `kld_list="radeonkms"` into the `/etc/rc.conf`.


In order to use the driver built from ports (or installed from pkg for that matter) you need to specify the full path, otherwise you probably end up using the driver included in the base system, i.e. `kld_list="/boot/modules/radeonkms.ko"`


----------



## Argentum (Nov 17, 2020)

mickey said:


> In order to use the driver built from ports (or installed from pkg for that matter) you need to specify the full path, otherwise you probably end up using the driver included in the base system, i.e. _kld_list="/boot/modules/radeonkms.ko"_


Base system gives a warning in the logfiles that drm is deprecated and will be removed in the future. I have disabled the base drm by putting `WITHOUT_MODULES=drm drm2` in the /etc/make.conf and built a custom kernel. After that installed the graphics/drm-fbsd12.0-kmod.


----------



## mickey (Nov 17, 2020)

Argentum said:


> I have disabled the base drm by putting `WITHOUT_MODULES=drm drm2` in the `/etc/make.conf` and built a custom kernel.


I guess that's one way to do it


----------



## freeze (Nov 18, 2020)

Thanks for all the suggestions, I tried them all and now I have a working KDE/Gnome environments. Not sure which one did the trick, but below are the steps I took:

- added `kld_list="radeonkms` to /etc/rc.conf
-added `hw.syscons.disable=1` to /boot/loader.conf

Laptop seems to work be working now. Thanks again.


----------



## virajg (Dec 8, 2020)

Just came across this thread. I have the same error with AMD Ryzen 5 3400G & onboard Vega 11 GPU. Installed drm-kmod from "pkg", added kld_list="/boot/loader/amdgpu.ko". Doesn't work. Xorg still fails to start with no screens found. I have EFI boot & I've tried the "hw.syscons.disable=1" in /boot/loader.conf as well. That doesn't help either. I'm really not good at setting up UIs & until now, didn't have the need to worry much as I had nVidia cards & nVidia drivers that always worked. This is a new PC & I cannot get Xorg to start. What am I doing wrong?


----------



## SirDice (Dec 8, 2020)

virajg said:


> What am I doing wrong?


Build graphics/drm-fbsd12.0-kmod from ports.


----------



## virajg (Dec 10, 2020)

SirDice said:


> Build graphics/drm-fbsd12.0-kmod from ports.


Tried this, but still doesn't work. "startx" gives Xorg error - "Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices".


----------



## SirDice (Dec 10, 2020)

Post your /var/log/Xorg.0.log.


----------



## virajg (Dec 11, 2020)

SirDice said:


> Post your /var/log/Xorg.0.log.


----------



## Sevendogsbsd (Dec 11, 2020)

Your video driver is not being loaded. Assuming an ATI card based on the logs. What card and how are you loading the driver?


----------



## virajg (Dec 13, 2020)

Sevendogsbsd said:


> Your video driver is not being loaded. Assuming an ATI card based on the logs. What card and how are you loading the driver?


AMD Ryzen 5 3400G processor with onboard VEGA 11 GPU. Installed "amdgpu" from ports. When the OS boots, I get a mouse pointer on my console, but cannot get Xorg to work. And yes, after trying all the recommended things for 'amdgpu', the driver just doesn't load. I have a UEFI system & if you read my post above, disabling the console output on start, which is the recommended UEFI fix with 'amdgpu', the driver still doesn't load.


----------



## scottro (Dec 13, 2020)

I have found, on a new T495, that only vesa will work for the AMD GPU.  I haven't found a solution, don't remember now what I tried.  However, FreeBSD-CURRENT does work with drm-kmod for AMD. 
Just my experience, for what it's woth.


----------



## Alexander88207 (Dec 13, 2020)

virajg said:


> Just came across this thread. I have the same error with AMD Ryzen 5 3400G & onboard Vega 11 GPU. Installed drm-kmod from "pkg", added kld_list="/boot/loader/amdgpu.ko". Doesn't work. Xorg still fails to start with no screens found. I have EFI boot & I've tried the "hw.syscons.disable=1" in /boot/loader.conf as well. That doesn't help either. I'm really not good at setting up UIs & until now, didn't have the need to worry much as I had nVidia cards & nVidia drivers that always worked. This is a new PC & I cannot get Xorg to start. What am I doing wrong?



The path /boot/loader/ doesnt exists, please use kld_list="/boot/modules/amdgpu.ko" or only "amdgpu".


----------



## virajg (Dec 13, 2020)

Alexander88207 said:


> The path /boot/loader/ doesnt exists, please use kld_list="/boot/modules/amdgpu.ko" or only "amdgpu".


Sorry, I meant to write "/boot/modules" as the path & that's what I have in my rc.conf. Tried with just "amdgpu" as well. Doesn't work.


----------



## Argentum (Dec 14, 2020)

virajg said:


> Sorry, I meant to write "/boot/modules" as the path & that's what I have in my rc.conf. Tried with just "amdgpu" as well. Doesn't work.


Please share us your `kldstat` output.

It should look something like that:


```
Id Refs Address                Size Name
 1   95 0xffffffff80200000  13eccf8 kernel
 2    1 0xffffffff815ed000   664560 openzfs.ko
 3    1 0xffffffff81c52000    27c70 fuse.ko
 4    1 0xffffffff81c7b000     a408 opensolaris.ko
 5    1 0xffffffff81f21000   24f2c4 amdgpu.ko
 6    2 0xffffffff82171000    75c50 drm.ko
 7    3 0xffffffff821e7000     b158 agp.ko
 8    5 0xffffffff821f3000    12d30 linuxkpi.ko
 9    4 0xffffffff82206000    13f30 linuxkpi_gplv2.ko
10    2 0xffffffff8221a000      6d0 debugfs.ko
11    1 0xffffffff8221b000     f061 ttm.ko
12    1 0xffffffff8222b000     80eb amdgpu_polaris12_mc_bin.ko
13    1 0xffffffff82234000     4431 amdgpu_polaris12_pfp_2_bin.ko
14    1 0xffffffff82239000     442f amdgpu_polaris12_me_2_bin.ko
15    1 0xffffffff8223e000     242f amdgpu_polaris12_ce_2_bin.ko
16    1 0xffffffff82241000     42ad amdgpu_polaris12_rlc_bin.ko
17    1 0xffffffff82246000    40441 amdgpu_polaris12_mec_2_bin.ko
18    1 0xffffffff82287000    40443 amdgpu_polaris12_mec2_2_bin.ko
19    1 0xffffffff822c8000     332f amdgpu_polaris12_sdma_bin.ko
20    1 0xffffffff822cc000     3331 amdgpu_polaris12_sdma1_bin.ko
21    1 0xffffffff822d0000    5bc0d amdgpu_polaris12_uvd_bin.ko
22    1 0xffffffff8232c000    28d2d amdgpu_polaris12_vce_bin.ko
23    1 0xffffffff82355000    1feed amdgpu_polaris12_smc_bin.ko
24    1 0xffffffff82375000    11978 if_bge.ko
25    1 0xffffffff82387000     2698 intpm.ko
26    1 0xffffffff8238a000      b40 smbus.ko
27    1 0xffffffff8238b000     1860 uhid.ko
28    1 0xffffffff8238d000     2908 ums.ko
29    1 0xffffffff82390000      acf mac_ntpd.ko
```

Try to get the DRM working before doing anything with Xorg or higher level applications. My example is from working installation, I just built last week. To get there, I did the following:

1. Built custom kernel without DRM. To do that I put `WITHOUT_MODULES=drm drm2` into /etc/make.conf before building the kernel (and world);
2. Installed new kernel and graphics/drm-fbsd12.0-kmod;
3. In /boot/loader.conf set `hw.syscons.disable=1`;
4. In rc.conf set `kld_list="amdgpu"`; depends on your GPU model;
5. Reboot and see the output of your `kldstat` and `dmesg -a|grep drm`.

The `dmesg -a|grep drm` output should look something like this:


```
[drm] amdgpu kernel modesetting enabled.
drmn1: <drmn> on vgapci1
vgapci1: child drmn1 requested pci_enable_io
vgapci1: child drmn1 requested pci_enable_io
[drm] initializing kernel modesetting (POLARIS12 0x1002:0x699F 0x1462:0x8A90 0xC7).
[drm] register mmio base: 0xFF600000
[drm] register mmio size: 262144
[drm] PCI I/O BAR is not found.
[drm] probing gen 2 caps for device 1022:1412 = 700d02/6
[drm] probing mlw for device 1002:699f = 400883
[drm] UVD is enabled in VM mode
[drm] UVD ENC is enabled in VM mode
[drm] VCE enabled in VM mode
[drm] vm size is 64 GB, 2 levels, block size is 10-bit, fragment size is 9-bit
drmn1: successfully loaded firmware image with name: amdgpu/polaris12_mc.bin
drmn1: VRAM: 2048M 0x000000F400000000 - 0x000000F47FFFFFFF (2048M used)
drmn1: GTT: 256M 0x0000000000000000 - 0x000000000FFFFFFF
[drm] Detected VRAM RAM=2048M, BAR=256M
[drm] RAM width 128bits GDDR5
[drm] amdgpu: 2048M of VRAM memory ready
[drm] amdgpu: 3072M of GTT memory ready.
[drm] GART: num cpu pages 65536, num gpu pages 65536
[drm] PCIE GART of 256M enabled (table at 0x000000F400040000).
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] Driver supports precise vblank timestamp query.
[drm] Connector HDMI-A-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.HDMI-A-1
[drm]   - kern.vt.fb.default_mode
[drm] Connector DVI-D-1: get mode from tunables:
[drm]   - kern.vt.fb.modes.DVI-D-1
[drm]   - kern.vt.fb.default_mode
[drm] AMDGPU Display Connectors
[drm] Connector 0:
[drm]   HDMI-A-1
[drm]   HPD3
[drm]   DDC: 0x4874 0x4874 0x4875 0x4875 0x4876 0x4876 0x4877 0x4877
[drm]   Encoders:
[drm]     DFP1: INTERNAL_UNIPHY1
[drm] Connector 1:
[drm]   DVI-D-1
[drm]   HPD4
[drm]   DDC: 0x4878 0x4878 0x4879 0x4879 0x487a 0x487a 0x487b 0x487b
[drm]   Encoders:
[drm]     DFP2: INTERNAL_UNIPHY
drmn1: successfully loaded firmware image with name: amdgpu/polaris12_pfp_2.bin
drmn1: successfully loaded firmware image with name: amdgpu/polaris12_me_2.bin
drmn1: successfully loaded firmware image with name: amdgpu/polaris12_ce_2.bin
[drm] Chained IB support enabled!
drmn1: successfully loaded firmware image with name: amdgpu/polaris12_rlc.bin
drmn1: successfully loaded firmware image with name: amdgpu/polaris12_mec_2.bin
drmn1: successfully loaded firmware image with name: amdgpu/polaris12_mec2_2.bin
drmn1: successfully loaded firmware image with name: amdgpu/polaris12_sdma.bin
drmn1: successfully loaded firmware image with name: amdgpu/polaris12_sdma1.bin
drmn1: successfully loaded firmware image with name: amdgpu/polaris12_uvd.bin
[drm] Found UVD firmware Version: 1.130 Family ID: 16
drmn1: successfully loaded firmware image with name: amdgpu/polaris12_vce.bin
[drm] Found VCE firmware Version: 53.26 Binary ID: 3
drmn1: successfully loaded firmware image with name: amdgpu/polaris12_smc.bin
[drm] UVD and UVD ENC initialized successfully.
[drm] VCE initialized successfully.
[drm] fb mappable at 0xD0568000
[drm] vram apper at 0xD0000000
[drm] size 8294400
[drm] fb depth is 24
[drm]    pitch is 7680
name=drmn1 flags=0x0 stride=7680 bpp=32
drmn1: fb0: amdgpudrmfb frame buffer device
[drm] Initialized amdgpu 3.23.0 20150101 for drmn1 on minor 0
```

Please repeat these steps in your computer and provide us your output. 

After you have got your DRM working, Install x11/xorg and try `Xorg -configure` in your root home directory. Without starting X, it should save the configuration in file xorg.conf.new. There should be something like this in this file:


```
Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "SWcursor"                  # [<bool>]
        #Option     "kmsdev"                    # <str>
        #Option     "ShadowFB"                  # [<bool>]
        #Option     "AccelMethod"               # <str>
        #Option     "PageFlip"                  # [<bool>]
        #Option     "ZaphodHeads"               # <str>
        #Option     "DoubleShadow"              # [<bool>]
        #Option     "Atomic"                    # [<bool>]
        Identifier  "Card0"
        Driver      "modesetting"
        BusID       "PCI:0:1:0"
EndSection
```

If all of this works, you are ready to go!


----------



## virajg (Dec 14, 2020)

Argentum said:


> Please share us your `kldstat` output.
> 
> It should look something like that:
> 
> ...


1. Built a new kernel by disabling drm & drm2 and named it FORVEGA.
2. Followed rest of the steps as advised, but don't think "amdgpu" got loaded as with console output disabled, was at the boot screen for over 10 mins with no login prompt.
3. Collected the outputs as requested & are attached.

I guess it's what the drm-fbsd12.0-kmod says ..... "amdgpu is known to not work with EFI".


----------



## SirDice (Dec 14, 2020)

> It is important to note that there is currently a conflict with both AMD drivers and the EFI frambuffer. The current workaround, when booting via UEFI on these systems, is to disable the framebuffer via /boot/loader.conf:
> 
> hw.syscons.disable=1
> 
> This will have the side effect of there being no console output until either the amdgpu or radeonkms kernel driver is loaded.





			Graphics - FreeBSD Wiki


----------



## Argentum (Dec 14, 2020)

virajg said:


> 1. Built a new kernel by disabling drm & drm2 and named it FORVEGA.
> 2. Followed rest of the steps as advised, but don't think "amdgpu" got loaded as with console output disabled, was at the boot screen for over 10 mins with no login prompt.
> 3. Collected the outputs as requested & are attached.
> 
> I guess it's what the drm-fbsd12.0-kmod says ..... "amdgpu is known to not work with EFI".


It works with EFI here, on different machines. That is why `hw.syscons.disable=1` is needed in /boot/loader.conf. Note that if you disable syscons and the modesetting does not start, you will have a blank console. But the machine still works. Good to have sshd enabled, so you can log in from another machine.

*What is the exact model of your GPU?* Fresh AMD models work with `kld_list="amdgpu"`, older models with radeonkms.

Looks like it is not loading AMD modules.

I have another machine with AMD RX 570 GPU (and EFI boot). The `kldstat` shows:

```
Id Refs Address                Size Name
1   98 0xffffffff80200000  13eccf8 kernel
2    1 0xffffffff815ee000   3bacf8 zfs.ko
3    2 0xffffffff819a9000     a408 opensolaris.ko
4    1 0xffffffff819b4000    27c70 fuse.ko
5    1 0xffffffff819dc000     4198 sysctlinfo.ko
6    1 0xffffffff81b21000   24f2c4 amdgpu.ko
7    2 0xffffffff81d71000    75c50 drm.ko
8    3 0xffffffff81de7000     b158 agp.ko
9    5 0xffffffff81df3000    12d30 linuxkpi.ko
10    4 0xffffffff81e06000    13f30 linuxkpi_gplv2.ko
11    2 0xffffffff81e1a000      6d0 debugfs.ko
12    1 0xffffffff81e1b000     f061 ttm.ko
13    1 0xffffffff81e2b000     815b amdgpu_polaris10_mc_bin.ko
14    1 0xffffffff81e34000     4421 amdgpu_polaris10_pfp_2_bin.ko
15    1 0xffffffff81e39000     441f amdgpu_polaris10_me_2_bin.ko
16    1 0xffffffff81e3e000     241f amdgpu_polaris10_ce_2_bin.ko
17    1 0xffffffff81e41000     5d3d amdgpu_polaris10_rlc_bin.ko
18    1 0xffffffff81e47000    40431 amdgpu_polaris10_mec_2_bin.ko
19    1 0xffffffff81e88000    40433 amdgpu_polaris10_mec2_2_bin.ko
20    1 0xffffffff81ec9000     331f amdgpu_polaris10_sdma_bin.ko
21    1 0xffffffff81ecd000     3321 amdgpu_polaris10_sdma1_bin.ko
22    1 0xffffffff81ed1000    5bbfd amdgpu_polaris10_uvd_bin.ko
23    1 0xffffffff81f2d000    28d1d amdgpu_polaris10_vce_bin.ko
24    1 0xffffffff81f56000    1fe51 amdgpu_polaris10_k_smc_bin.ko
25    1 0xffffffff81f76000     2698 intpm.ko
26    1 0xffffffff81f79000      b40 smbus.ko
27    1 0xffffffff81f7a000     1860 uhid.ko
28    1 0xffffffff81f7c000     2908 ums.ko
29    1 0xffffffff81f7f000     1a40 wmt.ko
30    1 0xffffffff81f81000      acf mac_ntpd.ko
31    1 0xffffffff81f82000     87d0 tmpfs.ko
32    1 0xffffffff81f8b000     2940 nullfs.ko
```

Note the amdgpu firmware loaded. It should recognize the model and load firmware. In my case I have polaris12 on one machine and polaris10 on another.

So find out *why* it is not loading the modules?

You can see the modules available - `ls -l /boot/modules/*amdgpu*`


----------



## virajg (Dec 16, 2020)

Argentum said:


> It works with EFI here, on different machines. That is why `hw.syscons.disable=1` is needed in /boot/loader.conf. Note that if you disable syscons and the modesetting does not start, you will have a blank console. But the machine still works. Good to have sshd enabled, so you can log in from another machine.
> 
> *What is the exact model of your GPU?* Fresh AMD models work with `kld_list="amdgpu"`, older models with radeonkms.
> 
> ...


How do I find out the "why" part? My GPU is a Vega11 on a Ryzen 5 3400G. In "/boot/modules", I see all the amdgpu ones. I see vega10 & vega12, but not 11. Does this mean it's not supported? Also, I don't know what code that "neofetch" thing uses to detect GPUs, but that detects it as a Picasso & the modules for picasso are in "/boot/modules".


----------



## Argentum (Dec 16, 2020)

virajg said:


> How do I find out the "why" part? My GPU is a Vega11 on a Ryzen 5 3400G. In "/boot/modules", I see all the amdgpu ones. I see vega10 & vega12, but not 11. Does this mean it's not supported? Also, I don't know what code that "neofetch" thing uses to detect GPUs, but that detects it as a Picasso & the modules for picasso are in "/boot/modules".


*That is a good question.* Now I can see myself that *there is no Vega11* module. Maybe this card is not supported. DRM modules come from Linux. This is even not directly a FreeBSD issue. I have no personal experience with Vega. My advice is to take (just for experiment) an external GPU, which has a proven support and try again. 

P.S. I keep an idle RX 550 in my drawer for that purpose - I card I know for sure is working well.


----------



## Alexander88207 (Dec 16, 2020)

Ryzen 5 3400G Graphics needs atleast linux 5.3 drm drivers. The current stable graphics/drm-kmod is 4.16 which should be update soon. If you cant wait, you can take FreeBSD 13-CURRENT with graphics/drm-devel-kmod.


----------



## Argentum (Dec 16, 2020)

Alexander88207 said:


> Ryzen 5 3400G Graphics needs atleast linux 5.3 drm drivers. The current stable graphics/drm-kmod is 4.16 which should be update soon. If you cant wait, you can take FreeBSD 13-CURRENT with graphics/drm-devel-kmod.


Or you can also copy the Vega11 modules from FreeBSD 13 and put them in the /boot/modules directory. This may work.

As an *ugly hack,* you can try to change the names of Vega10 modules to Vega11 and see what happens. Most probably it *does not work*, but who knows. The file sizes of Vega10 and Vega12 modules are the same...

You can also try to run Xorg without DRM. Not so nice, but it may also work. Remove the amdgpu from rc.conf and reinstall x11-drivers/xorg-drivers with AMDGPU enabled:






Try to run `Xorg -configure` and see what it does. Ishould show the AMDGPU section instead of modesetting.


----------



## nickbernstein (Dec 19, 2020)

freeze said:


> After installing KDE and SDDM, startx would no longer work and I kept getting the "No Screen Found". Here are the specs of the laptop I'm working with:


I think your problem might be easier than it sounds. Also my apologies if someone else has already mentioned this in another reply; I haven't read through the entire thread.

SDDM is a display manager, which runs on screen 0 by default.
startx starts your window manager of choice from the console and runs, by default on screen 0.
They can't both run on the same screen.

If you installed SDDM, you would not want to use startx, and if you use startx, you don't want to run sddm.

Try doing a "service sddm stop" followed by a startx and see if your window manager gets launched. If you want to use startx, make sure your ~/.xinitrc has the command to start your window manager.

You can also try the script I wrote to setup a desktop and see if that works for you. It would actually be really useful to see if it correctly sets up the gpu and all of that: https://github.com/nicholasbernstein/install-fbsd-desktop


----------



## Argentum (Dec 19, 2020)

nickbernstein said:


> If you installed SDDM, you would not want to use startx, and if you use startx, you don't want to run sddm.


Agree with that. That is the point of SSDM. If sddm does not start for some reason, one can try the x11/slim. This is simpler, may save your day before you find out whats wrong with sddm.


----------



## virajg (Dec 22, 2020)

Argentum said:


> Agree with that. That is the point of SSDM. If sddm does not start for some reason, one can try the x11/slim. This is simpler, may save your day before you find out whats wrong with sddm.


Tried the suggested changes to disable SDDM & just do a "startx" with kde start command in my ".xinitrc". Doesn't work. Also tried the re-install of X11-drivers, but with that & "amdgpu" disabled in "rc.conf", the amdgpu drivers don't load. Changing Vega10 & 12 to 11, didn't help either. I guess I'll just be patient & wait till 13-RELEASE comes out. If the processor support needs linux 5.3, then looks like that's what I need to wait for.

Thank you to all who took time to suggest all these steps. At least I know where the issue is or I think I do & I also got to learn about what to look at when problems with display drivers come up.


----------



## virajg (Apr 15, 2021)

*UPDATE:*

Install 13-RELEASE on the same machine with the Ryzen5 3400G with Vega11. Did a pkg install for drm-kmod & everything is working just fine. No issues with UEFI either. Don't need to disable syscons during start up.


----------

