Author Topic: [GAMES] Quake 3 source port with Vulkan renderer (vkQuake3)  (Read 10592 times)

tle

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +53/-0
    • View Profile
    • Trung's Personal Website
[GAMES] Quake 3 source port with Vulkan renderer (vkQuake3)
« on: September 21, 2023, 05:56:00 am »
This is yet another source port for Quake 3 and considered one of the best Vulkan renderer port out there.



I am happy that the author has finally accepted my Pull Request to make it compile for ppc64le

https://github.com/suijingfeng/vkQuake3/pull/18
Faithful Linux enthusiast

My Raptor Blackbird

power9mm

  • Full Member
  • ***
  • Posts: 109
  • Karma: +8/-3
    • View Profile
Re: [GAMES] Quake 3 source port with Vulkan renderer (vkQuake3)
« Reply #1 on: October 02, 2023, 05:07:10 pm »
all of the engines currently still use an interpreter for QVM (which means really bad performance, noticeable in the mod CPMA), quake3e plans on having native support for ppc64le eventually.

tle

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +53/-0
    • View Profile
    • Trung's Personal Website
Re: [GAMES] Quake 3 source port with Vulkan renderer (vkQuake3)
« Reply #2 on: October 02, 2023, 05:15:13 pm »
all of the engines currently still use an interpreter for QVM (which means really bad performance, noticeable in the mod CPMA), quake3e plans on having native support for ppc64le eventually.

Could you please point me to the conversation about native support for ppc64le?
Faithful Linux enthusiast

My Raptor Blackbird

MPC7500

  • Hero Member
  • *****
  • Posts: 606
  • Karma: +42/-1
    • View Profile
    • Twitter
Re: [GAMES] Quake 3 source port with Vulkan renderer (vkQuake3)
« Reply #3 on: October 02, 2023, 06:01:44 pm »
I'm pretty sure he's referencing to your own feature request.

power9mm

  • Full Member
  • ***
  • Posts: 109
  • Karma: +8/-3
    • View Profile
Re: [GAMES] Quake 3 source port with Vulkan renderer (vkQuake3)
« Reply #4 on: October 02, 2023, 06:14:40 pm »
I'm pretty sure he's referencing to your own feature request.

its mainly on the discord. The main dev is in ukraine so deals with bombings.

I should add quake3e as it is can compile just fine on ppc64le (after one guy made some hacky build instructions to slap on it), and it performs better than ioquake3 and the like still.
« Last Edit: October 02, 2023, 06:28:33 pm by power9mm »

power9mm

  • Full Member
  • ***
  • Posts: 109
  • Karma: +8/-3
    • View Profile
Re: [GAMES] Quake 3 source port with Vulkan renderer (vkQuake3)
« Reply #5 on: August 13, 2024, 03:35:33 am »
Quake3e still needs a bytecode compiler for ppc64le if you were still interested in helping with that.

tle

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +53/-0
    • View Profile
    • Trung's Personal Website
Re: [GAMES] Quake 3 source port with Vulkan renderer (vkQuake3)
« Reply #6 on: August 13, 2024, 03:59:34 am »
Quake3e still needs a bytecode compiler for ppc64le if you were still interested in helping with that.

It would be great if someone who has more experiences to tackle https://github.com/ec-/Quake3e/issues/232. I am more than happy to tag along to learn and help out whatever I could
Faithful Linux enthusiast

My Raptor Blackbird

ClassicHasClass

  • Sr. Member
  • ****
  • Posts: 491
  • Karma: +39/-0
  • Talospace Earth Orbit
    • View Profile
    • Floodgap
Re: [GAMES] Quake 3 source port with Vulkan renderer (vkQuake3)
« Reply #7 on: December 04, 2024, 10:03:18 am »
I don't think this would work as written for the original PowerPC Q3VM, which was big-endian (little-endian PowerPC wasn't really a thing in those days). There may also be a few 32-64 bit edges, though I would think that would be minor.

power9mm

  • Full Member
  • ***
  • Posts: 109
  • Karma: +8/-3
    • View Profile
Re: [GAMES] Quake 3 source port with Vulkan renderer (vkQuake3)
« Reply #8 on: December 05, 2024, 10:14:02 am »
I don't think this would work as written for the original PowerPC Q3VM, which was big-endian (little-endian PowerPC wasn't really a thing in those days). There may also be a few 32-64 bit edges, though I would think that would be minor.
it wouldn't, it needs a new one. Game/sourceport still works as is though, just some mods will have performance degradation..

tle

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +53/-0
    • View Profile
    • Trung's Personal Website
Re: [GAMES] Quake 3 source port with Vulkan renderer (vkQuake3)
« Reply #9 on: March 08, 2025, 08:54:19 pm »
> I don't think this would work as written for the original PowerPC Q3VM, which was big-endian (little-endian PowerPC wasn't really a thing in those days). There may also be a few 32-64 bit edges, though I would think that would be minor.

@ClassicHasClass if you have capacity, I would love to pair with you to see if we could add optimisation for LE for the ioq3 port (which is supposed to be the most supported / de-facto source port for Q3)

ref: https://github.com/ioquake/ioq3/blob/main/code/qcommon/vm_powerpc_asm.c
Faithful Linux enthusiast

My Raptor Blackbird

tle

  • Sr. Member
  • ****
  • Posts: 490
  • Karma: +53/-0
    • View Profile
    • Trung's Personal Website
Re: [GAMES] Quake 3 source port with Vulkan renderer (vkQuake3)
« Reply #10 on: March 08, 2025, 08:55:08 pm »
Btw, for Fedorans out there, the quake3 has been broken and so-out-date, I hope my PR https://src.fedoraproject.org/rpms/quake3/pull-request/2 would be reviewed and merged before Fedora 42 is out.
Faithful Linux enthusiast

My Raptor Blackbird

ClassicHasClass

  • Sr. Member
  • ****
  • Posts: 491
  • Karma: +39/-0
  • Talospace Earth Orbit
    • View Profile
    • Floodgap
Re: [GAMES] Quake 3 source port with Vulkan renderer (vkQuake3)
« Reply #11 on: March 09, 2025, 09:58:13 pm »
I'm happy to advise, but I can't really do much coding for it. I'm still committed to maintaining the Firefox JIT (in at least the current state) and the DOSBox JIT and my actual coding time in front of the Talos II is increasingly limited.

That said, https://github.com/ioquake/ioq3/blob/main/code/qcommon/vm_powerpc.c looks like where you'd need to do most of the work to get ppc64le to work. ppc64 is a supported target, so you'd need to audit this for endianness and write ppc64le-specific code paths for those sections that assume big endian. That may be sufficient to get it off the ground.