Improving the Intel Extreme Driver (Was: Graphics on Dell laptop in Vesa mode only)

That’s a good point… maybe eventually I’ll be able to take a look at the app_server source to see how difficult it would be to add acceleration support, if someone else doesn’t get to it sooner :sweat_smile:

What kind of acceleration support in app_server is desired? Bitmap blitting, gradient shader etc.?

Essentially, any type that’s needed for light gaming, since that’s most of what I do on my PC. It’d be nice to at least be able to run games like Minetest at a decent frame rate :slight_smile:

Some of that could be useful for certain workstation applications, as well.

app_server acceleration is not needed for gaming, only game window contents need to be accelerated, the rest (window, control drawing etc.) can be handled by CPU.

In that case, I’m not sure what exactly is needed to implement that type of acceleration; all I know is that it seemingly hasn’t been implemented yet :stuck_out_tongue:

Userland hardware acceleration driver loaded by game and kernel graphics driver counterpart are needed. app_server can be kept mostly unchanged. See: Vulkan lavapipe software rendering is working on Haiku, VideoStreams: Media Kit-like 3D hardware acceleration kit for Haiku.

1 Like

Noted, thanks for the information :slight_smile:

Ah very nice to see…
which game for example for testing?
Small tipps how to test welcome, thx for makeing big progress!

I just updated 10 minutes ago to the latest version hrev55457 and now haiku does not start anymore, the third icon of the boot remains the one of the hardware peripherals.

yesterday i had upgraded too and everything was working fine so i suspect it is related to these changes…
mine is a laptop with an intel hd 4000, which already had the problem that if I tried to change the resolution it went to black screen and the external hdmi monitor never worked.
not starting I would not know how to attach the log.

edit:
here last log but i don’t know if it includes the last boot attempt.

EDIT AGAIN :
i guess i was wrong, it seems i can’t boot due to another problem:
I investigated better, trying to boot in safe mode, with the visual log on the screen, and it seems that it freezes while scanning the usb ports, it must be said that I have installed haiku on a 32gb usb stick and not I know what not booting depends on.

so i apologize for making noise here, can someone help me figure out what the problem could be so i open a bug report that makes sense?

1 Like

Possibly this issue that just popped up.
https://dev.haiku-os.org/ticket/17275

1 Like

lol what a bad luck, I broke my haiku, for updating an bad version, if I updated tomorrow I wouldn’t even notice this nasty bug.

Yes, it appears I introduced a boot-breaking regression in all USB bus drivers except XHCI (USB3) yesterday. I just fixed that in hrev55459.

5 Likes

Hi @waddlesplash
How could i go about recovering my haiku (64bit) without having to reinstall everything again, since i can’t boot, i can access haiku partition via linux, where can i find the specific file causing the non booting and replace it? can you kindly help me?
Maybe attaching it zipped, it could be useful to many others who have come across this problem.

BTW, the acceleration in the accelerants is for 2D drawing primitives (copy (blit) a block of memory, fill an area with a color, draw a line…). While the app_Server once did use them it does this nolonger, though I think I saw the code is still there, but turned off. Since these days doing 2D (like) acceleration would be done also via the ‘3D engine’, it’s outdated. Also, since the interface between graphics cards and the CPU/main memory is nolonger a big bottleneck like it was in AGP, but especially in PCI (non-e) days, unaccelerated desktop drawing can indeed be handled by the CPU(s).

Though on older systems that haiku still runs on nicely (like my 32-bit Dell laptop), its a bit of a shame this old acceleration type is nolonger in use, as there (even with AGP-fastwrites turned on), the desktop is a bit sluggish now where otherwise it would be snappy.

Anyhow… time flies, and my laptop keeps getting older :wink:

1 Like

You can boot into the previous state before you upgraded, to go back to a working version of Haiku. See the notes in the “Under Select boot volume…” bullet point in the Boot Loader documentation.

1 Like

thanks, i was not aware of it

Edit: @waddlesplash
I was able to recover the boot immediately.
but in doing so I discovered something, which perhaps could be interesting for you developers …
I have an External GPU, a 3GB Geforce GTX 1060 connected to the PCI express port where I keep my 4K TV connected, when I booted, I realized that the menu that made me select a working version of HAiku was cloned on the TV 4K, then only the laptop screen did the boot on the intel GPU … how is this possible? is this a good prerequisite to be able to boot on the GEFORCE instead of the intel GPU? is it something you devs already know about or is it a “lucky event”?
IMG_20210928_211948
IMG_20210928_212005
IMG_20210928_212310

2 Likes

If you see boot info on other screen and you use UEFI it probably means you can select
screen to use at boot in BIOS setup or by key-combo. You might then be able to get Haiku on that screen. At least with VESA driver as that just uses a framebuffer from what was setup by UEFI.

2 Likes

Yes the pc is through UEFI
but unfortunately, since the EGPU is a “do it yourself” kit, in the bios of this laptop I have no possibility of making this switch, nor is there a combo button that allows me to prefer the external GPU.

On linux and windows , the Nvidia is activated automatically because these systems support multi gpu
However, I have good hopes that sooner or later it will arrive on haiku since it already recognizes the EGPU on PCie, and in any case at the moment I would not benefit from it, since there is no acceleration.
IMG_20210928_220900

So, you are saying that the internal screen uses Intel video, while the external 4k screen is connected to nviida, and nvidia is a seperate, placed by yourself, GPU card inside that laptop?
Can you share more details on how this setup looks like hardware wise? (external card with some cable, internel plugin minicard…)

If you, while having two seperate graphics cards, see the bootmenu on -both- cards, then that is something I’ve personally never seen before yet. And this would mean, that with a minimal driver (no coldstart support in it) you would -indeed- be able to use both cards, if app_server would support it.

If the nivida driver would support your card, you’d see this now already in the /dev/graphics folder. And that is something I’ve seen very often already (5 or 6 cards even :wink: )

2 Likes

this is similar to my setup

but on this forum, there is a world dedicated to EGPUs, there are solutions for all budgets, and there are probably better kits than mine, which is a bit dated.

1 Like