Dear JocelynThanks for answer and help Ok, I will try linux 6.1 (could you
confirm that every commit in 6.1 before 965361 should be relevant ?)If I need
to have "~correct or better to say 'acceptable' year 2025 performances~" on
AST2400 VGA card it's because at the hardware level if I select the NVIDIA
discrete GPU as the main server video output, I lost all the server management
benefits and capabilities of the AST2400 BMC (except PSU management) as I get a
black screen... And it's dangerous as keyboard and mouse keep working on the
black screen and so, can launch destructive actions without knowing it !Also
I'm still surprise by Thomas answer as the aspeed drm drivers 1.15.1 is dated
of December 2024... And Jammy Huang from AspeedTech teold me to contact here to
upstream the ast_new adaptation I've made after he knows that I did version
1.15.1 work on mainline (Aspeed only support LTS kernel and their dkms package
were not usable out-of-the-box on mainline)I may surely be wrong and some
explanations could help me to understand which is the actual situation of ast
driver in kernel tree.I would let you know the results in 6.1Again thanks a lot
for help !Kind regards, Nicolas Baranger
-------- Message d'origine --------De : Jocelyn Falempe <jfale...@redhat.com>
Date : 14/02/2025 10:11 (GMT+01:00) À : Nicolas Baranger
<nicolas.baran...@3xo.fr>, Thomas Zimmermann <tzimmerm...@suse.de> Cc :
dri-devel@lists.freedesktop.org, airl...@redhat.com, Maarten Lankhorst
<maarten.lankho...@linux.intel.com>, Maxime Ripard <mrip...@kernel.org>, David
Airlie <airl...@gmail.com>, Simona Vetter <sim...@ffwll.ch>,
linux-ker...@vger.kernel.org Objet : Re: Include ASPEED ast-drm 1.15.1 video
driver in kernel tree On 13/02/2025 10:27, Nicolas Baranger wrote:> Dear
Thomas> > Thanks for answer and help.> > Yes, due to .date total removal in
linux 6.14 (https://github.com/ >
torvalds/linux/commit/cb2e1c2136f71618142557ceca3a8802e87a44cd <https:// >
github.com/torvalds/linux/commit/ > cb2e1c2136f71618142557ceca3a8802e87a44cd>)
the last DKMS sources are :>
https://xba.soartist.net/ast-drm_nba_20250211/nba-dkms/ >
nba_last_src_20250212/src/ <https://xba.soartist.net/ast- >
drm_nba_20250211/nba-dkms/nba_last_src_20250212/src/>> > You can also find this
sources in directory drivers/gpu/drm/ast_new of > the tarball
https://xba.soartist.net/ast-drm_nba_20250211/nba-kernel/ >
linux-6.14.0.1-ast1.15.1-rc2_nba0_20250212.tar.gz <https:// >
xba.soartist.net/ast-drm_nba_20250211/nba-kernel/linux-6.14.0.1- >
ast1.15.1-rc2_nba0_20250212.tar.gz>> > I'm surprised by the fact the in-kernel
driver 0.1.0 is more advanced > than Aspeed version 1.15.1 because on my system
it has very poor > rendering and is very slow, twinkle is high and had poor
colors.> The screen flickering is high and it's like if I was using a very old
> cathode ray tube monitor (In fact I'm using a SAMSUNG LCD monitor which > is
perfectly functionnal and which display a nice and eyes confortable > picture
when using ast 1.15.1 driver or the video output of the Nvidia > GPU ).> > > My
testing system is a test Xeon server with an AST2400 BMC with its AST > VGA
card as the main video output (to be able to have a screen on the > BMC KVM) +a
discrete NVIDIA GPU I'm using for GPGPU and 3D rendering > with Nvidia prime
render offload.> What I constat with embed kernel driver 0.1.0 is that the Xeon
processor > is doing the video job for example when watching a video, and it's
not > the case with version 1.15.1 even when displaying on the AST VGA card a >
vulkan rotating cube (compute by nvidia GPU with nvidia prime but > display by
the AST VGA card of the AST2400).> Note that with in-kernel version 0.1.0 it's
nearly impossible to make > round the vulkan cube at more than half a round by
second where it's > working (very) fine for a 32MB video memory card with
version 1.15.1 as > you can see in the video present in the online directory> >
I'm not developer or kernel developer so be sure that I wouldn't have > done
all this work if the in-kernel ast version 0.1.0 was usable out-of- > the-box>
> Sure you can give me a patch I will test on this server (building >
mainline+ast_new yesterday tooks 19 minutes on this server)> > PS:> here is a
'git diff linux-6.14.0.1-ast-rc2/drivers/gpu/drm/ast >
linux-6.14.0.1-ast-rc2/drivers/gpu/drm/ast_new'>
https://xba.soartist.net/ast-drm_nba_20250211/nba-dump/ast- > fullpatch.patch
<https://xba.soartist.net/ast-drm_nba_20250211/nba-dump/ >
ast-fullpatch.patch>> Diff is about 250+ kb so the 2 drivers seems to have
nothing to do with > each others...> > Thanks again for help> > Kind regards>
Nicolas> > > Le 2025-02-13 08:57, Thomas Zimmermann a écrit :> >> Hi
Nicolas>>>> Am 12.02.25 um 19:58 schrieb Nicolas Baranger:>>> Dear
maintener>>>> That's mostly me and Jocelyn.>>>>>>>> I did include ast-drm
driver version 1.15.1 (in replacement of >>> version 0.1.0) on the new mainline
kernel too (6.14.0-rc2) and I >>> issue a new dkms patch>>>>>> Last DKMS patch
had been sucessfully tested on mainline.>>> And last ast.ko version 1.15.1
included in linux tree had also been >>> sucessfully tested>>>>>> Online
directory is updated with :>>> - new DKMS patch>>> - new DKMS srouces>>> - new
DKMS debian package>>> - new tarball of mainline included ast_new ported in
kernel tree>>> - new kernel debian package (mainline with ast_new)>>>>>>>>> NB:
online directory is here: https://xba.soartist.net/ast- >>> drm_nba_20250211/
<https://xba.soartist.net/ast-drm_nba_20250211/>>>>>>> Please let me know what
I should do to see this change in linux-next>>>> I'm having a little trouble
with figuring out which of the many driver >> sources is the relevant one. Am I
correct to assume it's the one at>>>>
https://xba.soartist.net/ast-drm_nba_20250211/nba-dkms/ >>
nba_last_src_20250212/src/ <https://xba.soartist.net/ast- >>
drm_nba_20250211/nba-dkms/nba_last_src_20250212/src/>>>>>>> About that driver:
Although the official driver reports an ancient >> version number, it is an
up-to-date driver. It is actually more up-to- >> date than Aspeed's package.
Both drivers share source code and a few >> years ago there was an effort to
bring the kernel's driver up to the >> same feature set. Since then, the
kernel's driver has been updated, >> reworked and improved.>>>> About the
performance: From what I can tell, the only significant >> difference in these
drivers is memory management. Your ast_new driver >> uses an older algorithm
that we replaced quite a few releases ago. The >> old version was unreliable on
systems with little video memory, so we >> had to replace it. I don't know why
the new code should be slower though.Regarding the performances of ast driver,
I remember doing profiling some times ago, and when running glxgears (with
llvmpipe), 65% of the CPU time was wasted in page fault
(https://elixir.bootlin.com/linux/v6.13.2/source/drivers/gpu/drm/drm_gem_shmem_helper.c#L534)But
as this driver is mostly used for console/basic desktop usage, I didn't
investigate more.If I remember correctly, the switch to shmem, is because some
devices have only 16MB of memory, and 1920x1200x32bits takes ~9MB, so it's not
possible to have double buffering in this case. (And this is required by most
desktop environment).The switch to shmem was done with "f2fa5a99ca81c drm/ast:
Convert ast to SHMEM", and introduced in v6.2. So maybe if you can try with a
v6.1 kernel, using the built-in ast driver and report if it has better
performances.Best regards,-- Jocelyn>>>> If I give you a patch against a recent
Linux kernel, are you capable >> of building the patched kernel and testing
that change on your system?>>>> Best regards>> Thomas>>>>>>>>>> Thanks for
help>>>>>> Kind regards>>> Nicolas Baranger>>>>>>>>> Le 2025-02-11 19:15,
Nicolas Baranger a écrit :>>>>>>> Dear maintener>>>>>>>> For my own usage, I
did make work the ASPEED ast-drm 1.15.1 video >>>> driver on mainline kernel
(6.13.0 + 6.13.1).>>>>>>>> ASPEED video driver is availiable here:>>>>
https://www.aspeedtech.com/file/support/Linux_DRM_1.15.1_4.tar.gz >>>>
<https://www.aspeedtech.com/file/support/Linux_DRM_1.15.1_4.tar.gz>>>>>>>>> But
it only work for LTS kernel>>>> So I modify the DKMS package and I build a new
Debian DKMS package >>>> with the adapted source.>>>> My patch can be find
here :>>>> https://xba.soartist.net/ast-drm_nba_20250211/nba-dkms/astdiff.patch
>>>> <https://xba.soartist.net/ast-drm_nba_20250211/nba-dkms/astdiff.patch>>>>>
See the README:>>>>
https://xba.soartist.net/ast-drm_nba_20250211/nba-dkms/README >>>>
<https://xba.soartist.net/ast-drm_nba_20250211/nba-dkms/README>>>>>>>>> Using
this new 'ast 1.15.1' driver, performance are amazing compared >>>> to the
'ast' driver include in kernel tree, specially when using a >>>> discrete GPU
and offloading VULKAN / 3D on it but using AST VGA card >>>> as the main video
card and as the main and only video output (the >>>> discrete GPU is used only
for offloading 3D or for cuda/opencl)>>>>>>>> So to make things easier, I
include the new 'ast 1.15.1' driver in >>>> kernel tree as AST_NEW :
linux-6.13.1-ast/drivers/gpu/drm/ast_new'>>>> It's working fine as you can see
on this video :>>>> https://xba.soartist.net/ast-drm_nba_20250211/ >>>>
vulcan_nvidia_prime_render_offload_on_ast_vga_card.webm <https:// >>>>
xba.soartist.net/ast-drm_nba_20250211/ >>>>
vulcan_nvidia_prime_render_offload_on_ast_vga_card.webm> I upload >>>> all the
work I've done here :>>>> https://xba.soartist.net/ast-drm_nba_20250211/
<https:// >>>> xba.soartist.net/ast-drm_nba_20250211/>>>>>>>>> See the global
README :>>>> https://xba.soartist.net/ast-drm_nba_20250211/README <https://
>>>> xba.soartist.net/ast-drm_nba_20250211/README>>>>>>>>> and the README in
nba-kernel sub-directory :>>>>
https://xba.soartist.net/ast-drm_nba_20250211/nba-kernel/README >>>>
<https://xba.soartist.net/ast-drm_nba_20250211/nba-kernel/README>>>>>>>>> I'm
not a developer so please let me know if I made the things the >>>> right way
and if this new 'ast 1.15.1' driver can be ported to >>>> linux-next or linux-?
?>>>> If you need more explanations, do not hesitate to contact me, I >>>>
would be happy to help>>>>>>>> Kind regards>>>> Nicolas Baranger