GMA500 support
Greetings,
Im syncing my gma500 tree to all the patches I see pass through the kernel mailinglist and its progressing well.
However, It would be nice with an todo list or a more practical this-works list. I know its not a priority but would simplify alot for end users.
Best wishes
Kristoffer Ericson
Quoted 6 lines · On Mon, 21 Nov 2011 19:29:10 +0100 Kristoffer Ericson…
Greetings,
Im syncing my gma500 tree to all the patches I see pass through the kernel mailinglist and its progressing well.
However, It would be nice with an todo list or a more practical this-works list. I know its not a priority but would simplify alot for end users.
If you configure it in the following should work on GMA500/600
- internal laptop displays including backlight
- external svga
- mode setting via KMS
- framebuffer console
- the framebuffer X server (and once out generally Dave Airlie's generic KMS X server)
- suspend/resume
The following I know don't work
- Huge external displays so large they won't fit in 8MB at init time (causes a crash)
- Using the vesa X server with it - this confuses stuff and isn't fixable, it's a "wrong user configuration"
Unsupported
- 2D hardware acceleration except console scrolling (as it seems to be too slow to be useful). I may add some 2D bits later where they do help (eg back to front blitting may be worth it just about)
- 3D engine (no public documentation)
- Video playback acceleration. In theory there is enough info in the VAAPI code for GMA500/600 that has been published and in the old 'binary X/source kernel' driver to do this but someone will have to work on it if they want it
- Dell Mini HDMI port. This seems to be some kind of external bridge chip. Being a TV luddite I don't yet own an HDMI capable display to test.
And I'm sure we have a few bugs left !
Alan
Quoted 5 lines · Alan Cox
Quoted 2 lines · On Mon, 21 Nov 2011 19:29:10 +0100 Kristoffer Ericson wrote:
Greetings,
Quoted 8 lines
Quoted 4 lines
Im syncing my gma500 tree to all the patches I see pass through the kernel mailinglist and its progressing well.
However, It would be nice with an todo list or a more practical this-works list. I know its not a priority but would simplify alot for end users.If you configure it in the following should work on GMA500/600
- internal laptop displays including backlight
- external svga
Worth pointing out is that DDC for external displays isn't working until my fixes for SDVO gets in there. Manually setting a mode works fine. Otherwise you'll default to 1280x1024 (or was it 1024x768?).
Quoted 5 lines
- mode setting via KMS
- framebuffer console
- the framebuffer X server (and once out generally Dave Airlie's generic KMS X server)
- suspend/resume
- Sync to vblank is supported on gma500
Quoted 7 lines
The following I know don't work
- Huge external displays so large they won't fit in 8MB at init time (causes a crash)
- Using the vesa X server with it - this confuses stuff and isn't fixable, it's a "wrong user configuration"
Quoted 12 lines
Unsupported
- 2D hardware acceleration except console scrolling (as it seems to be too slow to be useful). I may add some 2D bits later where they do help (eg back to front blitting may be worth it just about)
- 3D engine (no public documentation)
- Video playback acceleration. In theory there is enough info in the VAAPI code for GMA500/600 that has been published and in the old 'binary X/source kernel' driver to do this but someone will have to work on it if they want it
- Dell Mini HDMI port. This seems to be some kind of external bridge chip. Being a TV luddite I don't yet own an HDMI capable display to test.
I suspect this is just DVI with a HDMI connector. That is the case for Fit-PC2. It is hooked up to the SDVO and provides video but no audio.
Quoted 5 lines
And I'm sure we have a few bugs left !
Alan
Quoted 10 lines · Patrik Jakobsson
Quoted 9 lines · Alan Cox
Quoted 6 lines · On Mon, 21 Nov 2011 19:29:10 +0100 Kristoffer Ericson wrote:
Greetings,
Im syncing my gma500 tree to all the patches I see pass through the kernel mailinglist and its progressing well.
However, It would be nice with an todo list or a more practical this-works list. I know its not a priority but would simplify alot for end users.
Big thanks for list!
Quoted 3 lines
Quoted 3 lines
If you configure it in the following should work on GMA500/600
- internal laptop displays including backlight
It works for me, however if external display is connected it defaults to 1024x768 (as patrik pointed out). The internal screen gets mirrored and therefore looses about 600x768 pixels (which look like memory garbage).
Without external monitor however I get "full" sized screen (1600x768). My laptop is a sony vgn-p21z/r so its a wide-screen laptop, therefore the weird resolution.
Quoted 6 lines
Quoted 1 line
- external svga
Worth pointing out is that DDC for external displays isn't working until my fixes for SDVO gets in there. Manually setting a mode works fine. Otherwise you'll default to 1280x1024 (or was it 1024x768?).
Quoted 12 lines
Quoted 5 lines
- mode setting via KMS
- framebuffer console
- the framebuffer X server (and once out generally Dave Airlie's generic KMS X server)
- suspend/resume- Sync to vblank is supported on gma500
Quoted 4 lines
The following I know don't work
- Huge external displays so large they won't fit in 8MB at init time (causes a crash)
Im not able to set any resolution at all for the external screen, its always 1024x768. I cannot be 100% sure that its not my external screen not accepting the 1600x768 resolution and they therefor find the largest compatible resolution.
Quoted 8 lines
Quoted 8 lines
- Using the vesa X server with it - this confuses stuff and isn't fixable, it's a "wrong user configuration"
Unsupported
- 2D hardware acceleration except console scrolling (as it seems to be too slow to be useful). I may add some 2D bits later where they do help (eg back to front blitting may be worth it just about)
- 3D engine (no public documentation)
Can any parts of the i915 be used?
Quoted 16 lines
Quoted 7 lines
- Video playback acceleration. In theory there is enough info in the VAAPI code for GMA500/600 that has been published and in the old 'binary X/source kernel' driver to do this but someone will have to work on it if they want it
- Dell Mini HDMI port. This seems to be some kind of external bridge chip. Being a TV luddite I don't yet own an HDMI capable display to test.I suspect this is just DVI with a HDMI connector. That is the case for Fit-PC2. It is hooked up to the SDVO and provides video but no audio.
Quoted 5 lines
And I'm sure we have a few bugs left !
Alan
Quoted 3 lines · On Thu, 24 Nov 2011 17:20:14 +0100 Kristoffer Ericson…
It works for me, however if external display is connected it defaults to 1024x768 (as patrik pointed out). The internal screen gets mirrored and therefore looses about 600x768 pixels (which look like memory garbage).
That sounds like a bug in the internal screen set up. In mirrorred mode picking 1024x768 is reasonable enough but it ought to be centreing and/or scaling the display.
Quoted 7 lines
Quoted 3 lines
Worth pointing out is that DDC for external displays isn't working until my fixes for SDVO gets in there. Manually setting a mode works fine. Otherwise you'll default to 1280x1024 (or was it 1024x768?).
Im not able to set any resolution at all for the external screen, its always 1024x768. I cannot be 100% sure that its not my external screen not accepting the 1600x768 resolution and they therefor find the largest compatible resolution.
See above 8)
Quoted 6 lines
Quoted 4 lines
Quoted 4 lines
- 2D hardware acceleration except console scrolling (as it seems to be too slow to be useful). I may add some 2D bits later where they do help (eg back to front blitting may be worth it just about)
- 3D engine (no public documentation)Can any parts of the i915 be used?
Alas not
Alan
Quoted 2 lines
Quoted 2 lines
I suspect this is just DVI with a HDMI connector. That is the case for Fit-PC2. It is hooked up to the SDVO and provides video but no audio.
I've now got an HDMI capable display *and* the right cables. Testing the Dell mini 10 shows that it works although it's defaulting to the wrong mode and there is stuff on the display below the picture that shouldn't be.
So I now also have a debug case for the scaling or whatever is actually going on problem.
Alan
Quoted 8 lines
Quoted 2 lines
Quoted 2 lines
I suspect this is just DVI with a HDMI connector. That is the case for Fit-PC2. It is hooked up to the SDVO and provides video but no audio.
I've now got an HDMI capable display *and* the right cables. Testing the Dell mini 10 shows that it works although it's defaulting to the wrong mode and there is stuff on the display below the picture that shouldn't be.
Quoted 4 lines
So I now also have a debug case for the scaling or whatever is actually going on problem.
From what I've seen on my Asus 1201HA, the mode the framebuffer code gets is
the biggest common mode of both displays. Since we get garbage outside the scan-out buffer on the LVDS output I assume that the common mode doesn't find it's way to LVDS mode setting (or maybe it just ignores it).
Also, do we know if the LVDS panel fitter code actually works? I don't have access to my hardware at the moment but it would be interesting to see what happens if you set a non-native resolution for LVDS at boot that overrides the native one (without having anything connected to SDVO). Maybe you have tried this already?
One thing I recall reading somewhere is that the panel fitter needs to be restored upon re-enabling the pipe, and that the PFIT_CONTROL register must be written to while the pipe is off. Doing DPMS off and then DPMS on might disable the panel fitter.
Quoted 4 lines
Quoted 1 line
From what I've seen on my Asus 1201HA, the mode the framebuffer code gets is
the biggest common mode of both displays. Since we get garbage outside the scan-out buffer on the LVDS output I assume that the common mode doesn't find it's way to LVDS mode setting (or maybe it just ignores it).
It seems to be getting the wrong mode. I've not had much time to dig further into this yet.
Quoted 25 lines · Alan Cox
Quoted 6 lines · On Mon, 21 Nov 2011 19:29:10 +0100 Kristoffer Ericson…
Greetings,
Im syncing my gma500 tree to all the patches I see pass through the kernel mailinglist and its progressing well.
However, It would be nice with an todo list or a more practical this-works list. I know its not a priority but would simplify alot for end users.If you configure it in the following should work on GMA500/600
- internal laptop displays including backlight
- external svga
- mode setting via KMS
- framebuffer console
- the framebuffer X server (and once out generally Dave Airlie's generic KMS X server)
- suspend/resumeThe following I know don't work
- Huge external displays so large they won't fit in 8MB at init time (causes a crash)
- Using the vesa X server with it - this confuses stuff and isn't fixable, it's a "wrong user configuration"
Quoted 5 lines
Unsupported
- 2D hardware acceleration except console scrolling (as it seems to be too slow to be useful). I may add some 2D bits later where they do help (eg back to front blitting may be worth it just about)
- 3D engine (no public documentation)
I understand that the chip is powerv SGX 535, any likelyhood of getting those datasheets opened by the company?
Quoted 11 lines
- Video playback acceleration. In theory there is enough info in the VAAPI code for GMA500/600 that has been published and in the old 'binary X/source kernel' driver to do this but someone will have to work on it if they want it
- Dell Mini HDMI port. This seems to be some kind of external bridge chip. Being a TV luddite I don't yet own an HDMI capable display to test.And I'm sure we have a few bugs left !
Alan
Quoted 4 lines
Quoted 1 line
- 3D engine (no public documentation)
I understand that the chip is powerv SGX 535, any likelyhood of getting those datasheets opened by the company?
I'd be surprised.
Quoted 5 lines
Quoted 5 lines
- Dell Mini HDMI port. This seems to be some kind of external bridge chip. Being a TV luddite I don't yet own an HDMI capable display to test.
And I'm sure we have a few bugs left !
I do now have an HDMI capable display. Just the ASUS I bought came with every cable as standard but not HDMI. I'll finally test the HDMI bits when the cable arrives !
Alan
Quoted 4 lines · Alan Cox
- Video playback acceleration. In theory there is enough info in the VAAPI code for GMA500/600 that has been published and in the old 'binary X/source kernel' driver to do this but someone will have to work on it if they want it
Hi Alan,
Are you referring to the VAAPI driver found in this repository?
http://cgit.freedesktop.org/vaapi/pvr-driver
From a quick look this seems to be developed for Poulsbo, but since you mention GMA600 explicitly, is it supposed to work on newer hardware as well? I'm specifically interested in the Atom N2600 which has a GMA3600 (0x8086:0x0be1 to be exact).
I'm also not sure which kernel driver this was developed against. It looks like it might have been against the initial staging variant. At least it still has some references to TTM, so I guess anyone wanting to port it to the new kernel driver would have to convert those to GEM.
Do you think that would be doable? Can you say if the GMA3600 is sufficiently similar to make that driver work?
Thierry
Quoted 4 lines
From a quick look this seems to be developed for Poulsbo, but since you mention GMA600 explicitly, is it supposed to work on newer hardware as well? I'm specifically interested in the Atom N2600 which has a GMA3600 (0x8086:0x0be1 to be exact).
I believe there are GMA600 and 3600 bits buried in the packages for Maemo/Meego/Tizen vaapi code but I've not looked.
Quoted 4 lines
I'm also not sure which kernel driver this was developed against. It looks like it might have been against the initial staging variant. At least it still has some references to TTM, so I guess anyone wanting to port it to the new kernel driver would have to convert those to GEM.
The one for the 3D/2D non-free user space driver. I've been working on Cedartrail primarily at the moment so not had time to dig further into the video playback logic. I did get the decoder detected and mapped happily but haven't yet had time to persuade the firmware to upload.
It'll also need the driver extending to support the overlay planes feature in the DRI/DRM layer.
Quoted 2 lines
Do you think that would be doable? Can you say if the GMA3600 is sufficiently similar to make that driver work
I don't know for sure.
Alan
Quoted 18 lines · Alan Cox
Quoted 4 lines
From a quick look this seems to be developed for Poulsbo, but since you mention GMA600 explicitly, is it supposed to work on newer hardware as well? I'm specifically interested in the Atom N2600 which has a GMA3600 (0x8086:0x0be1 to be exact).
I believe there are GMA600 and 3600 bits buried in the packages for Maemo/Meego/Tizen vaapi code but I've not looked.
Quoted 4 lines
I'm also not sure which kernel driver this was developed against. It looks like it might have been against the initial staging variant. At least it still has some references to TTM, so I guess anyone wanting to port it to the new kernel driver would have to convert those to GEM.
The one for the 3D/2D non-free user space driver. I've been working on Cedartrail primarily at the moment so not had time to dig further into the video playback logic. I did get the decoder detected and mapped happily but haven't yet had time to persuade the firmware to upload.
Quoted 7 lines
It'll also need the driver extending to support the overlay planes feature in the DRI/DRM layer.
Quoted 2 lines
Do you think that would be doable? Can you say if the GMA3600 is sufficiently similar to make that driver work
I don't know for sure.
Thanks, I'll dig some more.
Thierry
Quoted 4 lines · Kristoffer Ericson
Greetings,
Im syncing my gma500 tree to all the patches I see pass through the kernel mailinglist and its progressing well.
I remember you talking about this, where can I get your tree?
Quoted 6 lines
However, It would be nice with an todo list or a more practical this-works list. I know its not a priority but would simplify alot for end users.
Best wishes
Kristoffer Ericson
Thanks
Patrik
Quoted 9 lines · Patrik Jakobsson
Quoted 4 lines · Kristoffer Ericson
Greetings,
Im syncing my gma500 tree to all the patches I see pass through the kernel mailinglist and its progressing well.
I remember you talking about this, where can I get your tree?
Im working through my kernel.org re-authorization process (require signatures on my key), otherwise it used to be located on:
git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-gma500.git
I hope to get it up within one or two weeks. Ive applied patches to my local tree which is based on 3.1 currently (+ all latest patches).
Quoted 9 lines
Quoted 6 lines
However, It would be nice with an todo list or a more practical this-works list. I know its not a priority but would simplify alot for end users.
Best wishes
Kristoffer EricsonThanks
Patrik