5

I installed Ubuntu 22.10 Desktop on an Onda Oliver Book. This is a 10 inch Windows tablet with keyboard.

Intel Gemini Lake refresh, Pentium N5030 Intel® UHD Graphics 605

Installation and also livesystem was only possible with save mode. During installation and also in UEFI the screen was in portrait mode and couldn’t be rotated.

Now when booting, I can use it with an external USBC screen but the internal screen only shows vertical black and white lines which seem to move when I type or move the cursor.

Maybe I need a driver for the screen? But how do I find out the exact model?

I already tried

  • to solve this via UEFI settings
  • tried to changed resolution
  • tried Elementary OS and Linux Mint

UPDATE: same result with Ubuntu Mate 22.04.5, Live system only works in Safe Graphics Mode 800x600 and the screen is rotated 90 degrees.

enter image description here

output of lshw -c display:

*-display UNCLAIMED
description: VGA compatible controller product: UHD Graphics 605
vendor: Intel Corporation physical id: 2
bus info: pci00000:00:02.0
version: 06 width: 64 bits
clock: 33MHZ
capabilities: pciexpress misi pm vga controller bus master cap list  
configuration: latency=0
resources: memory: a0000000 - alff memory:90000000-9ffffff ioport: f000...

output of hwinfo --display:

30: PCI 02.0: 0300 VGA compatible controller (VGA)              
  [Created at pci.386]
  Unique ID: _Znp.Dh0+vuvH7hC
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Device Name: "Onboard - Video"
  Model: "Intel UHD Graphics 605"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x3184 "UHD Graphics 605"
  SubVendor: pci 0x1e8b 
  SubDevice: pci 0x2212 
  Revision: 0x06
  Driver: "i915"
  Driver Modules: "i915"
  Memory Range: 0xa0000000-0xa0ffffff (rw,non-prefetchable)
  Memory Range: 0x90000000-0x9fffffff (ro,non-prefetchable)
  I/O Ports: 0xf000-0xf03f (rw)
  Memory Range: 0x000c0000-0x000dffff (rw,non-prefetchable,disabled)
  IRQ: 124 (205154 events)
  Module Alias: "pci:v00008086d00003184sv00001E8Bsd00002212bc03sc00i00"
  Driver Info #0:
    Driver Status: i915 is active
    Driver Activation Cmd: "modprobe i915"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

Primary display adapter: #30

UPDATE: I did an experiment opening a drawing program and taking fotos of the same drawing on internal and external screen:

  • a horizontal line isn't visible at all
  • a vertical line is shown as a horizontal line but without the color

external screen and internal touchscreen (should show the same)

11
  • in "safe mode" can you get a lshw -c display?
    – Jad
    Commented Feb 24, 2023 at 9:29
  • I added lshw -c display above
    – Hannes
    Commented Feb 24, 2023 at 10:08
  • it's not showing sensible identifiers ... can you get the output from hwinfo --display? (you will probably need to install hwinfo)
    – Jad
    Commented Feb 24, 2023 at 13:55
  • 1
    sorry, no improvement
    – Hannes
    Commented Feb 24, 2023 at 16:28
  • 1
    I added nomodeset to grub now the screen works somehow but it is still rotated (which can't be changed via display settings or xrandr) and has no touch
    – Hannes
    Commented Feb 25, 2023 at 13:21

1 Answer 1

1

I played around a lot with an Oliver Book and ArchLinux the last few days, and through painful trial and error, here are my findings:

  1. kernel parameters i915.modeset=0 and fbcon=rotate:1 make things work in safe-mode and rotate the tty so you can at least install properly

  2. The screen breaks because of (likely) some bug in i915 when modesetting is enabled, causing the initial modeset to fail spectacularly. BUT, when modesetting is enabled, starting and exiting some wayland compositors (like sway) fixes the broken graphics. You can set up a systemd service on boot that immediately starts sway -c myconfig with a config that immediately exits (exec swaymsg exit). After that, Both X11 and Wayland desktop environments work perfectly.

  3. You can even make the touchscreen work with a firmware file extracted from the Windows drivers. See the latest commit in https://github.com/Ferdi265/gsl-firmware for that. That file needs to go into /usr/lib/firmware/silead/mssl1680.fw until a proper driver fix for this device is added to the kernel. The touchscreen needs a calibration matrix though to map to the screen correctly.

I'm not sure how to actually stop the graphics glitch from happening, this is just a workaround that "unbreaks" it after a second or so. There might be a better way to stop it from happening (maybe with a video=DSI-1:some_mode_line kernel parameter?) or that fixes it more reliably (by triggering just the required modeset instead of starting and stopping sway).

Audio still doesn't work, though Linux does recognize something. No idea what the issue is there.

Anyway, shoutouts to my girlfriend for letting me play around with this bizzarre piece of hardware. It's a functional little tablet now!

Here are a bunch of my config files to get things to work properly: https://gist.github.com/Ferdi265/d79f879b635c31c0dfdf7cd9dba510e9

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .