Opened 6 years ago

Closed 6 years ago

#8008 closed defect (duplicate)

refresh problem with etoys in joyride-2301 (8.2.0 update 2)

Reported by: mzimmerm Owned by: cscott
Priority: blocker Milestone: 8.2.0 (was Update.2)
Component: etoys-activity Version: Development build as of this date
Keywords: blocks:8.2.0 8.2.0:+ joyride-2363:+ Cc: cscott, mstone, dsd
Blocked By: Blocking:
Deployments affected: Action Needed: code
Verified: no

Description

Environment:
I ran olpc-update joyride-2301
I updated al activities to latest from control panel

when running etoys, and put cursor on top of the car, some bits do not get refreshed. there ar othr refresh problems, I think all related to the mouse cursor image having non-transparent background.

Change History (22)

comment:1 Changed 6 years ago by bert

  • Blocked By 7612 added
  • Priority changed from normal to blocker
  • Version changed from not specified to Development build as of this date

Yes we know, this is caused by #7612.

A temporary work-around is to disable usage of X shared memory by removing the -xshm option from /usr/bin/etoys (causing a performance degradation but makes the artefacts go away).

comment:2 Changed 6 years ago by mzimmerm

i see sorry for the duplicate and thanks for the workaround.

comment:3 Changed 6 years ago by bert

No need to apologize - it's goof to have a ticket in the etoys component, too.

comment:4 Changed 6 years ago by bert

hehe, I meant "good"

comment:5 Changed 6 years ago by bert

  • Action Needed changed from never set to design
  • Keywords blocks:8.2.0 added

We need to decide what to do for the 8.2 release.

A different work-around is disabling the big cursor, but the tiny one is really hardly visible on the XO's screen.

comment:6 follow-up: Changed 6 years ago by bert

  • Keywords 8.2.0:+ added

Jordan writes in #7612 that we should better go ahead and apply a workaround.

Adding a work-around is trivial, so 8.2.0:+, but which one do we want? I'd rather disable Xshm than having a tiny mouse pointer.

comment:7 in reply to: ↑ 6 ; follow-up: Changed 6 years ago by ohshima

Replying to bert:

Adding a work-around is trivial, so 8.2.0:+, but which one do we want? I'd rather disable Xshm than having a tiny mouse pointer.

Alternatively, we could have an aliased bigger cursor (assuming that it works).

comment:8 in reply to: ↑ 7 Changed 6 years ago by bert

Replying to ohshima:

Alternatively, we could have an aliased bigger cursor (assuming that it works).

I just tried that, I can confirm a 32x32 1-bit cursor works without artifacts even if Xshm is enabled. But we would need to add yet another support code function to the VM (ioSetCursorWithMaskBig?) and more in-image support ... Are you going to code that up? Disabling Xshm on the XO only is a two-line patch.

comment:9 follow-up: Changed 6 years ago by cscott

I'm going to disable Xshm on the 8.2 stream, but leave it enabled in joyride in the hopes that we can actually fix the root cause.

comment:10 follow-up: Changed 6 years ago by bert

Workaround tested working in 8.2-754.

comment:11 in reply to: ↑ 10 Changed 6 years ago by mzimmerm

Replying to bert:

Workaround tested working in 8.2-754.

it worked in 754, but it is broken again in 8.2-756

comment:12 in reply to: ↑ 9 ; follow-up: Changed 6 years ago by bert

  • Cc cscott added

Replying to cscott:

I'm going to disable Xshm on the 8.2 stream, but leave it enabled in joyride in the hopes that we can actually fix the root cause.

Since you re-enabled Xshm globally, could you please disable it for Etoys specifically in the 8.2 stream, by deleting the -xshm option in /usr/bin/etoys? Thanks!

comment:13 in reply to: ↑ 12 Changed 6 years ago by bert

Replying to bert:

Replying to cscott:

I'm going to disable Xshm on the 8.2 stream, but leave it enabled in joyride in the hopes that we can actually fix the root cause.

Since you re-enabled Xshm globally, could you please disable it for Etoys specifically in the 8.2 stream, by deleting the -xshm option in /usr/bin/etoys? Thanks!

I have a better workaround without a performance penalty, as suggested by Yoshiki above. The next /usr/bin/etoys script will have a line like this:

export SQUEAK_FAKEBIGCURSOR=0

Please change that to 1 to work around the bug. It will also require a new Squeak VM package that I am about to release.

comment:14 Changed 6 years ago by bert

  • Action Needed changed from design to code
  • Cc mstone added
  • Owner changed from etoys to bert

So the new packages are in 8.2-757, now pilgrim needs to enable the workaround. Or do you want me to enable it by default in a new package?

comment:15 Changed 6 years ago by cscott

Pilgrim fix checked in for next 8.2 build.

comment:16 follow-up: Changed 6 years ago by dsd

  • Cc dsd added

Fixed properly in xorg-x11-server-1.4.99.906-2.olpc3.2, coming soon to a joyride near you. We should not need the workaround

comment:17 in reply to: ↑ 16 Changed 6 years ago by bert

Replying to dsd:

Fixed properly in xorg-x11-server-1.4.99.906-2.olpc3.2

Fantastic!

comment:18 Changed 6 years ago by dsd

  • Keywords joyride-2363:+ added

comment:19 Changed 6 years ago by mzimmerm

Thanks - I will wait for 8.2-758 to appear and test it.

comment:20 Changed 6 years ago by bert

  • Owner changed from bert to cscott

works - please remove enanling the workaround.

comment:21 Changed 6 years ago by dsd

  • Blocked By 7612 removed

Let's track this in #7612

comment:22 Changed 6 years ago by dsd

  • Resolution set to duplicate
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.