Hello Juanito:
Now that the xfe issue has been solved, I'd like to see if we get back to this one: TinyCore, Nouveau, it's lack of stability and why it won't work in TC.
... vmlinuz would need to be replaced and an extension made for the additional modules.
... given the kconfig warning, it is unlikely that this functionality would be added in future versions ...
I've been spending some time burning DVDs and checking what drivers different distributions use and what goes on inside the kernel configuration files.
While I clearly understand the type of problems that enabling DRM_LEGACY could entail ...
menuconfig DRM_LEGACY
bool "Enable legacy drivers (DANGEROUS)"
depends on DRM && MMU
select DRM_VM
help
Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
APIs to user-space, which can be used to circumvent access
restrictions and other security measures. For backwards compatibility
those drivers are still available, but their use is highly
inadvisable and might harm your system.
... the fact that Devuan, Mint, Open Suse and Ubuntu (to name just these four) use Nouveau drivers in their distributions makes me think that we
may be looking at this the wrong way or there's something we are missing. (using the pronoun
we very generously).
I, for one, am missing absolutely everything, but I'm trying. 8^O!
What I mean to say is that the chaps in charge of packaging these mainstream distributions are
certainly not oblivious to the menuconfig DRM_LEGACY warning you have quoted and there is absolutely nothing that leads me to think they are
going rogue with respect to kernel security issues, so to speak. Especially in the case of the Devuan maintainers.
But in all these distributions the Nouveau drivers work
out of the box with the right native resolution for the installed screen and will run my three screen hardware setup with just some tweaking of a bespoke xorg.conf file, to the extent that said file can be transplanted between distributions without much issue.
So ...
What is going on?
I booted up Devuan, Mint and OpenSuse to see what I could find in terms of kernel configuration and try to compare it to the TCore kernel configuration, but I can't find it. I did found some pertinent entries (ie: Nouveau and DRM_LEGACY) in the other distribution files, albeit in different places.
Devuan kernel configuration:
ACP (Audio CoProcessor) Configuration
#
CONFIG_DRM_AMD_ACP=y
CONFIG_DRM_NOUVEAU=m <<<<<<<
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_I915=m
# CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_I915_GVT is not set
---
# Display Interface Bridges
#
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
CONFIG_HSA_AMD=m
CONFIG_DRM_LEGACY=y <<<<<<<
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
# CONFIG_DRM_I810 is not set
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
Mint 17.1 kernel configuration. Note that there is no DRM_LEGACY entry:
# I2C encoder or helper chips
#
CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_PTN3460=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
# CONFIG_DRM_RADEON_UMS is not set
CONFIG_DRM_NOUVEAU=m <<<<<<<
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_I810=m
CONFIG_DRM_I915=m
CONFIG_DRM_I915_KMS=y
CONFIG_DRM_I915_FBDEV=y
CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT=y
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m
CONFIG_DRM_VMWGFX=m
CONFIG_DRM_VMWGFX_FBCON=y
CONFIG_DRM_GMA500=m
CONFIG_DRM_GMA600=y
CONFIG_DRM_GMA3600=y
CONFIG_DRM_UDL=m
CONFIG_DRM_AST=m
# CONFIG_DRM_MGAG200 is not set
CONFIG_DRM_CIRRUS_QEMU=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_BOCHS is not set
CONFIG_DRM_PANEL=y
Open Suse kernel configuration:
# AMD Library routines
#
CONFIG_CHASH=m
# CONFIG_CHASH_STATS is not set
# CONFIG_CHASH_SELFTEST is not set
CONFIG_DRM_NOUVEAU=m <<<<<<<
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
# CONFIG_NOUVEAU_DEBUG_MMU is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_I915=m
# CONFIG_DRM_I915_ALPHA_SUPPORT is not set
CONFIG_DRM_I915_CAPTURE_ERROR=y
CONFIG_DRM_I915_COMPRESS_ERROR=y
CONFIG_DRM_I915_USERPTR=y
CONFIG_DRM_I915_GVT=y
CONFIG_DRM_I915_GVT_KVMGT=m
---
# Display Interface Bridges
#
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
CONFIG_HSA_AMD=m
# CONFIG_DRM_HISI_HIBMC is not set
CONFIG_DRM_TINYDRM=m
CONFIG_TINYDRM_MIPI_DBI=m
CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_ILI9341=m
# CONFIG_TINYDRM_MI0283QT is not set
CONFIG_TINYDRM_REPAPER=m
CONFIG_TINYDRM_ST7586=m
CONFIG_TINYDRM_ST7735R=m
CONFIG_DRM_XEN=y
CONFIG_DRM_XEN_FRONTEND=m
# CONFIG_DRM_LEGACY is not set <<<<<<<
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=m
# CONFIG_DRM_LIB_RANDOM is not set
Like I said earlier, I can't make heads or tails of all this but I think the secret to making Nouveau feasible in TCore is there.
I'm attaching the full configuration files for you to see. In case you need more info, please let me know.
Cheers,
MM