Hell RVP
On Thu, 7 Oct 2021, Riza Dindir wrote:
>
> I have tried first to change the GENERIC configuration, it changes to
> the genfb0 to use the other output. But did not work.
>
Hmm. Can you post a dmesg for this?
> I have then tried the hack, and the dmesg output is as such:
>
> [ 1.016451] genfb1 at pci0 dev 1 function 0: vendor 1002 product 1309 (rev. 0x00)
> [ 1.016451] genfb1: framebuffer at 0xe0000000, size 1366x768, depth 32, stride 5632
> [ 1.016451] genfb1: shadow framebuffer enabled, size 4224 KB
> [ 1.016451] wsdisplay0 at genfb1 kbdmux 1: console (default, vt100 emulation), using wskbd0
> [ 1.016451] drm at genfb1 not configured
> [ 1.016451] genfb0 at pci1 dev 0 function 0: vendor 1002 product 6604 (rev. 0x00)
> [ 1.017188] genfb0 at pci1 dev 0 function 0: vendor 1002 product 6604 (rev. 0x00)
> [ 1.017188] genfb0: framebuffer at 0xe0000000, size 1366x768, depth 32, stride 5632
> [ 1.017188] genfb0: shadow framebuffer enabled, size 4224 KB
> [ 1.017188] wsdisplay0 at genfb0 kbdmux 1: console (default, vt100 emulation), using wskbd0
> [ 1.017188] drm at genfb0 not configured
>
This is not right. With the hack and the GENERIC config, you should see
something like:
[...] pci0 dev 1 function 0 not configured
Here's what I got from my kernel before it panicked (as there's now no
console if I disable my sole video card):
[ 1.0333894] vendor 8086 product 0166 (VGA display, revision 0x09) at pci0 dev 2 function 0 not configured
Check that you've done the compilation and the patch right.
I taught that I will do the hack, but leave the configuration in tact as
genfb* at pci? dev ? function ?
Anyways I will do this again. The status of the genfb before the new kernel is this (at this stage the system uses the stock kernel, which is the GENERIC kernel).
[ 1.017054] genfb0 at pci0 dev 1 function 0: vendor 1002 product 1309 (rev. 0x00)
[ 1.017054] genfb0: framebuffer at 0xe0000000, size 1366x768, depth 32, stride 5632
[ 1.017054] genfb0: shadow framebuffer enabled, size 4224 KB
[ 1.017054] wsdisplay0 at genfb0 kbdmux 1: console (default, vt100 emulation), using wskbd0
[ 1.017054] drm at genfb0 not configured
[ 1.017054] genfb1 at pci1 dev 0 function 0: vendor 1002 product 6604 (rev. 0x00)
At this stage both the devices are not shown as "not configured".
I have done this in the renamed kernel configuration.
#genfb* at pci? dev ? function ?
genfb0 at pci1 dev 0 function 0
genfb1 at pci0 dev 1 function 0
I am in /usr/src/sys/arch/amd64/conf and configure the kernel using
# config GENERIC_RADEON_GENFB
Build directory is ../compile/GENERIC_RADEON_GENFB
Don't forget to run "make depend"
Then I do this to compile the kernel.
# cd ../compile/GENERIC_RADEON_GENFB/
# make depend
# make
Then I do this to save the old kernel and install the new kernel and reboot
# mv /netbsd /netbsd.old
# mv netbsd /
Here is the output for the genfb devices from the dmesg.
[ 1.016985] genfb0 at pci1 dev 0 function 0: vendor 1002 product 6604 (rev. 0x00)
[ 1.016985] genfb0: framebuffer at 0xe0000000, size 1366x768, depth 32, stride 5632
[ 1.016985] genfb0: shadow framebuffer enabled, size 4224 KB
[ 1.016985] wsdisplay0 at genfb0 kbdmux 1: console (default, vt100 emulation), using wskbd0
[ 1.016985] drm at genfb0 not configured
[ 1.016765] genfb1 at pci0 dev 1 function 0: vendor 1002 product 1309 (rev. 0x00)
[ 1.016765] genfb1: framebuffer at 0xe0000000, size 1366x768, depth 32, stride 5632
[ 1.016765] genfb1: shadow framebuffer enabled, size 4224 KB
[ 1.016765] wsdisplay0 at genfb1 kbdmux 1: console (default, vt100 emulation), using wskbd0
[ 1.016765] drm at genfb1 not configured
[ 1.016765] genfb0 at pci1 dev 0 function 0: vendor 1002 product 6604 (rev. 0x00)
It does the correct thing and puts the 6604 on genfb0 device. This also does assign the same framebuffer to both genfb0 and genfb1. Wouldn't this mean that both the monitor and the will use the same framebuffer memory, and so if everything works fine as we assume (the VGA output is enabled), the monitor should display the same output as the laptop monitor?