You are not logged in.

#1 2022-09-24 16:55:13

Morta
Member
Registered: 2019-07-07
Posts: 655

No framebuffer patch. Is there a solution in view?

Hi

I need to patch every kernel with no framebuffer patch. Is there a solution in view?

I did a bug report on kernel.org but no impact still 3 months.

commit 07186778cf645cc79e6913a28dadf445cd3e2439
Author: Javier Martinez Canillas <javierm@redhat.com>
Date:   Tue Jun 7 20:23:36 2022 +0200

    fbdev: Disable sysfb device registration when removing conflicting FBs
    
    [ Upstream commit ee7a69aa38d87a3bbced7b8245c732c05ed0c6ec ]
    
    The platform devices registered by sysfb match with firmware-based DRM or
    fbdev drivers, that are used to have early graphics using a framebuffer
    provided by the system firmware.
    
    DRM or fbdev drivers later are probed and remove conflicting framebuffers,
    leading to these platform devices for generic drivers to be unregistered.
    
    But the current solution has a race, since the sysfb_init() function could
    be called after a DRM or fbdev driver is probed and request to unregister
    the devices for drivers with conflicting framebuffes.
    
    To prevent this, disable any future sysfb platform device registration by
    calling sysfb_disable(), if a driver requests to remove the conflicting
    framebuffers.
    
    Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220607182338.344270-4-javierm@redhat.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

diff --git b/drivers/video/fbdev/core/fbmem.c a/drivers/video/fbdev/core/fbmem.c
index 643383d74edc..85de02d0d3aa 100644
--- b/drivers/video/fbdev/core/fbmem.c
+++ a/drivers/video/fbdev/core/fbmem.c
@@ -19,7 +19,6 @@
 #include <linux/kernel.h>
 #include <linux/major.h>
 #include <linux/slab.h>
-#include <linux/sysfb.h>
 #include <linux/mm.h>
 #include <linux/mman.h>
 #include <linux/vt.h>
@@ -1788,17 +1787,6 @@ int remove_conflicting_framebuffers(struct apertures_struct *a,
 		do_free = true;
 	}
 
-	/*
-	 * If a driver asked to unregister a platform device registered by
-	 * sysfb, then can be assumed that this is a driver for a display
-	 * that is set up by the system firmware and has a generic driver.
-	 *
-	 * Drivers for devices that don't have a generic driver will never
-	 * ask for this, so let's assume that a real driver for the display
-	 * was already probed and prevent sysfb to register devices later.
-	 */
-	sysfb_disable();
-
 	mutex_lock(&registration_lock);
 	do_remove_conflicting_framebuffers(a, name, primary);
 	mutex_unlock(&registration_lock);

@logs @seth ?

Thx

Offline

#2 2022-09-24 17:27:00

loqs
Member
Registered: 2014-03-06
Posts: 17,363

Re: No framebuffer patch. Is there a solution in view?

Offline

#3 2022-09-25 14:46:23

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

Ok. I never ranted a Kernelcoder or Supplier. What can I for that a not so friendly person crash my thread on kernel.org?

I patch my kernel wit a nofb.patch so and It's working but is a lot of work!

So I ask you nicely what I can do to change the patch to mainline kernel or that fixing this issue?

Offline

#4 2022-09-25 15:26:08

loqs
Member
Registered: 2014-03-06
Posts: 17,363

Re: No framebuffer patch. Is there a solution in view?

For kernel.org you need to reproduce the issue using the current mainline or stable with an untainted kernel meaning no out of tree modules such as nvidia.
From the nvidia side there is https://github.com/NVIDIA/open-gpu-kern … s/pull/356 or https://github.com/NVIDIA/open-gpu-kern … s/pull/342

Offline

#5 2022-09-25 17:10:42

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

loqs wrote:

For kernel.org you need to reproduce the issue using the current mainline or stable with an untainted kernel meaning no out of tree modules such as nvidia.
From the nvidia side there is https://github.com/NVIDIA/open-gpu-kern … s/pull/356 or https://github.com/NVIDIA/open-gpu-kern … s/pull/342

Thanks for reply!

If I use nvidia-open-dkms-git (515.57.r0.g94eaea972-1)
or  nvidia-open-git (515.57.r0.g94eaea972-1)

the patch is in it?

So I can use the stable kernel without no framebuffer patch and also doesn’t need a dkms version of the nvidia driver because I didn‘t need to build the kernel anymore.

Offline

#6 2022-09-25 18:37:39

loqs
Member
Registered: 2014-03-06
Posts: 17,363

Re: No framebuffer patch. Is there a solution in view?

No they are both pull requests so need to be added as additional patches.  Extra issue they no longer apply cleanly due to other changes in the repo.
Try applying the patch below to https://aur.archlinux.org/pkgbase/nvidia-open-git then try either of the packages it produced.

diff --git a/150-nvidia-remove-drivers-trying-to-take-the-framebuffer.patch b/150-nvidia-remove-drivers-trying-to-take-the-framebuffer.patch
new file mode 100644
index 0000000..f9695d1
--- /dev/null
+++ b/150-nvidia-remove-drivers-trying-to-take-the-framebuffer.patch
@@ -0,0 +1,57 @@
+diff --git a/kernel-open/Kbuild b/kernel-open/Kbuild
+index 42c14d686..ca08333da 100644
+--- a/kernel-open/Kbuild
++++ b/kernel-open/Kbuild
+@@ -229,6 +229,7 @@ NV_HEADER_PRESENCE_TESTS = \
+  drm/drm_ioctl.h \
+  drm/drm_device.h \
+  drm/drm_mode_config.h \
++ drm/drm_aperture.h \
+  dt-bindings/interconnect/tegra_icc_id.h \
+  generated/autoconf.h \
+  generated/compile.h \
+@@ -246,6 +247,7 @@ NV_HEADER_PRESENCE_TESTS = \
+  linux/sched/signal.h \
+  linux/sched/task.h \
+  linux/sched/task_stack.h \
++ linux/aperture.h \
+  xen/ioemu.h \
+  linux/fence.h \
+  linux/dma-resv.h \
+diff --git a/kernel-open/nvidia-drm/nvidia-drm-drv.c b/kernel-open/nvidia-drm/nvidia-drm-drv.c
+index cf2080db3..b4abcb4dd 100644
+--- a/kernel-open/nvidia-drm/nvidia-drm-drv.c
++++ b/kernel-open/nvidia-drm/nvidia-drm-drv.c
+@@ -84,6 +84,14 @@
+ #include <drm/drm_atomic_helper.h>
+ #endif
+ 
++#if defined(NV_DRM_DRM_AERTURE_H_PRESENT)
++#include <drm/drm_aperture.h>
++#endif
++
++#if defined(NV_LINUX_APERTURE_H_PRESENT)
++#include <linux/aperture.h>
++#endif
++
+ static struct nv_drm_device *dev_list = NULL;
+ 
+ #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
+@@ -941,6 +949,17 @@ static void nv_drm_register_drm_device(const nv_gpu_info_t *gpu_info)
+         NV_DRM_DEV_LOG_ERR(nv_dev, "Failed to register device");
+         goto failed_drm_register;
+     }
++/*
++ * Remove conflicting framebuffers, some framebuffers might interfere
++ * with the operation of nvidia-drm(eg. nouveau) so remove all that
++ * might.
++ */
++#if defined(NV_LINUX_APERTURE_H_PRESENT)
++    /* Linux 6.0-rc1 has this, the drm apreture func wraps this */
++    aperture_remove_conflicting_pci_devices(to_pci_dev(device), "nvidia-drm");
++#elif defined(NV_DRM_DRM_AERTURE_H_PRESENT)
++    drm_aperture_remove_conflicting_pci_framebuffers(to_pci_dev(device), dev);
++#endif
+ 
+     /* Add NVIDIA-DRM device into list */
+ 
diff --git a/PKGBUILD b/PKGBUILD
index 64879c0..85e6c99 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,7 +2,7 @@
 
 pkgbase=nvidia-open-git
 pkgname=('nvidia-open-git' 'nvidia-open-dkms-git')
-pkgver=515.57.r0.g94eaea972
+pkgver=515.76.r0.gfe0728787
 pkgrel=1
 pkgdesc='NVIDIA open GPU kernel modules (git version)'
 arch=('x86_64')
@@ -14,18 +14,21 @@ source=('git+https://github.com/NVIDIA/open-gpu-kernel-modules.git'
         '110-nvidia-open-change-dkms-conf.patch'
         '120-nvidia-open-linux-rt-gift.patch'
         '130-nvidia-open-reproducible-build.patch'
-        '140-nvidia-open-gcc-ibt-sls.patch')
+        '140-nvidia-open-gcc-ibt-sls.patch'
+        '150-nvidia-remove-drivers-trying-to-take-the-framebuffer.patch')
 sha256sums=('SKIP'
             '009724e2e07b7be589ba455f225a9742d88a3a29383f2f220cb830ef4c8b7aea'
             'b0f62a78f749ff3a104197c12b6d885352adcf35fb5ecf00c4cd4c51b4195e45'
             'b7ac1ca4d72fc8392e6682df616d53ba4e9d4e761217ac6339d32c377990cf64'
-            'b9cb1715caa3431c32d9a1b11bda4dd10986747214a2a952a01da913433c421f')
+            'b9cb1715caa3431c32d9a1b11bda4dd10986747214a2a952a01da913433c421f'
+            '03380ce49cd16fd60df389b7ed2906d8a0ee44b8b409ad5f774e0a987dd91b31')
 
 prepare() {
     patch -d open-gpu-kernel-modules -Np1 -i "${srcdir}/110-nvidia-open-change-dkms-conf.patch"
     patch -d open-gpu-kernel-modules -Np1 -i "${srcdir}/120-nvidia-open-linux-rt-gift.patch"
     patch -d open-gpu-kernel-modules -Np1 -i "${srcdir}/130-nvidia-open-reproducible-build.patch"
     patch -d open-gpu-kernel-modules -Np1 -i "${srcdir}/140-nvidia-open-gcc-ibt-sls.patch"
+    patch -d open-gpu-kernel-modules -Np1 -i "${srcdir}/150-nvidia-remove-drivers-trying-to-take-the-framebuffer.patch"
     
     [ -d dkms-src ] && rm -rf dkms-src
     cp -af open-gpu-kernel-modules/kernel-open dkms-src

Offline

#7 2022-09-25 19:41:16

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

If I make a file with name 150-nvidia-remove-drivers-trying-to-take-the-framebuffer.patch and a PKGBUILD.patch with content above it's says

The next patch would create the file 150-nvidia-remove-drivers-trying-to-take-the-framebuffer.patch,
which already exists!  Skipping patch.

What I'm doing wrong?

# Maintainer : Daniel Bermond <dbermond@archlinux.org>

pkgbase=nvidia-open-git
pkgname=('nvidia-open-git' 'nvidia-open-dkms-git')
pkgver=515.76.r0.gfe0728787
pkgrel=1
pkgdesc='NVIDIA open GPU kernel modules (git version)'
arch=('x86_64')
url='https://github.com/NVIDIA/open-gpu-kernel-modules/'
license=('MIT' 'GPL2')
makedepends=('git' 'linux-headers')
options=('!buildflags' '!lto' '!strip')
source=('git+https://github.com/NVIDIA/open-gpu-kernel-modules.git'
        '110-nvidia-open-change-dkms-conf.patch'
        '120-nvidia-open-linux-rt-gift.patch'
        '130-nvidia-open-reproducible-build.patch'
        '140-nvidia-open-gcc-ibt-sls.patch'
        '150-nvidia-remove-drivers-trying-to-take-the-framebuffer.patch')
sha256sums=('SKIP'
            '009724e2e07b7be589ba455f225a9742d88a3a29383f2f220cb830ef4c8b7aea'
            'b0f62a78f749ff3a104197c12b6d885352adcf35fb5ecf00c4cd4c51b4195e45'
            'b7ac1ca4d72fc8392e6682df616d53ba4e9d4e761217ac6339d32c377990cf64'
            'b9cb1715caa3431c32d9a1b11bda4dd10986747214a2a952a01da913433c421f'
            'c70d46048a94d4635d65b92f833d976c28f66e5320965685e7c13ff1a7594855')
prepare() {
    patch -d open-gpu-kernel-modules -Np1 -i "${srcdir}/110-nvidia-open-change-dkms-conf.patch"
    patch -d open-gpu-kernel-modules -Np1 -i "${srcdir}/120-nvidia-open-linux-rt-gift.patch"
    patch -d open-gpu-kernel-modules -Np1 -i "${srcdir}/130-nvidia-open-reproducible-build.patch"
    patch -d open-gpu-kernel-modules -Np1 -i "${srcdir}/140-nvidia-open-gcc-ibt-sls.patch"
    patch -d open-gpu-kernel-modules -Np1 -i "${srcdir}/150-nvidia-remove-drivers-trying-to-take-the-framebuffer.patch"
    
    [ -d dkms-src ] && rm -rf dkms-src
    cp -af open-gpu-kernel-modules/kernel-open dkms-src
}

pkgver() {
    git -C open-gpu-kernel-modules describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//'
}

build() {
    sed -i "s/__VERSION_STRING/${pkgver}/" {open-gpu-kernel-modules/kernel-open,dkms-src}/dkms.conf
    
    local -x KERNEL_UNAME
    
    # allow usage of custom kernel and building in a chroot
    if [ -d "/usr/lib/modules/$(uname -r)" ]
    then
        KERNEL_UNAME="$(uname -r)"
    else
        KERNEL_UNAME="$(find /usr/lib/modules -mindepth 1 -maxdepth 1 -type d | sed -n 's|.*/||;1p')"
    fi
    
    unset -v SYSSRC
    make -C open-gpu-kernel-modules modules
}

package_nvidia-open-git() {
    depends=('linux' "nvidia-utils=${pkgver/.r*/}" 'libglvnd')
    provides=("nvidia-open=${pkgver}" 'NVIDIA-MODULE')
    conflicts=('nvidia-open' 'NVIDIA-MODULE')
    
    local _kernver
    if [ -d "/usr/lib/modules/$(uname -r)" ]
    then
        _kernver="$(<"/usr/lib/modules/$(uname -r)/build/version")"
    else
        _kernver="$(find /usr/lib/modules -mindepth 1 -maxdepth 1 -type d | head -n1)"
        _kernver="$(<"/usr/lib/modules/${_kernver##*/}/build/version")"
    fi
    
    install -D -m644 open-gpu-kernel-modules/kernel-open/*.ko -t "${pkgdir}/usr/lib/modules/${_kernver}/extramodules"
    install -D -m644 open-gpu-kernel-modules/COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
    find "$pkgdir" -name '*.ko' -exec strip --strip-debug {} +
    find "$pkgdir" -name '*.ko' -exec xz -T1 {} +
    
    install -D -m644 <(printf '%s\n' 'options nvidia NVreg_OpenRmEnableUnsupportedGpus=1') "${pkgdir}/usr/lib/modprobe.d/nvidia-open.conf"
}

package_nvidia-open-dkms-git() {
    pkgdesc="$(sed 's/(\(git[[:space:]]version\)/(sources; \1/' <<< "$pkgdesc")"
    depends=('dkms' "nvidia-utils=${pkgver/.r*/}" 'libglvnd')
    provides=("nvidia-open=${pkgver}" 'NVIDIA-MODULE')
    conflicts=('nvidia-open' 'NVIDIA-MODULE')
    
    install -D -m644 open-gpu-kernel-modules/src/nvidia/_out/Linux_x86_64/nv-kernel.o \
        dkms-src/nvidia/nv-kernel.o_binary
    install -D -m644 open-gpu-kernel-modules/src/nvidia-modeset/_out/Linux_x86_64/nv-modeset-kernel.o \
        dkms-src/nvidia-modeset/nv-modeset-kernel.o_binary
    install -d -m755 "${pkgdir}/usr/src"
    cp -dr --no-preserve='ownership' dkms-src "${pkgdir}/usr/src/nvidia-${pkgver}"
    install -D -m644 open-gpu-kernel-modules/COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
    
    install -D -m644 <(printf '%s\n' 'options nvidia NVreg_OpenRmEnableUnsupportedGpus=1') "${pkgdir}/usr/lib/modprobe.d/nvidia-open.conf"
}
sha256sums=('SKIP'
            '009724e2e07b7be589ba455f225a9742d88a3a29383f2f220cb830ef4c8b7aea'
            'b0f62a78f749ff3a104197c12b6d885352adcf35fb5ecf00c4cd4c51b4195e45'
            'b7ac1ca4d72fc8392e6682df616d53ba4e9d4e761217ac6339d32c377990cf64'
            'b9cb1715caa3431c32d9a1b11bda4dd10986747214a2a952a01da913433c421f'
            'a887817c78fd8dcbcbb29f468d69707027c7b7cb79af8ca25b75f3b2d4a11a36')

My 150-nvidia-remove-drivers-trying-to-take-the-framebuffer.patch looks

diff --git a/150-nvidia-remove-drivers-trying-to-take-the-framebuffer.patch b/150-nvidia-remove-drivers-trying-to-take-the-framebuffer.patch
new file mode 100644
index 0000000..f9695d1
--- /dev/null
+++ b/150-nvidia-remove-drivers-trying-to-take-the-framebuffer.patch
@@ -0,0 +1,57 @@
+diff --git a/kernel-open/Kbuild b/kernel-open/Kbuild
+index 42c14d686..ca08333da 100644
+--- a/kernel-open/Kbuild
++++ b/kernel-open/Kbuild
+@@ -229,6 +229,7 @@ NV_HEADER_PRESENCE_TESTS = \
+  drm/drm_ioctl.h \
+  drm/drm_device.h \
+  drm/drm_mode_config.h \
++ drm/drm_aperture.h \
+  dt-bindings/interconnect/tegra_icc_id.h \
+  generated/autoconf.h \
+  generated/compile.h \
+@@ -246,6 +247,7 @@ NV_HEADER_PRESENCE_TESTS = \
+  linux/sched/signal.h \
+  linux/sched/task.h \
+  linux/sched/task_stack.h \
++ linux/aperture.h \
+  xen/ioemu.h \
+  linux/fence.h \
+  linux/dma-resv.h \
+diff --git a/kernel-open/nvidia-drm/nvidia-drm-drv.c b/kernel-open/nvidia-drm/nvidia-drm-drv.c
+index cf2080db3..b4abcb4dd 100644
+--- a/kernel-open/nvidia-drm/nvidia-drm-drv.c
++++ b/kernel-open/nvidia-drm/nvidia-drm-drv.c
+@@ -84,6 +84,14 @@
+ #include <drm/drm_atomic_helper.h>
+ #endif
+ 
++#if defined(NV_DRM_DRM_AERTURE_H_PRESENT)
++#include <drm/drm_aperture.h>
++#endif
++
++#if defined(NV_LINUX_APERTURE_H_PRESENT)
++#include <linux/aperture.h>
++#endif
++
+ static struct nv_drm_device *dev_list = NULL;
+ 
+ #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
+@@ -941,6 +949,17 @@ static void nv_drm_register_drm_device(const nv_gpu_info_t *gpu_info)
+         NV_DRM_DEV_LOG_ERR(nv_dev, "Failed to register device");
+         goto failed_drm_register;
+     }
++/*
++ * Remove conflicting framebuffers, some framebuffers might interfere
++ * with the operation of nvidia-drm(eg. nouveau) so remove all that
++ * might.
++ */
++#if defined(NV_LINUX_APERTURE_H_PRESENT)
++    /* Linux 6.0-rc1 has this, the drm apreture func wraps this */
++    aperture_remove_conflicting_pci_devices(to_pci_dev(device), "nvidia-drm");
++#elif defined(NV_DRM_DRM_AERTURE_H_PRESENT)
++    drm_aperture_remove_conflicting_pci_framebuffers(to_pci_dev(device), dev);
++#endif
+ 
+     /* Add NVIDIA-DRM device into list */
+

Offline

#8 2022-09-25 19:51:31

loqs
Member
Registered: 2014-03-06
Posts: 17,363

Re: No framebuffer patch. Is there a solution in view?

git clean -f #remove files not tracked by git
git reset --hard #undo any changes
curl -o PKGBUILD.diff http://ix.io/4br9 #get the diff from pastebin
git apply PKGBUILD.diff # apply the diff
makepkg -C # clean $srcdir then build package

Offline

#9 2022-09-26 14:13:42

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

Thanks Dude.

Offline

#10 2022-09-27 15:12:36

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

I have a question about nvidia-open-git driver. When I generate new initramfs ndvid nvidia_drm and nvidia_uvm modules are not found. Why?

Offline

#11 2022-09-27 15:25:11

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

Use nvidia-open-git-dkms instead of nvidia-open-git fix this issue!

Offline

#12 2022-09-27 15:29:14

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

Ok this patches doesn't fix my issue but worth to try

Last edited by Morta (2022-09-27 15:39:11)

Offline

#13 2022-09-27 17:47:30

loqs
Member
Registered: 2014-03-06
Posts: 17,363

Re: No framebuffer patch. Is there a solution in view?

Can you please report that on https://github.com/NVIDIA/open-gpu-kern … s/pull/356 so the author is made aware their fix is not working as expected.

Offline

#14 2022-09-27 18:07:25

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

Yes sir ;-) (I did it)

Offline

#15 2022-09-27 19:43:03

loqs
Member
Registered: 2014-03-06
Posts: 17,363

Re: No framebuffer patch. Is there a solution in view?

If I understand the cause of the issue correctly.  Your system has two GPUs one integrated into the BMC and the discrete nividia GPU.  The GPU for the BMC loads its framebuffer driver and that blocks the generic EFI framebuffer driver from being loaded which the nvidia driver would use.  If you block the driver for the BMC does that then allow the generic FB to load on the nvidia GPU?

Offline

#16 2022-09-28 07:50:33

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

How can I block the BMC GPU? I believe would worth to try you idea

Offline

#17 2022-09-28 08:10:00

seth
Member
Registered: 2012-09-03
Posts: 51,143

Re: No framebuffer patch. Is there a solution in view?

Blacklist "ast"
Use the kernel commandline https://wiki.archlinux.org/title/Kernel … and_line_2 and edit it at the bootloader.
If you write those changes onto the disk and the boot fails, you then won't have to fix it offline.

Offline

#18 2022-09-28 08:12:12

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

Thx I know how but I didn’t know the name of the bmc kernel module

Offline

#19 2022-09-28 15:57:40

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

You are f*king magicians. Thx! It's boot properly! Next step is to fix this issue the https://bbs.archlinux.org/viewtopic.php?pid=2055230

Is there a way without edit config file and compile the kernel by self?

Offline

#20 2022-09-28 16:30:23

loqs
Member
Registered: 2014-03-06
Posts: 17,363

Re: No framebuffer patch. Is there a solution in view?

If you wanted the ast module back you could change the blacklist to something like

install ast /usr/bin/modprobe nvidia; /usr/bin/modprobe --ignore-install ast

Which would load the nvidia module first which would hopefully be enough to also avoid the issue.

Last edited by loqs (2022-09-28 16:30:46)

Offline

#21 2022-09-28 16:43:17

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

I don‘t need BMC (ast) and never used but thanks for the hint!

Offline

#22 2022-10-21 18:03:59

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

Is the BMC(ast) module the driver for all VGA ports?

I would to like to buy a PCIe Asus 4xM2 Nvme Card and remove the NVIDIA Graphic card... 

I have also a PCI Port so I could buy a old PCI Graphic card but is this supported by the mainline kernel?

Offline

#23 2022-10-21 19:11:17

seth
Member
Registered: 2012-09-03
Posts: 51,143

Re: No framebuffer patch. Is there a solution in view?

loqs wrote:

If I understand the cause of the issue correctly.  Your system has two GPUs one integrated into the BMC and the discrete nividia GPU.  The GPU for the BMC loads its framebuffer driver and that blocks the generic EFI framebuffer driver from being loaded which the nvidia driver would use.

Your problem is teh collision of the two GPUs - if you remove the nvidia one and un-blacklist ast, you should™ be able to just  use the BMC.

I could buy a old PCI Graphic card but is this supported by the mainline kernel

That depends on the actual GPU, not the bus.
For nvidia PCI cards you'd certainly be left w/ nouveau, though.

Offline

#24 2022-10-22 13:21:36

Morta
Member
Registered: 2019-07-07
Posts: 655

Re: No framebuffer patch. Is there a solution in view?

Ok. Thx for reply.

Offline

Board footer

Powered by FluxBB